Skip to content

Instantly share code, notes, and snippets.

@veered
veered / cipher_patch.py
Created May 7, 2024 20:54
pytube monkey patch for #1918
"""
This module contains all logic necessary to decipher the signature.
YouTube's strategy to restrict downloading videos is to send a ciphered version
of the signature to the client, along with the decryption algorithm obfuscated
in JavaScript. For the clients to play the videos, JavaScript must take the
ciphered version, cycle it through a series of "transform functions," and then
signs the media URL with the output.
This module is responsible for (1) finding and extracting those "transform
let SubsManager = {
defaultExpireTime: 1000*60*1,
subscriptions: {},
subscribePromise() {
let args = Array.from(arguments);
return new Promise(resolve => {
let sub,
onReady = function() {
@veered
veered / code.rb
Created September 4, 2018 21:25
Aspose Example
doc = com.aspose.words.Document.new(file_path)
doc_builder = com.aspose.words.DocumentBuilder.new(doc)
bookmarks = doc.getRange().getBookmarks()
bookmarks.each do |bookmark|
text = bookmark.getText()
bookmark.setText('')
doc_builder.moveToBookmark(bookmark.name)
doc_builder.insertHyperlink(text, "http://edit/?#{bookmark.name}", false);
@veered
veered / server.js
Created May 14, 2018 22:43
Reproduce _.isEmpty slowness
import { Meteor } from 'meteor/meteor';
import { Mongo } from 'meteor/mongo';
Widgets = new Mongo.Collection('widgets');
if (Widgets.find().count() < 1000) {
for (let i=0; i < 1000; i++) {
Widgets.insert({});
}
}
@veered
veered / package.js
Created September 21, 2017 22:55
qualia:semantic file imports
Package.describe({
name: 'qualia:semantic',
version: '0.0.1',
summary: '',
git: '',
documentation: 'README.md'
});
Package.onUse(function(api) {
var definitions = ["lib/definitions/behaviors/api.js","lib/definitions/behaviors/form.js","lib/definitions/behaviors/visibility.js","lib/definitions/collections/breadcrumb.import.less","lib/definitions/collections/form.import.less","lib/definitions/collections/grid.import.less","lib/definitions/collections/menu.import.less","lib/definitions/collections/message.import.less","lib/definitions/collections/table.import.less","lib/definitions/elements/button.import.less","lib/definitions/elements/container.import.less","lib/definitions/elements/divider.import.less","lib/definitions/elements/header.import.less","lib/definitions/elements/icon.import.less","lib/definitions/elements/image.import.less","lib/definitions/elements/input.import.less","lib/definitions/elements/label.import.less","lib/definitions/elements/list.import.less","lib/definitions/elements/loade
@veered
veered / blaze_js.js
Created May 21, 2017 21:07
Reval plugin for BlazeJS
import Plugins from './plugins.js';
Plugins.add('BlazeJS', {
extensions: ['js'],
locations: ['client'],
compile({code}) {
let regex = /Template\.([a-z0-9]*?)\./gi,
templateNames = [],
@veered
veered / profile.txt
Created September 27, 2016 18:39
Meteor rebuild profile with 1.4.2-beta.6
| (#5) Profiling: ProjectContext prepareProjectForBuild
| Preparing to build package qualia:docs -
| ProjectContext prepareProjectForBuild.........................4,186 ms (1)
| ├─ _initializeCatalog.........................................3,550 ms (1)
| │ ├─ files.stat 9 ms (240)
| │ ├─ files.readFile 277 ms (154)
| │ ├─ sha1 2 ms (154)
| │ ├─ runJavaScript package.js 19 ms (86)
| │ ├─ sqlite query 38 ms (10)
| │ └─ other _initializeCatalog 3,205 ms
@veered
veered / profile.cpuprofile
Created August 19, 2016 03:06
_initializeCatalog
{"typeId":"CPU","uid":"2","title":"1","head":{"functionName":"(root)","url":"","lineNumber":0,"callUID":406,"bailoutReason":"","id":1,"scriptId":0,"hitCount":0,"children":[{"functionName":"","url":"/Users/lucas/repos/meteor/tools/runners/run-app.js","lineNumber":449,"callUID":85,"bailoutReason":"no reason","id":2,"scriptId":1358,"hitCount":0,"children":[{"functionName":"_fiber","url":"/Users/lucas/repos/meteor/tools/runners/run-app.js","lineNumber":926,"callUID":84,"bailoutReason":"no reason","id":3,"scriptId":1358,"hitCount":0,"children":[{"functionName":"_runOnce","url":"/Users/lucas/repos/meteor/tools/runners/run-app.js","lineNumber":525,"callUID":83,"bailoutReason":"TryFinallyStatement","id":4,"scriptId":1358,"hitCount":0,"children":[{"functionName":"bundleApp","url":"/Users/lucas/repos/meteor/tools/runners/run-app.js","lineNumber":542,"callUID":82,"bailoutReason":"no reason","id":5,"scriptId":1358,"hitCount":0,"children":[{"functionName":"capture","url":"/Users/lucas/repos/meteor/tools/utils/buildmessage
| (#11) Profiling: ProjectContext prepareProjectForBuild
| ProjectContext prepareProjectForBuild.........................6,574 ms (1)
| ├─ _initializeCatalog.........................................2,577 ms (1)
| │ ├─ files.readdir 1 ms (1)
| │ ├─ files.stat 6 ms (183)
| │ ├─ files.readFile 73 ms (117)
| │ ├─ sha1 1 ms (117)
| │ ├─ runJavaScript package.js 14 ms (66)
| │ ├─ sqlite query 7 ms (8)
| │ └─ other _initializeCatalog 2,474 ms
@veered
veered / profiles.txt
Created July 17, 2016 23:44
Profiles of Meteor Reloads
###########################################################
# Client+Server Restart (not in a package): 22.2 seconds #
###########################################################
| (#11) Profiling: ProjectContext prepareProjectForBuild
| Building package useraccounts:semanti... |
| ProjectContext prepareProjectForBuild.........................6,574 ms (1)
| ├─ _initializeCatalog.........................................2,577 ms (1)
| │ ├─ files.readdir 1 ms (1)
| │ ├─ files.stat 6 ms (183)