Skip to content

Instantly share code, notes, and snippets.

View Lazersmoke's full-sized avatar

Sam Quinn Lazersmoke

View GitHub Profile
@Lazersmoke
Lazersmoke / instructions.md
Created August 13, 2020 19:33
How to extract voice over audio files from `.pptx`

If you don't have power point, or if you want to be able to browse the embedded audio more easily, you can use this method:

  1. Rename presentation.pptx -> presentation.zip
  2. Audio files in .m4a format in presentation.zip/ppt/media/

I recommend VLC Media Player with [ and ] keys to change speed among other shortcuts.

I hope you find this usefully improves your listening experience!

Edit: Some people are having trouble changing the file extension because it is hidden. You may need to check File extension names under the View tab in file explorer (Windows) or follow this tutorial (OSX).

@Lazersmoke
Lazersmoke / instructions.md
Created July 18, 2020 22:27
WileyPlus Automatic Answer Entry Bookmarklet
javascript:(function(){answersFromUser=JSON.parse(prompt("answers").replace("{","[").replace("}","]"));inBoxes=document.getElementsByTagName("iframe")[0].contentWindow.document.getElementsByTagName("iframe")[0].contentWindow.document.getElementsByTagName("frame")[0].contentWindow.document.getElementsByTagName("iframe")[1].contentWindow.document.getElementsByTagName("frame")[1].contentWindow.document.getElementsByTagName("iframe")[0].contentWindow.document.getElementsByClassName("textentry_response");for(i=0;i<inBoxes.length;i++){inBoxes[i].value=answersFromUser[i]};})();
@Lazersmoke
Lazersmoke / 1.12 Sub post.md
Last active February 27, 2018 22:50 — forked from awoo-civ/1.12 Sub post.md
Draft of the 1.12 update sub reddit post

Plugins

ExilePearl

Exile Pearls are replacing Prison Pearls as the default Pearl type. You can upgrade Exile Pearls to Prison Pearls at a certain Meme Mana cost.

Exiled players aren't allowed within a large radius around the Exile Pearl and inside hostile Bastion fields. They also have some global restrictions outside of these areas. Additionally, killing an Exiled Player will reveal their Pearl's location.

@Lazersmoke
Lazersmoke / 1.12 Sub post.md
Created February 25, 2018 04:13
Draft of the 1.12 update sub reddit post

1.12 Update

Below are the biggest changes in this update:

ExilePearl

ExilePearl is replacing PrisonPearl, but you can upgrade Exile pearls to Prison pearls.

This means that when you kill a player with an ender pearl in your hotbar, they will be trapped in an Exile pearl. Exiled players aren't allowed within a large radius around the Exile pearl, or inside the bastions of groups that have disallowed them entry.

@Lazersmoke
Lazersmoke / MemeMana.md
Last active February 18, 2018 23:49
How-to guide for using MemeMana

MemeMana

MemeMana is the essence plugin, which is new in the 1.12 update.

What is Mana?

Mana is a virtual resource you get for playing on the server. If you log in multiple days in a row, you get a login streak, meaning you get more Mana each day. If you stop logging in, your streak will go down over time. This means that logging in each day will give you the most Mana, but if you miss a day, it's not that big of a deal.

@Lazersmoke
Lazersmoke / CodeItYourself.md
Last active January 10, 2019 19:45
Code it Yourself

Code it Yourself

This guide will teach you how to get started developing civ server plugins. In order for you to follow this guide, you must already know how to code in Java. If you don't know Java, you should learn it before attempting to develop plugins in Java.

Dev Setup

You will need Java, the Java build tool Maven, the version control tool Git, and a text editor you know how to use. You should install these things using your package manager (sudo apt-get install for Ubuntu) or download and install them in Windows.

Building Spigot

@Lazersmoke
Lazersmoke / Building.md
Last active December 15, 2018 02:41
Instructions for using the Travis CI/Jitpack build system

Travis CI/Jitpack Build System

Unless otherwise specified, these files all go in the root of your Github repository.

Travis

We use Travis CI to build and test on each commit or pull request to the Github repository. The Travis setup is all the defaults, plus this as .travis.yml:

# Travis build script for mineman
@Lazersmoke
Lazersmoke / FeedExtract.md
Created August 30, 2017 00:59
Code Review of tchoutri's feed-extract

Code Review of tchoutri's feed-extract

Original Code

Error Log

IO String vs IO ()

The vast majority of the errors are because your functions (particularly help and version) are IO String when they should really be IO (). All of the alternatives in a case must have the same type, all the expressions in a do block must have the same base monad, and the last expression in a do block must have the same type as the do block overall. Let's look at your main function:

@Lazersmoke
Lazersmoke / BooleanEvaluatorCodeReview.md
Created August 22, 2017 02:12
Code review of proofskiddie's boolean evaluator
@Lazersmoke
Lazersmoke / FreerFork.hs
Created April 28, 2017 13:16
Forking Freer Monads
class Fork q where
type RuntimeConstraint q x :: Constraint
fork :: RuntimeConstraint q r => Eff (q ': r) a -> q (Eff r a)
data MyEffect a where
ForkMyEffect :: Member IO r => Eff (MyEffect ': r) a -> MyEffect (Eff r a)
Say :: MyEffect ()
instance Fork MyEffect where
type RuntimeConstraint MyEffect x = Member IO x