Weekly notes 6

This year has started slowly and weekly notes has frozen to monthly notes. This time they tell us i.a. how to put Spring Boot in Docker, useful features of Java EE 7, ponder what all there’s to do to launch your mobile app, read tips how to get better with Node.js and how smaller is better. And finally we have Yoga routine to keep our body in shape.

Issue 6, 2016-01-27

Java is strong with this one

Java EE 7 At A Glance and Top 10 Java EE 7 Backend Features
A rundown of some of the most useful Java EE features – most of which look quite handy.

New year’s Spring Boot tricks in a container
Read how you can combine Spring Boot’s hot restarting and running application in a Docker container. Of course you could just run Spring Boot from the IDE and expose the MongoDB container port for the application.

Nashorn: Run JavaScript on the JVM
Nashorn is a high-performance JavaScript runtime written in Java for the JVM. It allows developers to embed JavaScript code inside their Java applications and even use Java classes and methods from their JavaScript code. But why would you want to do that?

Mobile app development is fun?

Everything you need to launch your app
Good checklist to go through during app development and when you’re going to launch your app. Launching an app isn’t as straightforward as you would think. (from Indie iOS Focus Weekly 48)

Everything you need to know about app screenshots
And with everything it really means that. Making screenshots of your app isn’t as easy as you would think. (from Indie iOS Focus Weekly 46)

Creating perfect App Store Screenshots of your iOS App
More about app screenshots. This time doing it “the right way” for all device types and languages. Isn’t easy this time either but it’s automated. You just need to use snapshot, frameit and to use UI Tests.

Why you shouldn’t bother creating a mobile app
Post-mortem of Birdly, a receipt management app in the business to business market. Gives insight and lessons to learn about the App Store. Even though the app had good use case the users didn’t really need it. (from Indie iOS Focus Weekly 48)

Tools

Find & fix known vulnerabilities in Node.js dependencies
Snyk looks to be quite crafty tool to find & fix known vulnerabilities in Node.js dependencies. Integrate Snyk into your CI and monitoring your applications for newly disclosed vulnerabilities.

TL;DR; Simplified man pages
Simplified man pages for when you just need to get shit done. Finally! You can use different clients for it and install if from e.g. npm install -g tldr.

pre-commit hooks
Some out-of-the-box hooks for pre-commit. See also: pre-commit.

Getting better is good?

Reduce Your bundle.js File Size By Doing This One Thing
Simple! Use relative file paths. The article looks at two examples to show the difference.

The Website Obesity Crisis
Keynote from Web Directions 2015: The Website Obesity Crisis. Beautiful websites come in all sizes and page weights but mostly-text sites are growing bigger with every passing year when there’s no reason for that. There’s also video.

How to Become a Better Node.js Developer in 2016
Tips and best practices not just for development but how to operate Node.js infrastructures, how you should do your day-to-day development and other useful pieces of advice. (from Twitter)
TL;DR; Use ES2015, follow callback conventions and async patterns, take care with error handling, use JavaScript standard style, follow the Twelve-Factor application rules, monitor your applications, use build system, update dependencies weekly and keep up.

Something different

15-minute yoga routine to enhance balance and agility
See how yoga can help you to enhance your balance and agility, including a 15-minute video that demonstrates these principles. This is targeted more for mountainbike riders than developers but better agility and balance doesn’t hurt anyone :)

The 100 best photographs ever taken without photoshop
Nature and humankind are both great artists, and when they join forces, amazing masterpieces can be produced.

Weekly notes 5

Christmas holidays is soon here but before that it’s time to see what I’ve read this week. I’ve been playing with legacy Java EE 5 development and came across System Integrity Protection in OS X which prevents you of installing JDK 5. And on top of that I just wish I could run OC4J with JDK 5 on Docker as you can do for WebLogic 12.2.1. In security point of view there was startling announcement as Juniper Networks had found backdoor in their firewalls code. We also learn the basics of web accessibility and if you’re not using dotfiles and you’re on Linux or OS X, now is a good time to start.

Until next week, Happy Holidays!

Issue 5, 2015-12-23

Technical

Survey of essential tools/frameworks for the modern Java developer
Opinionated choices for modern Java developer.

Java EE Kick-off app
Java EE kickoff app is an app skeleton that demonstrates a couple of technologies:
JSF 2.1 views, CDI backing beans, JASPIC authentication, EJB services, Bean Validation, JPA models, Java EE 6 and H2 database.

What is the “System Integrity Protection” feature in El Capitan?
I was developing legacy Java EE 5 application and came across problems with installing JDK5 for OS X El Capitan. Turns out that even with root you can’t modify certain directories. It’s for your own protection. Annoying.

The Serverless Start-Up – Down With Servers
Do you need servers? Using AWS Lambda to build a startup that has no servers per se. (from Weekend reading)

The web accessibility basics
List of absolute web accessibility basics every web developer should know about and which are extremely easy to implement but matter a lot. Next time you build something, consider incorporating those few things. (from WDRL 117)

Tools

3 Disasters Which I Solved With JProfiler
Interesting article of using JProfile to solve problems caused by using JPA and Hibernate.

WebLogic 12.2.1 on Docker
Interesting article with examples of how to run WebLogic 12.2.1 on Docker as I just played with Vagrant and Ansible for creating legacy Java EE 5 development environment with OC4J. Maybe in the future legacy environments are easier to manage as you can virtualize them more easily.

Unofficial guide to dotfiles on GitHub
Good source for dotfiles with different environments and tools. I’ve found that Mathias Bynens’ OS X defaultsscript is legendary. (from Hacker News)

To think about

One Googler’s take on managing your time
If you don’t have time to read this… read it twice. The maker’s day is most effective in half-day or full-day blocks. Commit to protecting Make Time on your calendar including the time and place where you’ll be making, and ideally detail on what you’ll be making. That way, you know, it’ll actually happen.

Security

Detect and disconnect WiFi cameras in that AirBnB you’re staying in
There have been a few too many stories lately of AirBnB hosts caught spying on their guests with WiFi cameras, using DropCam cameras in particular. Here’s a quick script that will detect two popular brands of WiFi cameras during your stay and disconnect them in turn.

Researchers Solve Juniper Backdoor Mystery; Signs Point to NSA
Internal code review pays off for Juniper. This week Juniper Networks revealed in a startling announcement that it had found “unauthorized” code embedded in an operating system running on some of its firewalls, ScreenOS. As the terrific summary of the Juniper backdoor explains, it allowed attackers to take complete control of Juniper NetScreen firewalls. This is a very good showcase for why backdoors are really something governments should not have in these types of devices because at some point it will backfire when other hackers will piggyback on top of existing backdoor to build their own backdoor.

Instagram’s Million Dollar Bug
tl;dr; Security researcher finds remote code execution vulnerability in Instagram which pivots to getting all kinds of data from AWS S3 but Facebook CSO plays it down to trivial and a thing which violates the poorly worded whitehat program rules. The point of this story is that Facebook fails on their bug bounty program as their actions show that it would be better just to “sell million dollar bugs on the black market for a million dollars” and not get threaten with legal actions for just being a good guy.

Something different

20+ Cheatsheets & Infographics For Photographers
Informatic cheatsheets for photographers covering various aspects of photography. Also a good resource for fresh and new ideas.

Weekly notes 4

This week there are couple of books to read which helps you to learn functional programming, realize that you don’t know JavaScript and helps you to build Kanban board with Webpack and React. Also you can read thoughts on securing OS X, get some information about Spring Boot memory performance and read about reasonable approach to React and JSX. Happy reading.

Issue 4, 2015-12-16

Technical

Spring Boot Memory Performance
Interesting article about Spring Boot memory performance (and tools to measure it). But shouldn’t we compare it to Java EE?

Hibernate Logging Guide
Logging database queries with Hibernate is relatively easy but it’s good to recall the logging options. Like use different log categories and don’t use show_sql to log SQL queries.

Here are some of the best resources to learn about PHP 7
PHP 7 is out and it might be time to learn more about it and migrate from 5.6.X to 7.0.X. For example benchmarks of WordPress using PHP 7 are showing a 2-3x speed improvement. The only question is if the plugins are ready for PHP 7? (from WDRL 116)

Airbnb React/JSX Style Guide
“A mostly reasonable approach to React and JSX” (from Weekend Reading)

Books

Professor Frisby’s mostly adequate guide to functional programming
Book on the functional paradigm in general which uses the world’s most popular functional programming language: JavaScript. Available in ePUB, MOBI and PDF.

You Don’t Know JS (book series)
Series of books diving deep into the core mechanisms of the JavaScript language. The series is released in GitHub as drafts, free to read and you can get buy them through O’Reilly.

SurviveJS – Webpack and React
SurviveJS – Webpack and React shows you how to build a simple Kanban application based on these technologies. There’s a free online version of the book and Leanpub version with extra content.

Good to know

What the Web Can Do Today
Good list of feature sets on the web. Includes code examples.

OS X security and privacy guide
Collection of thoughts on securing a modern Apple Mac computer using OS X 10.11 “El Capitan”, as well as steps to improving online privacy. Targeted to “power users”.

Something different

Empire of Code
Empire of Code is a space game with a mix of strategy, tactics and coding.
You can play the game with or without coding skills, but knowing how to code will definitely give you an advantage. Unleash your Python and JavaScript skills.

Empire of Code

Weekly notes 3

It has been rainy week here in Finland with pre-christmas parties (again) and also our 98th independence day. Yay! This weeks articles are about JavaScript, Microservices, User experience and tutorial for ToDo app with React.js.

Issue #3, 2015-12-09

Technical

Advancing JavaScript without breaking the Web
Christian Heilmann presented earlier this year at the MunichJS meetup how the advancements in ECMAScript (aka JavaScript) are a great opportunity, but also a challenge for the web. His article with slides and video takes a look at how whilst adding new, important features we’re also running the danger of breaking backwards compatibility.

Spring Boot Microservices, Containers, and Kubernetes – How-to
Ray Tsang discusses how to create a Java-based microservice using Spring Boot, containerize it using Maven plugins, and subsequently deploy a fleet of microservices and dependent components such as Redis using Kubernetes.

Building for HTTP/2
Rebecca Murphey shares the fresh concepts of HTTP/2 and how it will affect our tool and build-chain for JavaScript applications. A few good thoughts in there that we can keep in mind to optimize the delivery of large-scale front-end applications. (from WDRL 115)

User experience

How to fix a bad user interface
Some good advice how to fix a bad user interface. tl;dr; Handle your app User Interface states. (from Hacker News)

How Apple Is Giving Design A Bad Name
“Apple is destroying design… revitalizing the old belief that design is only about making things look pretty.” And with recent iPhone Battery case Apple looks to have lost the spark. (from Userfocus Dec 2015)

Good to know

Using the HTML5 Fullscreen API for Phishing Attacks
I was wondering why browsers show the “annoying” message when you go into fullscreen mode but it’s there for a reason, to let people detect phishing attacks. (from WDRL 115)

Tools of the trade

Let’s Encrypt now in public Beta
Let’s Encrypt is a new Certificate Authority with the goal of helping everyone encrypt. It’s free, automated, and open. Now in Public Beta so you can give it a try by following this guide. (from Hacker News)

Must see JavaScript dev tools
A great walk through some of the greatest JavaScript developer tools that currently exist and why Eric uses them. (from JavaScript Weekly 261)

Linux Performance analysis in 60s
Netflix blog presents tools for doing Linux Performance Analysis in 60,000 Milliseconds. (from Hacker News)

Gadgets

Raspberry Pi Zero: the $5 computer
Raspberry Pi gets even smaller and cheaper with the Zero and provides almost the same processing power as the original. Unfortunately they sold out quickly and didn’t get one yet. (from Hacker News)

Getting started

How to Build a Todo App Using React, Redux, and Immutable.js.
Build a test-driven example “Todo Application” using React. So many new tools to go through. (from JavaScript Weekly 261)

An Introduction to ClojureScript tutorial
ClojureScript is a popular Clojure to JavaScript compiler. (from JavaScript Weekly 261)

Something different

Brikbook
MacBook case you can decorate with Lego bricks.

Weekly notes 2

Weekly notes are here again and I have to say that the week has passed swiftly. With all the pre-christmas parties and switching jobs, I also managed to read some articles. Here are my chosen articles for this week.

Issue #2 // Week 49, 2015

Technical

Exploring the Wall Street Journal’s Pulitzer-Winning Medicare Investigation with SQL
Interesting writeup with examples how they used SQL to cover controversial practices in Medicare billing in Wall Street Journal’s Pulitzer-Winning ‘Medicare Unmasked’ data investigation. (from Slashdot)

Segment’s Engineering Team’s Best Practices
There are lots of “Best Practices” you gather while working with things and Segment’s Engineering Team chose a handful of ‘pro tips’ to share that seemed most broadly applicable. They keep their engineering guidelines in Wiki page. Do you? (from Weekend reading)

Broken Performance Tools (pdf)
Good overview to performance tools and how to be cautious using them as they are broken and misleading. Trust nothing, verify everything. Observe, Profile and Visualize Everything. Benchmark Nothing. Do Active Benchmarking. (from IRC)

Tools of the trade

What Are The Best JavaScript IDEs?
Crowdsourced summaries and comparisons of 18 different IDEs and text editors used by JavaScript developers. (from JavaScript Weekly)

1Password for teams
Passwords are everywhere and 1Password for team sharing is said to be better than Meldium, OneLogin or Bitium. It has fantastic UI, works great on mobile, can share logins, WiFi, credit cards, notes and documents. (from Weekend reading)

Zube, task board for Github issues
Zube is a task board for Github issues looks crafty. (from Weekend reading)

To watch

HTTP/2 101: A 25 Minute Introduction to HTTP/2
Good talk by an engineer on the Chrome team about the second major version of the HTTP network protocol which is already supported by most major browsers.

To think about

Seriously, Don’t Use Icon Fonts
I’m not sure what’s my opinion about using icon fonts and by reading the comments the issue isn’t quite clear. SVG browser support is fine so there is no need to use icon fonts anymore as it can harm accessibility. (from Web Design Weekly)

Buffer’s Transparent salaries
Salaries seems to be a thing you don’t talk about but maybe we should. Couple of years ago Buffer shared their transparent salary formula and now they have update it and made a web app to test it. Haven’t seen similar approaches here in Finland although if I remember right Vincit has internally transparent salaries.
(from Web Development Reading List)

Chrome Extensions – AKA Total Absence of Privacy
Using extensions should be done with care as they aren’t always what they look like. Some Chrome extensions are constantly tracking you per default, making it very difficult or impossible for you to opt-out. These extensions will receive your complete browsing history, all your cookies, your secret access-tokens used for authentication (i.e., Facebook Connect) and shared links from sites such as Dropbox and Google Drive. (from Weekend reading)

Weekly notes 1

For some time I’ve been reading several newsletters to keep note what happens in the field of software development and the intention was also to share the interesting parts here. And now it’s time to move from intent to action.

In the new “Weekly notes” series I share what interesting articles I have read with short comments. The overall topic is technology but other than that they can cover all things related to software development, from web applications to mobile development and from devops to user experience. I’ll publish my reading list every week or every two weeks.

I also tweet about interesting topics so follow me on Twitter:

Issue #1 // Week 48, 2015

Technical

Ludicrously Fast Page Loads – A Guide for Full-Stack Devs
Nate Berkopec explains in detail how can you diagnose performance issues on the frontend of your site with the use of Chrome Timeline. (from CSS Weekly, #185)

The Docker Monitoring problem
Detailed look at why monitoring containers is both different and difficult for traditional tools. Also a good introduction to Linux containers. (from DevOps weekly, Issue 204)

Tools of the trade

Continuous Integration Platform using Docker Container: Jenkins, SonarQube, Nexus, GitLab
Setting up CI is easy but moving beyond that and getting value out of the CI is different matter. This article covers some of the practices to employ. (from Java Web Weekly 42)

Amazon Web Services in Plain English
Amazon’s services are everywhere but with 50 plus opaquely named services, some plain English descriptions were needed. (from Hacker News)

Modern Java – A Guide to Java 8
Java 8 brings quite a lot of new things like default interface methods, lambda expressions, method references and repeatable annotations. This tutorial guides you step by step through all new language features. (from Hacker News)

To think about

Corporations and OSS Do Not Mix
Maintaining open source projects isn’t easy and that’s not about technology.

Not once has a company said to me:
“This bug is costing us $X per day. Can we pay you $Y to focus on it and get a fix out as soon as possible?”

(from Weekend reading)

Sustainable Open Source
Continuing the previous article’s topic, good read for anyone involved in or planning a community-driven open source project. (from Weekend reading)

Edward Snowden explains how to reclaim your privacy
“Operations security (Opsec) is important even if you’re not worried about the NSA.” Snowden gives 4 quick tips: Encrypt, use password manager, use 2-factor authentication, use Tor.

Event Sourcing – Capturing all changes to an application state as a sequence of events
Application architecture is the base for everything and Martin Fowler’s reference intro to this powerful style of architecture is worth reading.

Something different

How snowmaking works
If the Mother Nature isn’t doing its job and making snow, we can do it by ourselves. Important topic as couple of Winters even here in Finland have been mild and it’s not looking good this year either. “A resort that can guarantee 5+ inches of powder every day is a license to print money.” (from Hacker News)