<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Julius Seporaitis</title><link>http://www.seporaitis.net/</link><description>Recent content on Julius Seporaitis</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Tue, 20 Jun 2023 20:34:04 +0100</lastBuildDate><atom:link href="http://www.seporaitis.net/index.xml" rel="self" type="application/rss+xml"/><item><title>Command Line Tool As An Integration Point</title><link>http://www.seporaitis.net/posts/2023/06/20/command-line-tool-as-an-integration-point/</link><pubDate>Tue, 20 Jun 2023 20:34:04 +0100</pubDate><guid>http://www.seporaitis.net/posts/2023/06/20/command-line-tool-as-an-integration-point/</guid><description>Here is a software design pattern that you won&amp;rsquo;t find in Martin Fowler&amp;rsquo;s design pattern list. I don&amp;rsquo;t think this pattern is new or unique, but I have not seen it described or used anywhere else. At the right time and place it can be very handy, if not a little bit triggering to software purists. I had a need for this pattern three times in the past 10 years. I thought I&amp;rsquo;ll share a couple of examples.</description></item><item><title>Sourcegraph</title><link>http://www.seporaitis.net/posts/2023/06/13/sourcegraph/</link><pubDate>Tue, 13 Jun 2023 22:04:27 +0100</pubDate><guid>http://www.seporaitis.net/posts/2023/06/13/sourcegraph/</guid><description>This is a post about my favourite engineering productivity tool and how to set it up. I feel bad writing about it, because it feels like stealing. I cannot be alone using this tool in the way I will describe, but it is so great - I just cannot keep it quiet. I hope I don’t get a cease &amp;amp; desist, because, honestly, more engineers with large codebases should know about it and use it.</description></item><item><title>On Large Language Models</title><link>http://www.seporaitis.net/posts/2023/04/02/on-large-language-models/</link><pubDate>Sun, 02 Apr 2023 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2023/04/02/on-large-language-models/</guid><description>I&amp;rsquo;ve been asked about my thoughts on Large Language Models (LLMs), so I&amp;rsquo;ve decided to put together a blog post to share my reflections. These opinions are not unique; they are based on social media commentary, newsletters, blog posts, videos, and my own experiences with LLMs like GPT v3.5 and v4 for work and personal projects.
Hype Cycle We are currently experiencing an unprecedented hype cycle, and with few signs of the Trough of Disillusionment, it appears we are still approaching the Peak of Inflated Expectations.</description></item><item><title>2022 Year In Review</title><link>http://www.seporaitis.net/posts/2022/12/23/2022-year-in-review/</link><pubDate>Fri, 23 Dec 2022 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2022/12/23/2022-year-in-review/</guid><description>A friend asked me if I was planning to write a review of my year and, whilst I hadn&amp;rsquo;t considered it myself, I thought it would be great to do and revisit it in a few years time.
Family Families meeting. Originally planned for 2020, but delayed, mine and H&amp;rsquo;s parents finally met for the first time this summer. I had a bit of anxiety about it, because personality wise they couldn&amp;rsquo;t be more different.</description></item><item><title>Let's Subscribe To Code Anthropology</title><link>http://www.seporaitis.net/posts/2022/07/31/lets-subscribe-to-code-anthropology/</link><pubDate>Sun, 31 Jul 2022 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2022/07/31/lets-subscribe-to-code-anthropology/</guid><description>My recent posts (and drafts in the pipeline) explore the human side of software engineering, the decision making behind Kubernetes, the impostor syndrome, the self-learning, and the psychology of technical interviews.
I enjoyed writing them. Often I feel like a bursting bubble, wanting to speak out or rant. I write it, tidy it up, sometimes get editing help, and end up with a blog post that, when shared, gets some views and either private and public feedback.</description></item><item><title>The Reason Kubernetes Exist</title><link>http://www.seporaitis.net/posts/2022/07/27/the-reason-kubernetes-exist/</link><pubDate>Wed, 27 Jul 2022 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2022/07/27/the-reason-kubernetes-exist/</guid><description>A book I read - Software Engineering at Google (check out my reading list) - had an interesting snippet (emphasis mine):
&amp;lt;&amp;hellip;&amp;gt; For example, in 2002, Jeff Dean, one of Google’s most senior engineers, wrote the following about running an automated data-processing task as a part of the release process:
[Running the task] is a logistical, time-consuming nightmare. It currently requires getting a list of 50+ machines, starting up a process on each of these 50+ machines, and monitoring its progress on each of the 50+ machines.</description></item><item><title>There Is Always Someone Walking The Same Path</title><link>http://www.seporaitis.net/posts/2022/07/25/there-is-always-someone-walking-the-same-path/</link><pubDate>Mon, 25 Jul 2022 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2022/07/25/there-is-always-someone-walking-the-same-path/</guid><description>During our careers we go through multiple evolutions of: I need to do something, I learn, I do it, then move to the next thing.
During the learning phase we meet people who are ahead of us. Peers, friends, people who post online - they always seem to know more than us. The more we learn and become better, the more we realise there is more to learn.
It is easy to become intimidated - there is always someone ahead of us.</description></item><item><title>Copy And Learn, Don't Paste</title><link>http://www.seporaitis.net/posts/2022/01/25/copy-and-learn-dont-paste/</link><pubDate>Tue, 25 Jan 2022 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2022/01/25/copy-and-learn-dont-paste/</guid><description>Last year I wrote about what to learn if you already know something about programming (On Fundamentals). But what do you do if you are just starting? How can you tell what good code looks like if there is no mentor around to help you? I recently reflected on my own path (I self-taught programming as a teenager), and here’s a piece of advice that I don’t hear very often.</description></item><item><title>What Can 75,000 Pull Requests Tell?</title><link>http://www.seporaitis.net/posts/2021/07/19/what-can-75000-pull-requests-tell/</link><pubDate>Mon, 19 Jul 2021 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2021/07/19/what-can-75000-pull-requests-tell/</guid><description>Disclaimer: This is a cross post of the blog post I wrote on my company&amp;rsquo;s engineering blog. It is here for my own record. If you like the post and want to share it, you should share the original post.
Every last sprint of the quarter at Lyst is an innovation sprint. It varies between teams and individuals, but it can be anything from paying up some tech debt and trying out a new library or tool to building a prototype for a new idea.</description></item><item><title>On The Soft Aspects Of Technical Interviews</title><link>http://www.seporaitis.net/posts/2021/07/02/on-the-soft-aspects-of-technical-interviews/</link><pubDate>Fri, 02 Jul 2021 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2021/07/02/on-the-soft-aspects-of-technical-interviews/</guid><description>There are many tools and content available to help prepare and solve the problems used in technical interviews. However, I am yet to stumble upon a good summary of the non-technical aspects of those interviews. I call them &amp;ldquo;soft&amp;rdquo; because they relate more to behaviours, including communication, listening, and less on hard technical knowledge. I see candidates often missing the opportunity to showcase them, reducing their chances of progressing to the next stage.</description></item><item><title>On Fundamentals</title><link>http://www.seporaitis.net/posts/2021/06/15/on-fundamentals/</link><pubDate>Tue, 15 Jun 2021 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2021/06/15/on-fundamentals/</guid><description>Ultimately, when using high-level tools to make an impact, we are limited not by the breadth (how many tools &amp;amp; languages we know) but by the depth of our knowledge (how well we know them). I briefly touched on this in my essay for aspiring engineers when I wrote it seven years ago. Back then, it felt more like intuition. Now - I am convinced it is valid and valuable.</description></item><item><title>Requiem for Phabricator</title><link>http://www.seporaitis.net/posts/2021/06/08/requiem-for-phabricator/</link><pubDate>Tue, 08 Jun 2021 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2021/06/08/requiem-for-phabricator/</guid><description>Last week Phacility, maintainers of Phabricator, announced that starting June 1st, Phabricator will not be maintained anymore.
Phabricator has been a tool I relied on on multiple occasions, made a couple of small contributions to and occasionally did small extensions in a private capacity when needed. It has genuinely been one of my favourite engineering tool suites.
Strange to say it, but Phabricator and Evan&amp;rsquo;s writing contributed to my growth as an engineer.</description></item><item><title>Merits of Mentoring</title><link>http://www.seporaitis.net/posts/2021/03/22/merits-of-mentoring/</link><pubDate>Mon, 22 Mar 2021 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2021/03/22/merits-of-mentoring/</guid><description>This is an abridged version of an internal presentation I have given at work. In the slides, I used frames and art from the movie Back to the Future, and this is where the name Marty comes from.
Let me start with a story. Once upon a time, I was the first engineer at a small tech startup. Just five people in a six desk room. As you can imagine, I had all the freedom of drawing the line between being pragmatic and trying cool new things.</description></item><item><title>Book Review Of 2020</title><link>http://www.seporaitis.net/posts/2020/12/16/book-review-of-2020/</link><pubDate>Wed, 16 Dec 2020 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2020/12/16/book-review-of-2020/</guid><description>As is fitting for the end of year blog posts, this one will cover some notable books I have read in 2020. This year I barely read fifteen books, compared to 23 in 2019. The primary reason for this number being low is the COVID confinement. To make it more enjoyable, than just a list of book names, I&amp;rsquo;ll chop the list into three groups: books I learned the most from this year, books I most enjoyed this year, and whatever is left - will get an honorable mention.</description></item><item><title>On Continuous Automation</title><link>http://www.seporaitis.net/posts/2020/12/08/on-continuous-automation/</link><pubDate>Tue, 08 Dec 2020 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2020/12/08/on-continuous-automation/</guid><description>In this post, I will summarize my approach to CI/CD automation. I believe that it is pragmatic enough, and blends in well with the primary focus on product, not tooling, and gradually sets-up small to medium teams for success with quality engineering operations. To learn about concrete instance of one such automation evolution - you can read Build System At Genus AI, where it sustained automation for 3 years and more.</description></item><item><title>On Continuous Improvement Of Code</title><link>http://www.seporaitis.net/posts/2020/11/23/on-continuous-improvement-of-code/</link><pubDate>Mon, 23 Nov 2020 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2020/11/23/on-continuous-improvement-of-code/</guid><description>On my most productive weeks as an individual contributor, I was making between 15 and 30 changes. Most of them were small iterative changes towards whatever the product backlog would define. However, I would always squeeze in 1, 2 or more small improvements that made the project healthier, made my team or myself happier working with it, or solved a problem for someone else. Not long ago, my colleague asked how I manage to find time for that.</description></item><item><title>Lessons From Two Years Of Depression</title><link>http://www.seporaitis.net/posts/2020/11/09/lessons-from-two-years-of-depression/</link><pubDate>Mon, 09 Nov 2020 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2020/11/09/lessons-from-two-years-of-depression/</guid><description>Mental health has a profound impact on work performance (not to say on life in general), and yet it does not get a lot of attention in software engineering circles. I think that this is partly due to a combination of the anxiety of being misunderstood, shame of even having had a problem, or fear of reprimand at work. I felt like this from 2016 to 2018, when I suffered from depression, and at the time only a handful of people knew.</description></item><item><title>Saving My Wallet With AWS Billing Alerts</title><link>http://www.seporaitis.net/posts/2020/10/19/saving-my-wallet-with-aws-billing-alerts/</link><pubDate>Mon, 19 Oct 2020 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2020/10/19/saving-my-wallet-with-aws-billing-alerts/</guid><description>Well, this is a post that I did not expect to ever be writing, but here it is&amp;hellip; Like the good DIY software engineer that I am, I was running my blog on AWS, with S3 for storage behind CloudFront CDN. The total weight of the Jekyll&amp;rsquo;s _site folder is 3.5Mb and my monthly bill was always below $3. What could go wrong? Cue AWS Billing alert.
Alert Seeing the email subject line on my mobile phone screen, at first I discarded it, thinking it is an alert for a work account, which I expected to increase a bit this month.</description></item><item><title>Build System At Genus AI</title><link>http://www.seporaitis.net/posts/2020/07/08/build-system-at-genus-ai/</link><pubDate>Wed, 08 Jul 2020 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2020/07/08/build-system-at-genus-ai/</guid><description>Having worked at two startups from day one - YPlan and Genus AI - there is this exciting period of high-velocity and high-productivity when changes are fast, staging is the development machine, and release is just a few quick commands away. It is energizing, invigorating, and rewarding as you can see the prototype, MVP, beta, or v1, materialize almost out of thin air.
Yet, as the project and the team grows, this process gradually becomes slower and more complex.</description></item><item><title>How To Make An AWS-like Service Accessible Through boto3?</title><link>http://www.seporaitis.net/posts/2020/06/29/aws-like-service-on-boto3/</link><pubDate>Mon, 29 Jun 2020 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2020/06/29/aws-like-service-on-boto3/</guid><description>A product or service on AWS may rely on countless AWS native services. However, quite often it is not enough, and bespoke built or configured systems are deployed. Usually, to use such a system a custom permission management is needed, custom authentication protocols have to be deployed, custom APIs are exposed, and used with custom client libraries, even though everything runs on AWS.
In October 2019, I had a lightbulb moment.</description></item><item><title>Making A Meal Planner With AWS Honeycode</title><link>http://www.seporaitis.net/posts/2020/06/25/making-a-meal-planner-with-aws-honeycode/</link><pubDate>Thu, 25 Jun 2020 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2020/06/25/making-a-meal-planner-with-aws-honeycode/</guid><description>Yesterday afternoon AWS has announced a new service named AWS Honeycode (beta). Honeycode lets people build mobile and web applications without writing a single line of code. Many people find coding esoteric, hard to fathom, or just plain too steep to learn to get value out of. I find it an exciting proposition that many people could benefit from simple automations that could save them time. Until Honeycode, no one would be making them.</description></item><item><title>Bottom Up Problem Solving - Part II</title><link>http://www.seporaitis.net/posts/2020/06/21/bottom-up-problem-solving-part-two/</link><pubDate>Sun, 21 Jun 2020 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2020/06/21/bottom-up-problem-solving-part-two/</guid><description>In the previous post, I have explained how a lot of programming is simplifying big problems and solving smaller ones in a sequence of changes. In this post, I will share my thoughts about the practical significance of following that model in a software engineering environment.
This bottom-up process optimizes towards making small iterative changes and derisking releases. Small changes are desirable because they are easier to understand and evaluate for code reviewers.</description></item><item><title>Bottom Up Problem Solving - Part I</title><link>http://www.seporaitis.net/posts/2020/06/08/bottom-up-problem-solving-part-one/</link><pubDate>Mon, 08 Jun 2020 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2020/06/08/bottom-up-problem-solving-part-one/</guid><description>Among the variety of strategies for solving various problems that apply to software engineering are top-down and bottom-up approaches. The top-down approach emphasizes planning and complete understanding of the system, and coding begins only after a sufficient level of detail has been reached in the design of the system. Bottom-up emphasizes coding and early testing but runs the risk that parts of the system may be coded without having a clear idea of how they connect.</description></item><item><title>Review: Speeding Up Your Django Tests</title><link>http://www.seporaitis.net/posts/2020/05/25/review-speed-up-your-django-tests/</link><pubDate>Mon, 25 May 2020 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2020/05/25/review-speed-up-your-django-tests/</guid><description>Disclosure: Adam is a dear friend, and I had the pleasure of reviewing the final draft of the book. Therefore, this post is very biased, but hopefully in a positive way.
Rarely have I read a technical book over the weekend and felt invigorated enough to go back to work on Monday morning to share and apply that newfound knowledge immediately. &amp;ldquo;Speeding Up Your Django Tests&amp;rdquo; by Adam Johnson is one of those rare reads.</description></item><item><title>Large Scale Refactoring With PyBowler</title><link>http://www.seporaitis.net/posts/2020/05/19/large-scale-refactoring-with-pybowler/</link><pubDate>Tue, 19 May 2020 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2020/05/19/large-scale-refactoring-with-pybowler/</guid><description>I have been quite intrigued by sophisticated refactoring tools for a while, but never found an opportunity that&amp;rsquo;d warrant the time investment in learning how to use one, since the changes were always small. Lately, I had to remove some old code. While some IDEs (like PyCharm) have some basic refactoring tools, I am a creature of habit and stuck with Spacemacs. For that reason, my primary refactoring swiss-army knife has for a long time been Facebook&amp;rsquo;s codemod1 and a regular expression of some proportion, in this particular case, it seemed extremely difficult.</description></item><item><title>Jigsaw As A Metaphor</title><link>http://www.seporaitis.net/posts/2020/05/08/jigsaw-as-a-metaphor/</link><pubDate>Fri, 08 May 2020 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2020/05/08/jigsaw-as-a-metaphor/</guid><description>There are many strategies for completing a jigsaws, as I have discovered over the past few days while attempting a 1000 piece one myself.
Regardless of which piece is chosen, it is impossible to start and immediately know where it goes and what other pieces it connects to.
One of the first possible steps is to take a piece and spend a long time looking at the reference picture to find its relative place.</description></item><item><title>Thoughts On @staticmethod Usage In Python</title><link>http://www.seporaitis.net/posts/2020/05/05/python-staticmethod-usage/</link><pubDate>Tue, 05 May 2020 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2020/05/05/python-staticmethod-usage/</guid><description>&lt;p>At least one popular Python style-guide, &lt;a href="https://google.github.io/styleguide/pyguide.html#217-function-and-method-decorators">Google Python
Styleguide&lt;/a>,
insists&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup> on not-using &lt;code>@staticmethod&lt;/code> decorator and suggests to use a
module-level function instead. Guido van Rossum has called the static method a
&amp;ldquo;&lt;a href="https://mail.python.org/pipermail/python-ideas/2016-July/041189.html">somewhat
mistake&lt;/a>&amp;rdquo;&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>.
Still, neither of these sources provide much explanation in practical terms -
why.&lt;/p></description></item><item><title>Tracking OKRs On Phabricator</title><link>http://www.seporaitis.net/posts/2019/01/19/tracking-okrs-on-phabricator/</link><pubDate>Sat, 19 Jan 2019 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2019/01/19/tracking-okrs-on-phabricator/</guid><description>&lt;p>Last year I had read John Doerr’s book &amp;ldquo;&lt;a href="https://www.whatmatters.com/">Measure What
Matters&lt;/a>.&amp;rdquo; For those who are hearing about it for
the first time, the book is about Objectives and Key Results (OKRs), a
data-driven objective tracking approach that he introduced to Google. OKRs were
invented by Andy Grove at Intel and documented in his seminal work &amp;ldquo;&lt;a href="https://www.goodreads.com/book/show/324750.High_Output_Management">High
Throughput
Management&lt;/a>&amp;rdquo;,
but received the most hype due to Google.&lt;/p>
&lt;p>&lt;em>&lt;strong>Update:&lt;/strong> A lot has changed since 2019. Among other things - it also changed
how we track OKRs with Phabricator. We stopped using the complex project /
milestone approach described below and stuck with a bunch of subtasks.&lt;/em>&lt;/p>
&lt;p>I will not be explaining OKRs, there is a &lt;a href="https://rework.withgoogle.com/guides/set-goals-with-okrs/steps/introduction/">guide from
Google&lt;/a>
and a very good talk by Google Ventures that I always recommend to everyone who&amp;rsquo;s
interested:&lt;/p></description></item><item><title>Free AWS Account Security Monitoring</title><link>http://www.seporaitis.net/posts/2019/01/12/free-aws-account-security-monitoring/</link><pubDate>Sat, 12 Jan 2019 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2019/01/12/free-aws-account-security-monitoring/</guid><description>Recently I was pointed in the direction of AWS CloudTrail documentation and, specifically, something that I consider quite a gem for anyone who wants to get an early heads up about security events on their AWS account. Be it personal or corporate.
The gem in question is here:
Creating CloudWatch Alarms with an AWS CloudFormation Template
As the name suggests - it actually contains a link to a CloudFormation template with pre-made list of alerts for when:</description></item><item><title>Being Friendly On Email</title><link>http://www.seporaitis.net/posts/2014/11/26/being-email-friendly/</link><pubDate>Wed, 26 Nov 2014 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2014/11/26/being-email-friendly/</guid><description>Managing email is hard. All notifications, error messages and marketing email aside I get a few actionable emails from people, a day. The number itself is by no means big, but the keyword here is actionable. Actionable means - it has an important information inside - which triggers an action - a code review reminder, a bug hunt request, a check in the code to confirm that a feature is not a bug, a reply to a partner or coleague, unblocking their tasks.</description></item><item><title>Most Url Dispatchers Are Redundant</title><link>http://www.seporaitis.net/posts/2014/02/26/most-url-dispatchers-are-redundant/</link><pubDate>Wed, 26 Feb 2014 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2014/02/26/most-url-dispatchers-are-redundant/</guid><description>Last week as I was reviewing a small snippet of code adding yet another url pattern to application route table, I got struck by this thought:
wait a second, this url routing - it should not be part of application, but rather - of webserver. Application is responsible for taking input and producing output, and url parsing and processing is not part of that process. Meanwhile, webservers are super efficient at taking a request and passing it to a correct handler functions, via gateways.</description></item><item><title>An Essay For Aspiring Engineers</title><link>http://www.seporaitis.net/posts/2014/02/12/an-essay-for-aspiring-engineers/</link><pubDate>Wed, 12 Feb 2014 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2014/02/12/an-essay-for-aspiring-engineers/</guid><description>This article was originally posted in my Lithuanian (native tongue) blog and was received quite well among my colleague software engineers as well as non-technical friends. It was meant as an answer to a different blog post complaining about: aspiring programmers asking wrong questions about career bootstrapping, businesses and universities marketing constant lack of talent (encouraging too much people to study IT related fields) and all the worthless stuff the universities are teaching.</description></item><item><title>There Is A Problem With Web Frameworks</title><link>http://www.seporaitis.net/posts/2012/02/27/there-is-a-problem-with-web-frameworks/</link><pubDate>Mon, 27 Feb 2012 00:00:00 +0000</pubDate><guid>http://www.seporaitis.net/posts/2012/02/27/there-is-a-problem-with-web-frameworks/</guid><description>&lt;p>This is an essay about a new way to build websites, a way
completely different from what currently web frameworks (at least PHP) offer.
I will dare to say that they all are flawed and then
present you one way that to fix the problem, and will boast a little,
that this way was presented at one of W3C workshops for guys from W3C,
IBM, Nokia, Oracle and others. The way is also available for you to try out,
as an open source project. Although this post is long, I hope you
won&amp;rsquo;t be frightened by that and will enjoy reading it as much as I enjoyed
writing it!&lt;/p></description></item></channel></rss>