This gist shows how to create a GIF screencast using only free OS X tools: QuickTime, ffmpeg, and gifsicle.
To capture the video (filesize: 19MB), using the free "QuickTime Player" application:
| import com.intellij.notification.* | |
| import com.intellij.openapi.application.ApplicationManager | |
| import com.intellij.openapi.vcs.changes.* | |
| import javax.swing.SwingUtilities | |
| static show(String htmlBody, String title = "", NotificationType notificationType = NotificationType.INFORMATION) { | |
| SwingUtilities.invokeLater({ | |
| def notification = new Notification("", title, htmlBody, notificationType) | |
| ApplicationManager.application.messageBus.syncPublisher(Notifications.TOPIC).notify(notification) |
| import com.intellij.notification.Notification | |
| import com.intellij.notification.NotificationType | |
| import com.intellij.notification.Notifications | |
| import com.intellij.openapi.actionSystem.ActionManager | |
| import com.intellij.openapi.actionSystem.DataContext | |
| import com.intellij.openapi.actionSystem.KeyboardShortcut | |
| import com.intellij.openapi.application.ApplicationManager | |
| import com.intellij.openapi.editor.Editor | |
| import com.intellij.openapi.editor.actionSystem.EditorAction | |
| import com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler |
| import com.intellij.notification.* | |
| import com.intellij.openapi.application.ApplicationManager | |
| import com.intellij.openapi.fileEditor.FileEditorManager | |
| import com.intellij.openapi.vcs.changes.Change | |
| import com.intellij.openapi.vcs.changes.ChangeListManager | |
| import javax.swing.SwingUtilities | |
| static show(String htmlBody, String title = "", NotificationType notificationType = NotificationType.INFORMATION) { | |
| SwingUtilities.invokeLater({ |
| #/bin/sh | |
| FILE_NAME=$1 | |
| FILE_PATH=$2 | |
| gcc -o $FILE_NAME $FILE_PATH/$FILE_NAME.c && ./$FILE_NAME |
| class AnalysisUtil { | |
| static def aggregateByDuration = { events -> events.sum(0) { it.duration } } | |
| static def aggregateByQueryDuration = { events -> events.sum(0) { it.queryDuration } } | |
| static def aggregateByAmount = { events -> events.size() } | |
| static def histogramOf(Closure criteria, amountOfIntervals, List lines) { | |
| double maxValue = criteria(lines.max(criteria)) | |
| double minValue = criteria(lines.min(criteria)) | |
| double intervalSize = (maxValue - minValue) / amountOfIntervals |
| /** | |
| * Insert the method's description here. | |
| * Creation date: (4/16/01 3:47:01 PM) | |
| * @param newHierarchy com.xxxx.xxxxxxxx.reporting.xxxxx.api.datasource.Hierarchy | |
| */ | |
| public void setHierarchy(com.xxxx.xxxxxxxx.reporting.xxxxx.api.datasource.Hierarchy newHierarchy) { |
| var csv = ""; // paste csv into this string | |
| var margin = {top: 20, right: 20, bottom: 30, left: 50}, | |
| width = 960 - margin.left - margin.right, | |
| height = 500 - margin.top - margin.bottom; | |
| var parseFormat = d3.time.format("%H:%M:%S"); | |
| var displayFormat = d3.time.format("%H:%M"); | |
| var x = d3.time.scale().range([0, width]); |
| #pragma once | |
| #include <boost/optional.hpp> | |
| /** | |
| * Wraps any value with a context of Left for the Either class. | |
| * | |
| * By convention, Left represents some sort of less-desired condition. | |
| */ |
| apply plugin: 'groovy' | |
| repositories { | |
| mavenCentral() | |
| } | |
| configurations { | |
| patch | |
| [compile, testCompile]*.exclude module: 'jersey-server' | |
| } |