<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Wojciech Programming Blog</title>
    <link>https://www.wlangiewicz.com/</link>
    <description>Recent content on Wojciech Programming Blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 09 Feb 2024 21:41:38 +0100</lastBuildDate>
    <atom:link href="https://www.wlangiewicz.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Exiftool rename tricks</title>
      <link>https://www.wlangiewicz.com/2024/02/09/exiftool-rename-tricks/</link>
      <pubDate>Fri, 09 Feb 2024 21:41:38 +0100</pubDate>
      <guid>https://www.wlangiewicz.com/2024/02/09/exiftool-rename-tricks/</guid>
      <description>Exiftool is a powerful tool to manipulate metadata in files. It can also be used to rename files based on their metadata. Here are some examples of how to use it to rename files.&#xA;These commands will rename all files in current directory.&#xA;Rename files based on their modification date exiftool &amp;#39;-FileName&amp;lt;FileModifyDate&amp;#39; -d %Y-%m-%d\ %H.%M.%S%%-c.%%e . Rename files based on their creation date exiftool &amp;#39;-FileName&amp;lt;CreateDate&amp;#39; -d %Y-%m-%d\ %H.%M.%S%%-c.%%e . Depending on the file type and how file was created, some or all metadata might not be available.</description>
    </item>
    <item>
      <title>Vimium Shortcuts in PDF</title>
      <link>https://www.wlangiewicz.com/2023/09/28/vimium-shortcuts-in-pdf/</link>
      <pubDate>Thu, 28 Sep 2023 21:50:13 +0200</pubDate>
      <guid>https://www.wlangiewicz.com/2023/09/28/vimium-shortcuts-in-pdf/</guid>
      <description>As the avid Vimium user I have prepared a shortcuts list in PDF for handy printouts in case you need one, get it here</description>
    </item>
    <item>
      <title>Disable Music app on macos when multimedia keys are pressed</title>
      <link>https://www.wlangiewicz.com/2023/07/28/disable-music-app-on-macos-when-multimedia-keys-are-pressed/</link>
      <pubDate>Fri, 28 Jul 2023 20:21:35 +0200</pubDate>
      <guid>https://www.wlangiewicz.com/2023/07/28/disable-music-app-on-macos-when-multimedia-keys-are-pressed/</guid>
      <description>Background On macos Ventura (13.4) and many other versions of macos, the F8 key serves both as the function key or multimedia key &amp;ldquo;Play/Pause&amp;rdquo;.&#xA;Pressing this key by default should start or pause currently playing multimedia.&#xA;Unfortunately very often pressing this file results in actually starting default &amp;ldquo;Music&amp;rdquo; application (in previous versions it was iTunes). This shouldn&amp;rsquo;t happen when you have other active players that would capture the event, but it does.</description>
    </item>
    <item>
      <title>Memory Tweaks to Prevent Hiccups on Linux</title>
      <link>https://www.wlangiewicz.com/2021/10/24/memory-tweaks-to-prevent-hiccups-on-linux/</link>
      <pubDate>Sun, 24 Oct 2021 21:23:58 +0200</pubDate>
      <guid>https://www.wlangiewicz.com/2021/10/24/memory-tweaks-to-prevent-hiccups-on-linux/</guid>
      <description>Background I have been running into issues on my main desktop system running Ubuntu, under high disk IO the system would lock up for couple seconds for no apparent reason (it was locking up for longer than could be expected).&#xA;After going through numerous websites, the conclusion I have reached is that by having a lot of memory, the system would cache a sizeable amount of data in RAM before flushing to disk.</description>
    </item>
    <item>
      <title>Steam on Linux: Run Windows Apps inside Games&#39; Wine Prefix</title>
      <link>https://www.wlangiewicz.com/2021/05/31/steam-on-linux-run-windows-apps-inside-games-wine-prefix/</link>
      <pubDate>Mon, 31 May 2021 14:00:35 +0200</pubDate>
      <guid>https://www.wlangiewicz.com/2021/05/31/steam-on-linux-run-windows-apps-inside-games-wine-prefix/</guid>
      <description>I have stumbled on a problem when running Dungeon Siege II on Linux (Ubuntu), I&amp;rsquo;m trying to run the game via Steam and in order unlock Broken World extension there is a .bat file that must be executed.&#xA;Running the script directly using wine doesn&amp;rsquo;t work because Steam stores it&amp;rsquo;s configuration somewhat hidden behind WINEPREFIX.&#xA;It turns out that the trick is to set up WINEPREFIX correctly before running anything, like that:</description>
    </item>
    <item>
      <title>Lightning Network Tools/Libraries Overview</title>
      <link>https://www.wlangiewicz.com/2019/09/04/lightning-network-tools/libraries-overview/</link>
      <pubDate>Wed, 04 Sep 2019 13:18:35 +0200</pubDate>
      <guid>https://www.wlangiewicz.com/2019/09/04/lightning-network-tools/libraries-overview/</guid>
      <description>This post is an overview of the existing Lightning Network tools, during my research I have found a number of different tools/libraries and decided to summarize them in this list.&#xA;The list is nowhere near being complete, I&amp;rsquo;m including only some of the programming related tools that I stumbled upon and found worth saving for future reference.&#xA;APIs ln-service https://github.com/alexbosworth/ln-service&#xA;Node.js interface to LND&#xA;lightningj https://github.com/lightningj-org/lightningj&#xA;Core implementation of the lightningj API implementations.</description>
    </item>
    <item>
      <title>An Overview Of Lightning Network Implementations </title>
      <link>https://www.wlangiewicz.com/2019/09/02/an-overview-of-lightning-network-implementations/</link>
      <pubDate>Mon, 02 Sep 2019 09:19:19 +0200</pubDate>
      <guid>https://www.wlangiewicz.com/2019/09/02/an-overview-of-lightning-network-implementations/</guid>
      <description>This blog post attempts to summarize the status of Lightning Network by providing an overview of existing full Lightning Network daemons.&#xA;The focus of this post is only to provide high-level overview of the daemons.&#xA;Lightning Network Daemon - lnd&#xA;Language: Go Github link: https://github.com/lightningnetwork/lnd BOLT compliance: 11/11 Status: Usable and actively developed Notes: Probably most mature daemon implementation; for most people this will be the default version to try out.</description>
    </item>
    <item>
      <title>Effective Way of Using Conditional Expressions in Logback</title>
      <link>https://www.wlangiewicz.com/2019/03/28/effective-way-of-using-conditional-expressions-in-logback/</link>
      <pubDate>Thu, 28 Mar 2019 17:20:58 +0100</pubDate>
      <guid>https://www.wlangiewicz.com/2019/03/28/effective-way-of-using-conditional-expressions-in-logback/</guid>
      <description>Today I&amp;rsquo;m going to show how to effectively use conditional expressions in logback.&#xA;This pattern has many use cases, for example:&#xA;Use different log output on server vs when application is running locally (JSON on server, regular logs on localhost) Send ERRORs to your monitoring service - but only when application is deployed to production Use different prefixes depending when application is running Setup In order to use conditional expressions in logback you need 2 things.</description>
    </item>
    <item>
      <title>Guide How to Use Consul DNS Locally on macOS</title>
      <link>https://www.wlangiewicz.com/2019/03/20/guide-how-to-use-consul-dns-locally-on-macos/</link>
      <pubDate>Wed, 20 Mar 2019 10:05:54 +0100</pubDate>
      <guid>https://www.wlangiewicz.com/2019/03/20/guide-how-to-use-consul-dns-locally-on-macos/</guid>
      <description>This is a guide how to use Consul&amp;rsquo;s DNS service from your local macOS machine.&#xA;Test resolution by hand Run this command to see if you can communicate with consul correctly and it resolves domain names for you:&#xA;dig vault.service.consul @$CONSUL_IP -p 8600 As response you should get the A record that will look similar to this (look for ANSWER SECTION):&#xA;;; ANSWER SECTION: vault.service.consul.&#x9;0&#x9;IN&#x9;A&#x9;123.123.123.123 (the IP address will be different in your case)</description>
    </item>
    <item>
      <title>Software Consulting Services</title>
      <link>https://www.wlangiewicz.com/software-consulting-services/</link>
      <pubDate>Wed, 27 Feb 2019 17:48:18 +0100</pubDate>
      <guid>https://www.wlangiewicz.com/software-consulting-services/</guid>
      <description>I and my team provide custom software consulting services.&#xA;I have over 11 years of commercial software engineering experience working in different business sectors and a broad range of technologies. See my Linkedin page for more details&#xA;My main and preferred programming language is Scala, but I&amp;rsquo;m also confident in using Java, Python, Bash, SQL. I&amp;rsquo;m always happy to learn new things that solve real problems.&#xA;Right now I&amp;rsquo;m happy to take on more cryptocurrency related projects.</description>
    </item>
    <item>
      <title>Migrated Blog From Wordpress To Hugo</title>
      <link>https://www.wlangiewicz.com/2019/02/01/migrated-blog-from-wordpress-to-hugo/</link>
      <pubDate>Fri, 01 Feb 2019 12:04:50 +0100</pubDate>
      <guid>https://www.wlangiewicz.com/2019/02/01/migrated-blog-from-wordpress-to-hugo/</guid>
      <description>Background After more one year of (inactively) using Wordpress for my blog I have decided to give Hugo another go. I became first familiar with Hugo around 3 years ago when I was in the process of migrating off Octopress because I had so many issues with configuring ruby environment across different projects and I was always running into incompatibility issues.&#xA;Back then I decided to fall back to Wordpress and was using it to host my blog for since then.</description>
    </item>
    <item>
      <title>QNAP NAS: Create Backup of TimeMachine Directory</title>
      <link>https://www.wlangiewicz.com/2018/12/28/qnap-nas-create-backup-of-timemachine-directory/</link>
      <pubDate>Fri, 28 Dec 2018 21:03:22 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2018/12/28/qnap-nas-create-backup-of-timemachine-directory/</guid>
      <description>I was recently setting up remote backups for my QNAP NAS and came across a problem.&#xA;QNAP NAS by default doesn&amp;rsquo;t seem to be able to create backups of the TMBackup directory it uses to store TimeMachine backups. You are unable to sync this directory with remote server or cloud storage/backup service.&#xA;I was googling around and noticed that few people had this problem, for example here and I have found a solution.</description>
    </item>
    <item>
      <title>How to use Trezor Wallet with Bitcoin Testnet</title>
      <link>https://www.wlangiewicz.com/2018/08/31/how-to-use-trezor-wallet-with-bitcoin-testnet/</link>
      <pubDate>Fri, 31 Aug 2018 12:18:48 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2018/08/31/how-to-use-trezor-wallet-with-bitcoin-testnet/</guid>
      <description>The following post is a quick tutorial how to use Trezor hardware wallet with Bitcoin Testnet.&#xA;Connect your Trezor like you normally would Click on &amp;ldquo;Wallet settings&amp;rdquo; Delete contents of this field and enter &amp;ldquo;https://testnet-bitcore1.trezor.io/&amp;quot; instead Click &amp;ldquo;Save &amp;amp; Reload&amp;rdquo; This is how the wallet page should look Notice that in the right left corner it says &amp;ldquo;Custom backend&amp;rdquo;, this is expected. I already have 0.20 testnet BTC there.&#xA;This is how &amp;ldquo;Receive&amp;rdquo; tab looks like, there is information that you are running on testnet This is how &amp;ldquo;Send&amp;rdquo; tab looks like, there is information that you are running on testnet Unfortunately there&amp;rsquo;s no way for the Trezor wallet to remember this setting and you are required to repeat those steps every time you plug in your wallet into computer.</description>
    </item>
    <item>
      <title>Using Swagger UI For Local Development</title>
      <link>https://www.wlangiewicz.com/2018/07/04/using-swagger-ui-for-local-development/</link>
      <pubDate>Wed, 04 Jul 2018 19:32:47 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2018/07/04/using-swagger-ui-for-local-development/</guid>
      <description>When working on the swagger documentation, several different tools can be used.&#xA;The &amp;lsquo;official&amp;rsquo; editor developed by the Swagger community is Swagger Editor, live preview: https://editor.swagger.io/, I have found it quite quick and easy to use, but for larger project it gets cumbersome. Additionally it doesn&amp;rsquo;t support ability to have multiple files that will reference each other.&#xA;This post is a quick demonstration of the workflow I&amp;rsquo;m using when working on the large, multi-file swagger documentations.</description>
    </item>
    <item>
      <title>Scala Patterns To Avoid: Implicit Arguments With Default Values</title>
      <link>https://www.wlangiewicz.com/2017/09/24/scala-patterns-to-avoid-implicit-arguments-with-default-values/</link>
      <pubDate>Sun, 24 Sep 2017 11:48:26 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2017/09/24/scala-patterns-to-avoid-implicit-arguments-with-default-values/</guid>
      <description>There is a tendency for the Scala projects to prefer more explicit programming style. The biggest aspect of that is in my opinion the type system of the Scala language, programmers often start writing their functions by defining types of the arguments and type of the result, only to write the body of the function as last step. That&amp;rsquo;s also because we have the Scala compiler to help us.&#xA;I recently stumbled on a snippet that contradicts this rule and can be a source of hard to spot bugs for the person unfamiliar with the code.</description>
    </item>
    <item>
      <title>Flyway Database Migrations - Best Practices</title>
      <link>https://www.wlangiewicz.com/2017/07/03/flyway-database-migrations-best-practices/</link>
      <pubDate>Mon, 03 Jul 2017 18:16:08 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2017/07/03/flyway-database-migrations-best-practices/</guid>
      <description>This post is attempts cover some of best practices in using Flyway, the database migration tool, that I have learned or established after using it in few projects. It&amp;rsquo;s aimed at users already familiar with Flyway or any other database migration tools, so I&amp;rsquo;ll try to skip over the very basics.&#xA;I&amp;rsquo;m focusing on Flyway here, but I think the best practices will apply to majority of other database migration tools.</description>
    </item>
    <item>
      <title>Designing APIs with JSON API Specification</title>
      <link>https://www.wlangiewicz.com/2017/06/18/designing-apis-with-json-api-specification/</link>
      <pubDate>Sun, 18 Jun 2017 14:31:54 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2017/06/18/designing-apis-with-json-api-specification/</guid>
      <description>JSON API specification is a tool that greatly helps and simplifies the process of designing RESTful JSON based APIs and very frequently serves as great anti-bikeshedding tool that limits unnecessary discussions in any team.&#xA;In my opinion it doesn&amp;rsquo;t get it&amp;rsquo;s deserved attention and this post aims to provide good introduction to that topic.&#xA;My goal is also not to repeat official documentation, but rather try to add something new to the topic.</description>
    </item>
    <item>
      <title>Why You Should Adapt Gitflow</title>
      <link>https://www.wlangiewicz.com/2017/06/06/why-you-should-adapt-gitflow/</link>
      <pubDate>Tue, 06 Jun 2017 19:44:52 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2017/06/06/why-you-should-adapt-gitflow/</guid>
      <description>GitFlow is a convention that says how you should structure your development process. It tells you when you should branch and merge your changes and helps you with hotfixes. By organizing branches effectively it unblocks developers allowing them to stay effective&#xA;Key characteristics Work happens in parallel Each developer is free to work on his individual features, all is required to branch off develop branch and once the feature is done create a PR back to develop</description>
    </item>
    <item>
      <title>Remote Work - 5 Years Later</title>
      <link>https://www.wlangiewicz.com/2017/06/06/remote-work-5-years-later/</link>
      <pubDate>Tue, 06 Jun 2017 18:38:56 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2017/06/06/remote-work-5-years-later/</guid>
      <description>This month it will be my 5 year anniversary as a remote worker. During that time I have been working for different companies, some were fully remote, some were partially remote. In some cases I have worked with teams with almost no time overlap (9 hours difference), in some cases all of us were in the same time zone.&#xA;This post is an attempt to summarize my thoughts from the 5 year perspective, but also I&amp;rsquo;d like to share tips for both people who are remote members in their teams as well as for people who are working exclusively on-site while some of their peers are remote.</description>
    </item>
    <item>
      <title>ETags in Akka HTTP</title>
      <link>https://www.wlangiewicz.com/2016/11/25/etags-in-akka-http/</link>
      <pubDate>Fri, 25 Nov 2016 15:17:26 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2016/11/25/etags-in-akka-http/</guid>
      <description>I have recently been involved in implementing ETags and Last-Modified header support in one of the services based on Akka-http.&#xA;I have prepared a quite comprehensive example project that shows how to implement those capabilities in Akka-http based projects.&#xA;In this post I&amp;rsquo;ll describe in a practical manner what ETags are and how to support them in your own projects.&#xA;Side note: I&amp;rsquo;ll focus on ETags and have a section on Last-Modified header at the end.</description>
    </item>
    <item>
      <title>Notes on creating microservices-based applications</title>
      <link>https://www.wlangiewicz.com/2016/11/01/notes-on-creating-microservices-based-applications/</link>
      <pubDate>Tue, 01 Nov 2016 15:16:12 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2016/11/01/notes-on-creating-microservices-based-applications/</guid>
      <description>This post is a collection of tips and notes I gathered while working on microservices-based applications for last couple of months.&#xA;The notes are divided in a couple of sections that focus on the different areas during development and running your services.&#xA;I have decided to write more low level notes/tips to focus on specific problems, for more high-level overview see: The Twelve-Factor App&#xA;Project Setup Each service should be a self-contained project, hosted in a separate repository.</description>
    </item>
    <item>
      <title>Running Tor Node Inside Docker</title>
      <link>https://www.wlangiewicz.com/2016/10/26/running-tor-node-inside-docker/</link>
      <pubDate>Wed, 26 Oct 2016 15:12:35 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2016/10/26/running-tor-node-inside-docker/</guid>
      <description>Over last few weeks I have been playing around with creating docker container to host a Tor node on one of my VPS servers.&#xA;As a result of those efforts I created a Github repository: https://github.com/wlk/docker-tor-relay with the Docker image, it&amp;rsquo;s also hosted on DockerHub here: https://hub.docker.com/r/wlkx/docker-tor-relay/ (and configured as automated build)&#xA;Both DockerHub and Github README provide enough information on how to use it, so I won&amp;rsquo;t go into details here, but I&amp;rsquo;ll focus on 2 Docker features that I used in this toy project.</description>
    </item>
    <item>
      <title>Simple way to create Scala scripts</title>
      <link>https://www.wlangiewicz.com/2016/10/19/simple-way-to-create-scala-scripts/</link>
      <pubDate>Wed, 19 Oct 2016 15:01:59 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2016/10/19/simple-way-to-create-scala-scripts/</guid>
      <description>This post is a description of a small project idea developed by a friend of mine: Przemysław Pokrywka, I&amp;rsquo;m just writing down the idea as a blog post.&#xA;There are many ways one can execute Scala code, most people use sbt to create a some kind of build, for example fat jar or something similar or just sbt-native-packager to build the application in more native formats.&#xA;But what options do you have in case you want to write Scala scripts?</description>
    </item>
    <item>
      <title>Testing Akka Performance</title>
      <link>https://www.wlangiewicz.com/2016/08/21/testing-akka-performance/</link>
      <pubDate>Sun, 21 Aug 2016 19:17:23 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2016/08/21/testing-akka-performance/</guid>
      <description>Few weeks ago I attended a workshop called &amp;ldquo;Understanding Mechanical Sympathy&amp;rdquo; ran by Martin Thompson. During that workshop we written and tested few concurrent programming techniques and as a first exercise we have written a simple Ping-Pong program:&#xA;package uk.co.real_logic; import static java.lang.System.out; /* Original exercise did during &amp;#34;Lock Free Workshop&amp;#34; by Martin Thompson: http://www.real-logic.co.uk/training.html */ public final class PingPong { private static final int REPETITIONS = 100_000_000; private static volatile long pingValue = -1; private static volatile long pongValue = -1; public static void main(final String[] args) throws Exception { final Thread pongThread = new Thread(new PongRunner()); final Thread pingThread = new Thread(new PingRunner()); pongThread.</description>
    </item>
    <item>
      <title>How To Setup Garmin 310XT To Work With Linux</title>
      <link>https://www.wlangiewicz.com/2016/05/11/how-to-setup-garmin-310xt-to-work-with-linux/</link>
      <pubDate>Wed, 11 May 2016 08:02:34 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2016/05/11/how-to-setup-garmin-310xt-to-work-with-linux/</guid>
      <description>In this post I intent to provide a overview of the steps that need to be performed to setup Garmin 310XT GPS Sports Watch to work with Linux (Ubuntu).&#xA;(This tutorial should also apply to other similar Garmin GPS Watches -Garmin Forerunner 60 – 405CX – 310XT – 610 – 910XT)&#xA;Install Required Packages sudo apt-get install python-pip python-qt sudo pip install pyusb Install GFrun GFrun is the program that you can use to download recorded workouts from your watch.</description>
    </item>
    <item>
      <title>How To Setup CI Build Pipeline With Travis CI, Heroku and sbt</title>
      <link>https://www.wlangiewicz.com/2016/03/30/how-to-setup-ci-build-pipeline-with-travis-ci-heroku-and-sbt/</link>
      <pubDate>Wed, 30 Mar 2016 09:59:26 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2016/03/30/how-to-setup-ci-build-pipeline-with-travis-ci-heroku-and-sbt/</guid>
      <description>This post covers all steps that are required to setup a Continuous Integration (CI) build pipeline using Travis CI as a main driver for deploying our Play application written in Scala to Heroku cloud.&#xA;Expected end result:&#xA;After each commit to the master branch of my Github project, I&amp;rsquo;d like to run full test suite. Following that, each successful build, should trigger a deployment to Heroku. If the tests fail, application should not be deployed.</description>
    </item>
    <item>
      <title>JSON in Play Framework - Advanced Libraries</title>
      <link>https://www.wlangiewicz.com/2016/03/25/json-in-play-framework-advanced-libraries/</link>
      <pubDate>Fri, 25 Mar 2016 12:51:16 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2016/03/25/json-in-play-framework-advanced-libraries/</guid>
      <description>This is a followup post to my previous one covering JSON in Play framework. I&amp;rsquo;d like to show how the manual work I did before in trying to make JSON mapping compatible with external API can be done by using 2 small but useful libraries:&#xA;[play-json-naming](https://github.com/tototoshi/play-json-naming)&#xA;[play-json-extensions](https://github.com/xdotai/play-json-extensions)&#xA;play-json-naming This is a very simple library that can be used to convert from camelCase formatting (the default one that we use in Scala) to snake_case formatting that is common in various different languages (for example PHP or Ruby).</description>
    </item>
    <item>
      <title>JSON in Play Framework - Techniques For Making Compatible Mappings</title>
      <link>https://www.wlangiewicz.com/2016/03/23/json-in-play-framework-techniques-for-making-compatible-mappings/</link>
      <pubDate>Wed, 23 Mar 2016 20:21:06 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2016/03/23/json-in-play-framework-techniques-for-making-compatible-mappings/</guid>
      <description>I&amp;rsquo;ll show 2 slightly advanced techniques for working with JSON in Play Framework (play-json) that are useful especially when you need to control the mappings yourself. For example when you have to make sure that your API is compatible with existing applications. The examples are based on my project Game Arena (which is in very early stages of development)&#xA;One suggestion, before we start, take a look at Play Framework JSON documentation which is truly quite comprehensive and provides a very good introduction to JSON usage in Play.</description>
    </item>
    <item>
      <title>Scala Case Classes vs Enumeration</title>
      <link>https://www.wlangiewicz.com/2016/03/20/scala-case-classes-vs-enumeration/</link>
      <pubDate>Sun, 20 Mar 2016 21:49:36 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2016/03/20/scala-case-classes-vs-enumeration/</guid>
      <description>After my previous post which was received quite nicely, I wanted to write a little bit more about the topic of designing Typesafe Domain objects, this time I&amp;rsquo;ll focus on the problem of how to model a deck of cards in Scala. I&amp;rsquo;ll go over 2 different approaches you might take when designing a solution to the problem of card games in Scala. I&amp;rsquo;ll try to show how this can be done with Case Classes (Sealed Case Objects) and Enumerations.</description>
    </item>
    <item>
      <title>Typesafe Domain Objects in Scala</title>
      <link>https://www.wlangiewicz.com/2016/03/14/typesafe-domain-objects-in-scala/</link>
      <pubDate>Mon, 14 Mar 2016 21:43:55 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2016/03/14/typesafe-domain-objects-in-scala/</guid>
      <description>Today I&amp;rsquo;d like to cover the topic of how to approach type safety in Scala in case of the simple domain of players in free to play games - this is a real example from a past project of mine. If you have played any of the free to play online games, you are already aware that these games every often have 2 kinds of currencies:&#xA;In game cash or points that can be earned and spent during the game play</description>
    </item>
    <item>
      <title>My Entry to &#34;Daj Się Poznać&#34; Competition</title>
      <link>https://www.wlangiewicz.com/2016/03/14/my-entry-to-daj-si%C4%99-pozna%C4%87-competition/</link>
      <pubDate>Mon, 14 Mar 2016 19:29:48 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2016/03/14/my-entry-to-daj-si%C4%99-pozna%C4%87-competition/</guid>
      <description>In this blog post I intent to give a brief overview of &amp;ldquo;Daj się poznać&amp;rdquo; competition and some reasoning why I decided to join it.&#xA;Few words about &amp;ldquo;Daj Się Poznać&amp;rdquo; &amp;ldquo;Daj się poznać&amp;rdquo; (in English: &amp;ldquo;Let yourself known&amp;rdquo;) is a competition aimed at Polish programming community and it&amp;rsquo;s idea is to help programmers to be more involved in both blogging and open source work.&#xA;Currently it&amp;rsquo;s aimed only at the polish market, so all content on the official website is in Polish, most of the participants are blogging in Polish, only few in English.</description>
    </item>
    <item>
      <title>Tips And Tricks For Making A Successful Pecha Kucha Talk</title>
      <link>https://www.wlangiewicz.com/2016/03/07/tips-and-tricks-for-making-a-successful-pecha-kucha-talk/</link>
      <pubDate>Mon, 07 Mar 2016 17:40:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2016/03/07/tips-and-tricks-for-making-a-successful-pecha-kucha-talk/</guid>
      <description>This weekend I have my first Pecha Kucha talk and I figured that it would be a good idea to write down my thoughts and suggestions on how to prepare better and also deliver a good talk in this format.&#xA;Just to remind you, a Pecha Kucha talk is a format for giving a presentation where you have 20 slides, each slide is presented on screen for 20 seconds, slides change without your control, as a result whole talk takes 6 minutes 40 seconds.</description>
    </item>
    <item>
      <title>Slides From My Talk &#34;Bitcoin - Introduction For Programmers&#34;</title>
      <link>https://www.wlangiewicz.com/2016/03/07/slides-from-my-talk-bitcoin-introduction-for-programmers/</link>
      <pubDate>Mon, 07 Mar 2016 08:18:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2016/03/07/slides-from-my-talk-bitcoin-introduction-for-programmers/</guid>
      <description>This was a Pecha Kucha talk, shown at ChamberConf 2016 - http://chamberconf.pl/</description>
    </item>
    <item>
      <title>Slides from my talk: Introduction to Ionic 2</title>
      <link>https://www.wlangiewicz.com/2016/02/26/slides-from-my-talk-introduction-to-ionic-2/</link>
      <pubDate>Fri, 26 Feb 2016 07:59:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2016/02/26/slides-from-my-talk-introduction-to-ionic-2/</guid>
      <description>Yesterday I gave a talk at ng-wrocław meetup &amp;ldquo;Ionic 2 - Intro&amp;rdquo;&#xA;The presentation took about 50 minutes, during that time I gave a quick introduction the the ionic 2 framework (based on the following slides), then I have shown my project &amp;ldquo;Daily Gifs&amp;rdquo; that is available on github: https://github.com/wlk/gifs</description>
    </item>
    <item>
      <title>Getting Started With Phaser.io And TypeScript - Boilerplate Project</title>
      <link>https://www.wlangiewicz.com/2016/02/07/getting-started-with-phaser.io-and-typescript-boilerplate-project/</link>
      <pubDate>Sun, 07 Feb 2016 20:00:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2016/02/07/getting-started-with-phaser.io-and-typescript-boilerplate-project/</guid>
      <description>In order to help me and others with starting game development with phaser.io and TypeScript, I have created a boilerplate project on github: http://github.com/wlk/phaser-typescript-boilerplate that can be used to jump-start game development.&#xA;Just clone or download a zipped archive of the repository, then start writing your game - README file has more detailed information how to use it.&#xA;I have added following components:&#xA;npm commands for running project in development and production mode</description>
    </item>
    <item>
      <title>Slides From My Talk: Mutation Testing In Java</title>
      <link>https://www.wlangiewicz.com/2016/02/02/slides-from-my-talk-mutation-testing-in-java/</link>
      <pubDate>Tue, 02 Feb 2016 17:49:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2016/02/02/slides-from-my-talk-mutation-testing-in-java/</guid>
      <description>Few weeks ago I have a talk at conference called &amp;ldquo;33rd Degree 4 Charity&amp;rdquo; which was a 2 day event held in Wroclaw.&#xA;These are my slides (there is no recording):&#xA;The related sample project that I used as a demo is here: https://github.com/wlk/mutation-testing-demo&#xA;If you are interested in this topic you&amp;rsquo;ll get most out of it if you clone the project, run it locally and analyze the results (everything is explained in the README.</description>
    </item>
    <item>
      <title>Fix screen flashing problem with redshift</title>
      <link>https://www.wlangiewicz.com/2015/08/18/fix-screen-flashing-problem-with-redshift/</link>
      <pubDate>Tue, 18 Aug 2015 11:50:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2015/08/18/fix-screen-flashing-problem-with-redshift/</guid>
      <description>As an alternative to flux I use redshift on my Linux machine. Recently I stumbled upon very weird problem – each time I close Java desktop app and redshift was active, the screen flashed. It was a very quick change that looked like redshift was disabled and then enabled again.&#xA;I was starting redshift like this:&#xA;redshift-gtk -l manual -l 51.126:17.033 After trying out few configuration options it turns out that changing video method to vidmode was the right solution for my problem:</description>
    </item>
    <item>
      <title>Commitment scheme lighting talk</title>
      <link>https://www.wlangiewicz.com/2015/04/21/commitment-scheme-lighting-talk/</link>
      <pubDate>Tue, 21 Apr 2015 11:50:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2015/04/21/commitment-scheme-lighting-talk/</guid>
      <description>Yesterday I gave a lighting talk &amp;ldquo;Commitment scheme&amp;rdquo; The talk was give at DRUG #62. The lighting talk ended up taking almost 1h because we started to discuss how to organize elections based on commitment scheme principles.</description>
    </item>
    <item>
      <title>Recommended Resources For Learning Bitcoin</title>
      <link>https://www.wlangiewicz.com/2015/03/22/recommended-resources-for-learning-bitcoin/</link>
      <pubDate>Sun, 22 Mar 2015 12:49:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2015/03/22/recommended-resources-for-learning-bitcoin/</guid>
      <description>In the recent weeks I did have many people asking me for recommender resources for learning Bitcoin from the techology side.&#xA;Here is a list of learning resources that I can recommend:&#xA;“Mastering Bitcoin” by Andreas M. Antonopoulos, purchase link: http://shop.oreilly.com/product/0636920032281.do, free version online: https://github.com/aantonop/bitcoinbook This is a very approachable for anyone wanting to learn details of how Bitcoin works under the hood, so far I have read it twice 🙂</description>
    </item>
    <item>
      <title>Introduction to Bitcoin for programmers part 1 version 2</title>
      <link>https://www.wlangiewicz.com/2015/03/19/introduction-to-bitcoin-for-programmers-part-1-version-2/</link>
      <pubDate>Thu, 19 Mar 2015 12:49:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2015/03/19/introduction-to-bitcoin-for-programmers-part-1-version-2/</guid>
      <description>Few days ago I have gave a &amp;ldquo;Introduction to Bitcoin for programmers&amp;rdquo; talk once again, today with updates and improvements. The talk was give at DRUG #61 which was and after-after party after wroc_love.rb conference.</description>
    </item>
    <item>
      <title>Introduction to Bitcoin for programmers</title>
      <link>https://www.wlangiewicz.com/2014/11/18/introduction-to-bitcoin-for-programmers/</link>
      <pubDate>Tue, 18 Nov 2014 12:48:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2014/11/18/introduction-to-bitcoin-for-programmers/</guid>
      <description>Yesterday I have presented following deck at local DRUG meetup. There are only few slides but the overall talk took over an hour.</description>
    </item>
    <item>
      <title>How to put custom messages into Bitcoin blockchain - OP_RETURN</title>
      <link>https://www.wlangiewicz.com/2014/10/24/how-to-put-custom-messages-into-bitcoin-blockchain-op_return/</link>
      <pubDate>Fri, 24 Oct 2014 11:46:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2014/10/24/how-to-put-custom-messages-into-bitcoin-blockchain-op_return/</guid>
      <description>I have spent last few days looking very closely at OP_RETURN features. This blogpost summarizes my findings and thoughts.&#xA;Bitcoin transactions – recap Every bitcoin transaction creates outputs (called transaction outputs, sometimes called txout) from one or more transaction inputs. All except one type of these transaction output types will create spendable outputs (called unspent transaction outputs – UTXO), the type that behaves differently is OP_RETURN The UTXO are tracked and stored by every full node (btcd or bitcoin-core/satoshi client).</description>
    </item>
    <item>
      <title>Add code coverage metrics to your maven project</title>
      <link>https://www.wlangiewicz.com/2014/10/06/add-code-coverage-metrics-to-your-maven-project/</link>
      <pubDate>Mon, 06 Oct 2014 11:47:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2014/10/06/add-code-coverage-metrics-to-your-maven-project/</guid>
      <description>While working on the bitcoinj project I have added support for code coverage collection and tracking. This post summarizes steps you have to take to add that for your own maven projects.&#xA;Figure out what type of code coverage you want For the bitcoinj library it is important to have a “unit test coverage” - it works by verifying which parts of the source code are reached during unit testing phase during build process.</description>
    </item>
    <item>
      <title>Signing Android App With Gradle Using CLI</title>
      <link>https://www.wlangiewicz.com/2014/09/07/signing-android-app-with-gradle-using-cli/</link>
      <pubDate>Sun, 07 Sep 2014 11:45:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2014/09/07/signing-android-app-with-gradle-using-cli/</guid>
      <description>Recently I stumbled upon a problem of creating a signed Android app via command line, after spending some time on this, I have decided to post following tutorial. This problem exist in 2 situations. For example when you want to share your application publicly, but do not want to share any details about your signing key or you would like to automate building process using some kind of CI server.</description>
    </item>
    <item>
      <title>Introduction To Hadoop At Wroclaw JUG</title>
      <link>https://www.wlangiewicz.com/2014/09/01/introduction-to-hadoop-at-wroclaw-jug/</link>
      <pubDate>Mon, 01 Sep 2014 11:45:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2014/09/01/introduction-to-hadoop-at-wroclaw-jug/</guid>
      <description>Few days ago I have presented following deck at local JUG meetup: Wrocław Java Users Group.&#xA;There is also a YouTube recording (in Polish):</description>
    </item>
    <item>
      <title>DynDNS at OVH</title>
      <link>https://www.wlangiewicz.com/2014/07/23/dyndns-at-ovh/</link>
      <pubDate>Wed, 23 Jul 2014 11:44:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2014/07/23/dyndns-at-ovh/</guid>
      <description>When you want to use a domain name with dynamic IP address, very often you’ll either have to use one of paid or free providers like http://dyndns.com/, http://duckdns.org/, etc… But it turns out that most of DNS providers offer dynamic DNS solution, in many cases it’s not very widely advertised. I use OVH for my domains, and after some time spend looking around, it turns out that they also support dynamic DNS.</description>
    </item>
    <item>
      <title>How to setup a Dogecoin node</title>
      <link>https://www.wlangiewicz.com/2014/05/26/how-to-setup-a-dogecoin-node/</link>
      <pubDate>Mon, 26 May 2014 11:43:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2014/05/26/how-to-setup-a-dogecoin-node/</guid>
      <description>Note: Setting up Dogecoin, Litecoin and Bitcoin nodes is very similar, you can check my other blog posts. This tutorial describes how to setup a new Dogecoin relay node on Linux server - this node will be used as relay node in the Dogecoin network and it’s not recommended to store anything in it’s wallet.&#xA;Download Dogecoin from official website: http://dogecoin.com/&amp;quot;&amp;gt;http://dogecoin.com/&#xA;At the moment the most recent version can be downloaded using this direct link: https://github.</description>
    </item>
    <item>
      <title>How to run Transmission torrent server on Linux server</title>
      <link>https://www.wlangiewicz.com/2014/05/25/how-to-run-transmission-torrent-server-on-linux-server/</link>
      <pubDate>Sun, 25 May 2014 11:42:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2014/05/25/how-to-run-transmission-torrent-server-on-linux-server/</guid>
      <description>This post is a quick tutorial on how to install and configure Transmission torrent client on Linux (Debian, Ubuntu) server in headless mode.&#xA;Create directory to store downloads:&#xA;mkdir ~/Downloads Install transmission (run as root or with sudo):&#xA;apt-get install transmission-daemon Add your user to debian-transmission group (run as root or with sudo):&#xA;usermod -a -G debian-transmission user Setup correct permissions to Downloads folder, for starters I suggest setting 777:</description>
    </item>
    <item>
      <title>How to setup a Bitcoin node</title>
      <link>https://www.wlangiewicz.com/2014/05/25/how-to-setup-a-bitcoin-node/</link>
      <pubDate>Sun, 25 May 2014 11:38:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2014/05/25/how-to-setup-a-bitcoin-node/</guid>
      <description>This tutorial describes how to setup a new Bitcoin node on Linux server - this node will be used as relay node in the Bitcoin network and it’s not recommended to store anything in it’s wallet.&#xA;Download bitcoin from official website: https://bitcoin.org/en/download&#xA;At the moment the most recent version can be downloaded using this direct link: https://bitcoin.org/bin/0.9.1/bitcoin-0.9.1-linux.tar.gz&amp;quot;&amp;gt;https://bitcoin.org/bin/0.9.1/bitcoin-0.9.1-linux.tar.gz&#xA;Extract archive:&#xA;tar xf bitcoin-0.9.1-linux.tar.gz Create bitcoin configuration file:&#xA;mkdir ~/.bitcoin Create new file in ~/.</description>
    </item>
    <item>
      <title>How to setup a Litecoin node</title>
      <link>https://www.wlangiewicz.com/2014/05/24/how-to-setup-a-litecoin-node/</link>
      <pubDate>Sat, 24 May 2014 11:40:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2014/05/24/how-to-setup-a-litecoin-node/</guid>
      <description>Note: Setting up Litecoin and Bitcoin nodes is very similar, you can check my previous post on how to setup a Bitcoin node. This tutorial describes how to setup a new Litecoin relay node on Linux server - this node will be used as relay node in the Litecoin network and it’s not recommended to store anything in it’s wallet.&#xA;Download Litecoin from official website: https://litecoin.org/&amp;quot;&amp;gt;https://litecoin.org/ At the moment the most recent version can be downloaded using this direct link: https://download.</description>
    </item>
    <item>
      <title>How to verify that SSL certificate matches key</title>
      <link>https://www.wlangiewicz.com/2014/05/11/how-to-verify-that-ssl-certificate-matches-key/</link>
      <pubDate>Sun, 11 May 2014 11:38:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2014/05/11/how-to-verify-that-ssl-certificate-matches-key/</guid>
      <description>In order to verify that OpenSSL key matches certificate you can run following command: For key:&#xA;openssl rsa -noout -modulus -in yourdomain.key | openssl md5 and for certificate:&#xA;openssl x509 -noout -modulus -in yourdomain.crt | openssl md5 and for CSR (Certificate Signing Request):&#xA;openssl req -noout -modulus -in yourdomain.csr &amp;lt;span style=&amp;#34;box-sizing: border-box; color: #2aa198;&amp;#34;&amp;gt;| openssl md5&amp;lt;/span&amp;gt; In all cases you should get the same output, for example:&#xA;(stdin)=d41d8cd98f00b204e9800998ecf8427e If the output is the same in all cases this means that keys match certificate.</description>
    </item>
    <item>
      <title>Running Playframework! on Raspberry Pi</title>
      <link>https://www.wlangiewicz.com/2014/01/11/running-playframework-on-raspberry-pi/</link>
      <pubDate>Sat, 11 Jan 2014 12:35:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2014/01/11/running-playframework-on-raspberry-pi/</guid>
      <description>Recently I wanted to see if it’s possible to run applications written in Scala and Playframework! on my Raspberry Pi&#xA;1. Java installation My Raspi was installed from raspbian image which had java already installed, if you need to install it yourself you can either do that manually (remember to choose ARM package) or use automated script like, OAB-Java ( https://github.com/flexiondotorg/oab-java6 )&#xA;2. Build application locally This step doesn’t differ on raspi, the command is the same</description>
    </item>
    <item>
      <title>Mosh: when your ssh connection breaks frequently</title>
      <link>https://www.wlangiewicz.com/2013/08/28/mosh-when-your-ssh-connection-breaks-frequently/</link>
      <pubDate>Wed, 28 Aug 2013 11:34:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2013/08/28/mosh-when-your-ssh-connection-breaks-frequently/</guid>
      <description>Mosh is a ssh-like tool that is really a drop-in replacement for a lot of SSH problems.&#xA;It works:&#xA;&amp;lt;span style=“line-height: 14px;”&amp;gt;when you switch networks: connecting or disconnecting from VPN, using mobile networks&#xA;when your connection frequently breaks / halts without unknown reason&#xA;when you have to login to servers on the other side of the world&#xA;etc….&#xA;All of this is achieved thanks to using UDP instead of TCP.</description>
    </item>
    <item>
      <title>My Experiences from ASCIIHack Wrocław</title>
      <link>https://www.wlangiewicz.com/2013/03/23/my-experiences-from-asciihack-wroc%C5%82aw/</link>
      <pubDate>Sat, 23 Mar 2013 12:31:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2013/03/23/my-experiences-from-asciihack-wroc%C5%82aw/</guid>
      <description>Last week I have attended event called “#asciihack Wroclaw” held by guys running HackKRK (http://www.hackkrk.com/) in Wrocław.&#xA;The idea of the event was to create an ASCII based game in a day, here’s how it look at similar event held in Kraków:&#xA;Most of the people attending were developing their games in Ruby, and only 2 teams decided to make them with Java. My team (me and Marcin Cichocki) decided to use very nice ASCII game library called AsciiPanel - https://github.</description>
    </item>
    <item>
      <title>Linux: remove files created before or after date</title>
      <link>https://www.wlangiewicz.com/2013/03/22/linux-remove-files-created-before-or-after-date/</link>
      <pubDate>Fri, 22 Mar 2013 12:28:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2013/03/22/linux-remove-files-created-before-or-after-date/</guid>
      <description>Very useful command if you want to remove files from current directory created between certain dates, in this case files will be older than 3 days and newer than 35 days, we also filter out only files with “-type f parameter”&#xA;find . -mtime +3 -mtime -35 -type f | grep -v ‘/.’ | xargs rm If you only want to list those files without removing them use this:&#xA;find .</description>
    </item>
    <item>
      <title>Max Java String Length</title>
      <link>https://www.wlangiewicz.com/2013/03/03/max-java-string-length/</link>
      <pubDate>Sun, 03 Mar 2013 12:25:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2013/03/03/max-java-string-length/</guid>
      <description>I was wondering about what would be the maximum String length in Java, and the funny thing is that Java’s Strings are Arrays that are indexed by int.&#xA;So the maximum String length is&#xA;And this is true for any Java Array:&#xA;http://stackoverflow.com/questions/1179983/how-many-characters-can-a-java-string-have&#xA;http://stackoverflow.com/questions/816142/strings-maximum-length-in-java-calling-length-method&#xA;http://stackoverflow.com/questions/3038392/do-java-arrays-have-a-maximum-size</description>
    </item>
    <item>
      <title>What is kjournald and why it&#39;s using 99% of IO? What about noatime?</title>
      <link>https://www.wlangiewicz.com/2013/02/18/what-is-kjournald-and-why-its-using-99-of-io-what-about-noatime/</link>
      <pubDate>Mon, 18 Feb 2013 12:24:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2013/02/18/what-is-kjournald-and-why-its-using-99-of-io-what-about-noatime/</guid>
      <description>I have noticed this process in iotop using a lot of CPU/IO time and I started to wonder what is it doing. It turns out this is a journaling process of ext3 partitions: http://serverfault.com/questions/236836/kjournald-reasons-for-high-usage Very often it’s related to not using noatime mount option. Generally this mount attribute is used to lower the IO load, but it prevents kernel from setting last access time to a file (which is rarely needed):</description>
    </item>
    <item>
      <title>My .screenrc Configuration</title>
      <link>https://www.wlangiewicz.com/2013/02/08/my-.screenrc-configuration/</link>
      <pubDate>Fri, 08 Feb 2013 12:22:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2013/02/08/my-.screenrc-configuration/</guid>
      <description>This is my .screenrc file that I always use and copy it everywhere I login.&#xA;autodetach on shell -${SHELL} defscrollback 2024 startup_message off hardstatus on vbell off hardstatus alwayslastline hardstatus string &amp;#39;%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c %{g}]&amp;#39; </description>
    </item>
    <item>
      <title>Fixing MySQL replication that is stuck</title>
      <link>https://www.wlangiewicz.com/2013/02/02/fixing-mysql-replication-that-is-stuck/</link>
      <pubDate>Sat, 02 Feb 2013 12:20:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2013/02/02/fixing-mysql-replication-that-is-stuck/</guid>
      <description>If your MySQL replication is stuck for example on&#xA;CREATE / ALTER TABLE ... (or few others) because for example for the tables that already exist on the slave, there’s quick fix that can be applied on MySQL slave:&#xA;SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE; This will force slave to skip one command (that is causing it to stop) and then replication is started back again.&#xA;Depending on the root cause of the problem of stopped replication there are other solutions – but this works in the case described above.</description>
    </item>
    <item>
      <title>Attaching to BOINC project from Linux console</title>
      <link>https://www.wlangiewicz.com/2013/02/02/attaching-to-boinc-project-from-linux-console/</link>
      <pubDate>Sat, 02 Feb 2013 12:16:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2013/02/02/attaching-to-boinc-project-from-linux-console/</guid>
      <description>So my AWS EC2 free instance is running, for now I’ll use it as a Boinc maching, what is boinc?&#xA;This is the summary from wikipedia:&#xA;The Berkeley Open Infrastructure for Network Computing (BOINC) is an open sourcemiddleware system for volunteer and grid computing. It was originally developed to support the SETI@home project before it became useful as a platform for other distributed applications in areas as diverse as mathematics, medicine, molecular biology, climatology, and astrophysics.</description>
    </item>
    <item>
      <title>check if given number is prime</title>
      <link>https://www.wlangiewicz.com/2009/04/28/check-if-given-number-is-prime/</link>
      <pubDate>Tue, 28 Apr 2009 11:56:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2009/04/28/check-if-given-number-is-prime/</guid>
      <description>This problem in general is very complicated, but when we don&amp;rsquo;t need to be 100% sure (but probability is near 1) about our results there is a very easy way to do this.&#xA;We&amp;rsquo;ll use method isProblablePrime from class BigInteger.&#xA;This method as a argument gets probability level, it&amp;rsquo;s calculated as 1 - 1/(2^x), where x is argument, so for x = 20, we can be nearly fully sure about result, the probability is 0,99999904632568359375.</description>
    </item>
    <item>
      <title>adding icon to your MIDlet</title>
      <link>https://www.wlangiewicz.com/2009/04/16/adding-icon-to-your-midlet/</link>
      <pubDate>Thu, 16 Apr 2009 11:55:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2009/04/16/adding-icon-to-your-midlet/</guid>
      <description>Hello, this topic is also not very complicated, so the post will be quite short.&#xA;We have to remember about some rules before we add icon to a MIDlet:&#xA;Only PNG&amp;rsquo;s are allowed icon&amp;rsquo;s size is not standarized some phones will expand smaller icons, some won&amp;rsquo;t the icons that are to big might be shrinked or cut to smaller, we can&amp;rsquo;t decide I recommend using size 32x32, it is smaller than most phones can hold, so at least we can be sure, that it won&amp;rsquo;t be cut icon files, if we want to reffer to it as: &amp;ldquo;/icon.</description>
    </item>
    <item>
      <title>JAD and JAR files</title>
      <link>https://www.wlangiewicz.com/2009/03/23/jad-and-jar-files/</link>
      <pubDate>Mon, 23 Mar 2009 12:54:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2009/03/23/jad-and-jar-files/</guid>
      <description>Today&amp;rsquo;s post will be divided into 2 parts, first will cover JAD files and second will be about JARs.&#xA;Part I&#xA;JAD stands for Java Application Descriptor, it&amp;rsquo;s a special file prepared (mostly) by IDE in the process of building/compiling project. It&amp;rsquo;s used (as the name indicates) to describe file containing application (JAD doesn&amp;rsquo;t contain application). JAD&amp;rsquo;s are used to set/provide information about program&amp;rsquo;s attributes like:&#xA;information about size application&amp;rsquo;s name version vendor (author) icon path comment MIDP/CLDC requirements It will be mostly appreciated by users, who want for example to install program over the internet.</description>
    </item>
    <item>
      <title>howto: first mobile application in Netbeans</title>
      <link>https://www.wlangiewicz.com/2009/03/17/howto-first-mobile-application-in-netbeans/</link>
      <pubDate>Tue, 17 Mar 2009 12:53:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2009/03/17/howto-first-mobile-application-in-netbeans/</guid>
      <description>Today I&amp;rsquo;ll show how to create new mobile app project using Java Mobile and Netbeans (if you don&amp;rsquo;t have Netbeans installed, read my recent post). If you have installed IDE properly, you should see this screen:&#xA;To start new project click:Next, choose options responding to what kind of project you want to create. Select &amp;ldquo;Java ME&amp;rdquo; and &amp;ldquo;Mobile Application&amp;rdquo;Now, choose project name and path. Also you need to select options &amp;ldquo;Set as Main Project&amp;rdquo; (about it later), and &amp;ldquo;Create HelloMIDlet&amp;rdquo; which is responsible for creating default MIDlet (Java Mobile application for mobile phone).</description>
    </item>
    <item>
      <title>Java Mobile - introduction</title>
      <link>https://www.wlangiewicz.com/2009/03/09/java-mobile-introduction/</link>
      <pubDate>Mon, 09 Mar 2009 19:00:00 +0000</pubDate>
      <guid>https://www.wlangiewicz.com/2009/03/09/java-mobile-introduction/</guid>
      <description>Firstly, quick introduction: JavaMe (also known as: j2me, jme, java me, Java Mobile Edition, &amp;hellip;) is a special version of Java (in fact it is &amp;ldquo;frozen&amp;rdquo; Java 1.3, maybe with some features) dedicated to devices with low computing power, we distinguish two configurations: CDC (palmtops, more powerful phones, &amp;hellip;), CLDC (Connected Limited Device Configuration) - baisicaly every other phone.&#xA;Configurations include basic classes, and they are extended by profiles (MIDP - Mobile Information Device Profile), all new phones should handle MIDP version 2.</description>
    </item>
  </channel>
</rss>
