<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Gianluca Pacchiella</title><link>https://ktln2.org/</link><description>Notes and experiments. Don't expect much quality :P</description><atom:link href="https://ktln2.org/rss.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2025 &lt;a href="mailto:gp@ktln2.org"&gt;Gianluca Pacchiella&lt;/a&gt; </copyright><lastBuildDate>Wed, 31 Dec 2025 10:36:34 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Selecting random points on a triangle</title><link>https://ktln2.org/2025/random-points-on-a-triangle/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;In &lt;a href="http://localhost:8000/2025/random-points-on-a-triangle/"&gt;this blog post&lt;/a&gt;
the author explains a couple of ways to choose uniformly a point from a triangle
and the first approach that he uses is via the barycentric coordinate:
given a triangle identified by the three points \(A\), \(B\) and \(C\)&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Generate three random numbers \(\alpha\), \(\beta\) and \(\gamma\) using a uniform distribution from the interval \([0, 1]\)&lt;/li&gt;
&lt;li&gt;Normalize the point in such a way that they have sum equal to 1&lt;/li&gt;
&lt;li&gt;use \(\alpha A + \beta B + \gamma C\) as the chosen point&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The resulting points are not actually uniformly distributed, fact
acknowledged by the author itself simply showing a plot of the distribution of the points,
my problem is that a plot is not a proof, so this post will try to fix that!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/2025/random-points-on-a-triangle/"&gt;Read more…&lt;/a&gt; (5 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>math</category><category>python</category><category>statistics</category><guid>https://ktln2.org/2025/random-points-on-a-triangle/</guid><pubDate>Sat, 20 Dec 2025 18:11:20 GMT</pubDate></item><item><title>Visual complex analysis: first chapter exercises</title><link>https://ktln2.org/2024/visual-complex-analysis-1st-chapter-exercise/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;"Visual complex analysis" it's a very good book, with really good exercises.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/2024/visual-complex-analysis-1st-chapter-exercise/"&gt;Read more…&lt;/a&gt; (26 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>geometry</category><category>math</category><category>WIP</category><guid>https://ktln2.org/2024/visual-complex-analysis-1st-chapter-exercise/</guid><pubDate>Sun, 24 Dec 2023 10:21:08 GMT</pubDate></item><item><title>Abstract and symbolic execution notes (with possible application on reverse engineering)</title><link>https://ktln2.org/2023/symbolic-execution-experiments/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;This post will be probably a too ambitious one, since I'm going to write about a
very theoretical aspect of computation, in particular the so called &lt;strong&gt;abstract
interpretation&lt;/strong&gt;: for now let me just say that this field tries to give the
&lt;em&gt;best possible answer&lt;/em&gt; to unsolvable characterization of computer programs.&lt;/p&gt;
&lt;p&gt;Another point of view that I want to address is the use of this kind of analysis
with reverse engineering, since a lot of aspects between these two kind of
analysis are shared.&lt;/p&gt;
&lt;p&gt;This post will have pretty mathematical formalism but should be readable enough
also without a PhD.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/2023/symbolic-execution-experiments/"&gt;Read more…&lt;/a&gt; (25 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>abstract execution</category><category>binary analysis</category><category>ghidra</category><category>symbolic execution</category><guid>https://ktln2.org/2023/symbolic-execution-experiments/</guid><pubDate>Fri, 26 Aug 2022 13:21:22 GMT</pubDate></item><item><title>Reversing C++, Qt based applications using Ghidra</title><link>https://ktln2.org/reversing-c%2B%2B-qt-applications-using-ghidra/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;This post is going to be too ambitious probably: I want to introduce you to
reversing &lt;code&gt;C++&lt;/code&gt; code, applying this knowledge in particular to &lt;code&gt;Qt&lt;/code&gt;
applications and since we are at it, explaining some &lt;code&gt;ghidra&lt;/code&gt; scripting to
automate the process.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/reversing-c%2B%2B-qt-applications-using-ghidra/"&gt;Read more…&lt;/a&gt; (52 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>binary analysis</category><category>C++</category><category>ghidra</category><category>Qt</category><category>reversing</category><guid>https://ktln2.org/reversing-c%2B%2B-qt-applications-using-ghidra/</guid><pubDate>Fri, 27 May 2022 12:27:43 GMT</pubDate></item><item><title>side channels: power analysis</title><link>https://ktln2.org/experiments-around-side-channels/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;This is a post in a serie regarding side channels, from the theoretical and
pratical point of view; the posts are&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;introduction on the model of computing devices (to be finished)&lt;/li&gt;
&lt;li&gt;using the Chipwhisperer (&lt;a href="https://ktln2.org/side-channels-using-the-chipwhisperer/"&gt;here&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;power analysis (this post)&lt;/li&gt;
&lt;li&gt;glitching (to be finished)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/experiments-around-side-channels/"&gt;Read more…&lt;/a&gt; (32 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>fault injection</category><category>hardware</category><guid>https://ktln2.org/experiments-around-side-channels/</guid><pubDate>Sat, 19 Mar 2022 00:00:00 GMT</pubDate></item><item><title>side channels: using the chipwhisperer</title><link>https://ktln2.org/side-channels-using-the-chipwhisperer/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;This is a post in a series regarding side channels, from the theoretical and
pratical point of view; the posts are&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;introduction on the model of computing devices (to be finished)&lt;/li&gt;
&lt;li&gt;using the Chipwhisperer (this post)&lt;/li&gt;
&lt;li&gt;power analysis (&lt;a href="https://ktln2.org/experiments-around-side-channels/"&gt;here&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;glitching (to be finished)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/side-channels-using-the-chipwhisperer/"&gt;Read more…&lt;/a&gt; (4 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>hardware</category><category>side channels</category><guid>https://ktln2.org/side-channels-using-the-chipwhisperer/</guid><pubDate>Wed, 02 Mar 2022 08:43:12 GMT</pubDate></item><item><title>Reusing old shit: laptop keyboard</title><link>https://ktln2.org/reusing-old-keyboard/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;Here we are with another experiment in reusing otherwise trash-destined
electronics material; in this episode we are going to refurbish a keyboard,
from the recovering of the internal "matrix" to the design of the PCB destined
as the controller board, to finally reworking of an existing firmware to create
a new USB keyboard.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/reusing-old-keyboard/"&gt;Read more…&lt;/a&gt; (9 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>arduino</category><category>AVR</category><category>keyboard</category><category>WIP</category><guid>https://ktln2.org/reusing-old-keyboard/</guid><pubDate>Fri, 02 Jul 2021 00:00:00 GMT</pubDate></item><item><title>blog migration to Nikola</title><link>https://ktln2.org/blog-migration-to-nikola/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;After running for a couple of years using &lt;code&gt;jekill&lt;/code&gt; as a static site generator
I decided to switch to &lt;a href="https://getnikola.com/"&gt;&lt;code&gt;nikola&lt;/code&gt;&lt;/a&gt; for a couple of reasons: first of all because
is implemented in &lt;code&gt;python&lt;/code&gt;, a language that I know more than &lt;code&gt;ruby&lt;/code&gt; and this
allows me to improve the platform and customize it more to suite my needs.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/blog-migration-to-nikola/"&gt;Read more…&lt;/a&gt; (1 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>meta</category><guid>https://ktln2.org/blog-migration-to-nikola/</guid><pubDate>Thu, 01 Jul 2021 07:27:25 GMT</pubDate></item><item><title>Reusing old shit: creating a BSP using Yocto for the Samsung Galaxy S (S5PV210)</title><link>https://ktln2.org/2021/01/31/yocto-samsung-galaxy-s/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;In this post I'll describe my esperiments in reusing my old Samsung Galaxy S;
don't expected anything sophisticated, it's more a brain dump.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/2021/01/31/yocto-samsung-galaxy-s/"&gt;Read more…&lt;/a&gt; (21 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>embedded</category><category>WIP</category><category>yocto</category><guid>https://ktln2.org/2021/01/31/yocto-samsung-galaxy-s/</guid><pubDate>Sun, 31 Jan 2021 00:00:00 GMT</pubDate></item><item><title>Reusing old shit: lcd screen</title><link>https://ktln2.org/2021/01/31/reuse-old-laptop-screen/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;It's happened in the past that someone gifted me of very old (and not working
anymore) laptops that otherwise would have been thrown in the garbage; my idea
for them was of reusing some parts that are more valuable: battery, disks,
    keyboards, etc...&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/2021/01/31/reuse-old-laptop-screen/"&gt;Read more…&lt;/a&gt; (3 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>LCD</category><category>LVDS</category><category>old shit</category><category>WIP</category><guid>https://ktln2.org/2021/01/31/reuse-old-laptop-screen/</guid><pubDate>Sun, 31 Jan 2021 00:00:00 GMT</pubDate></item></channel></rss>