Skip to content

Instantly share code, notes, and snippets.

@x7c1
x7c1 / typed_time_zone.rs
Last active January 27, 2022 01:27
Create type-safe TimeZone by wrapping chrono_tz::Tz.
use chrono::{
DateTime, Datelike, FixedOffset, LocalResult, NaiveDate, NaiveDateTime, TimeZone, Timelike,
};
use chrono_tz::{Asia, Tz};
use std::marker::PhantomData;
#[test]
fn typed_time_zone() {
let x1: DateTime<FixedOffset> = DateTime::parse_from_rfc3339("2001-01-01T01:02:03Z").unwrap();
@x7c1
x7c1 / gist:d65add2b638cd25f31dad494fef68e2f
Created January 30, 2021 06:54
tweetdeck stylesheets
.app-title,
.app-header,
.app-navigator,
.column-nav-item,
.app-search-input {
background-color: white;
}
.nav-user-info .fullname,
.column-nav-link .column-heading,
@x7c1
x7c1 / map_result.rs
Created November 8, 2019 10:58
`Option<T> -> Result<Option<U>, E>`
trait Hoge<T> {
fn map_result<U, E, F>(self, f: F) -> Result<Option<U>, E>
where
F: FnOnce(T) -> Result<U, E>;
}
impl<T> Hoge<T> for Option<T> {
fn map_result<U, E, F>(self, f: F) -> Result<Option<U>, E>
where
@x7c1
x7c1 / suspend.sh
Created April 13, 2019 06:24
suspend after google-drive directories unmounted.
#!/bin/sh
set -eu
GOOGLE_DRIVE_TARGETS=$(
findmnt --source google-drive-ocamlfuse --json |
jq -r '.filesystems[].target'
)
if [ -z ${GOOGLE_DRIVE_TARGETS} ]; then
@x7c1
x7c1 / readme.md
Last active April 5, 2019 14:52
ubuntu : when keyboard freezes up
  • type : Ctrl+Alt+F3
    • sudo killall Xorg

or

  • remember the phrase : Raising Skinny Elephants Is Utterly Boring
  • with Alt+SysRq
$ dconf dump /org/gnome/shell/extensions/gtile/
[/]
insets-secondary-bottom=0
resize1='16x12 6:0 15:11'
resize2='16x12 0:0 9:11'
preset-resize-1=['<Primary><Alt>l']
grid-sizes='16x12,8x6,6x4'
preset-resize-2=['<Primary><Alt>h']
max-timeout=2100
auto-close=true
@x7c1
x7c1 / .tmux.conf
Created March 14, 2019 15:21
.tmux.conf
# set-option -g default-shell /bin/zsh
set -g prefix C-t
set -g history-limit 2000
# key speed
set -s escape-time 0
set-option -g repeat-time 1000
# highlight active window
@x7c1
x7c1 / readme.md
Last active March 11, 2019 08:04
xkb settings
$ tree ~/.xkb | sed -e '1d'
├── keymap
│   └── my_keymap
└── symbols
    └── my_symbols

2 directories, 2 files
@x7c1
x7c1 / GremlinSample.scala
Created January 21, 2019 15:45
connect to running gremlin server
import org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteConnection
import org.apache.tinkerpop.gremlin.driver.{Client, Cluster}
import org.apache.tinkerpop.gremlin.process.remote.RemoteConnection
import org.apache.tinkerpop.gremlin.process.traversal.AnonymousTraversalSource
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.{GraphTraversal, GraphTraversalSource}
import org.apache.tinkerpop.gremlin.structure.Vertex
import scala.collection.JavaConverters.asScalaBufferConverter
import scala.util.control.NonFatal
@x7c1
x7c1 / example.scala
Last active November 25, 2018 01:52
examples without EitherT
// https://xuwei-k.hatenablog.com/entry/20140920/1411236567
import scala.concurrent.{ExecutionContext, Future}
trait UserId
sealed trait Error
final case class UserNotFound(userId: UserId) extends Error