<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ties van de Ven on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/author/ties-van-de-ven/</link><description>Articles written by Ties van de Ven on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 24 Apr 2023 11:30:36 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/author/ties-van-de-ven/index.xml" rel="self" type="application/rss+xml"/><item><title>Foojay Podcast #20: Functional Programming: "The Good, the Bad, and the Ugly"</title><link>https://foojayio.github.io/website/today/foojay-podcast-20/</link><pubDate>Mon, 24 Apr 2023 11:30:36 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-20/</guid><description>&lt;p&gt;Functional programming&amp;hellip; it seems you either love it or you hate it.&lt;/p&gt;
&lt;p&gt;But, like everything in software engineering, it is a trade-off.&lt;/p&gt;
&lt;p&gt;So for today, let&amp;rsquo;s focus on the good, the bad, and the ugly parts of functional programming!&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/AYZMzyKjtoM?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;h2 id="h2-1--odcast-pps"&gt;Podcast Apps&lt;/h2&gt;
&lt;p&gt;You can listen and subscribe to the Foojay Podcast on:&lt;/p&gt;</description></item><item><title>Foojay Podcast #14: Debugging Tools and Skills for Fun and Profit</title><link>https://foojayio.github.io/website/today/foojay-podcast-14/</link><pubDate>Mon, 20 Feb 2023 08:29:01 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-14/</guid><description>&lt;p&gt;Let&amp;rsquo;s talk about debugging and observability.&lt;/p&gt;
&lt;p&gt;We work with debugging all the time, but how well do we know this common practice?&lt;/p&gt;
&lt;p&gt;Observability, monitoring, and debugging at scale for your production&amp;hellip;&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/ozcC3scY0Ig?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;h2 id="h2-1--odcast-pps"&gt;Podcast Apps&lt;/h2&gt;
&lt;p&gt;You can listen and subscribe to the Foojay Podcast on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://open.spotify.com/show/6CpTfgn9LirzJGAtc4ICdQ" target="_blank" rel="noopener noreferrer"&gt;Spotify&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://podcasts.apple.com/be/podcast/foojay-io-the-friends-of-openjdk/id1652281304" target="_blank" rel="noopener noreferrer"&gt;Apple Podcasts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;And most others&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-guests"&gt;Guests&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A lot of rubber ducks&lt;/li&gt;
&lt;li&gt;Johannes Bechberger
&lt;ul&gt;
&lt;li&gt;JVM and profiler developer&lt;/li&gt;
&lt;li&gt;Worked on the JDWP protocol and profiling&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/parttimenerd" target="_blank" rel="noopener noreferrer"&gt;https://github.com/parttimenerd&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/parttimen3rd" target="_blank" rel="noopener noreferrer"&gt;https://twitter.com/parttimen3rd&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@parttimenerd" target="_blank" rel="noopener noreferrer"&gt;https://mastodon.social/@parttimenerd&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mostlynerdless.de/blog/2023/01/19/asyncgetstacktrace-a-better-stack-trace-api-for-the-jvm/" target="_blank" rel="noopener noreferrer"&gt;AsyncGetStackTrace: A better Stack Trace API for the JVM&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mostlynerdless.de/blog/2022/12/27/a-short-primer-on-java-debugging-internals/" target="_blank" rel="noopener noreferrer"&gt;A short primer on Java debugging internals&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Marit van Dijk
&lt;ul&gt;
&lt;li&gt;Developer Advocate at JetBrains&lt;/li&gt;
&lt;li&gt;&lt;a href="https://maritvandijk.com/" target="_blank" rel="noopener noreferrer"&gt;https://maritvandijk.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/MaritvanDijk77" target="_blank" rel="noopener noreferrer"&gt;https://twitter.com/MaritvanDijk77&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@maritvandijk" target="_blank" rel="noopener noreferrer"&gt;https://mastodon.social/@maritvandijk&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Ties van de Ven
&lt;ul&gt;
&lt;li&gt;Software Engineer @ JDriven, Coach @ Jcore&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.tiesvandeven.nl/" target="_blank" rel="noopener noreferrer"&gt;https://www.tiesvandeven.nl/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/ties_ven" target="_blank" rel="noopener noreferrer"&gt;https://twitter.com/ties_ven&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.jdriven.com/2017/10/6-steps-to-help-you-debug-your-application/" target="_blank" rel="noopener noreferrer"&gt;6 Steps to help you debug your application&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-host"&gt;Host&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Shai Almog
&lt;ul&gt;
&lt;li&gt;Author of &amp;ldquo;&lt;a href="https://www.amazon.com/dp/1484290410/" target="_blank" rel="noopener noreferrer"&gt;Practical Debugging at Scale&lt;/a&gt;
&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://debugagent.com/" target="_blank" rel="noopener noreferrer"&gt;https://debugagent.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@debugagent" target="_blank" rel="noopener noreferrer"&gt;https://mastodon.social/@debugagent&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/debugagent" target="_blank" rel="noopener noreferrer"&gt;https://twitter.com/debugagent&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-producer"&gt;Producer&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Frank Delporte
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@frankdelporte" target="_blank" rel="noopener noreferrer"&gt;https://foojay.social/@frankdelporte&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/frankdelporte" target="_blank" rel="noopener noreferrer"&gt;https://twitter.com/frankdelporte&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-content"&gt;Content&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;00'00 Intro and music&lt;/li&gt;
&lt;li&gt;00'24 About the topic of this podcast&lt;/li&gt;
&lt;li&gt;00'58 Introduction of the guests and host&lt;/li&gt;
&lt;li&gt;05'14 Debugging with IntelliJ IDEA and discoverability of tools
&lt;ul&gt;
&lt;li&gt;YouTube: &lt;a href="https://www.youtube.com/watch?v=59RC8gVPlvk&amp;amp;list=PLPZy-hmwOdEUWF85MuwrKV8YVWLmZW4ZA" target="_blank" rel="noopener noreferrer"&gt;Debugger playlist&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;YouTube: &lt;a href="https://www.youtube.com/watch?v=OQcyAtukps4" target="_blank" rel="noopener noreferrer"&gt;Profiling tools&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;YouTube: &lt;a href="https://www.youtube.com/watch?v=TDpbt4thECc" target="_blank" rel="noopener noreferrer"&gt;Profiling live stream&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;13'27 JDWP protocol
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dzone.com/articles/remote-debugging-java-applications-with-jdwp" target="_blank" rel="noopener noreferrer"&gt;DZone: Remote Debugging Java Applications With JDWP&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/psa-the-risks-of-remote-jdwp-debugging/"&gt;Foojay: PSA: The Risks of Remote JDWP Debugging&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/a-short-primer-on-java-debugging-internals/"&gt;Foojay: A Short Primer on Java Debugging Internals&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;19'43 Exception breakpoints
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/exception-breakpoint-that-doesnt-suck-and-a-real-use-case-for-method-breakpoints/"&gt;Foojay: Exception Breakpoint that Doesn&amp;rsquo;t Suck and a Real Use Case for Method Breakpoints&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;20'34 External debugging tools
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://rubberduckdebugging.com/" target="_blank" rel="noopener noreferrer"&gt;https://rubberduckdebugging.com/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;26'55 Observability
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://istio.io/latest/about/service-mesh/" target="_blank" rel="noopener noreferrer"&gt;https://istio.io/latest/about/service-mesh/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.redhat.com/en/topics/microservices/what-is-a-service-mesh" target="_blank" rel="noopener noreferrer"&gt;https://www.redhat.com/en/topics/microservices/what-is-a-service-mesh&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://openjdk.org/jeps/435" target="_blank" rel="noopener noreferrer"&gt;https://openjdk.org/jeps/435&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;37'58 What information should you look for while debugging&lt;/li&gt;
&lt;li&gt;45'46 Be aware of tunnel vision while debugging&lt;/li&gt;
&lt;li&gt;49'33 What to do if you don&amp;rsquo;t know where to search for the bug
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://git-scm.com/docs/git-bisect" target="_blank" rel="noopener noreferrer"&gt;https://git-scm.com/docs/git-bisect&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/understand-the-root-cause-of-regressions-with-git-bisect/"&gt;Foojay: External Debugging Tools 2: git bisect&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;57'05 Outro&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>The Problem with Functional Programming</title><link>https://foojayio.github.io/website/today/the-problem-with-functional-programming/</link><pubDate>Thu, 27 Oct 2022 10:17:32 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-problem-with-functional-programming/</guid><description>&lt;p&gt;Let me start off with saying that I love functional programming.&lt;/p&gt;
&lt;p&gt;Although&amp;hellip; a better way of saying it would be that I love what functional programming brings me.&lt;/p&gt;
&lt;p&gt;It reduces complexity, the code is nice and explicit, and it eliminates certain bugs from occurring.&lt;/p&gt;
&lt;p&gt;But there are a few things that I wanted to discuss regarding functional programming.&lt;/p&gt;
&lt;h2 id="h2-0-object-orientation-vs-functional-programming"&gt;Object Orientation vs. Functional Programming&lt;/h2&gt;
&lt;p&gt;Let me start off with the Object Oriented vs. Functional Programming discussion.&lt;/p&gt;</description></item></channel></rss>