<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Programming on melastmohican.github.io</title>
		<link>https://melastmohican.github.io/categories/programming/</link>
		<description>Recent content in Programming on melastmohican.github.io</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Mon, 14 Nov 2022 14:27:13 -0800</lastBuildDate>
		
			<atom:link href="https://melastmohican.github.io/categories/programming/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Rusty Feather</title>
				<link>https://melastmohican.github.io/posts/rusty-feather/</link>
				<pubDate>Mon, 14 Nov 2022 14:27:13 -0800</pubDate>
				<guid>https://melastmohican.github.io/posts/rusty-feather/</guid>
				<description>&lt;p&gt;Recently I stumbled upon info about using Rust language on embedded systems including microcontrollers. I searched for some tutorials and online trainings and it seems like you need specific hardware usually. Getting &lt;a href=&#34;https://docs.rust-embedded.org/book/intro/hardware.html&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;STM32F3DISCOVERY&lt;/a&gt; or &lt;a href=&#34;https://embedded-trainings.ferrous-systems.com/hardware.html&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;nRF52840 DK&lt;/a&gt; is not practical because I will have limited use for these boards after completing training.  I was almost willing to get &lt;a href=&#34;https://docs.rust-embedded.org/discovery/microbit/02-requirements/index.html&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;micro:bit&lt;/a&gt; when I found out that Ferrous Systems and Espressif’s &lt;a href=&#34;https://www.espressif.com/en/news/ESP_RUST_training&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;announced&lt;/a&gt; &lt;em&gt;&lt;strong&gt;Rust Training on ESP32&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;esp-rust-board&#34;&gt;&#xA;  ESP Rust Board&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#esp-rust-board&#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;It is officially called &lt;strong&gt;ESP32-C3-DevKit-RUST-1&lt;/strong&gt; if you want to search for it. The board is based on successful ESP32-C3-MINI-1 module and has 6DoF IMU (ICM-42670-P), a temperature and humidity sensor (SHTC3), a Li-Ion battery charger, and a Type-C USB in familiar Adafruit Feather format. It is pretty close to &lt;a href=&#34;https://www.adafruit.com/product/5303&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Adafruit ESP32-S2 Feather with BME280 Sensor&lt;/a&gt; minus Stemma connector but with IMU sensor instead.&#xA;&lt;figure&gt;&lt;img src=&#34;https://raw.githubusercontent.com/esp-rs/esp-rust-board/master/assets/rust_board_v1.2_diagram.png&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;h4&gt;ESP32-C3-DevKit-RUST-1&lt;/h4&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Convert Kafka JKS certificate to PEM</title>
				<link>https://melastmohican.github.io/posts/convert_kafka_jks_certificate_to_pem/</link>
				<pubDate>Sat, 14 Mar 2020 21:35:50 -0700</pubDate>
				<guid>https://melastmohican.github.io/posts/convert_kafka_jks_certificate_to_pem/</guid>
				<description>&lt;h2 id=&#34;intro&#34;&gt;&#xA;  Intro&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#intro&#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;Kafka supports encryption and authentication via SSL. However, the generated certificates are in Java KeyStore (JKS) format so if you need to use them in other language you need to convert them to X.509 format (.pem – Privacy-enhanced Electronic Mail).&lt;/p&gt;&#xA;&lt;p&gt;Here are the commands to extract the Certificate Authority (CA) certificate:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#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;$ keytool -importkeystore -srckeystore dev.client.truststore.jks -destkeystore server.p12 -deststoretype PKCS12&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ openssl pkcs12 -&lt;span style=&#34;font-weight:bold&#34;&gt;in&lt;/span&gt; server.p12 -nokeys -out ca_cert.pem&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can then convert your client keystore to be usable from languages supporting .pem, with similar commands:&lt;/p&gt;</description>
			</item>
			<item>
				<title>What new language should I learn as Java Developer</title>
				<link>https://melastmohican.github.io/posts/as-java-developer-what-language-learn/</link>
				<pubDate>Fri, 13 Mar 2020 05:38:17 -0800</pubDate>
				<guid>https://melastmohican.github.io/posts/as-java-developer-what-language-learn/</guid>
				<description>&lt;p&gt;If you are a Java programmer and are thinking of learning some more programming languages to expand your knowledge and skills, but not sure which programming languages to choose, then you are not alone. Last year there were multiple talks in our organization about migrating away from Java because o potential problems with new Oracle licensing. It is still unclear how Oracle will be auditing for Java licensing and what it will mean should an organization not be compliant. We switched to a different OpenJDK vendor and we are using &lt;a href=&#34;https://aws.amazon.com/corretto/&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Amazon Correto&lt;/a&gt; now. We also migrated all ouf our microservices from Java 8 to 11 for a different reason which I might mention later.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
