tag:blogger.com,1999:blog-1920793513850944312024-02-19T08:11:11.532+01:00Jiri's allegedly HelenOS blogHeader art by David RevoyJiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.comBlogger78125tag:blogger.com,1999:blog-192079351385094431.post-25886979573315298962023-06-01T14:25:00.002+02:002023-06-01T14:25:59.478+02:00DOSMBoot teaser<p>
Let's boot that kernel!
</p>
<object width="360" height="288"><param name="movie" value="https://www.youtube.com/v/kpU84zES-Ws?version=3&autohide=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="https://www.youtube.com/v/kpU84zES-Ws?version=3&autohide=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="360" height="288"></embed></object>
Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-37632581896960405052022-12-19T22:58:00.003+01:002022-12-19T22:58:41.892+01:00HelenOS 0.12.1 is here!HelenOS 0.12.1 (Cathode) has been released. Let's have look at what's new.
<p></p>
<object width="360" height="288"><param name="movie" value="https://www.youtube.com/v/ytmsxRaWM_8?version=3&autohide=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="https://www.youtube.com/v/ytmsxRaWM_8?version=3&autohide=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="360" height="288"></embed></object>
I was glad to get this release out of the door. We've fixed a number nasty, longstarning, bugs. We've added a number of new features, including the task bar.
With this out of the way, I can get back to work on more stuff!Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-4406132285412343402022-10-27T16:48:00.000+02:002022-10-27T16:48:34.509+02:00Working on the Task Bar for HelenOSHere's a little show and tell - an update on my progress implementing the Task Bar for HelenOS UI.
<p></p>
<object width="360" height="288"><param name="movie" value="https://www.youtube.com/v/PkGYuYy2G7Y?version=3&autohide=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="https://www.youtube.com/v/PkGYuYy2G7Y?version=3&autohide=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="360" height="288"></embed></object>
Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-44781512368002423892022-10-25T13:59:00.000+02:002022-10-25T13:59:55.387+02:00Partial Solar Eclipse 2022-10-25Projected with a 10 cm refractor onto a sheet of paper and photographed with a handheld digital camera. Image cropped. No post-processing.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8S_NWlzK2F79aQeb4JcxNe8T9Vtidq94LtWnjxCSwQtvoTy5Mhu7XVTKh3VW9e-zuEDnT3Z56_rU5YFVRFLS-9g68GAPOR_P489JPqsLNcN_PDaBwzWAt6S9pLGA4qe69b9wxpOB-vYW9EERgrj0J1DdoDOd7-a-kttq1eprDmz49eq7dRxtX2tQU/s539/zatmeni.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="429" data-original-width="539" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8S_NWlzK2F79aQeb4JcxNe8T9Vtidq94LtWnjxCSwQtvoTy5Mhu7XVTKh3VW9e-zuEDnT3Z56_rU5YFVRFLS-9g68GAPOR_P489JPqsLNcN_PDaBwzWAt6S9pLGA4qe69b9wxpOB-vYW9EERgrj0J1DdoDOd7-a-kttq1eprDmz49eq7dRxtX2tQU/s400/zatmeni.jpg"/></a></div>Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-85130311740994136152022-09-27T10:00:00.000+02:002022-09-27T10:00:03.196+02:00Tick tock! See the clock?<p>Do you know what time it is? Clock time!</p>
<object width="360" height="288"><param name="movie" value="https://www.youtube.com/v/Tz8I1dTskuI?version=3&autohide=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="https://www.youtube.com/v/Tz8I1dTskuI?version=3&autohide=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="360" height="288"></embed></object>
Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-89910307681691788492022-09-22T11:51:00.001+02:002022-09-22T11:51:12.016+02:00Problems with Hound audio architecture<p>
When debugging audio problems with HelenOS HD Audio driver in VirtualBox, I noticed that HD Audio driver does not actually report the rates/formats supported by the audio device, nor does it set them. So I tried to implement it. Soon I ran into problems (Hound crashing), but mainly the audio device interface is not up to the task. It just expects the audio device to be something like a Sound Blaster, basically being able to set any rate from a (min, max) interval. (In reality, SB can only set the rate approximately.
</p>
<p>
Also note that I found that we round the rates to multiples of 100 Hz when communicating to Hound. Oh my. In the end I found out that Hound never sets any other format than the default 44100Hz / stereo / 16-bit, because it starts playing even before any stream is started, so it has no way of knowing what format to set.
</p>
<p>
So I'm not sure if it even makes sense to improve the driver within the scope of the current audio framework, which is severely limited. Even while developing the HD Audio driver I realized that it's a poor match for HelenOS audio architecture. Here's a compiled list of problems encountered so far:
</p>
<ul>
<li>Each sound card / audio device can only have up to one input and one output (HD Audio can have mutiple).</li>
<li>Both input and output must support the same rates/formats (can be different in HD Audio).</li>
<li>Audio device is expected to support basically any rate in some (min, max) interval (but HD Audio only
supports a short list of specific rates).</li>
<li>Rate is passed from client to server in multiples of 100 Hz.</li>
<li>Audio playback starts as soon as client connects, even if no streams are playing. This means
we don't know what the format will be, so we pick default format (and we cannot convert rates).</li>
<li>Everything thus plays at 44100Hz / 16 bits / stereo.</li>
</ul>
Clearly the audio architecture needs a lot of (re)work. Complete rework. Yup. (Not today, though).Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-23174958808074984262022-06-16T12:22:00.000+02:002022-06-16T12:22:50.741+02:00File Dialogs - Deluxe!<p>As you might know, our temporary file dialogs were previously a poor man's affair, containing just a plain text entry and an OK / Cancel button pair.
</p>
<p>
But now lo and behold!
</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja2uxGm6VWGdXdNVybyNd2q7iPBnafrMin9Cizg9H25Pp2PMUpuUs7nORm_t5n5aivyqiyxm_BIBwvCjVbazlE_UccT3i7JsRGT5uyzRs2qTCnUwuJG1LF92aigs_9SgVLef7vszUGS3IDkzKHcOcLD08FKGB2uikaMlsmJgEZ18KfjlRaypiIpinO/s335/fdialog-gfx.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="320" data-original-height="335" data-original-width="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja2uxGm6VWGdXdNVybyNd2q7iPBnafrMin9Cizg9H25Pp2PMUpuUs7nORm_t5n5aivyqiyxm_BIBwvCjVbazlE_UccT3i7JsRGT5uyzRs2qTCnUwuJG1LF92aigs_9SgVLef7vszUGS3IDkzKHcOcLD08FKGB2uikaMlsmJgEZ18KfjlRaypiIpinO/s320/fdialog-gfx.png"/></a></div><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN-k6OvS0n2DOHUyrToHEW_QCxDa-WvX8rqk2jcmWIkgrJQhM-4P2n36XBPq2upJZnnmsD-_TLSZUARftnIqUddZbHKp7Ma5Jwi0kiINHldoaD7lk7WPwFQkxvG-LRxpeg7LlEKnZdr_l7YQGv_rtlY2oSci6OFu1wrvAacGktsNiQMeX29vsbaQhp/s321/fdialog-text.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="320" data-original-width="321" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN-k6OvS0n2DOHUyrToHEW_QCxDa-WvX8rqk2jcmWIkgrJQhM-4P2n36XBPq2upJZnnmsD-_TLSZUARftnIqUddZbHKp7Ma5Jwi0kiINHldoaD7lk7WPwFQkxvG-LRxpeg7LlEKnZdr_l7YQGv_rtlY2oSci6OFu1wrvAacGktsNiQMeX29vsbaQhp/s320/fdialog-text.png"/></a></div>
<p>
A file list entry for browsing files/directories complete with a scrollbar. And, as is the standard for libui, both in graphics and glorious text mode. Is that cool or is it not? Granted, it's not perfect, but I can feel progress is being made...
</p>
<p>
And I can assure you it's only going to get more exciting. Just wait and see.
</p>Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-29920448353422242432022-02-24T20:15:00.001+01:002022-02-24T20:15:32.877+01:00All that is necessary for the triumph of evil is that good men do nothing.<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjOLH38Xx_6F_uS3TwD9i6EpimXQGCsaKj7B_oui-n0NELBo_NWoYmWSuBaFiuCQ8Ts5Rr6tdUOXIXdN8fnypIXx-PE9biEklprgXEJ-cVdr0MlsINB6T-bPvo0reH8sD2cMu4W0k53ZEcQFppwZu2jBDJNcSHbiKmgTMQEKf0GRw_RbGxf1dtNkMuU=s800" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="533" data-original-width="800" src="https://blogger.googleusercontent.com/img/a/AVvXsEjOLH38Xx_6F_uS3TwD9i6EpimXQGCsaKj7B_oui-n0NELBo_NWoYmWSuBaFiuCQ8Ts5Rr6tdUOXIXdN8fnypIXx-PE9biEklprgXEJ-cVdr0MlsINB6T-bPvo0reH8sD2cMu4W0k53ZEcQFppwZu2jBDJNcSHbiKmgTMQEKf0GRw_RbGxf1dtNkMuU=s400"/></a></div>Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-53393227544519714042022-02-19T18:38:00.001+01:002022-02-19T18:38:29.761+01:00Helen's Weekend OutHelen decided that, due to lack of snow and abundance of sunshine, she'd love to spend the weekend hiking in the mountains.
Here's the postcard she sent:
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEil6VnVcjHEwRGxF11W-FrL42JqIXZSOVo7OegBeiLE5UfeX5dYLqgVCgd7D_SjrEjcAQfnHAnDdzI7eNO_TCmAUHRwuebmLfH-e7OUaQZtwrVN3QkJn1sZF_RvSS4MwC_YORfrtm3Rje9kKflJ3Os7BazbWEylTCPC_WMkmpFfr_MSR2sVgFXY_CPL=s3840" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="2200" data-original-width="3840" src="https://blogger.googleusercontent.com/img/a/AVvXsEil6VnVcjHEwRGxF11W-FrL42JqIXZSOVo7OegBeiLE5UfeX5dYLqgVCgd7D_SjrEjcAQfnHAnDdzI7eNO_TCmAUHRwuebmLfH-e7OUaQZtwrVN3QkJn1sZF_RvSS4MwC_YORfrtm3Rje9kKflJ3Os7BazbWEylTCPC_WMkmpFfr_MSR2sVgFXY_CPL=s400"/></a></div>
I love this 'speedpainting' by David Revoy (CC BY 4.0). Here's a lik to the <a href="https://www.davidrevoy.com/data/images/blog/2022/2022-02-17_4-studies_krita-speedpainting_cc-by_david_revoy_3.jpg">full size image</a> and to his <a href="https://www.davidrevoy.com/article892/4-studies">original blog post</a>.Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-21631410158681561822022-02-16T11:57:00.000+01:002022-02-16T11:57:56.042+01:00Come, Mindy!Here's another "meme". As you should already all know, I love making jokes that nobody ever gets (except for myself). Ha Ha.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhaB_2ORxS5LHhIVkRi5cr4VGu0XQNNfIZfCA64qw5rtCMaDjC_LHJ4H1zF0uhBJaggMo6z9_ggHrEOqD4V2F2pCx4uzQYvBA9HAVwifPaorkshrSyE6qGt3ESDKMgg5_MnCwbqDUjQIcYaTH30W99cqB2HQ8pdh_KKLJbaEJX0S-mfYJqi7s818STN=s245" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="205" data-original-width="245" src="https://blogger.googleusercontent.com/img/a/AVvXsEhaB_2ORxS5LHhIVkRi5cr4VGu0XQNNfIZfCA64qw5rtCMaDjC_LHJ4H1zF0uhBJaggMo6z9_ggHrEOqD4V2F2pCx4uzQYvBA9HAVwifPaorkshrSyE6qGt3ESDKMgg5_MnCwbqDUjQIcYaTH30W99cqB2HQ8pdh_KKLJbaEJX0S-mfYJqi7s818STN=s320"/></a></div>
<b>Brain:</b> Come, Mindy, it's time for us to write an optimizing C compiler for the Z80 from scratch!<br />
<b>Mindy:</b> Why?<br />
<b>Brain:</b> Writing an LLVM backend is a daunting task.<br />
<b>Mindy:</b> Why?<br />
<b>Brain:</b> It's big, complicated, and a moving target.<br />
<b>Mindy:</b> Why?<br />
<b>Brain:</b> Because it's something I want to do!<br />
<b>Mindy:</b> Okay, I love you!<br />
<p>
And here's the original text: (in case you haven't watched all the episodes of Animaniacs)
</p>
<b>Brain:</b> Come, Mindy, it's time for us to take over the world!<br />
<b>Mindy:</b> Why?<br />
<b>Brain:</b> By right of superior intelligence I am best suited to guide the destiny of this planet.<br />
<b>Mindy:</b> Why?<br />
<b>Brain:</b> My impairable powers give me the mandate.<br />
<b>Mindy:</b> Why?<br />
<b>Brain:</b> Because it's something I want to do!<br />
<b>Mindy:</b> Okay, I love you!<br />
Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-74606028226536163972022-01-30T16:27:00.000+01:002022-01-30T16:27:52.779+01:00Sport need no grammah
If your ah sportn persn ya dun nead ta lern na stinkn gramah.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjrXF7JWbQGdhuWJpN2xkLPEwilF8pkRFFQjkfcX6UVJMXMwPuR-PaKQQj3H_J9N-swdf-gsSAJa54IWgNarQc3-2QIg9vE_NSi2-DQ8iwjH3RqQ2A_otXoGzAeVEBXmDeSL3elh6y_pIzzHq-kMFhxHZOQn7fT02_NEXR7q-QWCuQcsP1M6emgEZai=s852" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="481" data-original-width="852" src="https://blogger.googleusercontent.com/img/a/AVvXsEjrXF7JWbQGdhuWJpN2xkLPEwilF8pkRFFQjkfcX6UVJMXMwPuR-PaKQQj3H_J9N-swdf-gsSAJa54IWgNarQc3-2QIg9vE_NSi2-DQ8iwjH3RqQ2A_otXoGzAeVEBXmDeSL3elh6y_pIzzHq-kMFhxHZOQn7fT02_NEXR7q-QWCuQcsP1M6emgEZai=s320"/></a></div>
Also, if you don't speak Czech you probably won't get this.Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-22493030398334604592021-12-19T20:05:00.000+01:002021-12-19T20:05:17.825+01:00HelenOS 0.11.2 is out. What's new?<p>HelenOS 0.11.2 was released on Friday, December 17th. I also posted a screencast highlighting the new features, like the new HiKey960 port, Navigator file manager, UI and text mode improvements.</p>
<object width="360" height="288"><param name="movie" value="https://www.youtube.com/v/ZqQC3Rx-ibs?version=3&autohide=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="https://www.youtube.com/v/ZqQC3Rx-ibs?version=3&autohide=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="360" height="288"></embed></object>
<p>
Some things didn't make it in, like mouse support in EGA console, Unicode support in serial console. I also forgot to show Calculator and Hello running in text mode.
</p>
<p>
It felt really good to get this release out of the door. And now, back to work!
</p>Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-13207554816989616922021-11-10T18:27:00.000+01:002021-11-10T18:27:12.875+01:00Skywatching & my very first astrophotographEnjoyed some sky watching with the kids in the evening. Good conditions to spot Venus, Jupiter, Saturn & the Moon. Took out my old small refractor and attempted the very first atrophotograph in my life. I had no idea what I was doing, thought I had to remove the eye piece. After putting it back, here's the result (or rather the best of several attempts).
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtcOU9ajwHbVBZsWE_1s7dMBEveQ_FfEC4KFHujgpSYClCqIAOW59whuM2BYt2z_9xLBTFbTEth0dvKKuYqx8sCs7UNBqXNDdoo20Y9mK243AbHsucpDdYY5wIWUXLuhm4SaWbkAizjPQ/s887/moon_mirorred_small.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="869" data-original-width="887" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtcOU9ajwHbVBZsWE_1s7dMBEveQ_FfEC4KFHujgpSYClCqIAOW59whuM2BYt2z_9xLBTFbTEth0dvKKuYqx8sCs7UNBqXNDdoo20Y9mK243AbHsucpDdYY5wIWUXLuhm4SaWbkAizjPQ/s320/moon_mirorred_small.jpg"/></a></div>
Considering I was just desperately trying to hold my mobile phone camera next to the eypiece, and using a crappy 20-year-old telescope, and considering a mild haze, the results are pretty stunning, don't you think? Well, at least I am stunned ^_^. For your convenience, I mirrored the image back to the right orientation (since the refractor is mirroring the image).Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-25261095533046079172021-10-03T13:30:00.000+02:002021-10-03T13:30:50.479+02:00Doodle quizBy the horrible power that be my miserable doodling skills, I present you this quiz. Here's a 'cartoon' (I really have no choice but use quotes) commenting on current happenings in the microkernel OS world:
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmYbX7LXvId5qAUfOtSJxZVLbHXKwJecClC1w2yBXDCTw_vlFOvzpUjxZB0WnlxPsggb3r3No-sZMHwdz1gBylnc-6XshDCXAucJC_yYhrV3kaxPPzUDz4Xpofdjsj53Gm3M8VNRybBX0/s442/hr2x.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="400" data-original-width="442" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmYbX7LXvId5qAUfOtSJxZVLbHXKwJecClC1w2yBXDCTw_vlFOvzpUjxZB0WnlxPsggb3r3No-sZMHwdz1gBylnc-6XshDCXAucJC_yYhrV3kaxPPzUDz4Xpofdjsj53Gm3M8VNRybBX0/s400/hr2x.png"/></a></div>
Can you describe what is happening in the scene? If you can, than you're really really good.Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-13048212656432944002021-09-29T20:53:00.000+02:002021-09-29T20:53:00.858+02:00A letter for youI have been tasked to deliver this letter from our dear friend.
<p></p>
<object width="360" height="288"><param name="movie" value="https://www.youtube.com/v/7RxniFiK4kM?version=3&autohide=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="https://www.youtube.com/v/7RxniFiK4kM?version=3&autohide=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="360" height="288"></embed></object>
Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-37975444965211534582021-09-20T14:35:00.008+02:002021-09-20T15:45:24.477+02:00Oops I did it again!<p>When you are working on even a small <b>project</b> for <b>more than one day</b>, you are risking <b>loosing your work</b> if you don't take <b>preventative measures</b>. Over the years I've encountered many horror stories from people losing their work.
</p>
<p>Like working on their school thesis for months only to loose their <b>only copy</b> which was on a USB stick. Or to have their <b>hard drives crashed</b> after months of working on a computer game project or thinking their computer was infected by a virus.
</p>
<p>They never learn and always take the <b>wrong lesson</b> (be careful about your belongings, don't visit suspicious web sites).
</p>
<p>
I should really know better. And yet <b>I did it again</b>. After having practically finished Text Editor port to libui (wich took me around a week) I <b>accidentally deleted it</b>.
</p>
<p>I had the source only in git cache + a backup copy in a patch file and when I wanted to put the changes away in a patch to work on / commit prompt dialog first, I re-generated the patch and then removed changes from my working branch. And then I realized my patch file was empty! It sets me back only by a week, but it's very embarassing! I really should have tracked my work in changesets even if if was WIP and back up on Github, squashing into one commit later.
</p>
<p>
So it's good to remind ourselves of the <b>risks</b> and the <b>rules how to mitigate them</b> that we should all know, but don't always follow.
</p>
The top three risks are
<ol>
<li>You <b>accidentally delete</b>/overwrite/damage your project</li>
<li>Your computer/storage <b>medium is physically lost</b></li>
<li>Your computer is broken rendering your <b>data inaccessible</b></li>
</ol>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxbkI5pM-mLkyaK9dAHoHvZx5BMKmjIbOd7MUJW972zXVEAJPSUmKLJJTh6CIHlHKAayfzaEn7OOzB-a3aPDr3U1R4_kFBJ5Vr-DwwUm9cITbxJol6jnG0Mk9xDIrlrD4uTXRpwQbfx-8/s266/teacher-small.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="320" data-original-height="266" data-original-width="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxbkI5pM-mLkyaK9dAHoHvZx5BMKmjIbOd7MUJW972zXVEAJPSUmKLJJTh6CIHlHKAayfzaEn7OOzB-a3aPDr3U1R4_kFBJ5Vr-DwwUm9cITbxJol6jnG0Mk9xDIrlrD4uTXRpwQbfx-8/s320/teacher-small.png"/></a></div>
<b>And here's the golden rules when working on a project:</b>
<ol>
<li><b>Back up your work!!!</b></li>
<li>One back up copy is not enough. Use <b>multiple physically separated copies</b>.</li>
<li><b>Revision control</b> is your first line of defense.</li>
</ol>
Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-9158760357071629662021-08-17T18:02:00.001+02:002021-08-17T18:02:44.709+02:00Coffee In SpaceOne of the best jokes I've ever heard (or rather read)
<blockquote>"In space, how do you keep your coffee cup on the table? Velcro. How do you keep your coffee in the cup? More velcro."</blockquote>
Why do I find it so funny? I don't know, perhaps because it's so silly and absurd. I classify this as "funny always" per the classification introduced in Robert Heinlein's "The Moon Is a Harsh Mistress". Anybody knows where this joke comes from? I don't remember and just can't seem to find out.Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-44662667643028911062021-08-11T19:07:00.001+02:002021-08-11T19:09:17.720+02:00Time to be a'weldn'!When it comes to becoming good at stick welding, I think it requires the five Ps: Patience, Preparation, Premeditation, Process and Practice. I am a total noob, this is my second real weld job (not counting some amount of pure practice welds).
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5cBm9bJpBbWYzB7bKvYFCHpOVwhSsmtJddEtVQrf_8vFJjIhqzNTDdXPOsV7rBQJArd-2pYLg6psXoUiPQjYW66q3qA-9zugj_lfsRRdmLIeQYn8utT7G5UVcgR2PVttYHmXpBkF5z_o/s1000/20210811_183206.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="750" data-original-width="1000" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5cBm9bJpBbWYzB7bKvYFCHpOVwhSsmtJddEtVQrf_8vFJjIhqzNTDdXPOsV7rBQJArd-2pYLg6psXoUiPQjYW66q3qA-9zugj_lfsRRdmLIeQYn8utT7G5UVcgR2PVttYHmXpBkF5z_o/s320/20210811_183206.jpg"/></a></div><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMa5WESIq9bOB5nuD5CyduFznTEPNMjy-7gyg7OTKcivedEJfQVq_Ta-MJKs19M5yN54kUV-h0-KE1XU8AYdKBfmnFoev3nTFQuHtvNrkJrSEsk6thLFvD2luDZmtImfwZu9H_QqC8EcI/s1000/20210811_183245.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="750" data-original-width="1000" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMa5WESIq9bOB5nuD5CyduFznTEPNMjy-7gyg7OTKcivedEJfQVq_Ta-MJKs19M5yN54kUV-h0-KE1XU8AYdKBfmnFoev3nTFQuHtvNrkJrSEsk6thLFvD2luDZmtImfwZu9H_QqC8EcI/s320/20210811_183245.jpg"/></a></div>
It actually looks good just in a few spots, the rest of it looks .. well .. still miles better than the previous weld job somebody did on this which broke and I was fixing. And that's something. I feel like I'm making some progress here.
Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-20583425588770553872021-07-11T10:02:00.000+02:002021-07-11T10:02:19.946+02:00We have contact!<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSIW8yCNUJGqw845ffmlnblMlDZpKZVmfBjMfDSeWAaTAAOzqcjM_-e0vU30S1i_di_1Iruv5VtSQACN57gQ133CGcNEVMo_2UpKcqSPacSLw2f8iWl7QMMXgut44ihAPF1h88ryDeIzw/s650/dosbox-firstcontact.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="514" data-original-width="650" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSIW8yCNUJGqw845ffmlnblMlDZpKZVmfBjMfDSeWAaTAAOzqcjM_-e0vU30S1i_di_1Iruv5VtSQACN57gQ133CGcNEVMo_2UpKcqSPacSLw2f8iWl7QMMXgut44ihAPF1h88ryDeIzw/s400/dosbox-firstcontact.png"/></a></div>Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-51340534428482558202021-06-24T23:29:00.003+02:002021-06-24T23:29:20.610+02:00Raspberry Pi Resolution DetectionMaurizio implemented a nice new feature in the Raspberry Pi video driver. It now detects the display resolution, making it more useful on screens with resolution greater than 640x480 (^_^). He posted a nice screenshot:
<div class="separator" style="clear: both;"><a href="http://bsdbackstore.it/misc/IMG_3463.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="600" data-original-width="800" src="http://bsdbackstore.it/misc/IMG_3463.jpg"/></a></div>
Sure looks great!Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-84653434120675434512021-04-28T12:27:00.001+02:002021-04-28T12:38:40.205+02:00It's difficult to distill a lot of fun and cool stuff into a few characters that can be printed on a T-shirt. But when you succeed, the idea just wants to go out.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuVE1BPtn8_Q_RCDj66Pbjs9Bvc6a0w5ZWMxEqKtTAmw6ldFmp2WstDnzGuJXmzCnYVb30HdK1qi5fiv5Jghqd1rHbjMrTdLjcqPTOwAhcOe04aoWtcQ1Y3flqbWoBO4puXjqPfcAEFZ8/s709/hello_d_cons.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="386" data-original-width="709" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuVE1BPtn8_Q_RCDj66Pbjs9Bvc6a0w5ZWMxEqKtTAmw6ldFmp2WstDnzGuJXmzCnYVb30HdK1qi5fiv5Jghqd1rHbjMrTdLjcqPTOwAhcOe04aoWtcQ1Y3flqbWoBO4puXjqPfcAEFZ8/s400/hello_d_cons.png"/></a></div>
T-shirt, anyone? ^_^ (Designed using <a href="https://www.spreadshirt.co.uk/">Spreadshirt</a>)Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-36995160740898776402021-03-04T15:16:00.001+01:002021-03-04T15:16:47.900+01:00Look ma, no graphics!Here's HelenOS calculator, viewed side-by-side in <b>text mode</b> and in <b>graphics mode</b> (note that this is still work in progress):
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggRBM_8HiGcwCAKfzry4VXuIugwbwA1_y6kiKuVLQOTiGY_UDN1hstsQ6g-wxshpyQ8K5HPq4EqiSJRFWQXk_a10hWQyMZ3F18vGOwvNC_cEYsy0A1NJF4FrJzumoAlkZFVEfnoc089yE/s655/calctext.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="341" data-original-width="655" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggRBM_8HiGcwCAKfzry4VXuIugwbwA1_y6kiKuVLQOTiGY_UDN1hstsQ6g-wxshpyQ8K5HPq4EqiSJRFWQXk_a10hWQyMZ3F18vGOwvNC_cEYsy0A1NJF4FrJzumoAlkZFVEfnoc089yE/s320/calctext.png"/></a></div>
<p>
From the beginning of my <b>UI rewrite project</b>, one of the main goals was to create a <b>single UI library</b> that can handle both graphics mode and text mode (pseudo-graphics, actually). While the original goal was to be able to use the same library to write either graphics-mode applications (e.g. calculator) and text-mode applications (e.g. text editor, file manager), an 'unplanned' side effect is that it is possible to make the <b>same application</b> work in <b>either mode</b> (with relatively little effort).
</p>
<p>
With all the prior work done, putting the final pieces together and making it work was almost .. shockingly .. easy. I think this is a pretty cool and unique feature. There is still lot of work ahead, though. It is not possible currently to set the foreground and background colors individually (hence the strange text background colors) and doing that <i>properly</i> will require supporting different pixel formats in GFX. Also more customization needs to be done for text mode (perhaps a separate color palette) to make it look really good.
</p>
<p>
You can try it today in HelenOS master, just run "<tt>calculator -d cons@</tt>" in the terminal window.
</p>Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-30405551193272955742020-11-12T16:25:00.001+01:002020-11-12T16:32:56.964+01:00Helen's New GrooveScreenshot of HelenOS GUI applications ported to libui. Calculator's received a particularly heavy facelift.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFepRb8agBRYV97THiBxbRMCgfiTgOUZYzpbmbo_MRAN3ReeuqfQ17Dgukb2iZbHUfKx7TzaJG-qJos6ETdP7kOzZzCm_30urbc89qfbntiSEDyvEorTuny-XgPEGq0q7NZz0x526-r4Y/s1024/ui.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="768" data-original-width="1024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFepRb8agBRYV97THiBxbRMCgfiTgOUZYzpbmbo_MRAN3ReeuqfQ17Dgukb2iZbHUfKx7TzaJG-qJos6ETdP7kOzZzCm_30urbc89qfbntiSEDyvEorTuny-XgPEGq0q7NZz0x526-r4Y/s320/ui.png"/></a></div>
It's getting a little crowded here!Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-31631274810028770632020-10-28T01:18:00.001+01:002020-10-28T01:18:36.503+01:00A bad dreamI wake up in the middle of the night, panting and sweating. I had a horrible dream: the world turned black and white. All the icons were monochromatic and of strange, unrecognizable shapes. Maybe I've lost my color sight. Maybe my monitor broke. Maybe I've had too much hamburger menus.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2Hme8bXlk7Yl1oapLzvekqsAnf9kuQhPuRE7_ugDqSVUnQyTgooM3ZlcLkZ0QjRE6NrtEPRc7u4S8MP2oVsA6wouD6f1IMuKyIMwL0SaOes_R4ywZqlvGxAsH2RZRTdASG1948qHsJs0/s0/screen.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" data-original-height="506" data-original-width="498" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2Hme8bXlk7Yl1oapLzvekqsAnf9kuQhPuRE7_ugDqSVUnQyTgooM3ZlcLkZ0QjRE6NrtEPRc7u4S8MP2oVsA6wouD6f1IMuKyIMwL0SaOes_R4ywZqlvGxAsH2RZRTdASG1948qHsJs0/s0/screen.png"/></a></div>
WHERE HAVE ALL THE COLORS GONE?! WHEN WILL THEY EVER LEARN?
<p>
I go back to sleep hoping, that it will be back to normal in the morning. It was just a bad dream, right? Right?! Et tu, Thunderbird?!
</p>Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0tag:blogger.com,1999:blog-192079351385094431.post-5442073033057825542020-10-22T01:15:00.001+02:002020-10-22T01:30:20.015+02:00Spot the differences!Showdown time! It's GUI against GUI. Like in those good old times when men were real men, women were real women and floppies were real floppies.
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxKJtzjuoltgFWXkz_NnByYL4gfsxBzRbuNOhju2u20RoE9MIzmdbHyhzHRTH_OpAQrykhWINjctJb1PmepWrKMNs7W3TlG3zelVz4JAVo4XYkKqvsggjPmRd3qWNX2mYmXahYxZqlExk/s0/uicmp.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" data-original-height="256" data-original-width="261" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxKJtzjuoltgFWXkz_NnByYL4gfsxBzRbuNOhju2u20RoE9MIzmdbHyhzHRTH_OpAQrykhWINjctJb1PmepWrKMNs7W3TlG3zelVz4JAVo4XYkKqvsggjPmRd3qWNX2mYmXahYxZqlExk/s0/uicmp.png"/></a></div>
How many differences can you spot? ^_^Jiří Svobodahttp://www.blogger.com/profile/09911075768532401265noreply@blogger.com0