Вы можете держать фокус на книге 40 минут, это очень хорошо, на мой взгляд. Читайте 20 минут книгу, а 20 минут делайте, программируйте, пробуйте, ошибайтесь, но действуйте.
Мозг переключится.
В процессе программирования смело заглядывайте вперёд книги, в те главы которые вы ещё не читали, но где, на ваш взгляд, может крыться ответ на возникшие у вас вопросы.
Придумайте себе интересную задачу. Это очень важно, чтобы задача вызывала у вас интерес. Этот интерес к задаче будет служить двигателем вашего обучения.
Разбейте задачу на маленькие куски, и решайте её с помощью языка/технологии, которые вы изучаете. Если при реализации какого-нибудь маленького куска программы у вас возникла проблема, а в книге об этом ничего нет, то спрашивайте на форумах, вроде stackoverflow.com
Должен заметить, что при публикации вопросов на подобных форумах, если вы хотите быстро получить ответ, формулируйте свои вопросы предельно корректно. Объясните задачу, которая стоит перед вами, обязательно покажите код, которым вы пытались эту задачу решить. И напишите, что у вас не получается.
Если с английским сложно, то есть StackOverflow на русском языке:
ru.stackoverflow.com
Это намного эффективнее, чем изучать книгу в "скучном" режиме. Читая теорию, затем делая упражнения.
Успехов.