<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="https://www.dmitryfrank.com/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://www.dmitryfrank.com/feed.php">
        <title>Dmitry Frank blog:2015</title>
        <description></description>
        <link>https://www.dmitryfrank.com/</link>
        <image rdf:resource="https://www.dmitryfrank.com/lib/tpl/arctic/images/favicon.ico" />
       <dc:date>2026-04-24T03:02:23+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.dmitryfrank.com/blog/2015/0716_qt_creator_in_virtualbox_with_windows_guest_os?rev=1441788400&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.dmitryfrank.com/blog/2015/0716_usage_of_ragel_in_qt_project?rev=1441788415&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.dmitryfrank.com/blog/2015/0909_how_do_javascript_closures_work_under_the_hood?rev=1441784752&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.dmitryfrank.com/blog/2015/0917_testing_socket.io_with_authentication_by_passport.socketio?rev=1442453347&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.dmitryfrank.com/blog/2015/0921_how_i_ended_up_writing_new_real-time_kernel?rev=1442786537&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.dmitryfrank.com/blog/2015/1005_unit-testing_embedded_c_applications_with_ceedling?rev=1444057959&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.dmitryfrank.com/blog/2015/1007_auto-program_with_pickit3_mdb_fails_but_i_got_it_working?rev=1470039592&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.dmitryfrank.com/blog/2015/1009_why_we_still_don_t_have_any_standard_interface_between_a_text_editor_and_an_ide?rev=1683350987&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://www.dmitryfrank.com/lib/tpl/arctic/images/favicon.ico">
        <title>Dmitry Frank</title>
        <link>https://www.dmitryfrank.com/</link>
        <url>https://www.dmitryfrank.com/lib/tpl/arctic/images/favicon.ico</url>
    </image>
    <item rdf:about="https://www.dmitryfrank.com/blog/2015/0716_qt_creator_in_virtualbox_with_windows_guest_os?rev=1441788400&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-09-09T08:46:40+00:00</dc:date>
        <title>Qt Creator in VirtualBox with Windows guest OS</title>
        <link>https://www.dmitryfrank.com/blog/2015/0716_qt_creator_in_virtualbox_with_windows_guest_os?rev=1441788400&amp;do=diff</link>
        <description>Qt Creator in VirtualBox with Windows guest OS

I needed to develop an utility application in Qt, which should work in Windows. I use Linux, and this is no problem since Qt is crossplatform, but anyway, to make sure resulting application works in Windows as intended, I've installed Qt in Windows guest</description>
    </item>
    <item rdf:about="https://www.dmitryfrank.com/blog/2015/0716_usage_of_ragel_in_qt_project?rev=1441788415&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-09-09T08:46:55+00:00</dc:date>
        <title>Usage of Ragel in Qt project</title>
        <link>https://www.dmitryfrank.com/blog/2015/0716_usage_of_ragel_in_qt_project?rev=1441788415&amp;do=diff</link>
        <description>Usage of Ragel in Qt project

Recently I had an opportunity to work with Ragel State Machine Compiler in my Qt project (There was a requirement to parse binary protocol), and the question was, how to integrate Ragel source files in the project conveniently. After all, I've read about qmake's</description>
    </item>
    <item rdf:about="https://www.dmitryfrank.com/blog/2015/0909_how_do_javascript_closures_work_under_the_hood?rev=1441784752&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-09-09T07:45:52+00:00</dc:date>
        <title>How do JavaScript closures work under the hood</title>
        <link>https://www.dmitryfrank.com/blog/2015/0909_how_do_javascript_closures_work_under_the_hood?rev=1441784752&amp;do=diff</link>
        <description>How do JavaScript closures work under the hood

From my experience, a lot of JavaScript programmers, mine included, learned how to use closures without having clear understanding of how closures actually work, and what exactly is going on behind the scenes when we use them. What the closure actually is, to begin with? When it is created and deleted? What the implementation should look like?</description>
    </item>
    <item rdf:about="https://www.dmitryfrank.com/blog/2015/0917_testing_socket.io_with_authentication_by_passport.socketio?rev=1442453347&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-09-17T01:29:07+00:00</dc:date>
        <title>Testing Socket.io with authentication by Passport.socketio</title>
        <link>https://www.dmitryfrank.com/blog/2015/0917_testing_socket.io_with_authentication_by_passport.socketio?rev=1442453347&amp;do=diff</link>
        <description>Testing Socket.io with authentication by Passport.socketio

The usage of real-time socket connection with authentication data seems quite regular thing to me. And, personally, I find it very strange that this topic receives so little interest.

programming javascript web socketio</description>
    </item>
    <item rdf:about="https://www.dmitryfrank.com/blog/2015/0921_how_i_ended_up_writing_new_real-time_kernel?rev=1442786537&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-09-20T22:02:17+00:00</dc:date>
        <title>How I ended up writing new real-time kernel</title>
        <link>https://www.dmitryfrank.com/blog/2015/0921_how_i_ended_up_writing_new_real-time_kernel?rev=1442786537&amp;do=diff</link>
        <description>How I ended up writing new real-time kernel

I work with embedded stuff for several years: our company develops and manufactures car trip computers, battery chargers, and other car-related electronic devices. 



The processors used for our designs are primarily 16- and 32-bit Microchip MCUs, with RAM from 8 to 32 KB, and ROM from 128 to 512 KB, without any kind of MMU. Sometimes, there are even more modest 8-bit chips.</description>
    </item>
    <item rdf:about="https://www.dmitryfrank.com/blog/2015/1005_unit-testing_embedded_c_applications_with_ceedling?rev=1444057959&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-10-05T15:12:39+00:00</dc:date>
        <title>Unit-testing (embedded) C applications with Ceedling</title>
        <link>https://www.dmitryfrank.com/blog/2015/1005_unit-testing_embedded_c_applications_with_ceedling?rev=1444057959&amp;do=diff</link>
        <description>Unit-testing (embedded) C applications with Ceedling

Just like a lot of other embedded software engineers, I used to ship my embedded applications to production without testing them properly. Only some manual tests were done. I was under the impression that there's no real way to test them: you know, embedded applications run in a custom hardware and interact with this specific hardware heavily, which makes them not so easy to test automatically.</description>
    </item>
    <item rdf:about="https://www.dmitryfrank.com/blog/2015/1007_auto-program_with_pickit3_mdb_fails_but_i_got_it_working?rev=1470039592&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-08-01T08:19:52+00:00</dc:date>
        <title>Microchip PICkit3, Don't Halloo Till You Are Out of the Wood</title>
        <link>https://www.dmitryfrank.com/blog/2015/1007_auto-program_with_pickit3_mdb_fails_but_i_got_it_working?rev=1470039592&amp;do=diff</link>
        <description>Microchip PICkit3, Don't Halloo Till You Are Out of the Wood

Microchip has a tool called MDB: Microchip command-line debugger. It's a very nice idea: we can automatize things; at least, we can program a hex from a script. Implementation, however, is far from perfect, but, well, it works somehow.</description>
    </item>
    <item rdf:about="https://www.dmitryfrank.com/blog/2015/1009_why_we_still_don_t_have_any_standard_interface_between_a_text_editor_and_an_ide?rev=1683350987&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-06T05:29:47+00:00</dc:date>
        <title>Standard interface between a text editor and an IDE?</title>
        <link>https://www.dmitryfrank.com/blog/2015/1009_why_we_still_don_t_have_any_standard_interface_between_a_text_editor_and_an_ide?rev=1683350987&amp;do=diff</link>
        <description>Standard interface between a text editor and an IDE?

You may probably consider this a rant post.

UPD 2023 actually, the rant is now irrelevant. These days, we have LSP (Language Server Protocol), which is exactly what I was talking about back in 2015. Still, I'll leave the rest of the text below unchanged.</description>
    </item>
</rdf:RDF>
