Skip to content

Instantly share code, notes, and snippets.

View iboB's full-sized avatar
:shipit:
shipit

Borislav Stanimirov iboB

:shipit:
shipit
View GitHub Profile
public class PalindromeChecker {
public static void main(String[] args) {
String[] sWordsToCheck = new String[] {
"gatemannametag", //p
"abcdefghijklmnopqrtuvwxyz", // not p
"aaaaa1aaaaa", //p
"aaaaa12aaaaa", // not p
};
for(int i=0; i<sWordsToCheck.length; ++i) {
@iboB
iboB / gist:1363574
Created November 14, 2011 09:09
simple ruby timer (for simple programs)
class Timer
def initialize
ObjectSpace.define_finalizer(self,
self.method(:finalize).to_proc)
@start = Time.new
end
def finalize(id)
p "Time: #{Time.now.to_f - @start.to_f} seconds"
@iboB
iboB / gist:1363623
Last active February 20, 2021 08:48
Simple age calculator in JavaScript (I use it in some about-me HTMLs)
function calcAge(year, month, day) {
const now = new Date();
let age = now.getFullYear() - year;
const mdif = now.getMonth() - month + 1; // jan is 0 in getMonth
if (mdif < 0) {
// not birthday yet
--age;
}
else if (mdif === 0) {
// maybe birthday?
@iboB
iboB / main.cpp
Created December 10, 2011 16:32
n-dimensional, generic, compile-time matrix and vector, reusing the same code
#include <iostream>
#include <cassert>
#include <cstring>
#include "nmath.h"
using namespace std;
typedef matrix_nxnt<2, float> matrix2x2;
typedef vector_nt<3, float> vector3;
typedef vector_nt<4, float> vector4;
@iboB
iboB / sandbox.md
Created April 8, 2012 11:14
My md sandbox

Is this code correct? Please explain.

class Test
{
public:
    int *i; <!--- Bobi: I think the star should be with the int -->
    Test()
    {
        i= new int;

}

@iboB
iboB / gist:2459893
Created April 22, 2012 06:03
A way of checking if a class is derived from a template
template <typename A, typename B>
class myclass
{};
template <typename T>
struct is_myclass
{
struct yes { char c; };
struct no { char c[2]; };
@iboB
iboB / gist:5388658
Created April 15, 2013 14:49
product sum solve
class Timer
def initialize
ObjectSpace.define_finalizer(self,
self.method(:finalize).to_proc)
@start = Time.new
end
def finalize(id)
p "Time: #{Time.now.to_f - @start.to_f} seconds"
# c2md - v1.0 - public domain
# authored in 2016 by Borislav Stanimirov
# Used to generate dox files from cpp files
if ARGV.length == 0 || ARGV[0] == '--help' || ARGV[0] == '-?'
puts 'c2md'
puts 'Generate markdown doc from a C-like language'
puts
puts 'Usage:'
// shared_vector.hpp - v1.0.0 - public domain
// authored in 2016 by Borislav Stanimirov / Chobolabs
//
// This is a simple wrapper of std::vector providing a shared vector interface
// The class is basically the same as shared_ptr<std::vector<T>>. It only provides
// methods and operators with the same signature as std::vector so a transition
// could be seemless.
//
//
// VERSION_HISTORY
template <typename T>
struct fast_static
{
// call globally to ensure the constructor is called
static T& slow_get()
{
static T t;
return t;
}