幻覚が楽しいという話ではなくて、この薬にまつわる自分語りになるので、読みたい人だけ好きに読んでほしい。
もう2年くらいずっと処方されているから、飲み始めた当時に幻覚があったかどうかは覚えてない。
でも、飲み慣れた今でも、服用から5分以後の記憶がほとんど残らないのは自覚してるから、話してる相手に「寝る薬を飲むから約束事とか大事な話はまた明日ね」って伝えて控えてもらってる。
寝るための薬なのだから、薬を服用する前に話を終えて布団に入るのが、相手にとっても自分にとっても最善なのはもちろんだよ。
それでも私が、記憶にないことを起こしてネットのフレンドが切れたりした。「深夜早朝に相談事をされるのが迷惑だという苦情を受けていました」って言われたことがある。だけどそもそも寝る時間が遅い&短いから、午前2時〜7時の寝ている4,5時間ちょっとの間に、私がなにかをしているらしい。記憶もログも通話履歴もない。記録が残って人から見たらヤバいものは、管理者が消していたのかもしれない。
本当に、ログに残らないことはわからない。それでもこれを飲まないと体を休められないのだから飲まない選択肢がない。数カ月ごとに薬は変えてるよ、慣れるからね。
対策方法は、薬を変えること以外にないと思う。だって、行動は記憶に残らないものだけど、その行動自体はわりといつも通りらしいんだよね。だから自信はないし試したこともないんだけど、起きて歩いていかないと届かない距離にスマホやPCを置いてから寝れば、トラブルは起きないかもしれないね。
ロックに条件持たせる
やりたいことはできてるように見えるが、うーんしんどい
# Entity Relation Diagram
# ```mermaid
# ---
# title: Rental Office example
# ---
# erDiagram
# OFFICE ||--|{ ROOM : x
# OFFICE {
# number office_id
# }
# ROOM {
# number office_id
# number room_id
# }
# ROOM ||--|{ SCHEDULE : x
# SCHEDULE {
# number room_id
# datetime start_at
# datetime end_at
# }
# OFFICE ||--|{ BUSINESS_HOUR : x
# BUSINESS_HOUR {
# number office_id
# enum week_of_day
# datetime start_at
# datetime end_at
# }
# ```
# Directed Acyclic Graph
#
# ```mermaid
# graph LR
# A[OFFICE] --> B[ROOM]
# B --> C[SCHEDULE]
# A[OFFICE] --> D[BUSINESS_HOUR]
# D --> C
# A --> C
# ```
# 基底クラス: EntityLock
class EntityLock
attr_accessor :entity_name, :entity_locked, :attribute_locks
def initialize(entity_name)
@entity_name = entity_name
@entity_locked = false # エンティティ全体のロック状態を保持
@attribute_locks = {} # IDに対するロックを管理するハッシュ
end
def lock_entity
@entity_locked = true
puts "Entity '#{@entity_name}' is now locked."
end
def unlock_entity
@entity_locked = false
puts "Entity '#{@entity_name}' is now unlocked."
end
def lock(attributes)
entity_id = attributes["#{@entity_name.downcase}_id"]
if entity_id && !@attribute_locks[entity_id]
@attribute_locks[entity_id] = true
puts "#{@entity_name} with ID '#{entity_id}' is now locked."
end
end
def unlock(attributes)
entity_id = attributes["#{@entity_name.downcase}_id"]
if entity_id && @attribute_locks[entity_id]
@attribute_locks.delete(entity_id)
puts "#{@entity_name} with ID '#{entity_id}' is now unlocked."
end
end
def locked?(attributes)
# まずエンティティ全体がロックされているかチェック
return true if @entity_locked
# 次に特定のIDがロックされているかチェック
entity_id = attributes["#{@entity_name.downcase}_id"]
if entity_id && @attribute_locks[entity_id]
return true
end
# ロックされていなければfalseを返す
false
end
end
# 子クラス: OfficeLock, RoomLock, ScheduleLock
class OfficeLock < EntityLock
def initialize
super("Office")
end
end
class RoomLock < EntityLock
def initialize
super("Room")
end
end
class ScheduleLock < EntityLock
def initialize
super("Schedule")
end
end
# 子クラス: BusinessHourLock
class BusinessHourLock < EntityLock
def initialize
super("BusinessHour")
@attribute_locks = [] # BusinessHour用のロックを配列で管理
end
def lock(attributes)
start_at = attributes["start_at"]
end_at = attributes["end_at"]
if start_at && end_at
@attribute_locks << [start_at, end_at]
puts "BusinessHour from '#{start_at}' to '#{end_at}' is now locked."
end
end
def unlock(attributes)
start_at = attributes["start_at"]
end_at = attributes["end_at"]
if @attribute_locks.include?([start_at, end_at])
@attribute_locks.delete([start_at, end_at])
puts "BusinessHour from '#{start_at}' to '#{end_at}' is now unlocked."
end
end
def locked?(attributes)
# まずエンティティ全体がロックされているかチェック
return true if @entity_locked
# 次に特定の時間範囲がロックされているかチェック
start_at = attributes["start_at"]
end_at = attributes["end_at"]
if start_at && end_at
@attribute_locks.each do |(locked_start, locked_end)|
if locked_start <= start_at && end_at <= locked_end
return true
end
end
end
# ロックされていなければfalseを返す
false
end
end
# TreeNodeクラス
class TreeNode
attr_accessor :name, :children, :parents, :lock
def initialize(name, lock)
@name = name
@children = []
@parents = [] # 複数の親ノードを保持する配列
@lock = lock # TreeNodeにロックを持たせる
end
def add_child(child_node)
child_node.parents << self # 子ノードにこのノードを親として追加
@children << child_node
end
def display(level = 0)
indent = " " * (level * 4)
puts "#{indent}#{@name}"
@children.each { |child| child.display(level + 1) }
end
def has_dependency
return false if @parents.empty?
@parents.each do |parent|
puts "#{@name} is dependent on #{parent.name}"
return true
end
@parents.any?(&:has_dependency)
end
def locked?(attributes = {})
# 自身がロックされているか確認
return true if @lock.locked?(attributes)
# 親ノードがロックされているか再帰的に確認
@parents.any? { |parent| parent.locked?(attributes) }
end
end
# 木構造の組み立て
# ロックオブジェクトの作成
office_lock = OfficeLock.new
room_lock = RoomLock.new
schedule_lock = ScheduleLock.new
business_hour_lock = BusinessHourLock.new
# ノードの作成
office_node = TreeNode.new("Office", office_lock)
room_node = TreeNode.new("Room", room_lock)
schedule_node = TreeNode.new("Schedule", schedule_lock)
business_hour_node = TreeNode.new("BusinessHour", business_hour_lock)
# ノード間の依存関係の設定
office_node.add_child(room_node) # Office -> Room
room_node.add_child(schedule_node) # Room -> Schedule
office_node.add_child(business_hour_node) # Office -> BusinessHour
business_hour_node.add_child(schedule_node) # BusinessHour -> Schedule
# 木構造の表示
office_node.display
# ロックの確認
puts "Case 1. Office全体がロックされた場合"
puts "Is office_node locked? #{office_node.locked?({})}" # false
puts "Is schedule_node locked? #{schedule_node.locked?({})}" # false
office_lock.lock_entity
puts "Is office_node locked? #{office_node.locked?({})}" # true
puts "Is schedule_node locked? #{schedule_node.locked?({})}" # true
office_lock.unlock_entity
puts "Case 2. Room id:1 がロックされた場合"
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1 })}" # false
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 2 })}" # false
room_lock.lock({ "room_id" => 1 })
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1 })}" # true
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 2 })}" # false
room_lock.unlock({ "room_id" => 1 })
puts "Case 3. BusinessHour start_at:0 end_at:5 がロックされた場合"
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 0, "end_at" => 5 })}" # false
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 5, "end_at" => 10 })}" # false
business_hour_lock.lock({ "start_at" => 0, "end_at" => 5 })
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 0, "end_at" => 5 })}" # true
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 5, "end_at" => 10 })}" # false
business_hour_lock.unlock({ "start_at" => 0, "end_at" => 5 })
https://manga.line.me/product/periodic_book_list?id=S104754&from=free&t=1723874086969
https://x.com/yanagidangomoch/status/1805767835718926482?t=lfRJwNdp-8rkruJ2FKFJlw&s=19
登大遊っていうけしからんおじさんが、日本とアメリカでは「エンジニア」って言葉の意味が全然違う、日本では「言われたものをつくる人」だけど、アメリカでは「ソフトウェアが使われるであろう全ての領域についてだいたいなんでもわかっていて、自分で決める人」だと言ってたのを思い出した。
https://www.youtube.com/watch?v=Uww1CZTXfXs&t=1459s
ITがつまらなくなったってよりは、ITなんてものはもともとつまんないよ。
ITがなんでつまんないかというと、(自分たちの課題がなんなのかもよくわかっていない阿呆な)顧客に要求されたものをつくるのが仕事だから。
それが90年代くらいからなんでおもしろくなったかというと、「IT」をやめたから。
コードを書ける程度に頭の良い人たちが、他人に言われた通りにコードを書くのではなく、自分たちで自らビジネスを営むことに目覚めたから。
「ビジネスパーソン」が試しもしなかった新しいやりかた + 動くコード で古いビジネスの習慣をどんどんディスラプトしたから、シリコンバレーみたいな面白いうえに儲かる世界ができあがった。
これは「テック業界」みたいな言葉で、(特にSIer的な意味での、顧客に要求されたものをつくることが仕事の)従来の「IT」とはやんわり区別されてることからもわかる。
つまりコードを書くことを「IT」だと思ってて、「IT」を一瞬面白いと思って、今は「IT」がつまんないと思うようになった元増田は、もともとつまんない奴だったわけ。
(余談だけど、ここ2,3年のシリコンバレーの崩落も、儲かった結果「ビジネスパーソン」の割合が増えちゃって、「他人の言う事を聞かず自らビジネスをやる、コードを書ける人たち」の割合が減っちゃったからかもね)
せっかくソフトウェアを書く能力を持ちながら、その能力を僅かな給金で他人に売り渡してしまうのは勿体ない。
だいたい、ソフトウェアについて知らないどころか、普通のビジネス日本語会話ですら怪しい阿呆な「ビジネスパーソン」の要求通りにソフトウェアを書くのって苦痛じゃない?(それについては元増田も同感のようで、マネーの虎だとか胡散臭いだとかさんざん馬鹿にしてるけど。このへんに関しては自分も結構同感で、最近はほんとつまんないtoB SaaS増えたなって思う)
最近では「つまんない「IT」」の象徴だったデカいSIerですら、「顧客に言われたとおりにソフトウェアをつくる」のではなく、「顧客と一緒に課題を深堀りして、新たな価値を創造する」を商売にするところも増え始めた。
かつてはスタートアップの専売特許だと思われてたリーン・アジャイル・デザイン思考を使いこなす大企業も増えてきた。
この先鋒にはみんなが馬鹿にしてるデジタル庁や東京都デジタルサービス局の姿がある。
つまり、かつて「スタートアップ的」とされてたツールやマインドセットが浸透するところには浸透してきて、世界が「大企業とスタートアップ」ではなく、デカい小さい若い年寄政府民間に関係なく、シンプルに「面白い奴とつまんない奴」って構造になってきたってわけ。
元増田の言う通り、つまんないものはつまんない。なぜならばそれは偽物だから。
【朗報】女だけの街 実現へ
https://camp-fire.jp/projects/745198/view?list=silver_egg_projects
たった5億でチー牛がチーチーうるさかった女だけの町が実現して一泡吹かせられます。
「年齢相応の人生経験」が脳内からポコンと欠落しており、その空洞部分にインターネットが注入されてしまった— つかんぽ (@tsukampo) August 18, 2019
特殊文字は、実体参照(& や <)ではうまくいきません。数値参照を使ってください。
出したい文字 | 数値文字参照 |
---|---|
& | & |
< | < |
> | > |
const dinner = (chicken, curry) => {
if (chicken && curry) {
console.log('チキンかつカレー')
}
}
このように入力してください。
<pre>const dinner = (chicken, curry) => {<br> if (chicken && curry) {<br> console.log('チキンかつカレー')<br> }<br>}</pre>
https://x.com/kalieth/status/1824073521166696716?s=46&t=EaR7uxaklEzzMXOMXFx39w
「やしろあずきのことバカにしてるけど、あいつはそんなお前らより稼いでるぞ」ってツイートが叩かれてるけどこれ何が問題なの
拝金主義とか言われてるけど世の中お金ないとどうにもならなくない?実際オレはお金あんまり稼いでないから社会的地位低いし
オレは少なくとも、「母ちゃん利用してまで稼ぎたくないわ」とか言ってる奴よりかはできることやって金を得てる、そっちのほうがいいと思うんだけどな
アイビスで作ってる
方法はこれ
https://x.com/nodogakayui_/status/1063002510686793728?t=edx3Xvw5b2hAQlJixSgBWA&s=19
ドット絵っつっても、ドラクエとかツクールのチップというよりかは、こういう一枚絵を描いてる(自分なんかよりもめちゃくちゃ上手いけど)
https://x.com/angelkawaiiko/status/1795485623568171269?t=GqnfNTrPbV3HXXmlsqiTZw&s=19
で、それと発達障害の何が関係あるかって言うと、絵って何回も下書きして狂いがないことを確認してからペン入れしたほうがええやん?
でも発達障害のワイは衝動性が強くて、はい次はい次ってやってしまうんや
さてどうするか。今更変わりを探すのめんどい。
Auto Copy 反転しただけでコピーしてくれる。引用に便利だけど単純機能ほど代わりに何を選べばいいのか選びにくい
AutoPagerize オートページ。これは代わりのオススメ拡張機能で出てきたパワーアップ版で解決
Clearly 記事の文章だけ読みやすく抜き出して整えてくれる。Evernote亡き今、代わりは全く見つからないから終わりまで使い倒す
Easy Window Resize 最近入れたばかりなのにもう代わりを探さないといけないとは
Feedly Notifier 今は使ってないので削除
Kimetrak ネット記事読んで入れたけどとっくの昔に使えなくなったみたい
minerBlock ネット記事読んで入れたけどブラウザで採掘してるサイトもうないから消していいよね
No Coin - Block miners on the web! ネット記事読んで入れたけどこんなことしてるサイトもうないよね
Papago Translate 韓国語に強い自動翻訳として入れたけどもう使ってない
Reading List 全く使ってなかった。なんで入れたのかも覚えてない
RevEye Reverse Image Search デマ検証ツールとして入れた画像検索機能だけど、オススメに出てくる代わりの機能を入れとけば何とかなりそう
Tampermonkey これ消えたら「増田のトラバツリーを開閉するTamperMonkeyスクリプト」が使えなくなってしまうので困るけど代わりを知らない
uBlock Origin 一応代わりはあるみたいだから安心
Vandal 記事読んで入れてみたけどWayback Machineがある限り必要性はあまりなかった
VPN Free - Betternet Unlimited VPN Proxy あまり使わないけどVPN拡張機能は代わりが色々ありすぎてウィルスが怖い
Wayback Machine これ消えたらWebArchive利用が面倒くさいので更新してほしい
1. アメリカン・ゴッズ(American Gods)
作者: ニール・ゲイマン
概要: 古代の神々が現代の新しい神々と対峙する物語。主人公シャドウ・ムーンは、刑務所から出所直前に妻の死を知らされ、オーディンを名乗る謎の男と出会い、神々の戦いに巻き込まれていきます。
2. アースシーの魔法使い(A Wizard of Earthsea)
作者: アーシュラ・K・ル=グウィン
概要: 魔法学校に通う少年ゲドが、誤って暗黒の力を解き放ってしまい、その結果を修正するための冒険に出る物語。政治やフェミニズムのテーマを背景に、ファンタジーの枠を超えた深い物語が展開されます。
3. ファーシーアの物語(The Farseer Trilogy)
作者: ロビン・ホブ
概要: 王子の私生児であるフィッツが、暗殺者として育てられ、六公国を舞台にした冒険と陰謀に巻き込まれる物語。魔法や政治的陰謀、ゾンビの呪いなどが絡み合う壮大なファンタジーです。
4. ジョナサン・ストレンジとミスター・ノレル(Jonathan Strange & Mr Norrell)
作者: スザンナ・クラーク
概要: 19世紀のイギリスを舞台に、魔法が復活し、2人の魔法使いがその力を振るう物語。ナポレオン戦争の時代背景を持ち、優雅でウィットに富んだ歴史的ファンタジーとして高く評価されています。
概要: 外宇宙を舞台にした外交的な陰謀と詩的な形式が絡み合う物語。小さな宇宙ステーションの大使であるマヒト・ズマレが、巨大な帝国ティクスカランに赴き、前任者の死の謎を解き明かす過程が描かれます。
注:steamにも1つ前のバージョン4のやつならある。そのうち5もsteamに出てくるはず。フランスのeversimという会社のゲーム。
https://store.steampowered.com/app/2392520/Power__Revolution_2023_Edition/
超面白いのに、日本で知名度なさすぎて、開発終わらないか心配になったので、ここで宣伝してみる。ちなみに、NATOの教材として使われているらしい。確かにリアルだからね。公式の訳が地政学シミュレータなので、そう書いたが、経済シミュレータと言った方が良いかもね。後、Civとの違いは、本当に存在する現代国家を経営できるってところかな。アメリカや日本としてプレイできる。エチオピアやらコンゴ、北朝鮮も、その他殆どの国がプレイ可能。不謹慎かもだけど、ウクライナの戦争だってプレイ開始時点で起こってるから、ウクライナを援助して勝たせることだってできる。最新の5なら、AppleやGoogle、Microsoftやトヨタ、ロッキードマーティン社等の様々な企業もプレイ可能だ。後バグだらけなのは確かだけど、全くゲームにならないほどではないし、大抵はバグの息吹を感じれば回避できるようになるから、そんなに支障はないよ!慣れたら滅多にバグのせいでゲーム続けられなくなったりしない。まあロシアとウクライナの戦争が終わった途端にロシアのGDPが30倍以上になったバグはかなりビビったけど。まあ領土の変更無しの形で終わらせれば回避できたしね。
ちなみに複数国、複数企業同時プレイできるから、ある国で他の自分が操作している国を助ける事もできる。
まあ簡単に言えば、経済シミュレーションにHOIをくっつけて現代版にした感じ。軍事ユニットを指揮して戦争を指導する事もできるよ!まあ戦争関連は特にバグ多いから戦争はおすすめしないけど。でも、HOIをやってて、経済要素があればもっと面白いのに!とか、工場を立てまくる事が好きだった人には絶対ハマると思う。ちなみに第二次世界大戦のゲームでなく、この現代の、2024年を舞台にしたゲームだ!
君はパラドックス社のHOI2をやった事があるか?あるならきっとこのゲームで棍棒外交をするのにハマるだろう。
君はパラドックス社のVictoriaシリーズをやった事があるか?あるならば、きっとこのゲームで国を経済成長させるのにハマるだろう。
君は、現代国家を舞台にしたシミュレーションゲームが中々無いと嘆いた事はあるか?あるならば、きっとこのゲームは君のために作られたものだ。
さて、何故このゲームが素晴らしいのかについて語ってみよう。ちなみにパラドックス社のゲームではない。フランスのeversimという会社のゲームだ。
このゲームの素晴らしさ、それは自由度の高さ、そして経済シミュレーション部分のリアリティだ。
プレイヤーは、現実に存在する国家の首脳となり、その国の行動を操ることができる。
プレイヤーは、例えば、中央銀行の金利を操作することができる。また、所得税、社会保険料、炭素税、環境税、ポルノ税、森林伐採税、etc。。。色んな種類の税金の税率をあげたり下げたりすることができる。(最も、民主主義国家だと、議会の賛成をある必要がある。)また、色んな産業に補助金を出す事も、各省庁の予算を増やして、治安を良くしたり、違法労働を減らしたり、教育に力を入れる事も可能だ。公務員の数を増減させる事だって自由自在である。他国にサイバー攻撃を仕掛ける事も、科学研究にお金を注いで技術的優位に立つ事だってできる。一つのテーマとして、地球温暖化の阻止の要素もあって、火力発電所を減らして原発とか太陽光発電所を建ててCO2排出量を減らせば、支持率が上がったりもする。
そして、ユーザーのアクションは、当然経済に影響を与える。金利を下げれば景気は良くなるし、自国通貨は安くなる。最低賃金を上げれば、失業率が上がるし、輸入額も増える。法人税を下げれば税収は減るが、景気は良くなるし、上げれば悪くなり、失業率も増える。およそ基本的な経済の仕組みはちゃんとシミュレートされている。
そして、バグだらけだが、最新のGeopolitical Simulator5では、何と企業まで操作できるようになった!国家と企業を両方操作できるので、企業として人を雇ったりして景気を良くしつつ、国の福祉を充実させるなんて事もできてしまう。企業は、他の企業の株を買って買収したり、株主にどのくらい利益を還元するか決定したり、工場を作って生産量を増やす事もできる。
このゲームの魅力は、とてもこのスマホでは書ききれないが、一つだけ確かな事は、このゲームは、パラドックス社とかのシミュレーションゲームが好きな人にとっては、確実に買いという事だ。バグだらけなのは残念だが、それを差し引いてもあまりある面白さ!きっとバグも、ユーザーが増えれば解消されるだろう。
経済の勉強にもなるし、最新の5はまだ日本語版がないが、そのうち対応されるはずなので、皆、とりあえず英語版を買ってみてはどうだろうか?多分日本語版も出てくれば無料で日本語版に切り替えられるはず。今までのシリーズはそうだし。
最近最新のGeopolitical Simulator5は、以下のリンクから買えます。バグだらけだが、絶対この最新版を買った方が良い。企業が使えるし。ちなみに、普通に日本から検索してサイトに行くと、langue=enの部分がjaとかになって、まだリリースされていない日本語版へのリンクに行って買えないので、このリンクから進んだ方が良い。アフィとかじゃないよ。
https://www.geo-political-simulator-5.com/buy_selling_point.php?langue=en