Skip to content

Instantly share code, notes, and snippets.

View blockspacer's full-sized avatar
:octocat:

Devspace blockspacer

:octocat:
  • Google
  • USA
View GitHub Profile
@blockspacer
blockspacer / fakemutex
Created July 27, 2020 11:53 — forked from kalman5/fakemutex
Fake mutex
// Example: Queue implementation non thread-safe but still usable if clients
// are synchronized somehow.
//
// In this case the macro DFAKE_SCOPED_LOCK has to be
// used, it checks that if a thread is inside the push/pop then
// noone else is still inside the pop/push
class NonThreadSafeQueue {
public:
...
@blockspacer
blockspacer / docker-image-size.sh
Created July 22, 2020 04:56 — forked from andyrbell/docker-image-size.sh
Sort docker images by size desc
#!/bin/sh
docker images --format '{{.Size}}\t{{.Repository}}\t{{.Tag}}\t{{.ID}}' | sed 's/ //' | sort -h -r | column -t
@blockspacer
blockspacer / constinit.md
Created July 16, 2020 09:07 — forked from EricWF/constinit.md
A Proposal to add [[constinit]] to C++
Document Number: P1143r3
Date: 2019-06-18
Project: Programming Language C++, Evolution
Revises: P1143r2
Reply to: [email protected]

Adding the constinit keyword

@blockspacer
blockspacer / CMakeSL.md
Created June 19, 2020 06:21 — forked from stryku/CMakeSL.md
CMakeSL (CMake Scripting Language) - An attempt to introduce a new scripting language for CMake

CMakeSL (CMake Scripting Language) - An attempt to introduce a new scripting language for CMake

Agenda

  • Abstract
  • Video
  • Why
  • How
  • Current status
  • Future plans
  • How to
# This is the CMakeCache file.
# For build in directory: /home/keno/julia/deps/scratch/llvm-svn/build_Release+Asserts
# It was generated by CMake: /usr/bin/cmake
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
# The syntax for the file is as follows:
# KEY:TYPE=VALUE
# KEY is the name of a variable in the cache.
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
@blockspacer
blockspacer / .gdbinit
Created June 13, 2020 13:10 — forked from williballenthin/.gdbinit
yet another gdb cheatsheet
set disassembly-flavor intel
set disassemble-next-line on
set history save on
set print pretty on
set pagination off
set confirm off
define xxd
dump binary memory dump.bin $arg0 $arg0+$arg1

Effective Modern CMake

Getting Started

For a brief user-level introduction to CMake, watch C++ Weekly, Episode 78, Intro to CMake by Jason Turner. LLVM’s CMake Primer provides a good high-level introduction to the CMake syntax. Go read it now.

After that, watch Mathieu Ropert’s CppCon 2017 talk Using Modern CMake Patterns to Enforce a Good Modular Design (slides). It provides a thorough explanation of what modern CMake is and why it is so much better than “old school” CMake. The modular design ideas in this talk are based on the book [Large-Scale C++ Software Design](https://www.amazon.de/Large-Scale-Soft

@blockspacer
blockspacer / Report01.md
Created June 5, 2020 08:43 — forked from Neisoweli/Report01.md
Lab01.Report

Laboratory work I

Данная лабораторная работа посвещена изучению систем обмена данными

Tasks

  • 1. Зарегистрироваться на почтовом сервисе Gmail
  • 2. Зарегистрироваться на сервисе обмена сообщений Slack
  • 3. Зарегистрироваться на сервисе совместной разработки GitHub
  • 4. Отправить зарегистрированный адрес почтового ящика личным сообщением в Slack
@blockspacer
blockspacer / REPORT.md
Created June 5, 2020 08:43 — forked from Neisoweli/REPORT.md
Lab02.Report

Laboratory work II

Данная лабораторная работа посвещена изучению утилит для разработки проектов

Tasks

  • 1. Ознакомиться со ссылками учебного материала
  • 2. Выполнить инструкцию учебного материала
  • 3. Составить отчет и отправить ссылку личным сообщением в Slack
@blockspacer
blockspacer / REPORT.md
Created June 5, 2020 08:43 — forked from Neisoweli/REPORT.md
Lab05.Report

Laboratory work V Build Status

Данная лабораторная работа посвещена изучению систем непрерывной интеграции на примере сервиса Travis CI

$ open https://travis-ci.org

Tasks