ruby '2.7.1' | |
gem 'rails', github: 'rails/rails' | |
gem 'tzinfo-data', '>= 1.2016.7' # Don't rely on OSX/Linux timezone data | |
# Action Text | |
gem 'actiontext', github: 'basecamp/actiontext', ref: 'okra' | |
gem 'okra', github: 'basecamp/okra' | |
# Drivers |
FROM ubuntu:18.04 | |
RUN apt-get update && apt-get install -y flamerobin | |
RUN mkdir /root/.flamerobin | |
ENTRYPOINT [ "flamerobin" ] |
EXE program can have any size whereas COM program can have maximally 64kB (just one segment).
At the beginning of program there is program segment prefix (PSP). Because COM program is stored only in one segment so PSP occupies first 256 bytes (100h). Therefore start point begins at 100h. Values of segment registers are set to the begin of segment and don’t change during executing.
COM program in memory:
This gist is showing an example of C program calling routine written in assembly.
- C is case sensitive so it is necessary to use /ml switch in TASM
- C compiler uses leading underscore (_) character for function names
- parameters are passed to function in stack and integer return value is passed back in AX register
- stack cleaning is done by caller
using UnityEngine; | |
public struct Spherical { | |
public float Radius; | |
public float Phi; | |
public float Theta; | |
Spherical( float radius = 1f, float phi = 0f, float theta = 0f ) { | |
Radius = radius; |
# the instructions from here: https://stackoverflow.com/questions/3704919/installing-rmagick-on-ubuntu/31089915#31089915 | |
# worked, but only after I added in line 8 | |
sudo apt-get purge graphicsmagick graphicsmagick-dbg imagemagick-common imagemagick imagemagick-6.q16 libmagickcore-6-headers libmagickwand-dev graphicsmagick-libmagick-dev-compat | |
sudo apt-get autoremove | |
sudo apt-get install imagemagick libmagickwand-dev | |
sudo ln -s /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/Magick-config /usr/bin/Magick-config | |
export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig | |
gem install rmagick |
# Fixes complains such as: | |
# .rubocop.yml: Style/IndentationConsistency has the wrong namespace - should be Layout | |
# .rubocop.yml: Style/IndentationWidth has the wrong namespace - should be Layout | |
# .rubocop.yml: Style/DotPosition has the wrong namespace - should be Layout | |
layouts = %w[ | |
AccessModifierIndentation | |
AlignArray | |
AlignHash | |
AlignParameters |
Brought to you by Headjack
FFmpeg is one of the most powerful tools for video transcoding and manipulation, but it's fairly complex and confusing to use. That's why I decided to create this cheat sheet which shows some of the most often used commands.
Let's start with some basics:
ffmpeg
calls the FFmpeg application in the command line window, could also be the full path to the FFmpeg binary or .exe file
/** | |
* Author: David Asmuth | |
* Contact: [email protected] | |
* License: Public domain | |
* | |
* Converts the .fbx model | |
* from Blender orientation system (Z is up, Y is forward) | |
* to the Unity3D orientation system (Y is up, Z is forward) | |
*/ | |
using System.IO; |