Instantly share code, notes, and snippets.

View gist:d7020a39fbcb988bed76554a829a357d
// When you don't have permissions to export to csv
$('#report-summary-popup table tr').map((i, e) => [$(e).find('td').map((i, e) => $(e).text().trim()).get()]).get().map(x => x.slice(1, x.length).join(',')).join('\n')
View lambda_on_destructor.cpp
#include <iostream>
#include <memory>
struct Foo {
Foo(std::function<void()>&& fun) : f{std::move(fun)} { }
~Foo() { f(); }
std::function<void()> f;
};
int main() {
View gitlab-docker-migrate.md

Nell'host di destinazione, avvio un nuovo container GitLab:

docker run --detach --hostname git.decktutor.net --publish 443:443 --publish 80:80 --publish 22:22 --name gitlab  --restart always  --volume /srv/gitlab/config:/etc/gitlab  --volume /srv/gitlab/logs:/var/log/gitlab  --volume /srv/gitlab/data:/var/opt/gitlab  gitlab/gitlab-ce:10.8.4-ce.0

Copio gitlab.rb dalla sorgente alla destinazione /srv/gitlab/config/gitlab.rb

Nell'host di destinazione, riconfiguro gitlab con il nuovo gitlab.rb:

docker exec -ti gitlab gitlab-ctl reconfigure
View weak-ptr-global.cpp
#include <cassert>
#include <iostream>
#include <memory>
#include <mutex>
#include <string>
#include <unordered_map>
template <typename T>
std::shared_ptr<T> get_global(int id) {
using Map = std::unordered_map<int, std::weak_ptr<T>>;
View qt-eigen-opengl-demo.cmake
add_custom_target(demos)
find_package(Qt5Core REQUIRED)
find_package(Qt5Gui REQUIRED)
find_package(Qt5OpenGL REQUIRED)
find_package(OpenGL)
find_package(Eigen3)
set(CMAKE_AUTOMOC ON)
View fix_modular_sequence.cpp
template <typename T>
T fix_modular_sequence(T&& seq, const typename T::value_type modulus) {
const auto threshold = modulus / 2.0;
auto it = seq.begin();
auto prev = *it;
while (it != seq.end()) {
++it;
auto& curr = *it;
auto diff = curr - prev;
if (std::abs(diff) > threshold) curr -= (diff < 0 ? -1 : 1) * modulus;
View core-dump.cpp
#include <iostream>
#include <sys/resource.h>
int main() {
rlimit core_limits;
core_limits.rlim_cur = core_limits.rlim_max = RLIM_INFINITY;
setrlimit(RLIMIT_CORE, &core_limits);
std::cout << "begin\n";
int* x = 0;
View gol.md
  • Qualsiasi cella viva con meno di due celle vive adiacenti muore, come per effetto d'isolamento;
  • Qualsiasi cella viva con due o tre celle vive adiacenti sopravvive alla generazione successiva;
  • Qualsiasi cella viva con più di tre celle vive adiacenti muore, come per effetto di sovrappopolazione;
  • Qualsiasi cella morta con esattamente tre celle vive adiacenti diventa una cella viva, come per effetto di riproduzione.
View list_screen_output_modes.sh
#!/bin/sh
output=""
xrandr | while read line; do
if echo "${line}" | grep 'connected' > /dev/null; then
if echo "${line}" | grep ' connected' > /dev/null; then
output="$( echo "${line}" | sed 's/\(.*\) connected.*/\1/' )"
fi
elif ! echo "${line}" | grep '^Screen' > /dev/null; then
View brother-top-margin-cut-off-FIX.md

Brother MFC-J480DW cuts off top margin

In Linux, my Brother MFC-J480DW cuts off top margin when used with A4 paper, even if all settings are set to A4.

To make it work, I had to edit /opt/brother/Printers/mfcj480dw/inf/brmfcj480dwrc file (that's the path in Gentoo, it could be different in other distributions).

And change:

PaperType=Letter