Skip to content

Instantly share code, notes, and snippets.

@fukamachi
fukamachi / hello.go
Created October 15, 2014 22:13
Go Hello World server
package main
import (
"fmt"
"log"
"net/http"
)
func hello(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, World")
@fukamachi
fukamachi / parser-utils.lisp
Created October 25, 2014 14:06
Common Lisp utilities for parsing a sequence
(in-package :cl-user)
(defpackage parser-utils
(:use :cl)
(:import-from :alexandria
:with-gensyms)
(:export :with-array-parsing
:redo
:gonext
:goto))
(in-package :parser-utils)
@fukamachi
fukamachi / libbcrypt.rb
Last active August 29, 2015 14:10
libbcrypt.rb
require "formula"
class Libbcrypt < Formula
homepage "https://github.com/Rudolph-Miller/openwall-bcrypt"
url "https://github.com/Rudolph-Miller/openwall-bcrypt/archive/53444382b1f03f41f8757493f26f6eae66320d02.tar.gz"
version '1.1'
sha1 "6ad0f93367e7036e4c4c876d44c39cc00bbb584f"
def install
system "make", "library"
ext = OS.mac? ? 'dylib' : 'so'
@fukamachi
fukamachi / a.cl
Created January 21, 2015 15:10 — forked from kmyk/a.cl
; $ sbcl --load a.cl --eval '(sb-ext:save-lisp-and-die "a.out" :toplevel #'\''main :executable t)' && time ( echo 100000000 | ./a.out > /dev/null )
; ( echo 100000000 | ./a.out > /dev/null; ) 10.75s user 0.15s system 99% cpu 10.931 total
; $ sbcl --version
; SBCL 1.2.6
(defun main ()
(declare (optimize (speed 3) (debug 0) (safety 0) (compilation-speed 0)))
(let* ((n (1+ (the fixnum (read))))
(is-prime (make-array n :element-type 'boolean :initial-element t)))
@fukamachi
fukamachi / 00-vector-case.lisp
Last active August 29, 2015 14:16
A fast sequence matching macro
(ql:quickload :alexandria)
(import '(alexandria:ensure-cons alexandria:once-only))
(defmacro vector-case (vec-and-options &body cases)
(destructuring-bind (vec &key (start 0) end case-insensitive)
(ensure-cons vec-and-options)
(let ((otherwise (gensym "otherwise")))
(labels ((case-candidates (el)
(if (and case-insensitive
(characterp el))
@fukamachi
fukamachi / Dockerfile
Created June 16, 2015 10:52
Dockerfile for building an image of Ubuntu with Roswell
FROM ubuntu
MAINTAINER Eitaro Fukamachi <[email protected]>
LABEL Description="Ubuntu with Roswell, Common Lisp implementation manager"
RUN apt-get update && apt-get install -y autotools-dev automake libcurl4-gnutls-dev curl make
RUN curl -SL https://github.com/snmsts/roswell/archive/release.tar.gz \
| tar -xzC /tmp/ \
&& cd /tmp/roswell-release \
&& sh bootstrap \
$ ros starter.ros
While evaluating the form starting at line 127, column 0
of #P"/usr/local/share/common-lisp/source/roswell/init.lisp":
Unhandled SB-INT:C-STRING-DECODING-ERROR in thread #<SB-THREAD:THREAD
"main thread" RUNNING
{1002D77563}>:
:UTF-8 c-string decoding error:
the octet sequence #(200 23) cannot be decoded.
Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {1002D77563}>
@fukamachi
fukamachi / clhs.ros
Last active May 5, 2021 06:54
A Roswell script for opening HyperSpec page describing a given symbol in the default browser.
#!/bin/sh
#|-*- mode:lisp -*-|#
#|
exec ros -Q -- $0 "$@"
|#
#|
A Roswell script to open the HyperSpec page of a specified symbol in the default browser.
@fukamachi
fukamachi / which.lisp
Created July 4, 2015 19:32
which -- check if a command is available on the working environment
(defun which (command)
(handler-case
(let* ((result (with-output-to-string (s)
(uiop:run-program `("which" ,command)
:output s
:error-output *error-output*)))
(newline-pos
(position-if (lambda (char)
(or (char= char #\Newline)
(char= char #\Return)))
@fukamachi
fukamachi / quicklisp-badges.markdown
Last active July 19, 2021 21:26
Quicklisp badge

Quicklisp badge

Quickdocs.org now provides project badges for Quicklisp projects. It shows Quicklisp dist version when the project was updated last.

Once the project owner adds this badge to their README file, it will inform the project is ready for Quicklisp and its documentation is available on Quickdocs.org.

Stability

It's available, however it was just added in this morning at whim and it may still have issues. Please try it and tell @nitro_idiot if you encountered any issues.