Skip to content

Instantly share code, notes, and snippets.

Avatar

MihailJP MihailJP

View GitHub Profile
@MihailJP
MihailJP / gist:4246185
Created Dec 9, 2012
Immediate object as a static member
View gist:4246185
#include <iostream>
using std::cout; using std::endl;
// A class whose instance will be included as a member of a monostate class
class CContent {
public:
CContent() {cout << "CContent constructor" << endl;}
~CContent() {cout << "CContent destructor" << endl;}
void speak() {cout << "Bonjour le monde !" << endl;}
@MihailJP
MihailJP / cobol.xml
Last active Jun 5, 2021
Kate syntax highlighting definition file for COBOL
View cobol.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd" [
<!ENTITY picsig "\bPIC(TURE)?(\s+IS)?\s+">
<!ENTITY verbs "\b(((END-)?(ACCEPT|ADD|CALL|COMPUTE|DELETE|DISPLAY|DIVIDE|EVALUATE|IF|MULTIPLY|PERFORM|READ|RECEIVE|RETURN|REWRITE|SEARCH|START|STRING|SUBTRACT|UNSTRING|WRITE))|ALTER|ASSIGN|CHAIN|CLOSE|CONTINUE|CONTROL|COPY|COUNT|ELSE|ENABLE|ERASE|EXIT|GENERATE|GO|GOBACK|IGNORE|INITIALIZE|INITIATE|INSPECT|INVOKE|MERGE|MOVE|OPEN|RELEASE|REPLACE|RESERVE|RESET|REWIND|ROLLBACK|RUN|SELECT|SEND|SET|SORT|STOP|SUM|SUPPRESS|TERMINATE|THEN|TRANSFORM|UNLOCK|UPDATE|USE|WAIT|WHEN)\b(?!-)">
<!ENTITY usages "\b(BINARY|BINARY-C-LONG|BINARY-CHAR|BINARY-DOUBLE|BINARY-LONG|BINARY-SHORT|COMP|COMP-1|COMP-2|COMP-3|COMP-4|COMP-5|COMP-X|COMPUTATIONAL|COMPUTATIONAL-1|COMPUTATIONAL-2|COMPUTATIONAL-3|COMPUTATIONAL-4|COMPUTATIONAL-5|COMPUTATIONAL-X|FLOAT-BINARY-16|FLOAT-BINARY-34|FLOAT-BINARY-7|FLOAT-DECIMAL-16|FLOAT-DECIMAL-34|FLOAT-EXTENDED|FLOAT-LONG|FLOAT-SHORT|FUNCTION-POINTER|INDEX|NATIONAL|PACKED-DECIMAL|PO
@MihailJP
MihailJP / hsp.xml
Created Jan 1, 2013
Kate syntax highlighting definition file for Hot Soup Processor
View hsp.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="Hot Soup Processor" section="Sources" version="1.00" extensions="*.hsp;*.as">
<highlighting>
<list name="keywords">
<item> await </item>
<item> break </item>
<item> continue </item>
<item> else </item>
<item> end </item>
@MihailJP
MihailJP / hsp.xml
Created Jan 1, 2013
Notepad++ syntax highlighting definition file for Hot Soup Processor
View hsp.xml
<NotepadPlus>
<UserLang name="HSP" ext="hsp as" udlVersion="2.0">
<Settings>
<Global caseIgnored="yes" allowFoldOfComments="no" forceLineCommentsAtBOL="no" foldCompact="no" />
<Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
</Settings>
<KeywordLists>
<Keywords name="Comments" id="0">00// 00; 01 02 03/* 04*/</Keywords>
<Keywords name="Numbers, additional" id="1"></Keywords>
<Keywords name="Numbers, prefixes" id="2">0x 0b $ %</Keywords>
@MihailJP
MihailJP / paco-glib-issue.patch
Created Jan 8, 2013
Patch to compile GPACO with newer GLIB/GTKMM
View paco-glib-issue.patch
diff -ru paco-2.0.9/gpaco/gconfig.h paco-2.0.9-newglib/gpaco/gconfig.h
--- paco-2.0.9/gpaco/gconfig.h 2010-06-26 04:51:00.000000000 +0900
+++ paco-2.0.9-newglib/gpaco/gconfig.h 2013-01-08 13:03:12.497896388 +0900
@@ -11,7 +11,7 @@
#include "paco/baseconfig.h"
#include <glibmm/ustring.h>
-#include <glib/gkeyfile.h>
+#include <glib.h>
#include <vector>
@MihailJP
MihailJP / rational.hpp
Created Jan 17, 2013
Fraction class template
View rational.hpp
#pragma once
#include <stdexcept>
// Calculate GCD (for reduction)
template<typename T> T gcd(T x, T y) {
// Euclidean algorithm
T val1 = (x < y) ? y : x, val2 = (x < y) ? x : y;
T* m = &val1; T* n = &val2; T* tmpptr = nullptr;
while (true) {
@MihailJP
MihailJP / scala.xml
Last active Jun 30, 2022
Notepad++ syntax highlighting definition file for Scala
View scala.xml
<NotepadPlus>
<UserLang name="Scala" ext="scala" udlVersion="2.0">
<Settings>
<Global caseIgnored="no" allowFoldOfComments="no" forceLineCommentsAtBOL="no" foldCompact="no" />
<Prefix Keywords1="no" Keywords2="no" Keywords3="yes" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
</Settings>
<KeywordLists>
<Keywords name="Comments" id="0">00// 01 02 03/* 04*/</Keywords>
<Keywords name="Numbers, additional" id="1"></Keywords>
<Keywords name="Numbers, prefixes" id="2">0x</Keywords>
@MihailJP
MihailJP / timezone.c
Created Apr 20, 2013
Find the time zone
View timezone.c
#include <time.h>
signed long getTZ ()
{
struct tm* timeStruct;
time_t timeValBase = 86400; /* I know an implementation in which time_t is unsigned */
time_t timeVal;
timeStruct = gmtime(&timeValBase); /* parse as the universal time */
timeVal = mktime(tp); /* intentionally treat as the local time in order to find the time zone */
@MihailJP
MihailJP / stat.hs
Created Jul 15, 2013
Functions for statistics
View stat.hs
-- Functions for statistics
import Data.List
-- Averages
average p = (sum p) / (fromIntegral $ length p) -- arithmetic mean
geomean p = (product p) ** (1.0 / (fromIntegral $ length p)) -- geometric mean
harmean p = (fromIntegral $ length p) / (sum $ map (\x -> 1.0 / x) p) -- harmonic mean
rms p = sqrt $ average $ map (\x -> x * x) p -- quadratic mean (RMS)
@MihailJP
MihailJP / gpufan.bash
Created Nov 5, 2013
Script to control the fan speed automatically (works only for NVIDIA graphic cards)
View gpufan.bash
#!/bin/bash
# Script to control the fan speed automatically
setFanSpeed() {
eval "nvidia-settings -a GPUFanControlState=1 -a [fan:0]/GPUCurrentFanSpeed=$1 > /dev/null"
}
cleanup() {
eval "nvidia-settings -a GPUFanControlState=0"