DDD Perth 2019 looks get bigger than 2018. 835 developers joined and more than 200 were in waiting list. Food got better than last year. Multiple coffee post was another small improvement as there was a massive queue last year on a single coffee post.
What I couldn’t understand is that there were 6 tracks and each track wasn’t dedicated to the same topic. I expected a track is for AI, the other for front-end, etc, etc. But, the sessions were all mixed among tracks.
The keynote was AI for Earth by Jennifer Marsman (@jennifermarsman). It was good to see the actual cases where AI is being used. I haven’t much played around AI though, it seems to me that it’s more difficult to find perfect real-life cases to utilize AI than the technical side of AI. One of the examples is to recognize a type of mosquito by reading it when the mosquito passes through. Another example is recognizing poachers from real-time images from a drone. These are a typical image/video recognition and this is what AI does well. The important point here is the effort to apply AI in real-time to make a difference. I should try a few real-life AI application.
The first session I joined is Dependency Injection is only 1/5 of the Inversion of Control problem by Daniel Sagenschneider(@sagenschneider). Normally I apply DI using IoC container like Autofac and inject infrastructure layer such as DB layer, file access, logging. The speaker here argued that these DI is 1/5 of IoC so the programs are still coupled so it is hard to refacter it. The other elements coupled in a method are return type, method name, handling of exception and thread provided to the method. and these can be injected using IoC principle. He even created a tool(http://officefloor.net/) to make this happen. This is intersting concept. However, there is no silver bullet. I wondered what would be a side effect of doing this.
Next session is a popular topic, GraphQL, gRPC or REST? Resolving the API Developer’s Dilemma by Rob Crowley(@robdcrowley). GraphQL is hot and gRPC seems to get traction. I expected real application examples and code comparison. But, as other seesion in DDD Perth, it’s more about concepts and summary only. In the end, Each of these has it’s best fit for the requirements. In particular, GraphQL is not replacing REST or better than REST. It’s just another protocal and has its place to be.
Next session is A web developer’s journey to the app store, and how you can do the same by Jacob Impson(@jacobimpson). He introduced mobile development framework, Flutter, which is another mobile development tool like React Native or Xamarin. Developed by Google and can be used for iOS, Android, etc. Don’t use html or CSS. It uses a new language called Dart. Sounds like a whole new world. Not sure it’s worth over Xamarin for C# / MS-stack developer like me.
Next seeion is Finding a Needle in a Call Stack – Intro to Distributed Tracing by
Josh Michielsen(@jmickey_). FYI, underscore in twitter id is not a typo. He shared a experience using a tracing tool, Jaeger, which is useful to trace in a distrubuted, microservice architecture system. This tools can be used with system monitoring tools like new relic or datadog, which is to find if something is wrong. Jaeger is to find where is wrong. This seems especially useful in a distributed system. As system arhitecutre evloves to microservices, it’s getting harder to pinpoint where the problem is.