RSS

Category Archives: Misc

We want YOU at JDD Kraków 2017

Episode 82

In the previous episode, I promised you a detailed guide to passing AWS Developer and Architect certifications, but there is something I wanted to share with you first. How To Train Your Java was recently invited to be a media patron of JDD conference – a Java event that is going to take place October 3-4 in Kraków, Poland. Today we are going to check what is to be expected there. If you would like to attend, there will be an opportunity to get a discount on tickets or even get one free. Keep calm and read on.

988x302

JDD is a two-day conference, which is developed in cooperation with leading Java specialists in Poland. This year more than one thousand professionals will meet at EXPO Kraków conference center to participate in presentations and workshops Read the rest of this entry »

 
2 Comments

Posted by on September 25, 2017 in Misc, News, Technology

 

Tags: , ,

Geecon 2017 Kraków: Day Three

Episode 73

Two weeks ago we have covered first day of Geecon 2017 Kraków conference, day two was week ago. Now it’s time to take a closer look at third and final day. I’ve managed to participate in five talks this time.

Market_square_Krakow_900px.jpg

Henning Schwentner: Value types – the next big Java Thing.

“Codes like a class, works like an int” is the idea behind project Valhala – value types, the next big thing planned for Java after lambdas and modules. Objects have variable state and reside on heap, while values are immutable and reside on stack. The main benefit is ability to create rich domain models while retaining the high performance of primitives. Value types definition will be Read the rest of this entry »

 
Leave a comment

Posted by on June 8, 2017 in Misc, News, Technology

 

Tags: , , ,

Geecon 2017 Kraków: Day Two

Episode 72

Last week went through stuff from the first day of Geeon 2017 conference, which took place between 17th to 19th May in Kraków. Today we will continue and cover seven talks I’ve been to on day two. There will be a lot of reactiveness, events, architecture, APIs, security and some pretty low level topics.

686586676_002d6111b5_b.jpg

Jakub Pilimon: Event Sourcing

Command query responsibility segregation, event sourcing and event driven architectures are typical buzzwords on conferences nowadays. Jakub introduced the idea and confronted the approach with relaying on object-relational mapping to do the job. There was quite a lot of live code and Hibernate guts debugging. We heard stories on how Twitter almost collapsed in 2012 due to using the same models for writing and reading data and how to lose a girlfriend due to different projections of event log in the relationship. Read the rest of this entry »

 
1 Comment

Posted by on June 1, 2017 in Misc, News, Technology

 

Tags: , , ,

Geecon 2017 Kraków: Day One

Episode 71

As I’ve mentioned in the previous episode, I was attending a conference. Geecon 2017 took place between 17th to 19th May in Kraków. There were four tracks without explicit categorization, roughly 80 talks and 1200 people. The focus was mostly on Java with a pinch of soft topics, agile and similar stuff. It was the ninth edition, which took place at cinema complex about 5 kilometers from the city center.

geecon_logo

I’m a car person. Apparently, I have a train curse. Whenever I take a train, it is either significantly delayed, or breaks down in the middle of nowhere (hi Pyrkon 2013…). I was a bit hesitant to test the curse, and it still works to full extent, but more on that later. Let’s get down to business and review what I was able to grab from the event.

Talks

On day one, I’ve attended seven and a quarter of talks. A quarter, because one was so weak, that I’ve left after 15 minutes and started to wander mindlessly in the sea of conference sponsors. Let’s skip that one and see what good was out there. This will be a content-dense ride.

David Moore: Wrestling the Monolith

“Software is not done until last user is dead” – was the takeaway I liked the most in the keynote from Read the rest of this entry »

 
4 Comments

Posted by on May 25, 2017 in Misc, News, Technology

 

Tags: , , ,

Windows Subsystem for Linux

Episode 69

Last five weeks we focused on Amazon Web Services, let’s have a short break from that. Recently I’m working in a project where majority people works on Mac (why… ) or Linux (why… ) while I’m definitely a Windows user due of numerous reasons I’m not going elaborate on in this article. Honestly I’m still startled, since I was never in an environment where more than 10% of developers used anything else than Windows on their work stations (I’m not talking servers), and I was in quite a few environments. Anyway, unfortunately, OS agnosticism is a distant value to some people, so I was often finding myself in a situation where I need to either convert stuff to be OS independent or to run on Windows. At some point I grew tired of that and looked for a ways to run Linux shell scripts on my machine.

penguin_by_forrestimel-d5htxg3.png

There are quite a few, and one of them will be our topic today. Windows Subsystem for Linux, also known as WSL, Bash on Ubuntu on Windows, or just Bash on Windows gives us the Ubuntu shell build into Windows 10. You can run Linux commands, download and install programs and access files on Windows partitions. It’s still an experimental feature, but works very well for my needs.

There is a Penguin on my Window!

It’s not a virtual machine, it’s not a Docker container, It’s not a library nor an emulator. It’s a new kernel layer, more or less, based on Microsoft’s Astoria Project that was meant for Read the rest of this entry »

 
Leave a comment

Posted by on May 11, 2017 in Misc, Technology

 

Tags: , , , ,

Software Gardening: Beyond Craftsmanship

Episode 55

In the past I wrote quite a lot about the nature of software developer. There was a comparison to scientist, then engineer, martial artist and finally to something based on medieval craftsman, who combines all three to an extent. However, some time ago I’ve encountered yet another metaphor for our profession that felt quite appealing.

little_gardener_by_irina_ponochevnaya-d9qc7m0

It’s the Software Gardener. The person that works not on an inanimate object, but on living, organic ecosystem that is constantly changing in unpredictable ways, and depends greatly on environmental factors. Let’s see what it’s all about.

Birds Are Chirping About the Gardener

The metaphor is not that common. I sit quite a lot on LinkedIn (probably more than typical software developer does and should) and I recall only one person that called herself that. Google finds about 5k results on “software gardener”, not much compared to 159k on “software craftsman”, 33M on “software developer” or 44M on “software engineer”. While the parallel to software craftsmanship was first drawn in 1992 by Jack Reeves, the parallel to gardening is not that young either. Read the rest of this entry »

 
Leave a comment

Posted by on February 2, 2017 in Misc

 

Tags: ,

Seniority in Programming: Part Two

Episode 44

Last week, in part one of this article, I was pondering about levels of competence in general and in software development. I looked at mainstream naming schemas, recalled metaphor to medieval craftsmanship, described ranks in Japanese martial arts, presented SFIA skill framework and finally ability’s dots in role-playing game system. Now, let’s try to do something with it. How much levels do we actually want? Well, let’s have four.

junior.jpgApprentice

  • HR would call it junior developer
  • Sensei would call it 5th to 4rd kyu
  • SFIA would call it level 2 to 3, the one who assists and applies
  • VtM handbook would call it 2 dots, the practitioner

We all have to start somewhere. I’m assuming that this is how we should call a person that begins professional career in software development, and has knowledge usually associated with at least bachelor degree in computer science or closely related field. Apprentice has some theoretical grasp and academic experience, but not much, if any, with commercial projects. Why skip 1st level of SFIA and 1st dot in VtM handbook? Because to be employed as junior developer, you have to know quite a lot. It’s not like random person from the street can get the job and do well after some on-site training. It’s not a damn factory. One need to understand some basics of computer science, and be able to code something. I’m not saying academic degree is a must, because many prominent programmers don’t have one, but some knowledge in the field is a Read the rest of this entry »

 
2 Comments

Posted by on November 17, 2016 in Misc, Recruitment

 

Tags: , , , ,

A Brief History of Java and Vampires

Episode 42

As you may have noticed, my focus in this blog is shifting away from Java itself to more general topics related to software development, despite having “Java” word in the blog name. Well, two months ago I even changed the name from JEE to Java, because I felt JEE was too specific. Let’s get back to roots and explore a bit of history of the Java platform.

As a Halloween guest stars, the article will feature the story of creatures of the darkness, as portrayed in role-playing game Vampire the Masquerade. Lets look at their hierarchy, from oldest to youngest.

Antediluvians4262393-dracula-untold-master-vampire

Said to be vampires of incalculable power, each of whom survived the Biblical Deluge. Considered to be the founders of the thirteen clans and members of the third generation.

1990 – In December, Patrick Naughton starts the Stealth Project which will later become what we now know as Java. The aim is to create a platform that will speed up software development and render C++ language and its tools obsolete.

1991 – The Green Project is the new name of the platform, James Gosling and Mike Sheridan are also on the team, which now consist of 13 people in total. Gosling starts the work on the core platform language, then called the Oak.

1992 – First internal demonstration of the platform. Duke, the future Java mascot makes first appearance. Read the rest of this entry »

 
2 Comments

Posted by on October 31, 2016 in Misc, Technology

 

Tags: , ,

Why work for a software company?

Episode 37

When I was looking for a new job recently, I had a strong resolution, that I’m going to work for a company that is doing software. Not telecommunication equipment that requires software. Not financial products that require software. Not trucks that require software. I wanted a company, that does the damn software for a living. And I will tell you why.

Case one: Technology Corporation

800px-base_transceiver_stationIt’s not bad, could be worse. Companies that focus on technology usually have some kind of understanding for engineers. Usually. There is the corporate aspect though with all the bureaucratic nonsense. The bigger the company is the more problematic the aspect of scale becomes. Some people are allergic to presence of nonsense, and probability dictates, that with scale, at some point you will encounter the nonsense and might get frustrated.

The urban legend says, there is a quarter million Euro device rusting on the shelf in a lab. It’s needed, but no one knows how to turn it on. The one competent guy who knew left the company because he was unable to get a hundred Euro rise. We can’t rehire him for a year because of policy. Meanwhile new people straight from university are paid more than that  competent guy who left, because Read the rest of this entry »

 
6 Comments

Posted by on September 29, 2016 in Misc, Recruitment

 

Tags: ,

Good commit message

Episode 36

Last time we talked about version control, so let’s elaborate a bit on that. One of the aspects of using version control is the possibility of commenting on changes you do in the code. Actually, it shouldn’t be only the possibility, it should be a necessity.

The Template

Git documentation provides a standard template and guidelines for commit message, let’s have a look.

Capitalized, short (50 chars or less) summary

More detailed explanatory text, if necessary.  Wrap it to about 72 characters or so.  In some contexts, the first line is treated as the subject of an email and the rest of the text as the body.  The blank line separating the summary from the body is critical (unless you omit the body entirely); tools like rebase can get confused if you run thetwo together.

Write your commit message in the imperative: “Fix bug” and not “Fixed bug” or “Fixes bug.”  This convention matches up with commit messages generated by commands like git merge and git revert.

Further paragraphs come after blank lines.

– Bullet points are okay, too

– Typically a hyphen or asterisk is used for the bullet, followed by a single space, with blank lines in between, but conventions vary here

The News

The most important question to be answered by the commit message, is Read the rest of this entry »

 
1 Comment

Posted by on September 22, 2016 in Misc, Technology

 

Tags: , , ,