One thing worth mention is you should block all the easy options (social media, video, games) at morning/afternoon. For me once I do those easy things at morning they seem to stuck at working memory for long to hurt my whole day concentration. I allow those easy options at dinner time as a small reward and block them again at 21:00 to 23:30.
It's fine if it just happens in the evening,as long as you can finish meaningful work at day. I would arrange entertainment of today evening on morning as reward for day work. It might increase your productivity at day and after work you can enjoy the evening better. Or in some cases you have kind of flow of mind that continues in the evening that makes you skip arranged entertainment to do more.
Recently I bought a Hisense a5pro eink phone as my secondary phone and commenting from it. I'm experimenting with reading those addictive sites only through this eink screen(block them on colorful screens). So far the desire to continue browsing or comment has dropped by a great deal. I think it might work if those sites are less visually stimulus than your workstation.
Of course I first decompile using cfr. And then use scala REPL to load the jar and call functions to see the effect and find the parts interesting for further analysis.
Great book I can tell from the Contents. I used Scala for interactively inspect functions in jar you don't have source code. In most of other domains I tend to use other languages with a less powerful syntax to collaborate easier with other people.
My experience is what you do after you get up in the morning have great impact all day long. I use appdetox on phone and webblock on chrome to block easier news/SNS apps for the day and only allow them or gaming for a fixed time at night as reward(after a while I find solving hard problems more rewarding than yhose shallow entertainment). I find it became easier to focus on hard things after starting doing this. If you do easy things at morning, the whole day is ruined. Also I run or swim at 5pm.