HyperDock brings advanced window management features to Mac OS:. Move & resize windows just by holding down keys and moving your mouse. Automatically resize windows when dragging to screen edges (Window Snapping). Scroll on a window's titlebar to quickly zoom or change its space.
HyperDock 1.7: A smart OS X productivity boost HyperDock adds long awaited features to your Dock: Select individual application windows just by moving the mouse on a dock item, use mouse clicks to quickly open new windows and many more. HyperDock also duplicates another useful Windows 7 feature: Aero Snap. Drag a window to the left or right edges of the screen and hold – the windows will enlarge to take up half the screen, then.
The Question I Wish Everyone Would Ask: What is a HyperDoc?
Instead, most educators tell me they already know. In fact I have had a lot of teachers tell me they are doing Hyperdocs and some even give me the 'yeah yeah' when I ask if they know about Hyperdocs - as if I am asking an 'everyone knows how to do add links to a doc' question.
But when I sit down with those same educators to see their 'Hyperdoc' it's almost always the same scenario. What I see is not actually a Hyperdoc but a doc with links - so I hope to help educators move forward to a real understand ing of the difference between the two. Because truth be told, these amazing lessons called Hyperdocs can be so much fun to create and also engaging ways for students to to learn!
The doc with links is still a great resource - and can be a great addition to the classroom, but it's time to break down the difference between the two. It's time to better understand a Hyperdoc and a doc with links (also known in the biz as a multimedia text set).
Hyperdock Mac
What is a HyperDoc?
A Hyperdoc is a lesson that is specifically designed to create a student-facing, blended learning experience. Inside of this lesson, students have voice; they are collaborating, creating, communicating and critically thinking their way through the content. It is created to help inspire students’ inquiry and curiosity - driving them to exploration, to find answers to their questions, build the background knowledge and supports the application of their new knowledge in order to show what they know. Teachers create these lessons with their students in mind, scaffolding every step to help meet their learning needs.
A HyperDoc is not a program, it’s not a curriculum you adopt, it’s a way of connecting the lesson designing process, to tech integration, to effective pedagogy. It’s about putting the time and thought into the lessons we deliver.
So let's dive in.
What is a HyperDoc and What is Not A HyperDoc?
To understand a Hyperdoc it is important to understand what it is not. This very short video will answer what is a Hyperdoc by looking at a multimedia text set. Although multimedia text sets are docs with links they can be very powerful as you will see. Take a moment to watch this quick interview we did with Lisa Highfill co-author of The HyperDoc Handbook.
What is a HyperDoc - Part One
To see examples of these text sets click HERE. But my two favorites are these two. Immigration and Refugee Text Sets. If you like these simply choose file and then make a copy and then if needed download as a .docx.
Now on to an actual HyperDoc. In this quick video Lisa Highfill continues by explaining the layered power of a blended learning lesson that is know as a Hyperdoc.
What is a HyperDoc - Part Two
Again: a Hyperdoc is a student-facing lesson. Here is a breakdown of the lesson Lisa spoke about in this video.
The great thing is that if you want to learn more - you can head to HyperDocs.co where they have a free academy for learning more.
Essentially, HyperDocsare what you make of them; from the initial construction to the delivery, to the reflection of the learning experience. They are one way, among many proven methods, to shift learning in the classroom.
- Infused Classroom Facebook Page for weekly EduSlams videos with ideas you can use in your classroom tomorrow.
- Contact Holly to present at your event or school? Send an email
- Follow Holly @HollyClarkEdu on Twitter and Instagram
Related posts:
A simple framework for distributed hyperparameter optimization in Docker.
What is Hyperdock?
Hyperdock is a framework for hyperparameter search that can be used to optimized any target as long as that target can be run in a Docker container. That means that the target can be written in any language, use any framework or run on any operating system as long as it can be made into a Docker image.
The figure below shows the Hyperdock system and its main components.
The Hyperdock Web UI is the main interface for the end-users from where they can specify trials (a target Docker image and the hyperparameter space to search over). All trials, their status and results are stored in a Mongo database.
![Screens Screens](https://i.ytimg.com/vi/s41jzc0Nb1E/maxresdefault.jpg)
The Hyperdock Supervisor is a background process that monitors all trials. It determines what jobs (a specific hyperparameter combination) need to scheduled, which jobs have failed and should be restarted, and notifies users of results.
The Hyperdock Workers dequeues jobs from the work queue and then evaluates the target image with these parameters. They continually send status updates to the database to notify the user of progress.
The entire Hyperdock system can be distributed, i.e. Supervisor, Workers and WebUI need not run on the same host. They only need to be able to access the same Mongo database and the workers need to have access to any data required by the target image.
Each program that should be optimized needs to have its own Docker image, the target image, that is setup to load the parameters and write progress reports. Parameters are available in the json file
/hyperdock/params.json
. Once the target image has evaluated the parameters it simply writes the loss to the file /hyperdock/loss.json
with the option of storing important files to /hyperdock/out
. Logs from the target image are periodically tailed from the workers to the WebUI. More about how to write a target image can found below.How does Hyperdock work?
Hyperdock supports grid search of parameters from lists and distributions. See the wiki for details on how to define the parameters space.
Setting up Hyperdock
You can either use the pre-built Docker images for Hyperdock or run the sub-systems directly on the host(s). Finally you can also use the Docker compose file to setup a single host Hyperdock environment useful for testing - this method is very quick way to get started.
Supervisor
To start the Hyperdock Supervisor using the Docker image run the following command:
Or run it on your host with Python >= 3.6 and install with pip:
Options
--mongo mongodb://localhost:27017/hyperdock
URL to the Mongo database
For full arguments to the supervisor run:
hyperdock-supervisor --help
.Worker
To start the Hyperdock Worker using the Docker image run the following command:
Or run it on your host with Python >= 3.6 and install with pip:
Options
-v $(pwd):$(pwd)
mirrors the path structure from the host in to the Docker container. This is needed since the paths must be the the same when the worker starts the Target Image and mounts the data and results folders.-v /var/run/docker.sock:/var/run/docker.sock
gives the Docker image access to control the outer Docker daemon. This is crucial for worker to start new containers
Or run it on your host with Python 3.6 and install with pip:
For full arguments to the worker run:
hyperdock-worker --help
.Note: That since the Hyperdock Worker needs to control Docker and access files on the host computer.
WebUI
To start the Hyperdock WebUI using the Docker image run the following command:
Options
-e MONGO_URL=mongodb://hyperdock-mongo:27017/hyperdock
sets the Mongo database-p 3000:3000
publish the Web UI's http port
Or run it on your host with Meteor:
Target Image
Each optimization target needs a target image. This image can be dynamic (i.e. checkout the latest source from Github) but preferably should be reproducible, for example by always checking out a specific commit.
When running the container the target should:
Hyperdock
- Read the parameters
- Evaluate the target program
- Write the loss / results and then exit (with error code 0).
Communication between Hyperdock and the target program is handle through a few special files and folders that are mounted and populated by Hyperdock.
/hyperdock/
loss.json
write the loss here; format described hereparams.json
parameters for the rungraphs.json
optional file, contains graphs for Web UI plots; format described hereout/
persistent folder, use this to write any other files to the result folder
/data
a read only folder that contains any external data needed
See the Dockfile template for an example. It is available as a Docker image named
erikgartner/hyperdock-demo:latest
. By default it outputs 0
as its loss but by setting the environmentvariable FUNCTION
to a python expression (for example a + b
) you can compute an arbitrary loss based on the Hyperdock parameters.Mongo Database
Ubio Hyperdock
To start a Mongo database you can use this simple Docker command or use any normal Mongo instance.
Docker Compose
To setup Hyperdock on a single host the Docker compose file is a very easy way to get started. Just set the marked line in
docker-compose.yml
to a host directory that should contain data and results. Then simply run:Developing
Hyperdock welcomes new contributors and pull-requests, but please start by reading the contribution guidelines. If you don't know where to start, sending a message to contributors is a good start!
Hyperdock uses Pipenv to manage the Python version and the package dependencies. The WebUI is built using Meteor which needs to be installed prior to development.
Hyperdock uses Travis for test monitoring, continuous integration and continuous deployment.
Testing
Hyperdock uses nose as the test runner for the Python package. Note that the test machine needs a working Docker installation that doesn't require sudo. Always run the tests locally before pushing.
For the WebUI run:
License
Copyright 2018-2019 Erik Gärtner
Licensed under the Apache License, Version 2.0 (the 'License');you may not use this file except in compliance with the License.You may obtain a copy of the License at
Citing
If you use Hyperdock in your research please cite it as: