Skip to content

Instantly share code, notes, and snippets.

View take-cheeze's full-sized avatar
💤

Takeshi Watanabe take-cheeze

💤
View GitHub Profile
@streeter
streeter / port-update-notifier.sh
Last active November 22, 2017 22:22
Display notifications via Growl when updates to MacPorts are available.
#!/bin/bash
#
# Notify of MacPort updates via Growl on Mac OS X
#
# Author: Chris Streeter http://www.chrisstreeter.com
# Requires: Growl Notify Extra to be installed (but fails gracefully). Info
# about how to get the extra is at http://growl.info/extras.php
TERM_APP='/Applications/Terminal.app'
@gununu
gununu / main.cpp
Created March 8, 2011 11:11
safe sign-type cast
#include "sign_cast.hpp"
int main() {
char* a = 0;
unsigned char* x = sign_cast<unsigned char*>(a); //ok
sign_cast<char*>(a); //ok
sign_cast<signed char*>(a); //ok
//sign_cast<wchar_t*>(a); //error
sign_cast<const char*>(a); //ok
sign_cast<char*const>(a); //ok
@tily
tily / scaling_isomorphic_javascript_code.ja.markdown
Last active May 1, 2023 09:03
サバクラ両方で動く JavaScript の大規模開発を行うために

サバクラ両方で動く JavaScript の大規模開発を行うために

原文:Scaling Isomorphic Javascript Code (This is just for study, please contact me at tily05 atmark gmail.com if any problem.)

考えてみれば Model-View-Controller とか MVC ってよく聞くよね。実際どんなものか知ってる? 抽象的に言うなら「オブジェクト情報の保持されるグラフィック・システム (つまり、ラスターではないグラフィック。ゲームとか) 上に構築された、表示系を中心としたアプリケーションにおいて、主要な機能どうしの関わりをうまく分離すること」とでも言おうか。もう少し深く考えを押し進めてみれば、これは当然、他のさまざまなアプリケーションにもあてはまる言葉 (bucket term ?) だ。

過去に多くの開発コミュニティが MVC による解決案を提供し、それによってよくあるユースケースにうまく対処し、地位を築くことができた。例をあげるなら、Ruby や Python コミュニティは Rails や Django を作り、MVC アーキテクチャを実現した。

@cloudhead
cloudhead / gist:1522576
Created December 27, 2011 02:41
Why I Don't Write Web Apps

Why I Don't Write Web Apps (if I can help it)

This is what happens when I try to pick a language.

Note: If I didn't think it was possible to create a development environment without any of these issues (which I consider "major" for the most part), I would not have written this list.

C/C++

  • NOTHNX.

Node.js

#include <iostream>
#include <thread>
#include <future>
#include <chrono>
#include <functional>
#include <deque>
struct task_queue {
task_queue() = default;
task_queue(const task_queue &) = delete;
@nurse
nurse / gist:1995260
Created March 7, 2012 19:17
scan authorized_keys and show fingerprints
#!/usr/bin/env ruby
require 'tempfile'
IO.foreach(File.join(ENV['HOME'], '.ssh/authorized_keys')).each do |line|
Tempfile.open("key") do |f|
f.puts line
f.flush
r = `ssh-keygen -lf #{f.path}`
r.sub!(f.path, '')
puts r if $? == 0
end
@suhailshergill
suhailshergill / gist.el
Created July 17, 2012 04:25
the heimlich: dirty hack to unchoke gist-region on `%'
(defadvice gist-region (around su/advice/gist/gist-region/around/dirty-hack
a c pre)
"Dirty hack to prevent gist-region from choking on buffers which contain
`%' character"
(save-window-excursion
(let* ((delete-old-versions t)
(dummy "foo")
(beg (ad-get-arg 0))
(end (ad-get-arg 1))
(min-beg-end (min beg end))
@tfkd
tfkd / gist:4521996
Created January 13, 2013 02:56
寝起きにポテトチップス(http://www.hobirecords.com/potato/)で配信中のmp3ファイルの勝手でざっくりしたRSS提供スクリプト iPhoneのPodcastアプリに登録すると便利な予感
package Net::Nepote;
use strict;
use warnings;
use utf8;
use Encode;
use Carp;
use URI;
use Web::Scraper;
sub new {
@repeatedly
repeatedly / msgpack_issue_121.md
Last active November 30, 2021 02:09
MessagePackが文字列とバイナリをわけないのは問題?

MessagePackが文字列とバイナリをわけないのは問題?

msgpack/msgpack#121

Objective Cの実装使ってるとある問題にぶちあたった.なので,文字列をちゃんとバイナリ(Raw)と分けるべき,という提案

(*) 俺は熟読したわけではないので,中身が気になる人はちゃんと本スレを読みましょう

そもそもMessagePackとは

3からの差分:

  • 実装の後方互換性に関する記述を修正
  • 各実装へのリンクを追加
  • 背景にNoteを追加
  • 「UTF-8としてinvalidなバイトシーケンスを含む文字列が保存されていることがある」理由の修正
  • 概要から「バイト列はBinary型で保存する。そうでなければString型で保存する」を削除(背景と型システムの詳細を読んでもらう)
  • weak-string languages のシリアライザのところで、「String型はUTF-8としてinvalidなバイトシーケンスを許容する」の注釈を削除

msgpackの変更案について-4