・都内や横浜で介護福祉士持ちだと時給1600円で働ける派遣会社がいくつもある。 最近は時給1650円以上出している派遣会社も少しずつ出てきている。地方だとそれ より多少時給が下がる ・「時給1800円」とか書いてある求人は、初回契約2か月間のみの場合が多いので派 遣会社に電話を掛けて確認したほうがいい ・ネット上にある時給の高い求人に釣られて電話すると、他の求人を案内される「釣 り求人」もあるので注意 ・「介護 派遣」と検索すると、はたらこねっとやリクナビ派遣などのサイトがヒット するので、初めて介護の派遣をする人は、まずはそれらのサイトを見まくって時給の 高い5社位に登録して比較する。登録しに行かないと教えてくれない就業条件などもあ るので注意 ・なぜ複数登録するかと言うと、派遣会社や担当に付く営業さんにも当たり外れがあ り、変な対応されたらすぐに他の派遣会社に乗り換えられるようにリスク
A game developer friend of mine recently hired a translation agency to translate his latest game into Japanese. I offered to skim through it and make sure everything was okay… and it turned out to be a sheer disaster. So I thought I’d write up a quick article for gamers and game developers who have dreams of releasing stuff in Japan someday. Note that this one article only touches on the very basi
RPGで「はい」か「いいえ」を選ぶとき、私は必ず「いいえ」を選ぶ。 大抵は「はい」で先に進むところを、一発で進めたくないのである。どうせ「はい」しか選べないのだから、まずは「いいえ」を選んだときのテキストをきちんと読みたいのだ(ごくまれに取り返しのつかないことがあり、頭を抱える)。 それだけではない。RPGでは必ず一人残らず街中の人に話しかけ、当然「ここは始まりの村だよ」と案内するだけの人とだって話す。世界を救ったら、「勇者様、王様がお待ちです! 今すぐ城へお越しください!」という兵士の言葉なんて無視。王様に会いに行く前に全ての街を巡り、世界中の人に話しかけに行く。どうだ、世界が平和になっただろう、君はいま何を思う、と。人だけじゃない、ニャーと鳴くだけの猫にだって話しかけるのを忘れない。 私はとにかくゲーム内のテキストを全て読みたい、活字中毒型ゲーマーなのだ。おかげでいつもクリアまでの総時
初めに この記事は準同型暗号の最前線1(入門編)、準同型暗号の最前線2(原理編)の続きです。 このページでは提案したL2準同型暗号の安全性の根拠の話をします。やや難しめです。 DDH仮定 電子投票のところで、各自の1票(0か1)を暗号化して集計する話をしました。 もちろん暗号文$Enc(0)$や$Enc(1)$を見て、それが0や1を暗号化したものであると見破られてしまっては困ります。どういう条件が成り立てば見破られないと考えられるでしょうか。 暗号化の方法を復習しながら考えてみましょう。 まず、楕円曲線の点(歯車の一つ)$P$を固定しました。これは皆が知っている公開パラメータです。 次にランダムに整数$s$をとり、$Q=sP$を公開しました($s$が秘密鍵で$Q$が公開鍵です)。 暗号化は$m$を0か1として、乱数$r$をとり、 $Enc(m) = (mP + rQ, rP)$ としました
初めに この記事は準同型暗号の最前線1(入門編)の続きです。 私たちが提案したL2準同型暗号の原理を解説します。 金庫開けクイズ まず簡単なクイズから始めましょう。 ここに金庫があり、その金庫には24個の歯があるダイヤルがついています。 ダイヤルには赤の矢印がついています。ダイヤルを回して赤の矢印が青の矢印の先に来たら金庫が開くとします。ただしダイヤルは歯車5個分づつしか動かせません。ダイヤルを何回時計回りに動かせば金庫は開くでしょうか。 実際に数えながらやってみると9回動かすと赤の矢印($R$)が青の矢印($B$)ところに来ました。このことを$9R = B$と書くことにしましょう。 離散対数問題 今の金庫開けクイズは容易でしたが、歯車の数が多くなると大変そうです。 一般に赤と青の矢印$R$, $B$が与えられたときに $? R = B$ となる$?$を求めなさいという問題を離散対数問題と
This article consists of a very short introduction to classical and quantum information theory. Basic properties of the classical Shannon entropy and the quantum von Neumann entropy are described, along with related concepts such as classical and quantum relative entropy, conditional entropy, and mutual information. A few more detailed topics are considered in the quantum case.
Writing your own TCP/IP stack may seem like a daunting task. Indeed, TCP has accumulated many specifications over its lifetime of more than thirty years. The core specification, however, is seemingly compact1 - the important parts being TCP header parsing, the state machine, congestion control and retransmission timeout computation. The most common layer 2 and layer 3 protocols, Ethernet and IP re
For many years, GHC has implemented an extension to Haskell that allows type variables to be bound in type signatures and patterns, and to scope over terms. This extension was never properly specified. We rectify that oversight here. With the formal specification in hand, the otherwise-labyrinthine path toward a design for binding type variables in patterns becomes blindingly clear. We thus extend
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community. Pick a username Email Address Password Sign up for GitHub By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails. Already on GitHub? Sign in to your account
距離空間や一般の位相空間を勉強中のN君ですが、「任意の」や「存在する」の扱いには苦労しているようです。特に、「前提にある存在命題の使い方が分からない」と。うん、難しいですよね。「習うより慣れろ」と言われても、そう簡単に慣れるもんじゃないです。 ∀と∃をちゃんと使うには、実用的なテンプレートを意識して、当座はそのテンプレートに沿って命題や証明を書いたほうがいいと思います。そのようなテンプレート、特に存在記号のためのテンプレートと、その使い方を紹介します。 内容: はじめに 例題と予備知識 自然数の大小順序と証明の例: 反射律 存在命題を料理するボックスを使ってみよう: 反対称律 もっとボックスを使ってみよう: 推移律 おわりに 関連する記事: 論理の全称記号∀も存在記号∃もちゃんと使えるようになろう 全称記号と存在記号に関する推論規則 全称命題を準備するボックスを使ってみよう: 最小元の存在
「論理の存在記号∃をちゃんと使えるようになろう」: 自然数の大小順序だけでも、まだネタはありますし、もう少し練習問題があったほうがいい気もします。全称記号∀に関する説明が不足してるし、∀と∃の関係も述べていません。が、長くなるので今回はこのくらいにしておきます。 ということで、そのまま続きを書きます。前回の記事を読んでいることを前提にするので、予備知識や記法の約束の繰り返しはしません。 内容: 全称記号と存在記号に関する推論規則 全称命題を準備するボックスを使ってみよう: 最小元の存在 背理法も使ってみる: 最大元の非存在 おわりに 全称記号と存在記号に関する推論規則 全称記号∀を含む命題と存在記号∃を含む命題に対する推論規則は、それぞれに導入規則〈introduction rule〉と除去規則〈elimination rule〉があり、合計で4つの規則となります。論理の教科書によくあるス
人類は、酒と共に発展してきたと言っても過言ではない。穀物や果実などを酒に変換することにより、糖を除く栄養を保ったまま、高い保存性を持たせることができる。酒は人々の喉を潤し、時に薬として使われた。 プログラミングにおいても、終了したら消えてしまうデータを、保存性の高いバイト列に変えたい場面がよくある。そのような操作を直列化(シリアライズ)と呼び、いくつかのアプローチが存在する。 コード生成タイプ Protocol Buffers、cap'n'protoなど データの構造を記述する言語(スキーマ)から、データ構造およびシリアライザ・デシリアライザをコードごと生成する。幅広い言語で使える一方、作れる構造が限られており、定義済みの構造にも使えないので、Haskellのような言語とは相性があまりよくない。 互換性を保つ機能が充実していることが多い。 汎用フォーマットタイプ CBOR、MessageP
In the past year I’ve written a number of minimalist C libraries, particularly header libraries. The distinction for “minimalist” is, of course, completely arbitrary and subjective. My definition in this context isn’t about the library’s functionality being stupidly trivial or even necessarily simple. I’m talking about interface (API) complexity and the library’s run time requirements. Complex fun
It’s now nearly a year that I started writing non-trivial amounts of C code again (the first sokol_gfx.h commit was on the 14-Jul-2017), so I guess it’s time for a little retrospective. In the beginning it was more of an experiment: I wanted to see how much I would miss some of the more useful C++ features (for instance namespaces, function overloading, ‘simple’ template code for containers, …), a
This article explains the internal architecture of the Java Virtual Machine (JVM). The following diagram show the key internal components of a typical JVM that conforms to The Java Virtual Machine Specification Java SE 7 Edition. The components shown on this diagram are each explained below in two sections. First section covers the components that are created for each thread and the second section
First version of a Rust-based libOS Posted by Stefan Lankes on June 6, 2018 Recently by the same author: HermiTux A binary-compatible unikernel Posted by Stefan Lankes on April 28, 2019 Rust is an extremely interesting language for the development of system software. It promises a secure memory handling enabled by its principle of zero-cost abstraction. Projects like Redox and this blog posts from
After looking at the algorithms I posted last time, I noticed some patterns emerging which I thought deserved a slightly longer post. I’ll go through the problem (Gibbons 2015) in a little more detail, and present some more algorithms to go along with it. The Problem The original question was posed by Etian Chatav: What is the correct way to write breadth first traversal of a [Tree]? The breadth-f
Modern Parser Generator Jun 6, 2018 Hi! During the last couple of years, I’ve spent a lot of time writing parsers and parser generators, and I want to write down my thoughts about this topic. Specifically, I want to describe some properties of a parser generator that I would enjoy using. Note that this is not an “introduction to parsing” blog post, some prior knowledge is assumed. Why do I care ab
We’ve recently been making lots of progress on future plans for clippy and I thought I’d post an update. For some background, Clippy is the linter for Rust. We have more than 250 lints, and are steadily growing. Clippy and Nightly Sadly, Clippy has been nightly-only for a very long time. The reason behind this is that to perform its analyses it hooks into the compiler so that it doesn’t have to re
Notes on Rust, Firefox, MemShrink, JavaScript, and more I recently wrote about some work I’ve done to speed up the Rust compiler. Since then I’ve done some more. rustc-perf improvements Since my last post, rustc-perf — the benchmark suite, harness and visualizer — has seen some improvements. First, some new benchmarks were added: cargo, ripgrep, sentry-cli, and webrender. Also, the parser benchmar
1. 典型的な二項係数の求め方 競プロをしていると、「 mod 」を計算する場面にしばしば出くわします。最近では、 であることが多いですね。 mod の計算方法は、時と場合によって色んな方法が考えられますが、すぐ下で紹介する方法が最も頻繁に使用されています。多くの AtCoder のトッププレイヤーたちも使用している形式で、高速です。 使い方としては、最初に一度前処理として COMinit() を呼び出します。その後は、毎回 COM(n, k) 関数を呼べばよいです。 前処理 COMinit():計算量 クエリ処理 COM(n, k):計算量 1-1. mod の実装 この実装では、ACL (AtCoder Library) の modint を用いています。さらに下に、modint を使わない実装も載せています。 #include <iostream> using namespace s
要望 nCk mod 10^9+7を高速に計算したい n,k≦10^5 追記:llはlong longのことです 使ってるテンプレートはこんな感じです。 #include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<b;i++) using namespace std; typedef long long ll; 高校で習うやり方でやると… ll mod = 1000000007; //--------------------------------------------------------------------------------------------------- ll C(int n, int k) { ll res = 1; rep(i, 0, k) res = (res * (n - i)) % mod; rep(
概要 Rustの標準マクロはかゆいとこに手が届く! Rustのマクロはいいぞ! ――というわけで。Rustで標準で用意されているマクロでも紹介したいと思いまする。 Rust標準マクロのソースコード Rustの標準マクロは一つのファイルに全部まとめられている。 ドキュメントから見れます https://doc.rust-lang.org/src/std/macros.rs.html 一部のマクロはコンパイラマジックだったりして、見てるだけでけっこう面白い。 Rust便利マクロ一覧 早速やっていきましょう。 あ、面白くないのは飛ばすね。 compile_error! panic!は実行時にエラーを出すけど、こいつはコンパイル時にエラーを出すことができるマクロだ。 コンパイル時にコードに ”compile_error!(なんか文字列);” が含まれていると即座にコンパイルが失敗するよ。 自作マク
Rust Traits and Trait ObjectsPublished on 2018-06-12 to joshleeb's blog I’ve been really confused lately about Rust’s trait objects. Specifically when it comes to questions about the difference between &Trait, Box<Trait>, impl Trait, and dyn Trait. For a quick recap on traits you can do no better than to look at the new (2nd edn) of the Rust Book, and Rust by Example: Rust Book Traits: Defining Sh
While we mostly focus our work around [Ember.js][ember], Rails and Elixir, we sometimes experiment with other technologies for internal projects. This time we tried out Rust, and more specifically the actix actor framework. This blog post is a short intro into what we've discovered so far. #anchorRustWhat is Rust? Aside from being "an iron oxide" according to Wikipedia, Rust is also the name of a
そこで加法準同型暗号と完全準同型暗号の中間の暗号(somewhat準同型暗号 あるいはleveled準同型暗号)が研究されています。somewhat準同型暗号は暗号文同士の演算回数に制約を設けることで効率のよい処理を目指します。 今回提案した暗号は足し算は任意回、乗算は1回だけ可能なL2準同型暗号と呼ばれるクラスに属します。 乗算が1回しか出来なくても、複数の暗号文の平均値や分散、内積、最小二乗法などができます。うまく使えばなかなか便利な暗号です。 加法準同型暗号を使った例としては加法準同型暗号を用いて暗号化したまま画像のエッジ検出をするも参照ください。 なお、加法性を使うだけでも $Enc(x) + Enc(x) = Enc(2x)$, $Enc(2x) + Enc(x) = Enc(3x)$,... なので適当な整数$n$に対して$nEnc(x) = Enc(nx)$を計算できることに
Hello! I was using Wireshark to debug a networking problem today, and I realized I’ve never written a blog post about Wireshark! Wireshark is one of my very favourite networking tools, so let’s fix that :) Wireshark is a really powerful and complicated tool, but in practice I only know how to do a very small number of things with it, and those things are really useful! So in this blog post, I’ll e
概要: Rustのstaticの亜種をいろいろ挙げる。 ここでは以下のように分類します。 変数 ローカル束縛 (引数、 let, match, for, if let, while let) 静的変数/定数 コンパイル時定数 (const) アイテム位置の定数 トレイトの定数 実装の定数 静的変数 (static) 非スコープ借用される静的変数 組み込み static lazy_static! futures-0.2 task_local! スコープ借用される静的変数 thread_local! scoped_thread_local! futures-0.1 task_local! 目次 const と static の違い スコープ借用と非スコープ借用 組み込み static lazy_static! thread_local! scoped_thread_local! futures
This blog is where I post up various half-baked ideas that I have. All PostsCategoriesGitHubTwitterRSS/Atom feeds I’ve been getting a lot of questions about the status of “Non-lexical lifetimes” (NLL) – or, as I prefer to call it these days, the MIR-based borrow checker – so I wanted to post a status update. The single most important fact is that the MIR-based borrow check is feature complete and
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く