<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Délawen</title>
    <link>https://delawen.com/</link>
    <description>Recent content on Délawen</description>
    <generator>Hugo -- 0.154.5</generator>
    <language>en-GB</language>
    <managingEditor>delawen@gmail.com (María Arias de Reyna Domínguez)</managingEditor>
    <webMaster>delawen@gmail.com (María Arias de Reyna Domínguez)</webMaster>
    <lastBuildDate>Tue, 17 Mar 2026 00:02:00 +0000</lastBuildDate>
    <atom:link href="https://delawen.com/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>How is Leyden improving Java Performance? Part 3 of 3</title>
      <link>https://delawen.com/2026/03/17/How-is-Leyden-improving-Java-Performance-3/</link>
      <pubDate>Tue, 17 Mar 2026 00:02:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2026/03/17/How-is-Leyden-improving-Java-Performance-3/</guid> 
      <description>&lt;p&gt;In &lt;a href=&#34;https://delawen.com/2026/03/17/How-is-Leyden-improving-Java-Performance&#34;&gt;Part 1&lt;/a&gt; of this series of 3 blog posts we introduced the specific performance challenges OpenJDK faces lowering application ‘startup’, ‘warmup’ and ‘initial footprint’ costs and provided an overview of what Leyden is doing to address those challenges.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://delawen.com/2026/03/17/How-is-Leyden-improving-Java-Performance-2&#34;&gt;Part 2&lt;/a&gt; described how to use the new capabilities offered by Leyden and presented test results which show that very significant progress has already been made and is set to continue.&lt;/p&gt;
&lt;p&gt;Part 3 provides a more detailed account of how Leyden’s proposed solution operates and presents a first look at tooling that allows you to assess the benefits that result and tune your application to make the most of what Leyden offers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How is Leyden improving Java Performance? Part 2 of 3</title>
      <link>https://delawen.com/2026/03/17/How-is-Leyden-improving-Java-Performance-2/</link>
      <pubDate>Tue, 17 Mar 2026 00:01:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2026/03/17/How-is-Leyden-improving-Java-Performance-2/</guid> 
      <description>&lt;p&gt;In &lt;a href=&#34;https://delawen.com/2026/03/17/How-is-Leyden-improving-Java-Performance&#34;&gt;Part 1&lt;/a&gt; of this series of 3 blog posts we introduced the specific performance challenges OpenJDK faces lowering application ‘startup’, ‘warmup’ and ‘initial footprint’ costs and provided an overview of what Leyden is doing to address those challenges.&lt;/p&gt;
&lt;p&gt;Part 2 describes how to use the new AOT capabilities offered by Leyden and presents test results which show that very significant progress has already been made and is set to continue.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How is Leyden improving Java Performance? Part 1 of 3</title>
      <link>https://delawen.com/2026/03/17/How-is-Leyden-improving-Java-Performance/</link>
      <pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2026/03/17/How-is-Leyden-improving-Java-Performance/</guid> 
      <description>&lt;p&gt;In this series of 3 blog posts we will explain how OpenJDK project Leyden is helping to improve a specific area of performance where Java has notably lagged behind other languages i.e. application ‘startup’, ‘warmup’, and ‘initial footprint’.&lt;/p&gt;
&lt;p&gt;Part 1 explains what those terms mean and why Java faces challenges in matching the behaviour of other languages. It then provides an overview of what Leyden has done to improve startup and warmup in existing JDK releases and what is planned for upcoming releases.&lt;/p&gt;</description>
    </item>
    <item>
      <title>jChampionsConference: Ahead of time, the final frontier</title>
      <link>https://delawen.com/events/2026-01-22/</link>
      <pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2026-01-22/</guid> 
      <description>&lt;p&gt;There are many initiatives inside the OpenJDK that are revolutionizing the way our Java applications behave. Project Leyden accelerates peak performance by improving ahead of time caching. But, do you know how to use it with your application?&lt;/p&gt;
&lt;p&gt;On this session we will discuss what Leyden is, what is the state of art of the ahead of time cache, and showcase a few examples. We will prove (with potential demo effect!) that Leyden decreases warm-up time, and present the tools you can use to optimize your application!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quarkus Insights: Hypercharging Java with Leyden</title>
      <link>https://delawen.com/events/2025-12-15/</link>
      <pubDate>Mon, 15 Dec 2025 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2025-12-15/</guid> 
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/RX47zWi8yvs?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;</description>
    </item>
    <item>
      <title>MicroProfile and the chaos incarnated: Micro-Quarkus Boot!</title>
      <link>https://delawen.com/2024/07/microprofile-and-the-chaos-incarnated-micro-quarkus-boot/</link>
      <pubDate>Mon, 01 Jul 2024 14:07:31 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/?p=1286</guid> 
      <description>&lt;p&gt;When you start a new project in Java, obviously you are not going to use only plain vanilla Java. You usually need some libraries or frameworks to help you: maybe to connect to a database, maybe to setup some web service.&lt;/p&gt;
&lt;p&gt;There are many of these libraries and frameworks that have been around our Java ecosystem for a long time. They have helped evolved the Java ecosystem for decades. These libraries experiment with features and how to implement them in the best way. That generated a knowledge base that the developers of the language can later use to add those same features in the best way possible to the core language.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[OpenSouthCode] Java, el lenguaje que se reinventa</title>
      <link>https://delawen.com/events/2024-06-21/</link>
      <pubDate>Fri, 21 Jun 2024 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2024-06-21/</guid> 
      <description>&lt;p&gt;En esta charla, presentaremos las últimas novedades en el lenguaje de programación Java y su máquina virtual, la JVM. Veremos cómo el lenguaje ha ido evolucionando en sus últimas versiones, qué significa y cuales son las versiones LTS, qué es Adoptium, qué es GraalVM, y qué está pasando con el ecosistema Java, que está evolucionando a través de Quarkus, Micronaut, y otros acercamientos más nativos.&lt;/p&gt;
&lt;p&gt;Esta charla es apta para toda persona que sepa ya lo que es un lenguaje de programación, aunque no se haya especializado específicamente en Java.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[DevBcn] Chaos Incarnated: Micro-Quarkus Boot</title>
      <link>https://delawen.com/events/2024-06-14/</link>
      <pubDate>Fri, 14 Jun 2024 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2024-06-14/</guid> 
      <description>&lt;p&gt;Here we are, creating a whole new project from scratch and no legacy hindering us. But wait, should I use Spring Boot, Quarkus, Micronaut,… What is happening in the Java ecosystem? What do I do?&lt;/p&gt;
&lt;p&gt;On this talk we are going to create a (simple) app on those frameworks and compare pros and cons. We will build the native version, compare the source code and dependencies, and, probably, find out that the real treasure is the code we made along the way.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[DevBcn] Low Code, No Code, and Full Code Integrations</title>
      <link>https://delawen.com/events/2023-07-05/</link>
      <pubDate>Wed, 05 Jul 2023 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2023-07-05/</guid> 
      <description></description>
    </item>
    <item>
      <title>[DevNation] Kaoto: the low code and no code editor for Apache Camel</title>
      <link>https://delawen.com/events/2023-06-29/</link>
      <pubDate>Thu, 29 Jun 2023 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2023-06-29/</guid> 
      <description></description>
    </item>
    <item>
      <title>[Stage of Java] Bungee jumping to Quarkus, blindfolded but happy</title>
      <link>https://delawen.com/events/2023-05-26/</link>
      <pubDate>Fri, 26 May 2023 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2023-05-26/</guid> 
      <description></description>
    </item>
    <item>
      <title>Approaching Zero-ETL with FOSS</title>
      <link>https://delawen.com/2023/05/zero-etl-with-foss/</link>
      <pubDate>Wed, 03 May 2023 07:24:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2023/05/zero-etl-with-foss/</guid> 
      <description>&lt;p&gt;Leaving aside complexities like the &lt;a href=&#34;https://www.enterpriseintegrationpatterns.com/&#34;&gt;Enterprise Integration Patterns&lt;/a&gt;, we can consider most &lt;a href=&#34;https://delawen.com/2020/10/what-is-integration/&#34;&gt;integrations&lt;/a&gt; as a form of advanced &lt;em&gt;ETL: Extract, Transform, and Load&lt;/em&gt;. We &lt;em&gt;extract&lt;/em&gt; data from a data store or service. Then we &lt;em&gt;transform&lt;/em&gt; it from an input to an output format. And finally we push or &lt;em&gt;load&lt;/em&gt; that transformed data into some output channel. It is the easiness to connect with the input and output channels what makes the ETL need a proper integration framework.&lt;/p&gt;
&lt;p&gt;Complex integrations will combine these three steps differently. But the outcome is always to move information from one place to another, connecting different systems. Where the information may be a full dataset or just a triggered event.&lt;/p&gt;
&lt;p&gt;I already &lt;a href=&#34;https://delawen.com/2022/05/selecting-your-orchestration-conductor/&#34;&gt;tackled the issue of choosing the right integration tool from an engineer&amp;rsquo;s perspective&lt;/a&gt; and what variables to take into account. But when we are talking about data science and data analysis, there is a requirement that goes on top of all of the previous: &lt;strong&gt;the accessibility and easiness of usage of the tool.&lt;/strong&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>No Code Integrations</title>
      <link>https://delawen.com/2023/04/no-code-integrations/</link>
      <pubDate>Mon, 24 Apr 2023 08:31:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/?p=934</guid> 
      <description>&lt;p&gt;On this article we will explore how to do no code and low code &lt;a href=&#34;https://delawen.com/2020/10/what-is-integration/&#34;&gt;integrations&lt;/a&gt; based on &lt;a href=&#34;https://camel.apache.org/&#34;&gt;Apache Camel&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Every paradigm including data flow, programming by example, and programming through analogies brings its own set of affordances and obstacles.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ksiresearchorg.ipage.com/vlss/journal/VLSS2017/vlss17paper_10.pdf&#34;&gt;Alexander Repenning&lt;/a&gt; - DOI reference number: 10.18293/VLSS2017-010&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We are going to use Kaoto, &lt;a href=&#34;https://kaoto.io/blog/2023-04-13/&#34;&gt;which just made its 1.0.0 release&lt;/a&gt;. On this release, the Kaoto team has focused on the no-code graphical canvas to make sure the user experience is as smooth as possible.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>[SVQJUG] Los gatos en Quarkus</title>
      <link>https://delawen.com/events/2023-03-21/</link>
      <pubDate>Tue, 21 Mar 2023 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2023-03-21/</guid> 
      <description></description>
    </item>
    <item>
      <title>In the FOSS trenches</title>
      <link>https://delawen.com/2022/11/in-the-foss-trenches/</link>
      <pubDate>Wed, 30 Nov 2022 10:21:01 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/?p=1127</guid> 
      <description>&lt;p&gt;After almost &lt;a href=&#34;https://delawen.com/woman-delawen/&#34;&gt;20 years&lt;/a&gt; of being involved in the Free and Open Source Software (FOSS) community, and having gone through different &lt;a href=&#34;https://apache.org/&#34;&gt;associations&lt;/a&gt; and &lt;a href=&#34;https://osgeo.org&#34;&gt;foundations&lt;/a&gt;, I would like to give my perspective on its sustainability. I have seen how companies get closer and further from FOSS as they evolve, and how different FOSS entities have overcome challenges.&lt;/p&gt;
&lt;p&gt;This is not a light matter and the contents of this article are not only opinionated, but a mere scratch on the surface. My intention here is merely to try to open a debate I feel is stagnant.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Faladoiros de Mancomún] Podcast Software Libre</title>
      <link>https://delawen.com/events/2022-11-07/</link>
      <pubDate>Mon, 07 Nov 2022 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2022-11-07/</guid> 
      <description></description>
    </item>
    <item>
      <title>[FOSS4G] Kaoto: Integrate your Architecture without coding</title>
      <link>https://delawen.com/events/2022-08-24/</link>
      <pubDate>Wed, 24 Aug 2022 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2022-08-24/</guid> 
      <description></description>
    </item>
    <item>
      <title>Bungee jumping into Quarkus: blindfolded but happy</title>
      <link>https://delawen.com/2022/07/bungee-jumping-into-quarkus/</link>
      <pubDate>Tue, 26 Jul 2022 10:24:37 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/?p=1101</guid> 
      <description>&lt;p&gt;A year ago I started with a couple of friends a &lt;a href=&#34;https://delawen.com/2022/04/kaoto-integrate-without-limits/&#34;&gt;new project&lt;/a&gt; based on &lt;strong&gt;&lt;a href=&#34;https://quarkus.io&#34;&gt;Quarkus&lt;/a&gt;&lt;/strong&gt; to create a &lt;a href=&#34;https://kaoto.io&#34;&gt;visual editor for integrations&lt;/a&gt; called Kaoto.&lt;/p&gt;
&lt;p&gt;As responsible of the backend side, I obviously chose Java to do it. Coming from the Java 8 world with shy traces of Java 11, I decided to jump directly to Quarkus on Java 17 (unstable at the time) with Reactive and explore the serverless possibilities while, at the same time, keep the over-engineering and the over-fanciness of new features as reasonable as possible.&lt;/p&gt;
&lt;p&gt;On this article I will discuss the good and the bad of this experience. I am not a Quarkus developer, I am a developer that used Quarkus. And as any average developer that starts with a new technology, I obviously skipped the documentation and just bungee jumped into the framework, blindfolded and without safe nets.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>[JBCNConf] Bungee jumping with Quarkus. Blindfolded but happy</title>
      <link>https://delawen.com/events/2022-07-18/</link>
      <pubDate>Mon, 18 Jul 2022 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2022-07-18/</guid> 
      <description></description>
    </item>
    <item>
      <title>[SIGLibre] Keynote</title>
      <link>https://delawen.com/events/2022-06-08/</link>
      <pubDate>Wed, 08 Jun 2022 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2022-06-08/</guid> 
      <description></description>
    </item>
    <item>
      <title>[Java Day Istanbul] Clean Architecture Orchestration over Apache Camel</title>
      <link>https://delawen.com/events/2022-05-27/</link>
      <pubDate>Fri, 27 May 2022 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2022-05-27/</guid> 
      <description></description>
    </item>
    <item>
      <title>Selecting your orchestration conductor</title>
      <link>https://delawen.com/2022/05/selecting-your-orchestration-conductor/</link>
      <pubDate>Wed, 18 May 2022 09:39:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/?p=1008</guid> 
      <description>&lt;p&gt;When we are &lt;a href=&#34;https://delawen.com/2020/10/what-is-integration/&#34;&gt;integrating&lt;/a&gt; different components and services in our software architecture, the first step is to select a good orchestration framework. On this opinionated article I will present my criteria to decide which is the right framework.&lt;/p&gt;
&lt;h2 id=&#34;riding-the-enterprise-service-bus&#34;&gt;Riding the Enterprise Service Bus&lt;/h2&gt;
&lt;p&gt;As you compose services, you will notice the need for an Enterprise Service Bus to communicate with each other. But an EBS can be useless if you don&amp;rsquo;t have good ETL (extract, transform, load) tools along with it to manipulate our data. The same way that an ETL without a proper routing system can leave us orphaned.&lt;/p&gt;
&lt;p&gt;We need to route messages and events and at the same time make sure data transformations take place so different endpoints with varied protocols and formats can interact with each other. That&amp;rsquo;s where integration frameworks come in.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&#34;https://www.enterpriseintegrationpatterns.com/&#34;&gt;Enterprise Integration Patterns&lt;/a&gt; can help developers on both tasks: by providing data transformations between outputs and inputs and offering different routing strategies.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>[OpenShift Commons] Integrations using Apache Camel and Apache Kafka in OpenShift</title>
      <link>https://delawen.com/events/2022-05-10/</link>
      <pubDate>Tue, 10 May 2022 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2022-05-10/</guid> 
      <description></description>
    </item>
    <item>
      <title>[Guillena Digital] I jornada de motivación de profesiones STEM Guillena</title>
      <link>https://delawen.com/events/2022-04-29/</link>
      <pubDate>Fri, 29 Apr 2022 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2022-04-29/</guid> 
      <description></description>
    </item>
    <item>
      <title>Kaoto: Integrate without limits</title>
      <link>https://delawen.com/2022/04/kaoto-integrate-without-limits/</link>
      <pubDate>Sat, 02 Apr 2022 21:03:23 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/?p=968</guid> 
      <description>&lt;p&gt;I would like to present you with an &lt;a href=&#34;https://en.wikipedia.org/wiki/Extract,_transform,_load&#34;&gt;ETL&lt;/a&gt; and &lt;a href=&#34;https://delawen.com/2020/10/what-is-integration/&#34;&gt;integration&lt;/a&gt; editor &lt;a href=&#34;https://twitter.com/nerdycode&#34;&gt;Rachel&lt;/a&gt; and I have been working on for the past year with the initial help of &lt;a href=&#34;https://twitter.com/ZinebBendhiba&#34;&gt;Zineb&lt;/a&gt;: &lt;strong&gt;Kaoto&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&#34;what-is-kaoto&#34;&gt;What is Kaoto?&lt;/h2&gt;
&lt;p&gt;Kaoto is an &lt;strong&gt;integration editor&lt;/strong&gt; to create and deploy integrations in a low-code way and no-code way based on Apache Camel. It combines a source code editor and a drag and drop graphical space synchronized with each other. It can be run both as standalone and as a service (SaaS).&lt;/p&gt;
&lt;p&gt;With the no-code mode, the user can build the entire integration orchestration with the drag and drop function. Kaoto has a step catalog with a list of all available building blocks that the users may want to transform data or integrate with services.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>[Podcast Linux] Linux Connexion</title>
      <link>https://delawen.com/events/2021-08-09/</link>
      <pubDate>Mon, 09 Aug 2021 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2021-08-09/</guid> 
      <description></description>
    </item>
    <item>
      <title>[Spain Clouds Summit] Integrando Flujos de Datos</title>
      <link>https://delawen.com/events/2021-05-24/</link>
      <pubDate>Mon, 24 May 2021 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2021-05-24/</guid> 
      <description></description>
    </item>
    <item>
      <title>[Bucharest Summits] How camel breeding can help you in IoT</title>
      <link>https://delawen.com/events/2021-05-18/</link>
      <pubDate>Tue, 18 May 2021 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2021-05-18/</guid> 
      <description></description>
    </item>
    <item>
      <title>[Developer Week] Data flowing the easy way</title>
      <link>https://delawen.com/events/2021-05-10/</link>
      <pubDate>Mon, 10 May 2021 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2021-05-10/</guid> 
      <description></description>
    </item>
    <item>
      <title>[Developer Week] Integrations using Apache Camel and Apache Kafka in OpenShif</title>
      <link>https://delawen.com/events/2021-04-28/</link>
      <pubDate>Wed, 28 Apr 2021 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2021-04-28/</guid> 
      <description></description>
    </item>
    <item>
      <title>[FLISoL Tenerife] Ensillando Apache Camel para integrar componentes</title>
      <link>https://delawen.com/events/2021-04-24/</link>
      <pubDate>Sat, 24 Apr 2021 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2021-04-24/</guid> 
      <description></description>
    </item>
    <item>
      <title>[OpenDevHour] Why is this cat lady breeding camels?</title>
      <link>https://delawen.com/events/2021-04-14/</link>
      <pubDate>Wed, 14 Apr 2021 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2021-04-14/</guid> 
      <description></description>
    </item>
    <item>
      <title>[TechKNowDay] Data Flowing the Easy Way</title>
      <link>https://delawen.com/events/2021-03-08/</link>
      <pubDate>Mon, 08 Mar 2021 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2021-03-08/</guid> 
      <description></description>
    </item>
    <item>
      <title>[LaretasGeek] Panel</title>
      <link>https://delawen.com/events/2020-12-17/</link>
      <pubDate>Thu, 17 Dec 2020 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2020-12-17/</guid> 
      <description></description>
    </item>
    <item>
      <title>[CodeOp.tech] Integration Processes for Serverless Hybrid Cloud</title>
      <link>https://delawen.com/events/2020-11-26/</link>
      <pubDate>Thu, 26 Nov 2020 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2020-11-26/</guid> 
      <description></description>
    </item>
    <item>
      <title>[ManComun] Podcast Interview</title>
      <link>https://delawen.com/events/2020-11-25/</link>
      <pubDate>Wed, 25 Nov 2020 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2020-11-25/</guid> 
      <description></description>
    </item>
    <item>
      <title>[EEO-AGIM Seminar] Integration Processes for Serverless Hybrid Cloud</title>
      <link>https://delawen.com/events/2020-11-13/</link>
      <pubDate>Fri, 13 Nov 2020 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2020-11-13/</guid> 
      <description></description>
    </item>
    <item>
      <title>Are online events the new normal?</title>
      <link>https://delawen.com/2020/10/are-online-events-the-new-normal/</link>
      <pubDate>Sun, 11 Oct 2020 18:41:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2020/10/are-online-events-the-new-normal/</guid> 
      <description>Some of you may know I am going to co-chair the next &lt;a href=&#34;https://2021.foss4g.org/&#34;&gt;FOSS4G&lt;/a&gt;. ( &lt;strong&gt;&lt;em&gt;Come Hell or High Water, but we are going to have a FOSS4G next year!&lt;/em&gt;&lt;/strong&gt;) I have also participated on the organization of the last &lt;a href=&#34;https://www.apachecon.com/acna2020/&#34;&gt;ApacheCON&lt;/a&gt; and some other minor online events. I have also spoken on many online events by now.</description>
    </item>
    <item>
      <title>What&#39;s all this integration agitation, anyway?</title>
      <link>https://delawen.com/2020/10/what-is-integration/</link>
      <pubDate>Tue, 06 Oct 2020 17:43:57 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com:444/?p=794</guid> 
      <description>&lt;p&gt;You may have heard any or all of these keywords before: middleware, integration, orchestration. And you may be wondering why and when to use them. Take a walk with me to understand when and how integration frameworks are useful.&lt;/p&gt;
&lt;p&gt;Imagine you are in charge of solving a new need of your company. There is no complete software stack for what you need. You will have to involve your team to create something new. Even if you reuse some components, you have to make them interact and talk to each other.&lt;/p&gt;
&lt;p&gt;You are an experienced software engineer and have solved previously many of the requirements with some components you are already familiar with. But now you have to orchestrate all these components together and make them work like a clock. Now you need a proper &lt;em&gt;integration.&lt;/em&gt; You want all of them to cooperate smoothly in your architecture.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>[FOSS4G UK] What would John Snow do?</title>
      <link>https://delawen.com/events/2020-06-17/</link>
      <pubDate>Wed, 17 Jun 2020 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2020-06-17/</guid> 
      <description></description>
    </item>
    <item>
      <title>[Ping a Programadoras] Design Patterns: Strategy</title>
      <link>https://delawen.com/events/2020-05-25/</link>
      <pubDate>Mon, 25 May 2020 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2020-05-25/</guid> 
      <description></description>
    </item>
    <item>
      <title>[Ping a Programadoras] Introduction to Software Design Patterns</title>
      <link>https://delawen.com/events/2020-04-13/</link>
      <pubDate>Mon, 13 Apr 2020 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2020-04-13/</guid> 
      <description></description>
    </item>
    <item>
      <title>[SVQTech] Trabajo Remoto 101</title>
      <link>https://delawen.com/events/2020-03-16/</link>
      <pubDate>Mon, 16 Mar 2020 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2020-03-16/</guid> 
      <description></description>
    </item>
    <item>
      <title>[VII JORNADAS INGENIER@S EN LA UPO] Freedom at All Levels</title>
      <link>https://delawen.com/events/2020-03-13/</link>
      <pubDate>Fri, 13 Mar 2020 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2020-03-13/</guid> 
      <description></description>
    </item>
    <item>
      <title>[FOSDEM] Integration Processes Data flowing the easy way</title>
      <link>https://delawen.com/events/2020-02-02/</link>
      <pubDate>Sun, 02 Feb 2020 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2020-02-02/</guid> 
      <description></description>
    </item>
    <item>
      <title>[EsLib.re] [Workshop] Apache Camel</title>
      <link>https://delawen.com/events/2020-01-19/</link>
      <pubDate>Sun, 19 Jan 2020 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2020-01-19/</guid> 
      <description></description>
    </item>
    <item>
      <title>[SVQJUG] Introduction to Camel Breeding</title>
      <link>https://delawen.com/events/2019-11-13/</link>
      <pubDate>Wed, 13 Nov 2019 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2019-11-13/</guid> 
      <description></description>
    </item>
    <item>
      <title>Speaking at events</title>
      <link>https://delawen.com/public-appearances/events-and-presentations/</link>
      <pubDate>Thu, 17 Oct 2019 07:57:37 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/?page_id=602</guid> 
      <description>&lt;p&gt;You can take a look at some of &lt;a href=&#34;https://delawen.com/events/&#34;&gt;my previous public appearances&lt;/a&gt; to get an idea of my speaker skills and get a better overview of &lt;a href=&#34;https://delawen.com/public-appearances/&#34;&gt;my work on stage&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id=&#34;what-i-do-offer&#34;&gt;What I DO offer&lt;/h1&gt;
&lt;p&gt;I am an experienced international keynoter. I can deliver talks both in &lt;strong&gt;English&lt;/strong&gt; and &lt;strong&gt;Spanish&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Common (not restricted to) topics I talk about :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Free and Open Source&lt;/li&gt;
&lt;li&gt;Java Development and State of the Art&lt;/li&gt;
&lt;li&gt;Good Development Practices&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;what-i-do-like-in-events&#34;&gt;What I do like in events&lt;/h1&gt;
&lt;p&gt;If you are going to ask me to speak, consider this requirements:&lt;/p&gt;</description>
    </item>
    <item>
      <title>From Cat to Hat</title>
      <link>https://delawen.com/2019/07/from-cat-to-hat/</link>
      <pubDate>Fri, 19 Jul 2019 10:54:39 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2019/07/from-cat-to-hat/</guid> 
      <description>On June I joined Red Hat as a Senior Software Engineer.</description>
    </item>
    <item>
      <title>I want to fix the diversity on my event, help me!</title>
      <link>https://delawen.com/2019/07/i-want-to-fix-the-diversity-on-my-event-help-me/</link>
      <pubDate>Sun, 07 Jul 2019 19:34:16 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2019/07/i-want-to-fix-the-diversity-on-my-event-help-me/</guid> 
      <description>&lt;em&gt;If someone linked you this post is probable you are organizing an event where diversity and inclusivity is an issue and they want to help you fix that. If you want, you can jump to the subsection that better adjust to your case. Remember:&lt;/em&gt; &lt;a href=&#34;https://delawen.com/2019/06/how-can-i-get-a-diverse-team/&#34;&gt;&lt;em&gt;diversity is not a TL;DR&lt;/em&gt;&lt;/a&gt; &lt;em&gt;, you probably need to read the full article to get a better grasp of what you need. As usual: I&amp;rsquo;m going to focus on the gender gap because it&amp;rsquo;s easier for me to talk in those terms, but similar strategies can be applied to any other under-represented group.&lt;/em&gt;</description>
    </item>
    <item>
      <title>[Innosoft] Privacidad y Autodefensa</title>
      <link>https://delawen.com/events/2019-06-11/</link>
      <pubDate>Tue, 11 Jun 2019 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2019-06-11/</guid> 
      <description></description>
    </item>
    <item>
      <title>How can I get a diverse and inclusive team?</title>
      <link>https://delawen.com/2019/06/how-can-i-get-a-diverse-and-inclusive-team/</link>
      <pubDate>Wed, 05 Jun 2019 17:25:47 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2019/06/how-can-i-get-a-diverse-and-inclusive-team/</guid> 
      <description>Do we really need to explain the problem of diversity? IT is mainly white and male. Even the most egalitarian person have biases due to have lived on a non egalitarian world and this reflects on our community. There are also society pressure to some groups of persons not to work on IT.</description>
    </item>
    <item>
      <title>[gvSIG Festival] How can I get a diverse team?</title>
      <link>https://delawen.com/events/2019-03-28/</link>
      <pubDate>Thu, 28 Mar 2019 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/events/2019-03-28/</guid> 
      <description></description>
    </item>
    <item>
      <title>Who am I?</title>
      <link>https://delawen.com/woman-delawen/</link>
      <pubDate>Sat, 02 Mar 2019 18:09:23 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/?page_id=309</guid> 
      <description>&lt;p&gt;delawen()&lt;/p&gt;
&lt;p&gt;delawen - FOSS maintainer and advocator, OpenJDK Author, Java Champion, former President of &lt;a href=&#34;https://osgeo.org&#34;&gt;OSGeo&lt;/a&gt;, community leader. FOSS enthusiast and collaborator since around 2004.&lt;/p&gt;
&lt;h2 id=&#34;synopsis&#34;&gt;&lt;strong&gt;SYNOPSIS&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;delawen [OPTIONS]&lt;/p&gt;
&lt;h2 id=&#34;description&#34;&gt;&lt;strong&gt;DESCRIPTION&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;María is a Free and Open Source Advocator. She has been a community manager and core maintainer of several open source projects. In 2020 she started and lead the development of Kaoto, an Apache Camel visual editor for integrations. She is right now working at RedHat as part of the OpenJDK team.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why do we need diversity on our teams?</title>
      <link>https://delawen.com/2018/05/why-do-we-need-diversity-on-our-teams/</link>
      <pubDate>Mon, 07 May 2018 19:09:45 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2018/05/why-do-we-need-diversity-on-our-teams/</guid> 
      <description>&lt;p&gt;Let&amp;rsquo;s overlook the statistical justice of having a diverse team. Let&amp;rsquo;s overlook the social justice of working on a team with high diversity. Go directly to why you, someone interested in having business at the end of the year, are also interested in having a diverse team.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Spanish version is on &lt;a href=&#34;https://pingprogramadoras.org/2018/05/07/por-que-necesitamos-diversidad-en-nuestros-equipos/&#34;&gt;Ping a Programadoras blog.&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Each one of us sees the world from a different perspective. Because of the vital experience that the society where we grow offers us. Those different perspectives are what makes us see different details on the same situation. And these details are what gives the products and services offered by your company the quality you need to succeed.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://hbr.org/2017/03/teams-solve-problems-faster-when-theyre-more-cognitively-diverse&#34;&gt;Are the diverse teams more efficient and economically profitable? Yes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.mckinsey.com/business-functions/organization/our-insights/is-there-a-payoff-from-top-team-diversity&#34;&gt;Are the diverse teams more creative? Yes.&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>¿Dónde están las mujeres de la Ciencia Ficción?</title>
      <link>https://delawen.com/2017/12/d%C3%B3nde-est%C3%A1n-las-mujeres-de-la-ciencia-ficci%C3%B3n/</link>
      <pubDate>Sun, 10 Dec 2017 20:07:31 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2017/12/d%C3%B3nde-est%C3%A1n-las-mujeres-de-la-ciencia-ficci%C3%B3n/</guid> 
      <description>Me gusta leer ciencia ficción. He devorado sagas e historias sueltas y tengo el kindle a reventar. Pero, en este &lt;a href=&#34;https://delawen.com/2017/06/la-evolucion-feminista/&#34;&gt;despertar feminista&lt;/a&gt;, un día me di cuenta de que no seguía a ninguna autora. Eran todo hombres. ¿Dónde estaban las escritoras de Ciencia Ficción? ¿Por qué no me había cruzado con ninguna? Así que me puse a rebuscar entre interminables listados de antologías y recopilaciones. Y acabé comprando &lt;a href=&#34;https://www.amazon.es/Women-Futures-Past-Classic-Stories-ebook/dp/B01K5KCTL2&#34;&gt;un libro recopilatorio que parecía ser lo que andaba buscando: una recopilación de autoras que luego podría usar para seguir buscando más libros interesantes&lt;/a&gt;.</description>
    </item>
    <item>
      <title>La evolución feminista</title>
      <link>https://delawen.com/2017/06/la-evoluci%C3%B3n-feminista/</link>
      <pubDate>Tue, 20 Jun 2017 13:13:12 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2017/06/la-evoluci%C3%B3n-feminista/</guid> 
      <description>Una de las cosas que más me ha sorprendido en mi andadura feminista es hasta qué punto todas hemos tenido una evolución más o menos parecida. Con nuestros triggers particulares, nuestras situaciones y nuestras epifanías, la evolución es siempre parecida, cada una con sus tiempos y su velocidad particular.</description>
    </item>
    <item>
      <title>Cosas que aprendí en la GeoCamp</title>
      <link>https://delawen.com/2016/11/cosas-que-aprend%C3%AD-en-la-geocamp/</link>
      <pubDate>Sun, 13 Nov 2016 10:56:24 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2016/11/cosas-que-aprend%C3%AD-en-la-geocamp/</guid> 
      <description>&lt;p&gt;Año tras año, la GeoCamp se consolida como el geosarao imprescindible para hacer brainstorming sobre las últimas novedades en &lt;a href=&#34;https://delawen.com/2015/04/english-siglibre-9-girona/&#34;&gt;geocosas&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Publicado originalmente en &lt;a href=&#34;http://geoinquietos.blogspot.com/2016/11/cosas-que-aprendi-en-la-geocamp.html&#34;&gt;el blog de GeoInquietos Sevilla&lt;/a&gt;.
La foto de grup del Geocamp ES 2016 a Barcelona &lt;a href=&#34;https://twitter.com/hashtag/geocampes?src=hash&#34;&gt;#geocampes&lt;/a&gt; &lt;a href=&#34;https://t.co/H44a413tM0&#34;&gt;pic.twitter.com/H44a413tM0&lt;/a&gt; &amp;gt; &amp;gt; — Geo Inquiets (@geoinquiets) &lt;a href=&#34;https://twitter.com/geoinquiets/status/789834709236903937&#34;&gt;22 de octubre de 2016&lt;/a&gt;
Todo el mundo tiene sus cinco minutos de fama, incluso si no llevas nada preparado, raro será que no participes en alguna discusión.
Battery just about to die so this concludes my &lt;a href=&#34;https://twitter.com/hashtag/geocampes?src=hash&#34;&gt;#geocampes&lt;/a&gt; tweeting. Here&amp;rsquo;s the remaining lineup &lt;a href=&#34;https://t.co/3eRxBt5NsF&#34;&gt;pic.twitter.com/3eRxBt5NsF&lt;/a&gt; &amp;gt; &amp;gt; — Ed Freyfogle (@freyfogle) &lt;a href=&#34;https://twitter.com/freyfogle/status/789832433063583745&#34;&gt;22 de octubre de 2016&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    <item>
      <title>FOSS4G Argentina 2016 (Buenos Aires)</title>
      <link>https://delawen.com/2016/04/foss4g-argentina-2016-buenos-aires/</link>
      <pubDate>Wed, 27 Apr 2016 17:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2016/04/foss4g-argentina-2016-buenos-aires/</guid> 
      <description>&lt;blockquote&gt;
&lt;p&gt;This post was originally posted on the blog of a former company. But since they have decided to violate my authorship rights, here is a copy of it. &lt;strong&gt;English version is lost&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://delawen.com/wp-content/uploads/2020/02/12383376%5F1280329665315641%5F2133372292%5Fn-1080x675-2.jpg&#34;
         alt=&#34;Photo of an asado&#34;/&gt; &lt;figcaption&gt;
            &lt;p&gt;Photo of an asado&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Este año tuve el privilegio de poder asistir a la &lt;a href=&#34;http://foss4g-ar.org/&#34;&gt;FOSS4G Argentina&lt;/a&gt; 2016, que se celebró en el IGN de Buenos Aires. Qué puedo contaros de Argentina que no sepáis ya.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.instagram.com/p/BD1thIpqcTI&#34;&gt;https://www.instagram.com/p/BD1thIpqcTI&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>GeoNetwork from Scratch II : Attack of the IDEs</title>
      <link>https://delawen.com/2015/11/geonetwork-from-scratch-ii-attack-of-the-ides/</link>
      <pubDate>Mon, 16 Nov 2015 14:30:42 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2015/11/geonetwork-from-scratch-ii-attack-of-the-ides/</guid> 
      <description>This post was originally posted on the blog of a former company. But since they have decided to violate my authorship rights, here is a copy of it.
We have already seen &lt;a href=&#34;https://delawen.com/?p=3622&#34;&gt;how to compile and run a basic GeoNetwork instance&lt;/a&gt;. Although we know that &lt;a href=&#34;https://xkcd.com/378/&#34;&gt;real developers&lt;/a&gt; will probably skip this step too, for new developers in GeoNetwork, it will be relief to have an IDE to work with. I know that many GeoNetwork developers use &lt;a href=&#34;https://netbeans.org/&#34;&gt;NetBeans&lt;/a&gt; or &lt;a href=&#34;https://www.jetbrains.com/idea/&#34;&gt;Intellij&lt;/a&gt; but as I am used to work with Eclipse, that&amp;rsquo;s what we are going to explore on this post.
First of all: Eclipse has better support for Maven projects on each version. So, to avoid headaches, just download the &lt;a href=&#34;http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/marsr&#34;&gt;latest eclipse available&lt;/a&gt;.Eclipse has many installer tutorials, so I won&amp;rsquo;t stop here explaining how to run eclipse. I will just assume you know how to do it.
To run GeoNetwork from eclipse is very very easy. Just right click on the Package Explorer view to &lt;strong&gt;import -&amp;gt; As Maven Project&lt;/strong&gt; over the folder you already had cloned on the &lt;a href=&#34;https://delawen.com/?p=3622&#34;&gt;last post&lt;/a&gt;:</description>
    </item>
    <item>
      <title>JIIDE 2015 - Sevilla</title>
      <link>https://delawen.com/2015/11/jiide-2015-sevilla/</link>
      <pubDate>Fri, 13 Nov 2015 14:15:33 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2015/11/jiide-2015-sevilla/</guid> 
      <description>&lt;blockquote&gt;
&lt;p&gt;This post was originally posted on the blog of a former company. But since they have decided to violate my authorship rights, here is a copy of it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Last week I attended the &lt;a href=&#34;http://www.jiide.org/&#34;&gt;JIIDE conference&lt;/a&gt;, that took place here in Sevilla. This is the official conference for both portuguese and spanish spatial data infraestructures. The presentations were diverse and rich in content and there were working groups for INSPIRE and conformance running in parallel.&lt;/p&gt;
&lt;h3 id=&#34;trends-on-geospatial&#34;&gt;Trends on GeoSpatial&lt;/h3&gt;
&lt;p&gt;You could see some trends in how SDIs are evolving through all the Iberian Peninsula. &lt;a href=&#34;http://www.geograma.com/&#34;&gt;Geograma&lt;/a&gt; explained to us that hiding data behind paywalls or registering sites makes us less compliant. But on the other hand, maybe it doesn&amp;rsquo;t matter because as José Fernández ( &lt;a href=&#34;http://www.juntadeandalucia.es/institutodeestadisticaycartografia&#34;&gt;IECA&lt;/a&gt;) showed us, data is going more and more open and free. Why should someone pay for data generated on a public administration? It has already been payed by taxes and a paywall is just another stone on the way of generating added value to the data. And above all this, every country has a different payment and access system, so it is virtually impossible to query the same data on different countries easily, which was one of the goals for &lt;a href=&#34;http://inspire.ec.europa.eu/&#34;&gt;INSPIRE&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>GeoNetwork From Scratch I : The Phantom Catalog</title>
      <link>https://delawen.com/2015/10/geonetwork-from-scratch-i-the-phantom-catalog/</link>
      <pubDate>Fri, 16 Oct 2015 14:30:35 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2015/10/geonetwork-from-scratch-i-the-phantom-catalog/</guid> 
      <description>&lt;blockquote&gt;
&lt;p&gt;This post was originally posted on the blog of a former company. But since they have decided to violate my authorship rights, here is a copy of it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;GeoNetwork, &lt;a href=&#34;https://delawen.com/2012/10/que-es-geonetwork/&#34;&gt;your friendly spatial catalog,&lt;/a&gt;&lt;/strong&gt; never has been an easy software to deal with. But specially after the &lt;a href=&#34;https://delawen.com/?p=3380&#34;&gt;3.0 version release&lt;/a&gt;, many things have changed. On this series of posts we will try to help new developers start with it.&lt;/p&gt;
&lt;p&gt;The source code is available on a public repository on &lt;strong&gt;&lt;a href=&#34;https://github.com/geonetwork/core-geonetwork&#34;&gt;Github&lt;/a&gt;&lt;/strong&gt;. This means that you can clone, fork and propose pushes of your custom changes. If you are not familiar with repositories of code or git, you should check &lt;a href=&#34;https://try.github.io/levels/1/challenges/1&#34;&gt;this quick manual&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>SIGLibre 9, Girona</title>
      <link>https://delawen.com/2015/04/siglibre-9-girona/</link>
      <pubDate>Wed, 22 Apr 2015 10:04:12 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2015/04/siglibre-9-girona/</guid> 
      <description>&lt;blockquote&gt;
&lt;p&gt;This post was originally posted on the blog of a former company. But since they have decided to violate my authorship rights, here is a copy of it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The &lt;a href=&#34;http://www.sigte.udg.edu/jornadassiglibre/&#34;&gt;9th SIGLibre conference in Girona&lt;/a&gt; starts with bad news: no wifi. But that didn&amp;rsquo;t stop us to talk about geo free stuff.&lt;/p&gt;
&lt;h2 id=&#34;siglibre-topics&#34;&gt;SIGLibre Topics&lt;/h2&gt;
&lt;p&gt;Almost all the plenary talks touched topics like smart citizens, open data, crowd data, crowd sourcing,&amp;hellip; It is quite clear this is an emerging subject that we are going to use more and more. But, is this really a business market or is this just something to research and contribute to the community?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jornadas SIGLibre Girona VII</title>
      <link>https://delawen.com/2013/03/jornadas-siglibre-girona-vii/</link>
      <pubDate>Fri, 08 Mar 2013 15:01:55 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2013/03/jornadas-siglibre-girona-vii/</guid> 
      <description>&lt;p&gt;Estas últimas Jornadas SIGLibre de Girona han girado en torno a servicios cloud y datos abiertos. Desde el apoteósico inicio con las ponencias plenarias, con parte destacada de &lt;a href=&#34;https://twitter.com/sergim&#34;&gt;Sergi Morales&lt;/a&gt; ( &lt;a href=&#34;https://www.expertosenti.com/&#34;&gt;ExportosenTI&lt;/a&gt;), el resto de las charlas han ido rodando todas en el mismo tema. Algunas quizás un poco más críticas, como &lt;a href=&#34;https://twitter.com/fpuga&#34;&gt;F. Puga&lt;/a&gt; desde &lt;a href=&#34;https://cartolab.udc.es/&#34;&gt;CartoLab&lt;/a&gt; cuando nos pidió que no olvidáramos que no todo el mundo tiene acceso global a internet, y que muchos millones de personas, las cuales no tienen nuestro nivel tecnológico, también tienen necesidades GIS.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GeoNetwork: domesticando una jauría de metagatos</title>
      <link>https://delawen.com/2012/12/geonetwork-domesticando-una-jaur%C3%ADa-de-metagatos/</link>
      <pubDate>Fri, 14 Dec 2012 08:13:24 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2012/12/geonetwork-domesticando-una-jaur%C3%ADa-de-metagatos/</guid> 
      <description>&lt;p&gt;Ayer estuve en mi primer &lt;a href=&#34;https://betabeers.com/event/vi-betabeers-sevilla-13-diciembre-2012-547/&#34;&gt;betabeers&lt;/a&gt;, donde presenté: &lt;a href=&#34;https://delawen.com/2012/10/que-es-geonetwork/&#34;&gt;GeoNetwork&lt;/a&gt; &lt;a href=&#34;https://delawen.github.com/geonetwork-domesticando-una-jauria-de-metagatos&#34;&gt;: domesticando una jauría de metagatos&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://delawen.com/wp-content/uploads/2019/08/metagato.jpg&#34;
         alt=&#34;metagatos&#34;/&gt; &lt;figcaption&gt;
            &lt;p&gt;metagatos&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;</description>
    </item>
    <item>
      <title>What is GeoNetwork?</title>
      <link>https://delawen.com/2012/10/what-is-geonetwork/</link>
      <pubDate>Sun, 28 Oct 2012 12:01:38 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2012/10/what-is-geonetwork/</guid> 
      <description>&lt;p&gt;GeoNetwork is a server side application that allows you to maintain a geographic referenced metadata catalogue. This means: a &lt;a href=&#34;https://geonetwork-opensource.org/&#34;&gt;search portal&lt;/a&gt; that allows to view metadata combined with maps.&lt;/p&gt;
&lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://delawen.com/wp-content/uploads/2019/08/geonetwork.jpg&#34;
         alt=&#34;GeoNetwork logo&#34;/&gt; &lt;figcaption&gt;
            &lt;p&gt;GeoNetwork logo&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Based on &lt;a href=&#34;https://delawen.com/2015/10/geonetwork-from-scratch-i-the-phantom-catalog/&#34;&gt;Free and Open Source Software&lt;/a&gt;, it strictly follows different standards for metadata, from Inspire to OGC. It implements the CSW interface to be able to interact with generic clients looking for data. It also has built-in harvesters to connect to other servers and populate data.&lt;/p&gt;</description>
    </item>
    <item>
      <title>From Emergya to GeoCat</title>
      <link>https://delawen.com/2012/10/from-emergya-to-geocat/</link>
      <pubDate>Sun, 07 Oct 2012 09:54:48 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2012/10/from-emergya-to-geocat/</guid> 
      <description>&lt;p&gt;These past few weeks have been chaotic and as an exercise to seat and to drop anchor, I would like to make a brief summary of my job change.&lt;/p&gt;
&lt;h2 id=&#34;why&#34;&gt;Why?&lt;/h2&gt;
&lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://delawen.com/wp-content/uploads/2019/08/metagato.jpg&#34;
         alt=&#34;metagato&#34;/&gt; &lt;figcaption&gt;
            &lt;p&gt;metagato&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;My main motivation to stop working on &lt;a href=&#34;https://universo.emergya.es/espacios/marias&#34; title=&#34;Universo Emergya&#34;&gt;Emergya&lt;/a&gt;, despite the huge human and technical quality has been:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The current situation in Spain doesn&amp;rsquo;t allow us to perform interesting projects, forcing companies to focus only on survival, with all the friction and discomfort that this generates.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;challenge&lt;/strong&gt; . And this, I think, is the main motivation. The enormous challenge of context switching to a new company, with a way of working so similar and yet so different. I need to see the world, learn, drink from other sources. Five years in Emergya have been wonderful, but I began to feel that it was becoming too small for me. &lt;a href=&#34;https://www.imdb.com/title/tt0319061/quotes&#34; title=&#34;Big Fish&#34;&gt;Big fish on small pond or small fish on the ocean?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GeoCat&lt;/strong&gt;(s) . Can somebody refuse the possibility of becoming a geo-cat? Could there be a step beyond this? Can anyone not want to work with metacats &lt;em&gt;(metadata, impossible to translate)&lt;/em&gt;?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Of course, it has not been an easy decision. To me, Emergya is, and always will be, the company that received me openly and helped me take my first steps working, strengthening my belief that open source is the right path. Like it or not, Emergya is part of me and the title of &amp;ldquo;ex-emergyana&amp;rdquo; cannot be taken away from me.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GNU Health - The most solidary free and open source software</title>
      <link>https://delawen.com/2012/06/gnu-health-the-most-solidary-free-and-open-source-software/</link>
      <pubDate>Sun, 10 Jun 2012 18:13:07 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2012/06/gnu-health-the-most-solidary-free-and-open-source-software/</guid> 
      <description>&lt;p&gt;Sometimes I find technologies and free software that pleasantly surprise me. Not only because of its use, but because the impact it can cause. This is the case of &lt;a href=&#34;https://blog.gnusolidario.org/2012/06/gnu-health-version-16-liberada.html&#34;&gt;GNU Solidario, or GNU Health&lt;/a&gt;, &lt;a href=&#34;https://www.europapress.es/islas-canarias/noticia-free-software-foundation-otorga-canario-luis-falcon-premio-mejor-proyecto-social-2011-20120327143023.html&#34;&gt;recently awarded by the FSF&lt;/a&gt; for their solidary contribution.&lt;/p&gt;
&lt;figure&gt;
    &lt;img loading=&#34;lazy&#34; src=&#34;https://delawen.com/wp-content/uploads/2019/08/GNUHealthISO.png&#34;
         alt=&#34;GNU Health Logo&#34;/&gt; &lt;figcaption&gt;
            &lt;p&gt;GNU Health Logo&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;This software is basically a free and open source platform for managing medical data such as patient records, test results, diagnoses,… Everything any hospital need and use to offer their services.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Annotations and Decorators in Java</title>
      <link>https://delawen.com/2012/04/annotations-and-decorators-in-java/</link>
      <pubDate>Sun, 15 Apr 2012 10:49:02 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2012/04/annotations-and-decorators-in-java/</guid> 
      <description>&lt;p&gt;Annotations on the code or decorators have become very common. They allow the programmer to add additional useful information about how to improve the code or change how to compile / run a particular class. They are a Java extension to allow &lt;a href=&#34;https://en.wikipedia.org/wiki/Aspect-oriented_programming&#34; title=&#34;POA&#34;&gt;aspect-oriented programming&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We have three types of annotations based on the moment of usage:&lt;/p&gt;
&lt;h2 id=&#34;information-for-the-compiler&#34;&gt;Information for the Compiler&lt;/h2&gt;
&lt;p&gt;These annotations allow the compiler to indicate whether or not to ignore errors and warnings or what to do with them. If you&amp;rsquo;ve worked with a &lt;a href=&#34;https://delawen.com/2010/07/alta-concurrencia-en-java/&#34;&gt;Java&lt;/a&gt; IDE (like &lt;a href=&#34;https://eclipse.org/&#34;&gt;eclipse&lt;/a&gt;) probably you would have used this type of annotations. For example, you can use &lt;strong&gt;@Override&lt;/strong&gt; on a function to indicate that you are overwriting a method defined on a parent class.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Notes on the GeoServer Workshop</title>
      <link>https://delawen.com/2012/03/notes-on-the-geoserver-workshop/</link>
      <pubDate>Fri, 02 Mar 2012 13:11:04 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2012/03/notes-on-the-geoserver-workshop/</guid> 
      <description>&lt;p&gt;These are the notes I took on the GeoServer workshop at the last &lt;a href=&#34;https://delawen.com/2012/02/apuntes-del-taller-gvsig-2-0/&#34;&gt;gvSIG Conference&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;data-directory&#34;&gt;Data Directory&lt;/h2&gt;
&lt;p&gt;It is important to change the settings of the &lt;em&gt;geoserver_data_dir&lt;/em&gt; in the &lt;em&gt;web.xml&lt;/em&gt; file to keep the data each time you restart the application container (like Tomcat). It is also good to check out the other settings as it contains interesting facts such as the type of projections to be used or the size of the cache. There are configurable data on the fly and data not configurable on the fly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Notes of the gvSIG 2.0 workshop</title>
      <link>https://delawen.com/2012/02/notes-of-the-gvsig-2.0-workshop/</link>
      <pubDate>Wed, 08 Feb 2012 12:47:55 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2012/02/notes-of-the-gvsig-2.0-workshop/</guid> 
      <description>&lt;p&gt;This are the notes that I took over &lt;a href=&#34;https://joinup.ec.europa.eu/software/gvsig-desktop/description&#34;&gt;gvSIG 2.0&lt;/a&gt; on the latests &lt;a href=&#34;https://jornadas.gvsig.org&#34;&gt;Jornadas GvSIG&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;pre-requisites&#34;&gt;Pre-requisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Java&lt;/li&gt;
&lt;li&gt;Eclipse&lt;/li&gt;
&lt;li&gt;Ant (should)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://maven.apache.org&#34;&gt;Maven&lt;/a&gt; (should)&lt;/li&gt;
&lt;li&gt;gvSIG (this is recursive :))&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The main advantage of gvSIG 2.0 is that you can create a new plugin without knowing how does gvSIG work or having to compile it. &lt;a href=&#34;https://delawen.com/2012/01/guia-para-compilar-gvsig-2-0/&#34; title=&#34;Guía para compilar gvSIG 2.0&#34;&gt;We already have a gvSIG installation that deploys the binaries to the workspace&lt;/a&gt;. But we don&amp;rsquo;t have to change the source code. Unless, of course, something doesn&amp;rsquo;t work (bugs) or we have to add some new functionality to the core. Better if you don&amp;rsquo;t touch it, ask the developers and they will take care.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to compile gvSIG 2.0</title>
      <link>https://delawen.com/2012/01/how-to-compile-gvsig-2.0/</link>
      <pubDate>Sun, 08 Jan 2012 12:12:57 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2012/01/how-to-compile-gvsig-2.0/</guid> 
      <description>&lt;p&gt;I am proud to share with you the steps to compile gvSIG 2.0, which I discovered thanks to some &lt;a href=&#34;https://forge.osor.eu/users/jzarzoso/&#34;&gt;fellows developers&lt;/a&gt;, whom I met thanks to the &lt;a href=&#34;https://jornadas.gvsig.org/&#34;&gt;latests Jornadas GvSIG&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Although you can find a full guide on the &lt;a href=&#34;https://www.gvsig.org/web/projects/gvsig-desktop/docs/devel/gvsig-devel-guide/2.0.0&#34;&gt;official documentation&lt;/a&gt;, this simple steps will let you customize and compile &lt;a href=&#34;https://delawen.com/2012/02/apuntes-del-taller-gvsig-2-0/&#34;&gt;your own gvSIG2.0 version&lt;/a&gt; without much trouble.&lt;/p&gt;
&lt;p&gt;First, you have to install some basic dependencies:&lt;/p&gt;
&lt;p&gt;&lt;code&gt; #apt-get install maven2 subversion&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Next, we create a folder in which we can work:&lt;/p&gt;</description>
    </item>
    <item>
      <title>DNIe: Dealing with the electronic ID card</title>
      <link>https://delawen.com/2011/09/dnie-dealing-with-the-electronic-id-card/</link>
      <pubDate>Mon, 05 Sep 2011 09:55:25 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2011/09/dnie-dealing-with-the-electronic-id-card/</guid> 
      <description>&lt;p&gt;Although &lt;a href=&#34;https://universo.emergya.es/espacios/fontanon/dnie-y-lector-acr38-bajo-linux&#34;&gt;this has already been discussed previously&lt;/a&gt; , I wanted to give another lap to the issue DNIe under Linux. And what the hell! After spending one day and a half on the subject, I wanted to leave the tutorial available somewhere, if I have to do it again.&lt;/p&gt;
&lt;p&gt;When I started I was recommended that I tried on Windows first and then if it works, I should try again on Linux. And although I followed the advice, it turns out I am definitely worse &lt;a href=&#34;https://img850.imageshack.us/img850/1720/img20110901182926.jpg&#34;&gt;in Windows than in Linux (I ended up having to reinstall Windows again), so I tried again where I felt comfortable and understood what I do.&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>The importance of open data</title>
      <link>https://delawen.com/2011/04/the-importance-of-open-data/</link>
      <pubDate>Thu, 21 Apr 2011 10:08:15 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2011/04/the-importance-of-open-data/</guid> 
      <description>&lt;p&gt;I&amp;rsquo;ve been thinking for a while about writing about the importance of open data, but is with the advertising given to Google Map Maker when I really understood the urgency of the matter.&lt;/p&gt;
&lt;p&gt;Can you imagine a &lt;a href=&#34;https://www.upc.edu/ccd/accions-al-sud/presentacions_projectes/2010/mapping-bolivia&#34;&gt;country&lt;/a&gt; with so poor geographic data that even the government doesn&amp;rsquo;t known which cities and towns do they have? How could they invest on roads, literacy, drinking water or even know that there are people who live there? How could they collect taxes or&amp;hellip; count votes in elections!? Can you imagine that a battalion of soldiers use maps that are wrong and establish a base in the nearest country? An absurdity that happened recently on the border between [Nicaragua and Costa Rica](https://www. elmundo.es/america/2011/04/19/noticias/1303174548.html), which almost causes an international conflict.&lt;/p&gt;</description>
    </item>
    <item>
      <title>High Concurrency</title>
      <link>https://delawen.com/2010/07/high-concurrency/</link>
      <pubDate>Fri, 30 Jul 2010 12:27:45 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2010/07/high-concurrency/</guid> 
      <description>&lt;p&gt;When facing high concurrency applications, we often find a number of generic problems. In this article I will focus on the problems of resources (CPU and &lt;a href=&#34;https://delawen.com/2010/07/la-memoria-en-java/&#34;&gt;memory&lt;/a&gt;). For now on, I will focus on the most typical and most direct solutions.&lt;/p&gt;
&lt;p&gt;When we discover threads and the advantages of parallel processing it can happen that we end up abusing their use. We have a lot of threads (100 ¿? 1000?) simultaneously, and the processor will be jumping from one to another without stopping, not letting them finish, no matter how fast is their real excution. And over time there will be more and more threads only slowing down the process. To the cost of execution of each thread, we must consider also the added cost of creating and destroying threads. It can can become significant when we talk about so many threads at once.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Easy map on Java</title>
      <link>https://delawen.com/2010/07/easy-map-on-java/</link>
      <pubDate>Fri, 16 Jul 2010 12:52:07 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2010/07/easy-map-on-java/</guid> 
      <description>&lt;p&gt;Sometimes you don&amp;rsquo;t know where to start when you enter the world of GIS programming. Too many libraries, IDEs, but the truth is, everyone assumes you already have a base and everything become chaos. Something is easy as how to develop a map on Java has scarce documentation.&lt;/p&gt;
&lt;p&gt;If you have absolutely no idea of GIS, I would recommend you start by the &lt;a href=&#34;http://volaya.github.io/libro-sig/&#34;&gt;Free book of Free GIS by Victor Olaya&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Personalized Event Listeners in Java</title>
      <link>https://delawen.com/2010/07/personalized-event-listeners-in-java/</link>
      <pubDate>Tue, 13 Jul 2010 12:57:49 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2010/07/personalized-event-listeners-in-java/</guid> 
      <description>&lt;p&gt;Although the &lt;a href=&#34;https://en.wikipedia.org/wiki/Observer_pattern&#34;&gt;Observer&lt;/a&gt; pattern is implemented natively in &lt;a href=&#34;https://delawen.com/2010/07/la-memoria-en-java/&#34;&gt;Java&lt;/a&gt;, sometimes we need to make an event management that suits better our needs when using event listeners.&lt;/p&gt;
&lt;h2 id=&#34;some-context&#34;&gt;Some context&lt;/h2&gt;
&lt;p&gt;The problem of event handling is very simple: We have an object that will be changing its state. Without touching its code, we should be able to “hook” to other objects that are pending status changes and act accordingly. This “hook” must be turned on and off dynamically at runtime.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How does Memory work on Java</title>
      <link>https://delawen.com/2010/07/how-does-memory-work-on-java/</link>
      <pubDate>Mon, 05 Jul 2010 13:15:57 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2010/07/how-does-memory-work-on-java/</guid> 
      <description>&lt;p&gt;One of the major advantages of Java since its first version was that developers didn&amp;rsquo;t have to worry about memory, as Java itself was able to keep it clean and free memory automatically. But any good Java developer should know the basics on how Java handles memory to be prevent memory leaks and bottlenecks.&lt;/p&gt;
&lt;p&gt;To begin with, Java divides memory into two distinct segments:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Heap: instances, variables, …&lt;/li&gt;
&lt;li&gt;Non-Heap/Perm: code, metadata,…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As the first step to optimize memory in Java, we should focus on the Heap, as it is what we can “control”. The Heap is divided in two generations depending on their lifetime:&lt;/p&gt;</description>
    </item>
    <item>
      <title>FastJTable</title>
      <link>https://delawen.com/2010/06/fastjtable/</link>
      <pubDate>Wed, 16 Jun 2010 13:46:52 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2010/06/fastjtable/</guid> 
      <description>&lt;p&gt;Swing JTables of Java by default does not handle frequent updates and a huge number of columns and rows. I created a lighted version of JTable called FastJTable based on the code of the &lt;a href=&#34;https://java.sun.com/products/jfc/tsc/articles/ChristmasTree/&#34;&gt;Java Christmas Tree.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This implementation is pretty faster when handling huge amounts of data. Consider taking a look at &lt;a href=&#34;https://delawen.com/2010/07/la-memoria-en-java/&#34;&gt;how the memory works&lt;/a&gt; if this is your use case.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/**&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; Based on Sun&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s CTTable (Christmas Tree):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;java&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sun&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;products&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;jfc&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;tsc&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;articles&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;ChristmasTree&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;@&lt;/span&gt;author marias
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import java&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;awt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Component;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import java&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;awt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Container;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import java&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;awt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Graphics;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import java&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;awt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Point;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import java&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;awt&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Rectangle;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import javax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;swing&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;CellRendererPane;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import javax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;swing&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;JComponent;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import javax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;swing&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;JLabel;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import javax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;swing&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;JTable;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import javax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;swing&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;JViewport;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import javax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;swing&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;plaf&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;basic&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;BasicTableUI;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import javax&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;swing&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;table&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;TableModel;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import org&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;apache&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;commons&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;logging&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Log;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;import org&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;apache&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;commons&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;logging&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;LogFactory;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/**&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; Based on CTTable from Christmas &lt;span style=&#34;color:#a6e22e&#34;&gt;Tree&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;java&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sun&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;products&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;jfc&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;tsc&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;articles&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;ChristmasTree&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;@&lt;/span&gt;author marias marias&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;@&lt;/span&gt;emergya&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;es
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;public &lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; FastJTable &lt;span style=&#34;color:#66d9ef&#34;&gt;extends&lt;/span&gt; JTable {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;private &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; final Log log &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; LogFactory&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getLog(FastJTable&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;private &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; final long serialVersionUID &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3218140266706898440&lt;/span&gt;L;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;private JScrollPane scrollPane;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;public FastJTable(TableModel model) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;super(model);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;public void updateUI() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;super&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;updateUI();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;setUI(new FastTableUI(this));
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;private &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; FastTableUI &lt;span style=&#34;color:#66d9ef&#34;&gt;extends&lt;/span&gt; BasicTableUI {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;public FastTableUI(FastJTable table) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;super();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;installUI(table);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;@&lt;/span&gt;Override
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;public void installUI(JComponent c) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; Overriden to install our own CellRendererPane
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;super&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;installUI(c);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;c&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;remove(rendererPane);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rendererPane &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; new FastCellRendererPane();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;c&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;add(rendererPane);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/**&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; FastCellRendererPane overrides paintComponent to NOT clone the Graphics
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; passed &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; NOT validate the Component passed &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; This will NOT work &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; the painting code of the Component clobbers the graphics (scales it,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; installs a Paint on it&lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; will NOT work &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; the Component needs to be
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; validated before being painted&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;private &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; FastCellRendererPane &lt;span style=&#34;color:#66d9ef&#34;&gt;extends&lt;/span&gt; CellRendererPane {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;private &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; final long serialVersionUID &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;4811773663334451913&lt;/span&gt;L;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;private JViewport viewport;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;public FastCellRendererPane() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;super();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; Can be ignored, we don&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;t exist in the containment hierarchy.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;public void repaint() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;@&lt;/span&gt;Override
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;public void paintComponent(Graphics g, Component c, &lt;span style=&#34;color:#a6e22e&#34;&gt;Container&lt;/span&gt; p, &lt;span style=&#34;color:#a6e22e&#34;&gt;int&lt;/span&gt; x,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;int&lt;/span&gt; y, &lt;span style=&#34;color:#a6e22e&#34;&gt;int&lt;/span&gt; w, &lt;span style=&#34;color:#a6e22e&#34;&gt;int&lt;/span&gt; h, boolean shouldValidate) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;try {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (c &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; null &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;isVisible(new Rectangle(x, y, w, h))) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;log&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;trace(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;No lo pintamos (&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; c &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;)&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (p &lt;span style=&#34;color:#f92672&#34;&gt;!=&lt;/span&gt; null) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Color&lt;/span&gt; oldColor &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; g&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getColor();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; g&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;setColor(p&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getBackground());
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; g&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fillRect(x, y, w, h);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; g&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;setColor(oldColor);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (c&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getParent() &lt;span style=&#34;color:#f92672&#34;&gt;!=&lt;/span&gt; this) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;this&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;add(c);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;c&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;setBounds(x, y, w, h);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; As we are only interested &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; using a JLabel as the renderer,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; which does nothing &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; validate we can override this to &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; nothing, &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; you need to support components that can &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; layout,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; this will need to be commented out, &lt;span style=&#34;color:#f92672&#34;&gt;or&lt;/span&gt; conditionally
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; validate&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;(c instanceof JLabel))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;c&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;validate();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; JComponent jc &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (c instanceof JComponent) &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;?&lt;/span&gt; (JComponent) c
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; : null;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; jc&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;setDoubleBuffered(true);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; Don&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;t create a new Graphics, reset the clip and translate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt; the origin&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Rectangle clip &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; g&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getClipBounds(c&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getBounds());
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;g&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;clipRect(x, y, w, h);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;g&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;translate(x, y);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;c&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;paint(g);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;g&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;translate(&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;x, &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;y);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;g&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;setClip(clip&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;x, clip&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;y, clip&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;width, clip&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;height);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;c&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;setBounds(&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;w, &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;h, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;} catch (Throwable t) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;log&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;error(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Error al pintar el componente de la tabla &amp;#34;&lt;/span&gt;, t);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/**&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; We only paint the visible parts of the JTable&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;@&lt;/span&gt;param rectangle visible
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;@&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; it has to be painted on screen
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;public boolean isVisible(Rectangle rectangle) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (viewport &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; null)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; true;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			Rectangle visRect &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; viewport&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getViewRect();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#a6e22e&#34;&gt;int&lt;/span&gt; xmin &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ((Double) rectangle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getMinX())&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;intValue();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#a6e22e&#34;&gt;int&lt;/span&gt; ymin &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ((Double) rectangle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getMinY())&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;intValue();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#a6e22e&#34;&gt;int&lt;/span&gt; xmax &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ((Double) rectangle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getMaxX())&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;intValue();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#a6e22e&#34;&gt;int&lt;/span&gt; ymax &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ((Double) rectangle&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getMaxY())&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;intValue();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; (visRect&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;contains(new Point(xmin, ymin))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;					&lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; visRect&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;contains(new Point(xmax, ymin))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;					&lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; visRect&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;contains(new Point(xmin, ymax)) &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; visRect
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;					&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;contains(new Point(xmax, ymax)));
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Decálogo de la Web Social</title>
      <link>https://delawen.com/2009/01/dec%C3%A1logo-de-la-web-social/</link>
      <pubDate>Sun, 18 Jan 2009 12:44:12 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/2009/01/dec%C3%A1logo-de-la-web-social/</guid> 
      <description>&lt;p&gt;Si quieres que tu red social funcione, tienes que conocer al público objetivo. Aquí hay algunas guías cínicas para conseguir que tu Web Social funcione.&lt;/p&gt;
&lt;h2 id=&#34;1--la-gente-es-egoísta&#34;&gt;1.- La gente es egoísta&lt;/h2&gt;
&lt;p&gt;La gente tiende a querer hablar de sí mismos en todo momento y lugar. Nada les interesa más que su propia persona. Ofrecerles un perfil con muchos campos y un botón para subir &lt;a href=&#34;https://es.facebook.com/&#34;&gt;esas fotos&lt;/a&gt;, y también &lt;a href=&#34;https://www.sexyono.com/&#34;&gt;esas otras fotos&lt;/a&gt; es algo indispensable. Si la red social no gira en torno a ellos, no les interesará.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FOSS4G 2015 - Seoul</title>
      <link>https://delawen.com/2015/10/foss4g-2015-seoul/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/?p=218</guid> 
      <description>&lt;blockquote&gt;
&lt;p&gt;This post was originally posted on the blog of a former company. But since they have decided to violate my authorship rights, here is a copy of it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Last week I had the privilege to attend the main &lt;a href=&#34;http://www.osgeo.org/&#34;&gt;osgeo&lt;/a&gt; conference: the &lt;a href=&#34;http://2015.foss4g.org/&#34;&gt;FOSS4G&lt;/a&gt;. This time it took place on &lt;a href=&#34;http://www.openstreetmap.org/way/315718277#map=12/37.5070/127.0507&#34;&gt;Seoul&lt;/a&gt;, Korea. Exotic place I strongly recommend to visit, but better to focus on &lt;a href=&#34;https://twitter.com/fvanderbiest/status/643325536001888256&#34;&gt;non-cultural surprises&lt;/a&gt; on this post.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s impossible to write everything on a single blog post, as it was impossible to assist to all the interesting parallel threads that run on those short five days. But let me guide you through my steps so I can share part of my experience until we get access to the full videos of that awesome week.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Redirecting to feed</title>
      <link>https://delawen.com/feed/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>delawen@gmail.com (María Arias de Reyna Domínguez)</author>
       <guid isPermaLink="false">https://delawen.com/feed/</guid> 
      <description></description>
    </item>
  </channel>
</rss>
