tag:blogger.com,1999:blog-83905532143950098922024-03-13T11:28:48.332+11:00Coding, since 1985codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.comBlogger110125tag:blogger.com,1999:blog-8390553214395009892.post-62588772779768415332024-03-05T12:38:00.000+11:002024-03-05T12:38:03.001+11:00subscribeOn or publishOn? may be both.<div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: verdana;">neither</span></div><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: courier;"><span style="color: #777777;">[</span><span style="color: #448c27;">ctor-http-nio-4</span><span style="color: #777777;">]</span> ServiceClient : getting</span></div><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: courier;"><span style="color: #777777;">[</span><span style="color: #448c27;">ctor-http-nio-4</span><span style="color: #777777;">]</span> Controller : getting</span></div><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: courier;"><span style="color: #777777;">[</span><span style="color: #448c27;">ctor-http-nio-4</span><span style="color: #777777;">]</span> ServiceClient : got</span></div><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: courier;"><span style="color: #777777;">[</span><span style="color: #448c27;">ctor-http-nio-4</span><span style="color: #777777;">]</span> Controller : got</span></div><p><br style="color: #333333; font-family: Menlo, Monaco, "Courier New", monospace; font-size: 12px; white-space: pre;" /></p><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: verdana;">subscribeOn in service</span></div><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: courier;"><span style="color: #777777;">[</span><span style="color: #448c27;">ctor-http-nio-4</span><span style="color: #777777;">]</span> Controller : getting</span></div><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: courier;">[ scheduler-1] ServiceClient : getting</span></div><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: courier;"><span style="color: #777777;">[</span><span style="color: #448c27;">ctor-http-nio-6</span><span style="color: #777777;">]</span> ServiceClient : got</span></div><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: courier;"><span style="color: #777777;">[</span><span style="color: #448c27;">ctor-http-nio-6</span><span style="color: #777777;">]</span> Controller : got</span></div><p><br style="color: #333333; font-family: Menlo, Monaco, "Courier New", monospace; font-size: 12px; white-space: pre;" /></p><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: verdana;">publishOn in service client</span></div><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: courier;"><span style="color: #777777;">[</span><span style="color: #448c27;">ctor-http-nio-4</span><span style="color: #777777;">]</span> ServiceClient : getting</span></div><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: courier;"><span style="color: #777777;">[</span><span style="color: #448c27;">ctor-http-nio-4</span><span style="color: #777777;">]</span> Controller : getting</span></div><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: courier;">[ scheduler-1] ServiceClient : got</span></div><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: courier;">[ scheduler-1] Controller : got</span></div><p><br style="color: #333333; font-family: Menlo, Monaco, "Courier New", monospace; font-size: 12px; white-space: pre;" /></p><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: verdana;">subscribeOn in service and publishOn in service client</span></div><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: courier;"><span style="color: #777777;">[</span><span style="color: #448c27;">ctor-http-nio-4</span><span style="color: #777777;">]</span> Controller : getting</span></div><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: courier;">[ scheduler-1] ServiceClient : getting</span></div><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: courier;">[ scheduler-2] ServiceClient : got</span></div><div style="color: #333333; font-size: 12px; white-space: pre;"><span style="font-family: courier;">[ scheduler-2] Controller : got</span></div><div style="color: #333333; font-size: 12px; white-space: pre;"><br /></div>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-71296727184650436222023-07-30T19:09:00.007+10:002023-08-02T14:28:43.038+10:00how to transfer oversized string over message system<p><span style="font-family: verdana;">for text based message system, if there's a limit of x KB, you can still transfer (~5 * x) KB by</span></p><p></p><ol style="text-align: left;"><li><span style="font-family: verdana;">compressing the original payload</span></li><li><span style="font-family: verdana;">encoding compressed binary to text</span></li><li><span style="font-family: verdana;">sending it</span></li></ol><div><span style="font-family: verdana;">receiver reverses the process to get original payload by</span></div><div><ol style="text-align: left;"><li><span style="font-family: verdana;">testing to make sure message is encoded</span></li><li><span style="font-family: verdana;">decoding it to compressed binary</span></li><li><span style="font-family: verdana;">uncompressing decoded binary</span></li></ol><span style="font-family: courier;">import org.apache.commons.codec.binary.Base64;<br /><br />import java.io.ByteArrayInputStream;<br />import java.io.ByteArrayOutputStream;<br />import java.util.zip.GZIPInputStream;<br />import java.util.zip.GZIPOutputStream;</span><div><span style="font-family: courier; font-size: small;"><br /></span></div><div><span style="font-family: courier; font-size: small;">String payload = """</span><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;"> {</span><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;"> }""";</span><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;">System.out.printf("original size</span><span style="font-family: courier;">:</span><span style="font-family: courier;"> %s bytes\n", payload.length());</span></div><div><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;">ByteArrayOutputStream baos = new ByteArrayOutputStream();</span><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;">GZIPOutputStream gos = new GZIPOutputStream(baos);</span><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;">gos.write(payload.getBytes());</span><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;">gos.close();</span><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;">byte[] compressed = baos.toByteArray();</span><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;">System.out.printf("compressed size: %s bytes\n", compressed.length);</span><br style="font-family: courier; font-size: small;" /><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;">String encoded = Base64.encodeBase64String(compressed);</span><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;">System.out.printf("encoded size</span><span style="font-family: courier;">:</span><span style="font-family: courier;"> %s bytes\n", encoded.length());</span></div><div><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;">System.out.println("is message encoded? " + Base64.isBase64(encoded));</span><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;">byte[] decoded = Base64.decodeBase64(encoded.getBytes());</span><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;">System.out.printf("decoded size</span><span style="font-family: courier;">:</span><span style="font-family: courier;"> %s bytes\n", decoded.length);</span></div><div><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;">GZIPInputStream gis = new GZIPInputStream(new ByteArrayInputStream(decoded));</span><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;">ByteArrayOutputStream output = new ByteArrayOutputStream();</span><br style="font-family: courier; font-size: small;" /><span style="font-family: courier;">byte[] buffer = new byte[4096];<br />int bytesRead;<br />while ((bytesRead = gis.read(buffer)) > 0) {<br /> output.write(buffer, 0, bytesRead);<br />}</span></div><div><span style="font-family: courier; font-size: small;">gis.close();</span><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;">String uncompressed = output.toString();</span><br style="font-family: courier; font-size: small;" /><span style="font-family: courier; font-size: small;">System.out.printf("uncompressed size</span><span style="font-family: courier;">:</span><span style="font-family: courier;"> %s bytes\n", uncompressed.length());</span></div></div><div><br /></div><div><br /></div><div><div><span style="font-family: courier;">original size</span><span style="font-family: courier;">:</span><span style="font-family: courier;"> 9450 bytes</span></div><div><span style="font-family: courier;">compressed size</span><span style="font-family: courier;">:</span><span style="font-family: courier;"> 1235 bytes</span></div><div><span style="font-family: courier;">encoded size</span><span style="font-family: courier;">:</span><span style="font-family: courier;"> 1648 bytes</span></div><div><span style="font-family: courier;">is message encoded? true</span></div><div><span style="font-family: courier;">decoded size</span><span style="font-family: courier;">:</span><span style="font-family: courier;"> 1235 bytes</span></div><div><span style="font-family: courier;">uncompressed size</span><span style="font-family: courier;">:</span><span style="font-family: courier;"> 9450 bytes</span></div></div><div><br /></div><div><br /></div><p></p>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-24158059681544966662023-07-01T15:18:00.004+10:002023-07-01T15:19:17.236+10:00revisit timeout settings after 9 years<p>After almost 9 year, this is part 2, or an update to <a href="https://codingsince1985.blogspot.com/2014/08/are-you-setting-connect-timeout.html" target="_blank">Are you setting Connect Timeout correctly?</a> I'm going to give the best practice of setting connect timeout and read timeout for <span style="font-family: courier;">org.springframework.boot.web.client.RestTemplateBuilder</span> as of Spring Boot 2.7.13.</p><p>Let's say it takes up to 0.1 sec to setup connection and 1 sec to receive response, then it's easy to understand you'll get <span style="font-family: courier;">org.apache.http.conn.ConnectTimeoutException</span> if</p><div style="background-color: whitesmoke; color: #333333; font-family: Menlo, Monaco, "Courier New", monospace; font-size: 12px; line-height: 18px; white-space: pre;"><div> return restTemplateBuilder</div><div> .rootUri(rootUri)</div><div> .basicAuthentication(username, password)</div><div> <b>.setConnectTimeout(ofMillis(10))</b></div><div> .setReadTimeout(ofMillis(1000))</div><div> .build()<span style="color: #aaaaaa; font-style: italic;">;</span></div></div><p>and <span style="font-family: courier;">java.net.SocketTimeoutException: Read timed out</span> if</p><div style="background-color: whitesmoke; color: #333333; font-family: Menlo, Monaco, "Courier New", monospace; font-size: 12px; line-height: 18px; white-space: pre;"><div> return restTemplateBuilder</div><div> .rootUri(rootUri)</div><div> .basicAuthentication(username, password)</div><div> .setConnectTimeout(ofMillis(100))</div><div> <b>.setReadTimeout(ofMillis(100))</b></div><div> .build()<span style="color: #aaaaaa; font-style: italic;">;</span></div></div><p>You can either set both timeouts</p><div style="background-color: whitesmoke; color: #333333; font-family: Menlo, Monaco, "Courier New", monospace; font-size: 12px; line-height: 18px; white-space: pre;"><div> return restTemplateBuilder</div><div> .rootUri(rootUri)</div><div> .basicAuthentication(username, password)</div><div> .setConnectTimeout(ofMillis(100))</div><div> .setReadTimeout(ofMillis(1000))</div><div> .build()<span style="color: #aaaaaa; font-style: italic;">;</span></div></div><p>or omit connect timeout and only set read timeout</p><div style="background-color: whitesmoke; color: #333333; font-family: Menlo, Monaco, "Courier New", monospace; font-size: 12px; line-height: 18px; white-space: pre;"><div> return restTemplateBuilder</div><div> .rootUri(rootUri)</div><div> .basicAuthentication(username, password)</div><div> //.setConnectTimeout(ofMillis(100))</div><div> .setReadTimeout(ofMillis(1000))</div><div> .build()<span style="color: #aaaaaa; font-style: italic;">;</span></div></div><p>however by setting connect timeout only and omitting read timeout, you'll get <span style="font-family: courier;">java.net.SocketTimeoutException: Read timed out</span></p><div style="background-color: whitesmoke; color: #333333; font-family: Menlo, Monaco, "Courier New", monospace; font-size: 12px; line-height: 18px; white-space: pre;"><div> return restTemplateBuilder</div><div> .rootUri(rootUri)</div><div> .basicAuthentication(username, password)</div><div> .setConnectTimeout(ofMillis(100))</div><div> //.setReadTimeout(ofMillis(1000))</div><div> .build()<span style="color: #aaaaaa; font-style: italic;">;</span></div></div><p>Let me rephrase what I said 9 years ago, don't set both timeout to be the same, which shows you don't know how network communication works.</p><p><br /></p>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-88059446193680131742023-04-09T15:38:00.003+10:002023-04-09T15:40:20.046+10:00arrange displays and set resolution for mac<p>i've written <a href="http://codingsince1985.blogspot.com/search/label/resolution" target="_blank">few posts</a> on resolution, but never on a mac. i did experience an issue with displays in macos recently. i have 2 external displays but macos (Ventura 13.2) can only identify one, so i just can't place or rotate the other one (it's not in System Settings - Displays page, and it's <span style="font-family: courier;">NaN-inch (0 × 0)</span> in System Settings - General - About page).</p><p>luckily i found <a href="https://github.com/jakehilborn/displayplacer#displayplacer" target="_blank">displayplacer</a> after tried a few others that didn't help. it identifies all the displays, lists all the modes (resolution, herts, colour depth and scaling), so i can place them and set resolutions that are not even officially listed on specs. i got this by running the command for the 1st time:</p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">$ ./displayplacer list <span class="Apple-converted-space"> </span></span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Persistent screen id: </span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Contextual screen id: </span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Type: 27 inch external screen</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Resolution: 1920x1080</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Hertz: 60</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Color Depth: 8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Scaling:off</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Origin: (0,0) - main display</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Rotation: 0</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Resolutions for rotation 0:</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 0: res:1920x1080 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 1: res:1920x1080 hz:60 color_depth:8 <-- current mode</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 2: res:1280x720 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 3: res:1280x720 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 4: res:720x480 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 5: res:720x480 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 6: res:640x480 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 7: res:640x480 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 8: res:1920x1080 hz:25 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 9: res:1920x1080 hz:25 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 10: res:1920x1080 hz:50 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 11: res:1920x1080 hz:50 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 12: res:720x576 hz:50 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 13: res:720x576 hz:50 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 14: res:1280x720 hz:50 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 15: res:1280x720 hz:50 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 16: res:720x480 hz:61 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 17: res:720x480 hz:61 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 18: res:640x480 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 19: res:640x480 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 20: res:800x600 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 21: res:800x600 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 22: res:1024x768 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 23: res:1024x768 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 24: res:1024x576 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 25: res:1024x576 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 26: res:1280x960 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 27: res:1280x960 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 28: res:1344x1008 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 29: res:1344x1008 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 30: res:1344x756 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 31: res:1344x756 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 32: res:1440x900 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 33: res:1440x900 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 34: res:1680x1050 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 35: res:1680x1050 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 36: res:1600x900 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 37: res:1600x900 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 38: res:1920x1200 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 39: res:1920x1200 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 40: res:2560x1440 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 41: res:2560x1440 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 42: res:2560x1600 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 43: res:2560x1600 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 44: res:640x480 hz:25 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 45: res:640x480 hz:25 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 46: res:800x600 hz:25 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 47: res:800x600 hz:25 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 48: res:1024x768 hz:25 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 49: res:1024x768 hz:25 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 50: res:1024x576 hz:25 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 51: res:1024x576 hz:25 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 52: res:1280x720 hz:25 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 53: res:1280x720 hz:25 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 54: res:1280x960 hz:25 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 55: res:1280x960 hz:25 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 56: res:1344x1008 hz:25 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 57: res:1344x1008 hz:25 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 58: res:1344x756 hz:25 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 59: res:1344x756 hz:25 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 60: res:1440x900 hz:25 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 61: res:1440x900 hz:25 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 62: res:1680x1050 hz:25 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 63: res:1680x1050 hz:25 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 64: res:1600x900 hz:25 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 65: res:1600x900 hz:25 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 66: res:1920x1200 hz:25 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 67: res:1920x1200 hz:25 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 68: res:2560x1440 hz:25 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 69: res:2560x1440 hz:25 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 70: res:2560x1600 hz:25 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 71: res:2560x1600 hz:25 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 72: res:640x480 hz:50 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 73: res:640x480 hz:50 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 74: res:800x600 hz:50 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 75: res:800x600 hz:50 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 76: res:1024x768 hz:50 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 77: res:1024x768 hz:50 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 78: res:1024x576 hz:50 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 79: res:1024x576 hz:50 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 80: res:1280x960 hz:50 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 81: res:1280x960 hz:50 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 82: res:1344x1008 hz:50 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 83: res:1344x1008 hz:50 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 84: res:1344x756 hz:50 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 85: res:1344x756 hz:50 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 86: res:1440x900 hz:50 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 87: res:1440x900 hz:50 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 88: res:1680x1050 hz:50 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 89: res:1680x1050 hz:50 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 90: res:1600x900 hz:50 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 91: res:1600x900 hz:50 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 92: res:1920x1200 hz:50 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 93: res:1920x1200 hz:50 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 94: res:2560x1440 hz:50 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 95: res:2560x1440 hz:50 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 96: res:2560x1600 hz:50 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 97: res:2560x1600 hz:50 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 98: res:960x540 hz:60 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 99: res:960x540 hz:60 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 100: res:960x540 hz:25 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 101: res:960x540 hz:25 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 102: res:960x540 hz:50 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 103: res:960x540 hz:50 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 104: res:720x450 hz:60 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 105: res:720x450 hz:60 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 106: res:840x525 hz:60 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 107: res:840x525 hz:60 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 108: res:800x450 hz:60 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 109: res:800x450 hz:60 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 110: res:960x600 hz:60 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 111: res:960x600 hz:60 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 112: res:1280x720 hz:60 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 113: res:1280x720 hz:60 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 114: res:1280x800 hz:60 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 115: res:1280x800 hz:60 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 116: res:720x450 hz:25 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 117: res:720x450 hz:25 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 118: res:840x525 hz:25 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 119: res:840x525 hz:25 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 120: res:800x450 hz:25 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 121: res:800x450 hz:25 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 122: res:960x600 hz:25 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 123: res:960x600 hz:25 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 124: res:1280x720 hz:25 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 125: res:1280x720 hz:25 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 126: res:1280x800 hz:25 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 127: res:1280x800 hz:25 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 128: res:720x450 hz:50 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 129: res:720x450 hz:50 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 130: res:840x525 hz:50 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 131: res:840x525 hz:50 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 132: res:800x450 hz:50 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 133: res:800x450 hz:50 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 134: res:960x600 hz:50 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 135: res:960x600 hz:50 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 136: res:1280x720 hz:50 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 137: res:1280x720 hz:50 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 138: res:1280x800 hz:50 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 139: res:1280x800 hz:50 color_depth:8 scaling:on</span></span></p><p class="p2" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px; min-height: 26px;"><span style="font-family: courier; font-size: x-small;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"></span><br /></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Persistent screen id: </span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Contextual screen id: </span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Type: 11 inch external screen</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Resolution: 480x640</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Hertz: 75</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Color Depth: 8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Scaling:off</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Origin: (-480,0)</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Rotation: 90</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;">Resolutions for rotation 90:</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 0: res:768x1366 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 1: res:768x1366 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 2: res:768x1024 hz:75 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 3: res:768x1024 hz:75 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 4: res:768x1024 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 5: res:768x1024 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 6: res:600x800 hz:75 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 7: res:600x800 hz:75 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 8: res:600x800 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 9: res:600x800 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 10: res:480x640 hz:75 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 11: res:480x640 hz:75 color_depth:8 <-- current mode</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 12: res:480x640 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 13: res:480x640 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 14: res:480x848 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 15: res:480x848 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 16: res:480x848 hz:75 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 17: res:480x848 hz:75 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 18: res:576x1024 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 19: res:576x1024 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 20: res:576x1024 hz:75 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 21: res:576x1024 hz:75 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 22: res:720x1280 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 23: res:720x1280 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 24: res:768x1360 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 25: res:768x1360 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 26: res:640x480 hz:75 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 27: res:640x480 hz:75 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 28: res:640x480 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 29: res:640x480 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 30: res:720x1280 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 31: res:720x1280 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 32: res:900x1440 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 33: res:900x1440 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 34: res:1050x1680 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 35: res:1050x1680 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 36: res:1080x1920 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 37: res:1080x1920 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 38: res:1200x1920 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 39: res:1200x1920 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 40: res:1440x2560 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 41: res:1440x2560 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 42: res:1600x2560 hz:60 color_depth:4</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 43: res:1600x2560 hz:60 color_depth:8</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 44: res:450x720 hz:60 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 45: res:450x720 hz:60 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 46: res:525x840 hz:60 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 47: res:525x840 hz:60 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 48: res:540x960 hz:60 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 49: res:540x960 hz:60 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 50: res:600x960 hz:60 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 51: res:600x960 hz:60 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 52: res:720x1280 hz:60 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 53: res:720x1280 hz:60 color_depth:8 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 54: res:800x1280 hz:60 color_depth:4 scaling:on</span></span></p><p class="p1" style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span class="s1" style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: courier; font-size: x-small;"><span class="Apple-converted-space"> </span>mode 55: res:800x1280 hz:60 color_depth:8 scaling:on</span></span></p><p>that's a lot to choose from, and it also clearly shows that macos messed up the size, resolution and hertz of my 2nd display. eventually i'm brave enough to place my displays as</p><p><span style="font-family: courier; font-size: x-small;">$ ./displayplacer "id: res:2560x1440 hz:60 color_depth:8 scaling:off origin:(0,0) degree:0" "id: res:1080x1920 hz:60 color_depth:8 scaling:off origin:(-1080,-240) degree:270"</span></p><p>yes, none of them is native resolution.</p><p><br /></p>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-67983115048636358672022-12-10T17:19:00.003+11:002022-12-10T17:30:10.709+11:00calculate accurately in Python3<p><span style="font-family: inherit;">How float point numbers are represented and stored is defined in <a href="https://en.wikipedia.org/wiki/IEEE_754">IEEE-754</a>. If you use </span><span style="font-family: courier;">float</span><span style="font-family: inherit;"> in Python, </span><span style="font-family: courier;">Double</span><span style="font-family: inherit;"> in Java, </span><span style="font-family: courier;">REAL</span><span style="font-family: inherit;"> in MySQL or PostgreSQL, the numbers you read may not be exact the ones you saved previously. The inaccuracy becomes even more unpredictable if we take rounding into consideration.</span></p><p>Here're few examples in Python to give you a better understanding.</p><pre style="background-color: white; font-family: Menlo-Regular, monospace; font-size: 10.5pt;">f1 = <span style="color: blue;">0.215<br /></span>f2 = <span style="color: blue;">0.235<br /></span>f = f1 + f2<br />g = <span style="color: blue;">0.1<br /></span>print(f, g, f * g, round(f * g, <span style="color: blue;">2</span>))<br /><br />f1 = <span style="color: blue;">0.216<br /></span>f2 = <span style="color: blue;">0.234<br /></span>f = f1 + f2<br />g = <span style="color: blue;">0.1<br /></span>print(f, g, f * g, round(f * g, <span style="color: blue;">2</span>))<br /><br /><span style="color: navy; font-weight: bold;">from </span>decimal <span style="color: navy; font-weight: bold;">import </span>Decimal<br />f1 = Decimal(<span style="color: blue;">0.215</span>)<br />f2 = Decimal(<span style="color: blue;">0.235</span>)<br />f = f1 + f2<br />g = Decimal(<span style="color: blue;">0.1</span>)<br />print(f, g, f * g, round(f * g, <span style="color: blue;">2</span>))<br /><br />f1 = Decimal(<span style="color: green; font-weight: bold;">"0.215"</span>)<br />f2 = Decimal(<span style="color: green; font-weight: bold;">"0.235"</span>)<br />f = f1 + f2<br />g = Decimal(<span style="color: green; font-weight: bold;">"0.1"</span>)<br />print(f, g, f * g, round(f * g, <span style="color: blue;">2</span>))<br /><br /><span style="color: navy; font-weight: bold;">from </span>decimal <span style="color: navy; font-weight: bold;">import </span>getcontext, ROUND_HALF_UP<br />getcontext().rounding = ROUND_HALF_UP<br />f1 = Decimal(<span style="color: green; font-weight: bold;">"0.215"</span>)<br />f2 = Decimal(<span style="color: green; font-weight: bold;">"0.235"</span>)<br />f = f1 + f2<br />g = Decimal(<span style="color: green; font-weight: bold;">"0.1"</span>)<br />print(f, g, f * g, round(f * g, <span style="color: blue;">2</span>))</pre><pre style="background-color: white; font-family: Menlo-Regular, monospace; font-size: 10.5pt;"><br /></pre><pre style="background-color: white; font-family: Menlo-Regular, monospace; font-size: 10.5pt;"><pre style="font-family: Menlo-Regular, monospace; font-size: 10.5pt;"><span style="color: white;">0.44999999999999996 0.1 0.045 0.04<br />0.45 0.1 0.045000000000000005 0.05<br />0.4499999999999999833466546306 0.1000000000000000055511151231257827021181583404541015625 0.04500000000000000083266726847 0.05<br />0.450 0.1 0.0450 0.04<br />0.450 0.1 0.0450 0.05</span></pre><pre style="font-family: Menlo-Regular, monospace; font-size: 10.5pt;"><span style="color: blue;"><br /></span></pre></pre>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-25699687743163180862022-08-24T11:05:00.000+10:002022-08-24T11:05:10.786+10:00mixing spring boot web and webflux<p>Following <a href="http://codingsince1985.blogspot.com/2021/11/how-to-use-reactor-scheduler-in-micro.html" target="_blank">how to use reactor scheduler in micro-services</a>, things becomes even more tricky if you mix spring boot web and webflux.</p><div style="background-color: whitesmoke; color: #333333; font-family: Menlo, Monaco, "Courier New", monospace; font-size: 12px; line-height: 18px; white-space: pre;"><div>subscribeOn</div><div style="line-height: 18px;"><div><span style="color: #9c5d27; font-weight: bold;">[</span><span style="font-weight: bold;">nio-8090-exec-1</span><span style="color: #9c5d27; font-weight: bold;">]</span> -----Service : foo</div><div><span style="color: #9c5d27; font-weight: bold;">[</span><span style="font-weight: bold;">oundedElastic-1</span><span style="color: #9c5d27; font-weight: bold;">]</span> EmailServiceClient : Sending email notification</div><div><span style="color: #9c5d27; font-weight: bold;">[</span><span style="font-weight: bold;">ctor-http-nio-2</span><span style="color: #9c5d27; font-weight: bold;">]</span> EmailServiceClient : Sent email notification</div><br /><div>publishOn</div><div><span style="color: #9c5d27; font-weight: bold;">[</span><span style="font-weight: bold;">nio-8090-exec-1</span><span style="color: #9c5d27; font-weight: bold;">]</span> EmailServiceClient : Sending email notification</div><div><span style="color: #9c5d27; font-weight: bold;">[</span><span style="font-weight: bold;">nio-8090-exec-1</span><span style="color: #9c5d27; font-weight: bold;">]</span> -----Service : foo</div><div><span style="color: #9c5d27; font-weight: bold;">[</span><span style="font-weight: bold;">oundedElastic-1</span><span style="color: #9c5d27; font-weight: bold;">]</span> EmailServiceClient : Sent email notification</div><br /><div>publishOn + subscribeOn</div><div><span style="color: #9c5d27; font-weight: bold;">[</span><span style="font-weight: bold;">nio-8090-exec-1</span><span style="color: #9c5d27; font-weight: bold;">]</span> -----Service : foo</div><div><span style="color: #9c5d27; font-weight: bold;">[</span><span style="font-weight: bold;">oundedElastic-1</span><span style="color: #9c5d27; font-weight: bold;">]</span> EmailServiceClient : Sending email notification</div><div><span style="color: #9c5d27; font-weight: bold;">[</span><span style="font-weight: bold;">oundedElastic-2</span><span style="color: #9c5d27; font-weight: bold;">]</span> EmailServiceClient : Sent email notification</div><br /><div>Mono.just + subscribeOn</div><div><span style="color: #9c5d27; font-weight: bold;">[</span><span style="font-weight: bold;">nio-8090-exec-1</span><span style="color: #9c5d27; font-weight: bold;">]</span> EmailServiceClient : Sending email notification</div><div><span style="color: #9c5d27; font-weight: bold;">[</span><span style="font-weight: bold;">nio-8090-exec-1</span><span style="color: #9c5d27; font-weight: bold;">]</span> -----Service : foo</div><div><span style="color: #9c5d27; font-weight: bold;">[</span><span style="font-weight: bold;">ctor-http-nio-2</span><span style="color: #9c5d27; font-weight: bold;">]</span> EmailServiceClient : Sent email notification</div><br /><div>Mono.just + publishOn</div><div><span style="color: #9c5d27; font-weight: bold;">[</span><span style="font-weight: bold;">nio-8090-exec-1</span><span style="color: #9c5d27; font-weight: bold;">]</span> EmailServiceClient : Sending email notification</div><div><span style="color: #9c5d27; font-weight: bold;">[</span><span style="font-weight: bold;">nio-8090-exec-1</span><span style="color: #9c5d27; font-weight: bold;">]</span> -----Service : foo</div><div><span style="color: #9c5d27; font-weight: bold;">[</span><span style="font-weight: bold;">ctor-http-nio-2</span><span style="color: #9c5d27; font-weight: bold;">]</span> EmailServiceClient : Sent email notification</div></div></div>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-65158227523265557982022-03-01T14:22:00.001+11:002022-03-01T14:22:37.036+11:00failed to insert 1-to-many entities using Spring Data JPA<span style="font-family: verdana;">may related to <a href="https://stackoverflow.com/questions/32071310/select-of-last-inserted-id-return-always-0-in-informix">this</a>, i have to insert header and 2 lines individually to walk around.</span><div><br /></div><div><span style="font-family: courier;">spring-boot-starter-data-jpa:2.6.3</span></div><div><span style="font-family: courier;"><br /></span></div><div><span style="font-family: courier;">select first 1 header_</span></div><div><span style="font-family: courier;">select header_</span></div><div><span style="font-family: courier;">insert into header_</span></div><div><span style="font-family: courier;">insert into line_</span></div><div><span style="background-color: #fcff01; font-family: courier;">select dbinfo('serial8') from informix.systables where tabid=1</span></div><div><span style="font-family: courier;">insert into line_</span></div><div><span style="background-color: #fcff01; font-family: courier;">select dbinfo('serial8') from informix.systables where tabid=1</span></div><div><span style="font-family: courier;">A different object with the same identifier value was already associated with the session :</span></div><div><span style="font-family: courier;"> nested exception is javax.persistence.EntityExistsException:</span></div><div><span style="font-family: courier;">A different object with the same identifier value was already associated with the session</span></div>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-17679211240780774592021-11-23T10:38:00.001+11:002021-11-23T15:39:22.785+11:00how to use reactor scheduler in micro-services<div style="text-align: left;"><div><span style="font-family: verdana;">Depending on how many cores we have for your micro-services, we may have as low as 4 threads (reactor-http-nio- or reactor-http-epoll-) when it comes to listening and talking to outside. If these threads are blocked in a way we didn't expect, the performance could be worse than traditional synchronised paradigm. Here're a few examples to show how it works when offloading blocking operations to a larger thread pool at different places. Logs happen at doOnSubscribe and doOnSuccess.</span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: courier;">no scheduler</span></div><div><span style="font-family: courier;">[ctor-http-nio-4] Controller : Received request</span></div><div><span style="font-family: courier;">[ctor-http-nio-4] ServiceClient : Getting something</span></div><div><span style="font-family: courier;">[ctor-http-nio-4] ServiceClient : Got something in 116ms</span></div><div><span style="font-family: courier;">[ctor-http-nio-4] Controller : Processed in 120ms</span></div><div><span style="font-family: courier;"><br /></span></div><div><span style="font-family: courier;">scheduler on subscribeOn WebClient call to 3rd party</span></div><div><span style="font-family: courier;">[ctor-http-nio-3] Controller : Received request</span></div><div><span style="font-family: courier;">[ scheduler-3] ServiceClient : Getting something</span></div><div><span style="font-family: courier;">[ctor-http-nio-4] ServiceClient : Got something in 116ms</span></div><div><span style="font-family: courier;">[ctor-http-nio-4] Controller : Processed in 120ms</span></div><div><span style="font-family: courier;"><br /></span></div><div><span style="font-family: courier;">scheduler on publishOn WebClient call to 3rd party</span></div><div><span style="font-family: courier;">[ctor-http-nio-5] Controller : Received request</span></div><div><span style="font-family: courier;">[ctor-http-nio-5] ServiceClient : Getting something</span></div><div><span style="font-family: courier;">[ scheduler-12] ServiceClient : Got something in 116ms</span></div><div><span style="font-family: courier;">[ scheduler-12] Controller : Processed in 120ms</span></div><div><span style="font-family: courier;"><br /></span></div><div><span style="font-family: courier;">scheduler on subscribeOn and publishOn WebClient call to 3rd party</span></div><div><span style="font-family: courier;">[ctor-http-nio-3] Controller : Received request</span></div><div><span style="font-family: courier;">[ scheduler-3] ServiceClient : Getting something</span></div><div><span style="font-family: courier;">[ scheduler-4] ServiceClient : Got something in 116ms</span></div><div><span style="font-family: courier;">[ scheduler-4] Controller : Processed in 120ms</span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;">Bonus cases to make things even tricky.</span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: courier;">subscribeOn after doOnSubscribe in controller</span></div><div><span style="font-family: courier;">[undedElastic-21] Controller : Received request</span></div><div><span style="font-family: courier;">[undedElastic-21] ServiceClient : Getting something</span></div><div><span style="font-family: courier;">[ctor-http-nio-7] ServiceClient : Got something in 116ms</span></div><div><span style="font-family: courier;">[ctor-http-nio-7] Controller : Processed in 120ms</span></div><div><span style="font-family: courier;"><br /></span></div><div><span style="font-family: courier;">subscribeOn before doOnSubscribe in controller</span></div><div><span style="font-family: courier;">[ctor-http-nio-3] Controller : Received request</span></div><div><span style="font-family: courier;">[undedElastic-21] ServiceClient : Getting something</span></div><div><span style="font-family: courier;">[ctor-http-nio-4] ServiceClient : Got something in 116ms</span></div><div><span style="font-family: courier;">[ctor-http-nio-4] Controller : Processed in 120ms</span></div></div>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-60397924758896711022021-10-23T22:33:00.001+11:002021-10-23T22:33:07.704+11:00how to get better quality on PSP games in RetroArch<p> I don't have a very powerful machine to run simulators. Here're the bare minimum changes I made to PPSSPP core.</p><p></p><ul><li>set Internal Resolution (Restart) to 960x544 (2x)</li><li>set Texture Scaling Level to 5x</li></ul><div>Can you tell the difference between the 2?</div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyv3k5v6opHnt7lzNofOWuWN8FPR3Bb1f1N1KB4ejV8jGpIuOJ-gNag0GsFDWQ49f3tsFzCZVEAtafICI7dCgkdOBobT5BioQH84Rj6UOFpPKEmuG8g4L3O0WZ_K_-e7H-mNtRkOmJRKY/s1292/original.png" style="clear: left; margin-bottom: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="688" data-original-width="1292" height="170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyv3k5v6opHnt7lzNofOWuWN8FPR3Bb1f1N1KB4ejV8jGpIuOJ-gNag0GsFDWQ49f3tsFzCZVEAtafICI7dCgkdOBobT5BioQH84Rj6UOFpPKEmuG8g4L3O0WZ_K_-e7H-mNtRkOmJRKY/w320-h170/original.png" width="320" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfF6x8Ws8wXipjOc1gRBudk48aBnum-2kX93_aGAOyKaaWu3JwSQCWN3OuaPeBgCfGhyphenhyphenIOj1PD4BQwHt2mnUTDouK0ITBVrrN1-r-gpDcBPkFSLwbqOQFATHR8URyb2o-YpVqDwacAgkg/s1292/2x-5x.png" style="clear: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"><img border="0" data-original-height="688" data-original-width="1292" height="170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfF6x8Ws8wXipjOc1gRBudk48aBnum-2kX93_aGAOyKaaWu3JwSQCWN3OuaPeBgCfGhyphenhyphenIOj1PD4BQwHt2mnUTDouK0ITBVrrN1-r-gpDcBPkFSLwbqOQFATHR8URyb2o-YpVqDwacAgkg/w320-h170/2x-5x.png" width="320" /></a></div>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-7077058434994114362021-10-08T13:59:00.005+11:002023-04-09T14:45:43.008+10:00how to temporarily increase resolution in Ubuntu<p>I'm happy with 1366 x 768, however it's not vertically enough for some software. Here's how you can increase resolution temporarily.</p><p><span style="font-family: courier;">$ xrandr --output LVDS-1 --panning 1708x960 --scale 1.25x1.25</span></p><p>Or you can even make it a 16:10 by </p><p><span style="font-family: courier;">$ xrandr --output LVDS-1 --panning 1600x1000 --scale 1.171x1.302</span></p><p>You can reset resolution by log out and log in again, or</p><p><span style="font-family: courier;">$ xrandr --output LVDS-1 --panning 1366x768 --scale 1x1 </span> </p><p><br /></p>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-28908751859630952682021-09-14T20:43:00.008+10:002021-09-19T01:25:47.381+10:00subvolumes to reduce changed files when using Snapper<p>I enabled Snapper on @home subvolume and found there're too many files changed hourly. Below subvolumes are created to get rid of most files between snapshots.</p><p><span style="font-family: courier;">@home/jerry/.config</span></p><p><span style="font-family: courier;">@home/jerry/.cache</span></p><p><span style="font-family: courier;">@home/jerry/.local</span></p><p><span style="font-family: courier;">@home/jerry/Downloads</span></p><div>Don't forget to chown and chgrp to jerry.</div>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-38256419270648089962021-05-11T11:59:00.002+10:002022-11-07T14:21:19.949+11:00Customise IntelliJ IDEA<p>I'm happy with default behaviour of this IDE overall. Here're the only couple of settings I'd like to change.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5Vm8UNzputmWIf94RSarWGISFdfQz-6sOKc9Sqq7XSvqO5gf98aIzw8HIeb58YCDNGFyD6jhrGIdAvy181-6LwDb4FzMxCeMZCMtnC1lS9Uop5whDBe25iXCUV2Fynp_SidfsWGc7lRQ/s1286/style.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="388" data-original-width="1286" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5Vm8UNzputmWIf94RSarWGISFdfQz-6sOKc9Sqq7XSvqO5gf98aIzw8HIeb58YCDNGFyD6jhrGIdAvy181-6LwDb4FzMxCeMZCMtnC1lS9Uop5whDBe25iXCUV2Fynp_SidfsWGc7lRQ/w640-h194/style.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLrz1tV1QheZf41mIYYQi1IUgw9bxKSKjjF-T2xuqgDS8twFLabs-Vev94Gl0R3pf5LGemQpSvJWjLIE6_uQ1kOj8aVAJsSSRbCGlNR6It84Oig1_Vol777cawl2OzUkxpNqjBI3rEu73WZZMBq3AJOYdNmM4pi6TthAmMxNJb7Ui0h7zeQo1ktG8k/s1302/format.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="954" data-original-width="1302" height="469" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLrz1tV1QheZf41mIYYQi1IUgw9bxKSKjjF-T2xuqgDS8twFLabs-Vev94Gl0R3pf5LGemQpSvJWjLIE6_uQ1kOj8aVAJsSSRbCGlNR6It84Oig1_Vol777cawl2OzUkxpNqjBI3rEu73WZZMBq3AJOYdNmM4pi6TthAmMxNJb7Ui0h7zeQo1ktG8k/w640-h469/format.png" width="640" /></a></div>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-78932783834659097092020-12-02T18:40:00.006+11:002023-04-09T14:45:56.146+10:00Set screen resolution for Zorin OS on Eee Box B202<p>Screen resolution by default is 1024 x 768 after installing Zorin OS. Following below command lines to set it to be the native resolution of a Dell IN1920, 1360 x 768.</p><p><span style="font-family: courier;"><br /></span></p><p><span style="font-family: courier;"><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">$ xrandr</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">Screen 0: minimum 8 x 8, current 1024 x 768, maximum 32767 x 32767</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">DVI1 unknown connection (normal left inverted right x axis y axis)</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 1360x768 59.80 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 1152x864 60.00 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 1024x768 60.00 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 800x600 60.32 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 640x480 59.94 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">VGA1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 1024x768 60.00* </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 800x600 60.32 56.25 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 848x480 60.00 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 640x480 59.94 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">VIRTUAL1 disconnected (normal left inverted right x axis y axis)</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">$ gtf 1360 768 60</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> # 1360x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 84.72 MHz</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> Modeline "1360x768_60.00" 84.72 1360 1424 1568 1776 768 769 772 795 -HSync +Vsync</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">$ xrandr --newmode "1360x768_60.00" 84.72 1360 1424 1568 1776 768 769 772 795 -HSync +Vsync</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">$ xrandr --addmode VGA1 "1360x768_60.00"</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">$ xrandr</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">Screen 0: minimum 8 x 8, current 1024 x 768, maximum 32767 x 32767</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">DVI1 unknown connection (normal left inverted right x axis y axis)</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 1360x768 59.80 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 1152x864 60.00 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 1024x768 60.00 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 800x600 60.32 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 640x480 59.94 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">VGA1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 1024x768 60.00* </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 800x600 60.32 56.25 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 848x480 60.00 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 640x480 59.94 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 1360x768_60.00 60.00</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">VIRTUAL1 disconnected (normal left inverted right x axis y axis)</span><br /><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">$ xrandr -display :0.0 --output VGA1 --mode 1360x768_60.00</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">$ xrandr</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">Screen 0: minimum 8 x 8, current 1360 x 768, maximum 32767 x 32767</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">DVI1 unknown connection (normal left inverted right x axis y axis)</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 1360x768 59.80 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 1152x864 60.00 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 1024x768 60.00 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 800x600 60.32 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 640x480 59.94 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">VGA1 connected 1360x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 1360x768 60.00 +</span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 1024x768 60.00 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 800x600 60.32 56.25 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 848x480 60.00 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 640x480 59.94 </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;"> 1360x768_60.00 60.00* </span><br style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;" /><span style="background-color: white; color: #202124; font-size: 16px; font-variant-ligatures: none; letter-spacing: 0.1px; white-space: pre-wrap;">VIRTUAL1 disconnected (normal left inverted right x axis y axis)</span></span></p><p><br /></p>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-34005882080002207212020-09-12T23:01:00.001+10:002020-09-12T23:01:50.629+10:00schema vs database in MySQL and PostgreSQL<p><span style="font-family: verdana;"><br /></span></p><p class="p1" style="font-size: 12px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"><span style="font-family: verdana;">TL;DR: both schema and database mean database in MySQL.</span></p><p class="p1" style="font-size: 12px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"><span style="font-family: verdana;"><br /><br /></span></p><p class="p1" style="font-size: 12px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"><span style="font-family: verdana;">MySQL (<— you’re here in SQL client, unless you set default schema in connection)</span></p><p class="p1" style="font-size: 12px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"><span style="font-family: verdana;"><span class="Apple-tab-span" style="white-space: pre;"> </span>database1 (<— you're here if </span><span style="font-family: courier;">use database1;</span><span style="font-family: verdana;">)</span></p><p class="p1" style="font-size: 12px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"><span style="font-family: verdana;"><span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>tables</span></p><p class="p1" style="font-size: 12px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"><span style="font-family: verdana;"><br /></span></p><p class="p1" style="font-size: 12px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"><span style="font-family: verdana;">PostgreSQL</span></p><p class="p1" style="font-size: 12px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"><span style="font-family: verdana;"><span class="Apple-tab-span" style="white-space: pre;"> </span>database1</span></p><p class="p1" style="font-size: 12px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"><span style="font-family: verdana;"><span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>public (<— you’re here in SQL client, unless you set default search_path in connection)</span></p><p class="p1" style="font-size: 12px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"><span style="font-family: verdana;"><span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>tables</span></p><p class="p1" style="font-size: 12px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"><span style="font-family: verdana;"><span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>schema1 (<— you're here if </span><span style="font-family: courier;">set search_path=schema1;</span><span style="font-family: verdana;">)</span></p><p class="p1" style="font-size: 12px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px;"><span style="font-family: verdana;"><span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>tables</span></p><p class="p2" style="font-family: "Helvetica Neue"; font-size: 12px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px; min-height: 14px;"><br /></p>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-12663436581315369132019-06-16T15:54:00.001+10:002019-06-16T15:54:27.648+10:00how to slow down a video (and its audio) by 1.25x<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">$ brew install ffmpeg</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">$ ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=1.25*PTS[v];[0:a]atempo=0.8[a]" -map "[v]" -map "[a]" output.mp4</span>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-13059721687235675902018-08-05T14:56:00.000+10:002018-08-05T14:56:53.079+10:00L2 regularization<span style="color: #212121; font-family: Roboto, sans-serif; font-size: 16px;">Given the randomness in the data set, it is impossible to predict which regularization rate produced the best results for you. For us, a regularization rate of either 0.3 or 1 generally produced the lowest Test loss.</span><br />
<span style="color: #212121; font-family: Roboto, sans-serif; font-size: 16px;"><br /></span>
<span style="color: #212121; font-family: Roboto, sans-serif;">https://developers.google.com/machine-learning/crash-course/regularization-for-simplicity/playground-exercise-examining-l2-regularization</span>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-6790907898685270292018-06-15T14:40:00.000+10:002018-06-15T14:40:00.965+10:00Machine Learning Crash Course from Google<h3 class="text-cell-section-header" style="background-color: white; color: #212121; font-family: Roboto, Noto, sans-serif; margin-bottom: 4px; position: relative;">
Is There a Standard Heuristic for Model Tuning?</h3>
<div style="background-color: white; color: #212121; font-family: Roboto, Noto, sans-serif; font-size: 14px; margin-bottom: 6px; margin-top: 6px;">
This is a commonly asked question. The short answer is that the effects of different hyperparameters are data dependent. So there are no hard-and-fast rules; you'll need to test on your data.</div>
<div style="background-color: white; color: #212121; font-family: Roboto, Noto, sans-serif; font-size: 14px; margin-bottom: 6px; margin-top: 6px;">
That said, here are a few rules of thumb that may help guide you:</div>
<ul style="background-color: white; color: #212121; font-family: Roboto, Noto, sans-serif; font-size: 14px; margin-bottom: 6px; margin-top: 6px;">
<li>Training error should steadily decrease, steeply at first, and should eventually plateau as training converges.</li>
<li>If the training has not converged, try running it for longer.</li>
<li>If the training error decreases too slowly, increasing the learning rate may help it decrease faster.<ul style="margin-bottom: 6px; margin-top: 6px;">
<li>But sometimes the exact opposite may happen if the learning rate is too high.</li>
</ul>
</li>
<li>If the training error varies wildly, try decreasing the learning rate.<ul style="margin-bottom: 6px; margin-top: 6px;">
<li>Lower learning rate plus larger number of steps or larger batch size is often a good combination.</li>
</ul>
</li>
<li>Very small batch sizes can also cause instability. First try larger values like 100 or 1000, and decrease until you see degradation.</li>
</ul>
<div style="background-color: white; color: #212121; font-family: Roboto, Noto, sans-serif; font-size: 14px; margin-bottom: 6px; margin-top: 6px;">
Again, never go strictly by these rules of thumb, because the effects are data dependent. Always experiment and verify.</div>
<div style="background-color: white; color: #212121; font-family: Roboto, Noto, sans-serif; font-size: 14px; margin-bottom: 6px; margin-top: 6px;">
<br /></div>
<div style="background-color: white; margin-bottom: 6px; margin-top: 6px;">
<span style="color: #212121; font-family: "roboto" , "noto" , sans-serif;"><span style="font-size: 14px;">https://colab.research.google.com/notebooks/mlcc/first_steps_with_tensor_flow.ipynb</span></span></div>
<div style="background-color: white; margin-bottom: 6px; margin-top: 6px;">
<span style="color: #212121; font-family: "roboto" , "noto" , sans-serif;"><span style="font-size: 14px;"><br /></span></span></div>
codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-75162122374466294932018-04-15T17:46:00.001+10:002018-04-21T21:01:46.925+10:00Deepin, PDF and HP printer<span style="font-family: inherit;">Remove Foxit Reader and install Evince.</span><br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">$ sudo hp-setup</span>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-85129606171468771222018-03-03T22:42:00.002+11:002023-04-09T14:46:24.660+10:00Manually set screen resolution for Ubuntuinstall xrandr<br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">$ sudo apt-get install xrandr</span><br />
<br />
check current modes<br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">$ xrandr</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">Screen 0: minimum 8 x 8, current 1360 x 768, maximum 32767 x 32767</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">DVI1 unknown connection 1360x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> 1360x768 59.80*+</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">VGA1 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> 1024x768 60.00* </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> 800x600 60.32 56.25 </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> 848x480 60.00 </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> 640x480 59.94</span><br />
<br />
find new mode to add<br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">$ cvt 1360 768</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"># 1360x768 59.80 Hz (CVT) hsync: 47.72 kHz; pclk: 84.50 MHz</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">Modeline "1360x768_</span><span style="font-family: "Courier New", Courier, monospace; font-size: x-small;">59.80</span><span style="font-family: Courier New, Courier, monospace; font-size: x-small;">" 84.50 1360 1432 1568 1776 768 771 781 798 -hsync +vsync</span><br />
<br />
add new mode<br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">$ xrandr --newmode "1360x768_59.80" 84.50 1360 1432 1568 1776 768 771 781 798 -hsync +vsync</span><br />
<br />
check new mode<br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">$ xrandr</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">Screen 0: minimum 8 x 8, current 1360 x 768, maximum 32767 x 32767</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">DVI1 unknown connection 1360x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> 1360x768 59.80*+</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">VGA1 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> 1024x768 60.00* </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> 800x600 60.32 56.25 </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> 848x480 60.00 </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> 640x480 59.94 </span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> 1360x768_59.80 59.62</span><br />
<br />
set new mode<br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">$ xrandr --output VGA1 --mode 1360x768_59.80 --auto</span>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-88311929316601463712017-11-26T14:51:00.001+11:002017-11-29T23:57:55.263+11:00Deep Learning with Keras<br />
<span style="font-family: "courier new" , "courier" , monospace;">$ python --version</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">Python 2.7.12</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">$ sudo apt-get install python-pip</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">$ pip install --upgrade pip</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">$ sudo pip install keras</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">$ sudo pip install tensorflow</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">$ sudo pip install np_utils</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">$ sudo pip install pandas</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">$ sudo pip install matplotlib</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">$ sudo python -m pip install jupyter</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">$ jupyter notebook</span><br />
<br />codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-38401525852686205042016-08-21T17:04:00.001+10:002016-11-14T10:25:54.837+11:00What is this method doing?One-liner method passes its parameters untouched to anther method doesn't usually add value. I came across this method the other day, and wanted to look into it. I know this is not a one-liner.<br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: 14.6667px; line-height: 1.38; white-space: pre-wrap;">private String base64EncodedFrom(byte[] bytes) {</span><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;"> if (bytes == null) {</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;"> return null;</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;"> }</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "courier new" , "courier" , monospace;"><span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> return <span id="docs-internal-guid-e341d825-abab-9a7e-2baf-e85aa421a580"><span style="font-size: 14.6667px; vertical-align: baseline;">Base64.</span></span></span><span style="font-size: 14.6667px; white-space: pre-wrap;">encodeBase64String</span><span style="font-size: 14.6667px; line-height: 1.38; white-space: pre-wrap;">(bytes);</span></span></div>
<span id="docs-internal-guid-e341d825-abab-5b0c-aefd-81d2b757b8fb"><span style="font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">}</span></span></span><br />
<span style="font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><br /></span>Sure it checks if bytes array is null beforehand, its name is a bit more human readable, because of the <span style="font-family: "courier new" , "courier" , monospace;">From</span><span style="font-family: inherit;">,</span> than the one that it'll pass on. To make it even better, do you think the method name should be something like <span style="font-family: "courier new" , "courier" , monospace;">base64EncodedFromByteArrayNullSafe</span>? Well, that's not my point, if you've read <a href="http://codingsince1985.blogspot.com.au/2014/11/method-names-are-new-redundant-comments.html">this post</a>.<br />
<br />
Let's check <span style="font-family: "courier new" , "courier" , monospace; font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;"><a href="https://commons.apache.org/proper/commons-codec/apidocs/src-html/org/apache/commons/codec/binary/Base64.html">Base64.java</a></span><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">public static String encodeBase64String(final byte[] binaryData) {</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;"> return StringUtils.newStringUtf8(encodeBase64(binaryData, false));</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">}</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-e341d825-abb8-0a1f-7e12-364e1c5ea375" style="font-weight: normal;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></b></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">public static byte[] encodeBase64(final byte[] binaryData, final boolean isChunked) {</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;"> return encodeBase64(binaryData, isChunked, false);</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">}</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<b style="font-weight: normal;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></b></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">public static byte[] encodeBase64(final byte[] binaryData, final boolean isChunked, final boolean urlSafe) {</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;"> return encodeBase64(binaryData, isChunked, urlSafe, Integer.MAX_VALUE);</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">}</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<b style="font-weight: normal;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></b></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">public static byte[] encodeBase64(final byte[] binaryData, final boolean isChunked, </span></span><span style="font-family: "courier new" , "courier" , monospace; font-size: 14.6667px; line-height: 1.38; white-space: pre-wrap;">final boolean urlSafe, final int maxResultSize) {</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;"> if (<span style="background-color: yellow;">binaryData == null</span> || binaryData.length == 0) {</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;"> return binaryData;</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;"> }</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">...</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">}</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: inherit; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;">Now we know </span><span style="font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">encodeBase64()</span><span style="font-family: inherit;"> is null-safe. Let's then check </span><span style="font-family: "courier new" , "courier" , monospace;"><a href="https://commons.apache.org/proper/commons-codec/apidocs/src-html/org/apache/commons/codec/binary/StringUtils.html">StringUtils.java</a></span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">public static String newStringUtf8(final byte[] bytes) {</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;"> return newString(bytes, Charsets.UTF_8);</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">}</span></span></div>
<b id="docs-internal-guid-e341d825-abbd-8f3f-538e-b98ecbea63d9" style="font-weight: normal;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">private static String newString(final byte[] bytes, final Charset charset) {</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: black; font-size: 14.6667px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;"> return <span style="background-color: yellow;">bytes == null</span> ? null : new String(bytes, charset);</span></span></div>
<span style="font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">}</span></span><br />
<span style="font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><br /></span>
<span style="font-family: inherit; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;">So </span><span style="font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">newStringUtf8()</span></span><span style="font-family: inherit; font-size: 14.6667px; white-space: pre-wrap;"> is null-safe too. Now it's safe to rewrite the first method this way</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: 14.6667px; line-height: 1.38; white-space: pre-wrap;">private String base64EncodedFrom(byte[] bytes) {</span><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "courier new" , "courier" , monospace;"><span style="font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"> return <span id="docs-internal-guid-e341d825-abab-9a7e-2baf-e85aa421a580"><span style="font-size: 14.6667px; vertical-align: baseline;">Base64.</span></span></span><span style="font-size: 14.6667px; white-space: pre-wrap;">encodeBase64String</span><span style="font-size: 14.6667px; line-height: 1.38; white-space: pre-wrap;">(bytes);</span></span></div>
<span id="docs-internal-guid-e341d825-abab-5b0c-aefd-81d2b757b8fb"><span style="font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">}</span></span></span><br />
<span style="font-family: inherit;">Do you still think </span><span style="font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;"><span style="font-family: "courier new" , "courier" , monospace;">base64EncodedFrom()</span><span style="font-family: inherit;"> is a method that adds value?</span></span>codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-56216444256804388852015-12-25T16:28:00.000+11:002015-12-25T16:28:12.813+11:0030th Coding Anniversary<br />
I was selected into a interest group learning programming in BASIC (using Apple IIe and Laser-310) in December 1985, when I was in year 8. It was fun. I learned coding so hard that I got first prize award (equal 1st, Year 7-9) in programming competition in my home city few months later in 1986. One question in the competition was swapping the values in 2 variables without using a 3rd variable. My name was published on newspaper and I told my parents I'm famous.<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwIuobljrvugx1XdfDaQVXtCAkjyghFlgxVhdt411h0pUMcLwCFm7BFaoM_AhLPsz8TLaXXRKsNPYJjCvuIB3Y7R5HJXY-CdjWnIPEJzBo4BaOWRQbUhUSiSk4I_xdUy1vvFTL3lMEsSU/s1600/1986_comp.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwIuobljrvugx1XdfDaQVXtCAkjyghFlgxVhdt411h0pUMcLwCFm7BFaoM_AhLPsz8TLaXXRKsNPYJjCvuIB3Y7R5HJXY-CdjWnIPEJzBo4BaOWRQbUhUSiSk4I_xdUy1vvFTL3lMEsSU/s200/1986_comp.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Admission ticket, 1986</td></tr>
</tbody></table>
<br />
I got three more first prize awards later, 4th place (Y7-9) in 1987, 3rd place (Y10-12) in 1988 and 2nd place (Y10-12) in 1989. The last one in June 4th 1989 was the most difficult. I got mumps<span class="st"> below my left ear and </span>had been stayed at home and almost couldn't eat anything for a week just before the competition, which I sit in No. 15 Middle School, very close to my then home.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHYvwhLHN7BuG8pCV9nASO69g6YRiy5fOn6aAUz7g63QukE5ifUm9m1NFfU96aETWtb_mEh4k8svJeyyfRyTbIFQvHew7CeS134bIYljLZL3j0c-2A0XmF2v3MelcFJu0C81m6JNB-kVA/s1600/1986_award.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="116" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHYvwhLHN7BuG8pCV9nASO69g6YRiy5fOn6aAUz7g63QukE5ifUm9m1NFfU96aETWtb_mEh4k8svJeyyfRyTbIFQvHew7CeS134bIYljLZL3j0c-2A0XmF2v3MelcFJu0C81m6JNB-kVA/s200/1986_award.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">First prize certificate, 1986</td></tr>
</tbody></table>
<br />
These are few things happened before I went to university studying computer science and software engineering. I have come a long way and these things always remind me of where I came from, and where the determined boy wanted to go three decades ago.<br />
<br />
Merry Christmas and Happy Coding!<br />
<br />codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com1tag:blogger.com,1999:blog-8390553214395009892.post-62877295640133433622015-11-18T17:49:00.000+11:002015-11-19T14:26:15.163+11:00Delete photos from phone (but keep them in Google Photos)With Google's <a href="https://support.google.com/photos/answer/6193313?hl=en">Back up & sync</a>, if you delete a photo from your phone in <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.photos&hl=en">Google Photos</a>, the photo will be deleted from any where. In case this is what you intend to do, here're the steps
<br />
<ol>
<li>Open Google Photos</li>
<li>Click the hamburger button at the top left corner, or swipe right from left edge of screen</li>
<li>Select "Device folders"</li>
</ol>
You know how to do the next.codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-79510943125078134562015-10-18T15:18:00.000+11:002015-10-18T15:23:33.890+11:00Merit Certificate in Science Talent Search 2015The boy got a merit certificate this year. This is also the end of his fantastics 7-year <a href="http://codingsince1985.blogspot.com.au/search/label/sts">STS</a> journey. The next chapter is waiting for him to explore, so it's right time to move on.<br />
<br />
It's my privilege to be able to work with him all the way. The little boy curious about how computer programs work has become a pretty mature problem solver. I'll never forget the very first time he went out from the judging room, told me he was asked a question 'what's a variable?'.<br />
<br />
If you have a Pebble smartwatch, you may want to try his application <a href="http://goo.gl/IZU6UY">here</a>.codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0tag:blogger.com,1999:blog-8390553214395009892.post-35957674012025296062015-06-16T20:35:00.000+10:002015-06-16T20:35:13.285+10:00Don't mock microservicesDidn't I just post <a href="http://codingsince1985.blogspot.com.au/2015/05/use-caching-service-as-mocked.html">Use Caching Service as Mocked Microservices</a>? Yes, that post is basically saying that instead of each test case/suite starts its own mocked HTTP server, sets expectation, sends request to it then shuts it down, as a side-product, a caching service can be use as an alternative.<br />
<br />
The idea behind is, client calls dependency services in test environment in the same way it calls dependency servies in production environment. How about we go one step further, always call a real service instead of its mocked version?<br />
<br />
This used to be hard for monolithic architecture. With shifting to microservices, it's just a matter of few more deployments, a service can provide test / staging / UAT environments to clients. This removes client's <span class="dbox-example"><span class="oneClick-link oneClick-available">burden</span></span>
to set up and tear down test fixtures, so that test code can reuse
production application context configuration, if you use Spring
Framework. But that's not all. <br />
<br />
The biggest benifit in my opinion is, it removes the grey area of responsibility between service provider and consumer. Who's job it is to update a mock service's behavior when the real service changes its behavior? Just imagine how many times your unit tests pass but still fail in
integration test or production, simply because the real service now returns B, but your mocked
service still returns A.<br />
<br />
Better communication within team doesn't solve this problem, real-time communication between service consumer and provider does.codingsince1985http://www.blogger.com/profile/16406994949716405009noreply@blogger.com0