Skip to content

Instantly share code, notes, and snippets.

View bmarcot's full-sized avatar

Benoit Marcot bmarcot

  • Trondheim
View GitHub Profile
const insertAt = (str, sub, pos) => {
return str.substring(0, pos) + sub + str.substring(pos);
}
console.log(insertAt("I want apple", " an", 6));
int spi_write_then_write(struct spi_device *spi,
const void *tx_buf_0, unsigned tx_len_0,
const void *tx_buf_1, unsigned tx_len_1)
{
struct spi_message message;
struct spi_transfer x[2];
spi_message_init(&message);
memset(x, 0, sizeof(x));
if (tx_len_0) {
import scala.util.Random.nextInt
def choosePivot(xs: List[Int]): Int = {
if (xs.isEmpty) 0
else xs(nextInt(xs.length))
}
def quicksort(xs: List[Int], p: Int): List[Int] = {
if (xs.isEmpty) List()
else if (xs.length == 1) xs
var str = 'allleee #psG !! tudu';
var regex = /#(\w+)/;
str = str.replace(regex, "<b>#$1</b>");
@bmarcot
bmarcot / json.rb
Created November 4, 2014 17:58
To include any methods on the model, use :methods.
class Content
def type
self.class.name
end
end
class TwitterContent
def type
"twitter"
end
# app/assets/javascripts/welcome.js.coffee
$ ->
$(document).on 'change', '#countries_select', (evt) ->
$.ajax 'update_cities',
type: 'GET'
dataType: 'script'
data: {
country_id: $("#countries_select option:selected").val()
}
@bmarcot
bmarcot / git-cheat-sheet.sh
Last active September 16, 2019 06:03
Git cheat sheet
## <...>: a mandatory parameter
## [...]: an optional parameter
# Compare two versions of a file
$ git diff HEAD^^ HEAD main.c
$ git diff HEAD~2 HEAD main.c
# Create a patch from a diff between two branches
$ git format-patch -n <master>..<develop>
trait Generator[+T] {
self =>
def generate: T
def map[S](f: T => S): Generator[S] = new Generator[S] {
def generate = f.apply(self.generate)
}
@bmarcot
bmarcot / atoiBase.scala
Last active December 21, 2015 11:18
atoi() for any base.
def hexToInt(s: String): Int = {
s.toList.map("0123456789abcdef".indexOf(_)).reduceLeft(_ * 16 + _)
}
def baseToInt(s: String, base: String): Int = {
s.toList.map(base.indexOf(_)).reduceLeft(_ * base.length + _)
}
def split[A](chars: List[A], n: Int): List[List[A]] = {
if (chars.isEmpty) List()
else chars.take(n) :: split[A](chars.drop(n), n)
}
def encrypt_rec(chars: List[List[Char]]): List[List[Char]] = {
if (chars.isEmpty) Nil
else {
val cs = chars.filter(_.isEmpty == false)
cs.map(_.head) :: encrypt_rec(cs.map(_.tail))