<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>mispyrou</title>
    <link>https://mispyrou.com/</link>
    <description>Recent content on mispyrou</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Tue, 10 Jan 2023 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://mispyrou.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>SANS holiday hack challenge 2022 - Jolly CI/CD</title>
      <link>https://mispyrou.com/posts/sans-holiday-hack-challenge-2022/</link>
      <pubDate>Tue, 10 Jan 2023 00:00:00 +0000</pubDate>
      <guid>https://mispyrou.com/posts/sans-holiday-hack-challenge-2022/</guid>
      <description>&lt;h1 id=&#34;sans-holiday-hack-challenge-2022---jolly-cicd&#34;&gt;&#xA;  SANS holiday hack challenge 2022 - Jolly CI/CD&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#sans-holiday-hack-challenge-2022---jolly-cicd&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&lt;p&gt;Some colleagues shared a &lt;a href=&#34;https://www.sans.org/mlp/holiday-hack-challenge/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;hacking challenge&lt;/a&gt; organized by SANS and I decided to give it a go. There were quite a lot of interesting challenges with varying difficulty but there was one that stand out named &amp;lsquo;Jolly CI/CD&amp;rsquo;. This is my write up for this challenge.&lt;/p&gt;&#xA;&lt;h2 id=&#34;information-gathering&#34;&gt;&#xA;  Information gathering&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#information-gathering&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Starting up this challenge we are greeted with a terminal that remind us the previous one from the same room, called &amp;lsquo;Prison Escape&amp;rsquo;. We can still become root with &lt;code&gt;sudo -i&lt;/code&gt; but this time &lt;code&gt;fdisk -l&lt;/code&gt; shows no information and after messing around with the container it looks like it&amp;rsquo;s not possible to escape.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting multiple home VPN servers with WireGuard</title>
      <link>https://mispyrou.com/posts/setting-multiple-home-vpn-servers-with-wireguard/</link>
      <pubDate>Thu, 10 Nov 2022 00:00:00 +0000</pubDate>
      <guid>https://mispyrou.com/posts/setting-multiple-home-vpn-servers-with-wireguard/</guid>
      <description>&lt;p&gt;Recently I created a few VPN access points using my home connection(s) (2 remote geo points) with the aim to use them for unblocking content and hiding my real location. One of the requirements was to use the VPNs without having to install a VPN client on any wireless enabled device while I’m at home. After some quick research, I came across WireGuard project and I decided to give it a go using some raspberry pi’s I had lying around and document my process.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Analyzing 12 years of music tracking history</title>
      <link>https://mispyrou.com/posts/analyzing-12--years-of-music-tracking-history/</link>
      <pubDate>Wed, 01 Dec 2021 00:00:00 +0000</pubDate>
      <guid>https://mispyrou.com/posts/analyzing-12--years-of-music-tracking-history/</guid>
      <description>&lt;p&gt;Since 2009, I’ve been tracking what songs I listen on last.fm using the then popular Winamp and nowadays Spotify. I was always wondering what questions I could answer from this data, such as:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;How does my activity look like throughout the years?&lt;/li&gt;&#xA;&lt;li&gt;Which days are the most active?&lt;/li&gt;&#xA;&lt;li&gt;How has my music taste evolved over this period?&lt;/li&gt;&#xA;&lt;li&gt;I know that I had a lot of obsessions with various songs. Can I identify them? And how long did they last?&lt;/li&gt;&#xA;&lt;li&gt;Are there patterns of music genres that I listen to through the year?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;collecting-data&#34;&gt;&#xA;  Collecting data&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#collecting-data&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Fortunately, there are many free tools for getting last.fm data so there was no need to spend time on writing code and learning how their API works. The tool I used was &lt;a href=&#34;https://lastfm.ghan.nl/export/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://lastfm.ghan.nl/export/&lt;/a&gt; and I got back a 145Mb file containing around 200k scrobbles. If an average song is 3 minutes long, this is more than 416 days of listening time!&lt;/p&gt;</description>
    </item>
    <item>
      <title>AR app for displaying QR image codes in react-native</title>
      <link>https://mispyrou.com/posts/ar-app-for-displaying-qr-image-codes-in-react-native/</link>
      <pubDate>Thu, 14 Oct 2021 00:00:00 +0000</pubDate>
      <guid>https://mispyrou.com/posts/ar-app-for-displaying-qr-image-codes-in-react-native/</guid>
      <description>&lt;p&gt;As part of a side project I’m working on, I had to create an augmented reality application for reading QR codes that contained images and displaying them on screen. I have some experience in Android development with Android Studio and Java but I wanted to use a cross platform framework that targets both iOS and Android as the app itself was only going to be used as a demo. There are a lot of platfoms avaiable but since I had no experience with any of them I tried my luck with react native; a cross platform framework created by Facebook based on javascript.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating a Spotify playlist from a radio show</title>
      <link>https://mispyrou.com/posts/creating-a-spotify-playlist-from-a-radio-show/</link>
      <pubDate>Fri, 25 Sep 2020 00:00:00 +0000</pubDate>
      <guid>https://mispyrou.com/posts/creating-a-spotify-playlist-from-a-radio-show/</guid>
      <description>&lt;p&gt;Recently, I discovered a very interesting &lt;a href=&#34;https://webradio.ert.gr/category/proto-programma/apo-tis-4-stis-5/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;radio show&lt;/a&gt; hosted by Giannis Petridis on ert. Giannis is hosting one of the longest surviving radio shows in Greece and has one of the biggest record collections in the world. In his show he mostly suggests new artists and albums that are not promoted by mainstream media so it’s a great way for discovering new music. After listening a few of his shows I discovered some hidden gems so I started to think of a way to extract all these data without having to listen to all of his shows.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Transmitting EMG data over BLE using BBC micro:bit</title>
      <link>https://mispyrou.com/posts/transmitting-emg-data-over-ble-using-bbc-micro-bit/</link>
      <pubDate>Fri, 27 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://mispyrou.com/posts/transmitting-emg-data-over-ble-using-bbc-micro-bit/</guid>
      <description>&lt;p&gt;Recently I took part in a challenge organized by &lt;a href=&#34;https://www.arm.com/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ARM Ltd&lt;/a&gt; which involved using a &lt;a href=&#34;http://microbit.org/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;BBC micro:bit&lt;/a&gt; as the main processing board in an &lt;a href=&#34;https://en.wikipedia.org/wiki/Electromyography&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;EMG sensor&lt;/a&gt; device. The device sends electrode sensor readings through BLE to an Android phone, and then data are displayed on a real time graph. This project was done in collaboration with &lt;a href=&#34;http://blog.thomaspoulet.fr/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Thomas Poulet&lt;/a&gt; and George Kopanas. The overall project setup is shown is the picture below:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Architecture&#34; src=&#34;https://mispyrou.com/files/democedes.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;You can find more info about the EMG sensors and how they are connected to the micro:bit here.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Runtime support for approximate computing in heterogeneous systems</title>
      <link>https://mispyrou.com/posts/runtime-support-for-approximate-computing-in-heterogeneous-systems/</link>
      <pubDate>Tue, 17 Nov 2015 00:00:00 +0000</pubDate>
      <guid>https://mispyrou.com/posts/runtime-support-for-approximate-computing-in-heterogeneous-systems/</guid>
      <description>&lt;p&gt;In my MSc Thesis, titled “Runtime support for approximate computing in heterogeneous systems”, I developed a run-time system in C programming language that supports approximate  computations using OpenCL.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://mispyrou.com/files/msc_thesis.pdf&#34; &gt;Download Thesis&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;abstract&#34;&gt;&#xA;  Abstract&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#abstract&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Energy efficiency is the most important aspect in nowadays systems, ranging from embedded devices to high performance computers. However, the end of Dennard scaling limits expectations for energy efficiency improvements in future devices, despite manufacturing processors in lower geometries and lowering supply voltage. Many recent systems use a wide range of power managing techniques, such as DFS and DVFS, in order to balance the demanding needs for higher performance/throughput with the impact of aggressive power consumption and negative thermal effects. However these techniques have their limitations when it comes to CPU intensive workloads.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Performance and power prediction on heterogeneous systems using statistical methods</title>
      <link>https://mispyrou.com/posts/performance-and-power-prediction-on-heterogeneous-systems-using-statistical-methods/</link>
      <pubDate>Mon, 14 Jul 2014 00:00:00 +0000</pubDate>
      <guid>https://mispyrou.com/posts/performance-and-power-prediction-on-heterogeneous-systems-using-statistical-methods/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://mispyrou.com/files/bsc_thesis.pdf&#34; &gt;Download Thesis&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;abstract&#34;&gt;&#xA;  Abstract&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#abstract&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Heterogeneous systems provide high computing performance, combining low cost and low power consumption. These systems include various computational resources with different architectures, such as CPUs, GPUs, DSPs or FPGAs. It is crucial to have full knowledge of these architectures, but also of the programming models used in order to increase the performance on a heterogeneous system.&lt;/p&gt;&#xA;&lt;p&gt;One way to achieve this goal, is the prediction of the execution time on the different computational resources, using statistical values which we collect with the use of hardware counters. The purpose of this thesis is to increase the performance of a heterogeneous system using the data we collected by training a statistical model which will predict the execution time. Further goal is to use this prediction model inside a run-time scheduler which will migrate the running application in order to decrease the execution time and increase the overall performance.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Two player pong game using accelerometers</title>
      <link>https://mispyrou.com/posts/two-player-pong-game-using-accelerometers/</link>
      <pubDate>Fri, 21 Jun 2013 00:00:00 +0000</pubDate>
      <guid>https://mispyrou.com/posts/two-player-pong-game-using-accelerometers/</guid>
      <description>&lt;p&gt;This two person project was completed through the course of Embedded Systems at the University of Thessaly, Department of Computer Engineering. In the context of this project we implemented the classic pong game using a Spartan 6 FPGA, and two 3-axis accelerometers. The code is in Verilog and you can find it on github ( link at the bottom of the page ). The project consists two parts. First, the connection with the monitor through the VGA and game logic and the connection of the accelerometers through the SPI interface.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GPU assisted ELF binary decryption</title>
      <link>https://mispyrou.com/posts/gpu-assisted-elf-binary-decryption/</link>
      <pubDate>Wed, 12 Dec 2012 00:00:00 +0000</pubDate>
      <guid>https://mispyrou.com/posts/gpu-assisted-elf-binary-decryption/</guid>
      <description>&lt;p&gt;Usually a malware writer, or a closed source product, use some techniques in order to make the binaries difficult to read. In one hand, the anti-virus are unable to read the signature of the malware and on the other, a reverse engineer’s life becomes difficult.&#xA;One technique (usually not implemented alone), is to encrypt some portions of the code and decrypt them at runtime, or better decrypt each time the code we want to run and then encrypt it back.&#xA;As GPU’s have extremely high computational power, we can have really complex functions for encrypting and decrypting our code. I’ve made a really simple example of a self-decrypting application and i’ll try to explain this step by step.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://mispyrou.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://mispyrou.com/about/</guid>
      <description>&lt;p&gt;I began my career as a software engineer specializing in performance optimization and parallel programming for heterogeneous systems (GPUs/CPUs). Later, I transitioned to optimizing machine learning algorithms for Arm CPUs and GPUs, contributing to Arm’s Compute Library with technologies such as C++, NEON, and OpenCL.&lt;/p&gt;&#xA;&lt;p&gt;Today, my professional focus has expanded into computer security and security engineering, combined with active involvement in AI-driven solutions and tools likeMetis &lt;a href=&#34;https://github.com/arm/metis&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/arm/metis&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Currently I&amp;rsquo;m working at Arm as a Principal Security Engineer and lead the Vulnerability Research and Tooling team.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://mispyrou.com/publications/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://mispyrou.com/publications/</guid>
      <description>&lt;p&gt;[1] &lt;a href=&#34;https://dl.acm.org/citation.cfm?id=3139428&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Scheduling Policies for Heterogeneous, Approximate Computing Systems&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;[2] &lt;a href=&#34;https://ieeexplore.ieee.org/document/8056774&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;A programming model and runtime system for approximation-aware heterogeneous computing&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;[3] &lt;a href=&#34;https://www.sciencedirect.com/science/article/pii/S0167819117300285&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;AcHEe: Evaluating approximate computing and heterogeneity for energy efficiency&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;[4] &lt;a href=&#34;http://ebooks.iospress.nl/volumearticle/42721&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Energy Minimization on Heterogeneous Systems through Approximate Computing&lt;/a&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
