あれ
あるIT技術者同士の会議に出たときは、なんか品評会みたいな感じになってた。お互いに持ち玉をだして、お互いに「いい仕事してますねぇ」みたいな。
私はIT業界にいながら5年前とは全く違う技術を使い、全く違う働き方をしているから、ある意味で技術の進歩によって仕事を代替され、同時に技術の進歩によって雇用を得ている状態でもあるので、新陳代謝みたいに仕事の様態は変わりつつも総量としてはそんなに変わっていかないんじゃないかなと思う。
あと、技術の進歩によってより多くのことが少ない労力でできるようになれば、生活はより豊かになるって側面もあると思う。20年まえだとSNSとかなくて、遠隔の人とコミュニケーションを取るのも一苦労だったし、トラクターが出現する前は農作物の総費用はすごかっただろうし。
消費財の費用の低減という効果によって、より少ない労働で生活が成り立っていくんじゃないかなぁ。そうなるといいなぁ。
Slackのチャンネルにメッセージが投稿されたときにSlackBotへ向けて発せられるイベント
AWS CLIのimport-backend-storageを使えば、Amplifyのアプリをバックアップから復旧させるのが楽そう。
Web Prowlerの推薦性能を改善する方法が見えた。
ユーザーのベクトル化であるUser Embeddingを計算して、User EmbeddingとリンクのSentence Embeddingの類似度でクロールすれば良い。
推薦も今見ているページのSentence Embeddingを使って良きようにする。
User Embeddingは操作に応じて随時修正する。
User Embeddingの初期状態は、ブラウザに保存されたお気に入りや、履歴から計算すれば良い。ローカルで動作して情報が外には出ないので、こういった情報を安全に取り扱える。
デライトに順応すると、「散歩中に思いついたあれ」や「あれを考えるために調べたあれ」など、描き出した何もかもが超高速で取り出すことができる。
知識を保存するのも超高速だ。保存すべき場所を探し回る必要はなく、既存の書き出した知識に適当に引き入れておけば良い。目についた単語の輪郭に引入れておけば良い。取り出すのは適当にたどっていれば見つかる。なぜか見つかる。
直観で、「なんとなく」で引き入れるのが大事だ。探すときも直観と「なんとなく」で探すのだから、保存と探索は同じ道を辿る。
知識の保存と取り出しの超高速性は、あたかも脳の記憶が拡大したかのように感じられる。記憶の拡大は、思考の高速化をもたらす。日本の学校を出たならば、九九表を覚えさせられたかと思う。九九表を覚えれば、掛け算は10倍は早くなる。もし2桁の掛け算を全て暗記すれば、複雑な掛け算の速度は100倍かそれ以上になるだろう。
算数に限らず、限りなく多くの人間の知的作用が記憶できたならば、どれほど思考は早くなるだろうか。
あばーーーーーーーーーーーーーー
あっ、クソッ、研究のために日経からCypressで記事データブッコぬこうとか思ったらreCAPTCHAで保護してやがるッ!
技術音痴の日経の割にしっかりしてはるな。
会社のMacbookが帯電しすぎて触りたくなくなってきたので、導電マットポチった。
これ→ ホーザン(HOZAN) ESD卓上マット 静電気を大地(アース)へ逃がす F-310-L
とこれ→ ホーザン(HOZAN) アース線 ワニグチクリップ付属 コード実効長:1.6m ホック径:7mmφ F-24
MacbookとIIYAMAのモニターの下に敷く。多分IIYAMAのモニターが悪い。GND繋いでるのに帯電してる気がする。
作業に手をつけるもの30分で力尽きた
いやまじであかんわ。体調不良レベルのやる気の出なさ。
やる気でなさすぎヤバい
35 107387 310942 7
「Multimodal Embeddingとかあるんだ」とか言ってたら、Titan Multimodal Embeddings G1が出てきた。
もう何もせずに寝てればいいじゃん。
なんか頭働かん
画像と文章のEnbeddingが取れるっぽい
export class InMemoryTokenStorage implements Storage {
private storage: { [key: string]: string | null } = {}
get length(): number {
return Object.keys(this.storage).length
}
key(index: number): string | null {
return Object.keys(this.storage)[index]
}
getItem(key: string): string | null {
return this.storage[key]
}
setItem(key: string, value: string): void {
this.storage[key] = value
}
removeItem(key: string): void {
delete this.storage[key]
}
clear(): void {
this.storage = {}
}
}
const token_storage = new InMemoryTokenStorage();
Amplify.configure({
...awsmobile,
Auth: {
storage: token_storage,
}
})
async function idToken_get() {
(await public_user_account_get());
return Object.entries(token_storage.storage).map(([key, value]) => `${key}=${value}`).join("; ");
}
async function public_user_account_get() {
return await (async () => {
try {
return await Auth.currentAuthenticatedUser();
} catch (error) {
try {
return await Auth.signIn(process.env.PUBLIC_EMAIL_ADDRESS ?? "", process.env.PUBLIC_PASSWORD ?? "");
} catch (error) {
return undefined;
}
}
})()
}
const SSR = withSSRContext({ req: { headers: { cookie: await idToken_get() } } });
const result = await SSR.API.graphql({
query: deleteRelation,
variables: {
input: {
id: relation.id,
_version: relation._version,
}
}
})
InMemoryTokenStorageのパクリ元:『Amplifyでアクセストークンをin-memoryに置いてみる』
So, do an:
amplify override api
Update the tablename in the override.ts as:
resources.models["Todo"].modelDDBTable.tableName = "tod";
Amplifyに乗っけたNext.jsから直接DynamoDBたたくの大変っぽい。テーブル名を同定でけへん。
src/middleware.ts
import { NextRequest, NextResponse } from 'next/server'
// IPホワイトリスト
const IP_WHITELIST = ['::1', ...JSON.parse(process.env.IP_WHITELIST ?? "[]")];
const IP_RESTRICT = process.env.IP_RESTRICT === 'true';
export async function middleware(request: NextRequest) {
if (IP_RESTRICT) {
// IPアドレスを取得
let ip: string = request.ip ?? request.headers.get('x-real-ip') ?? '';
// プロキシ経由の場合、x-forwarded-forヘッダーからIPアドレスを取得
const forwardedFor = request.headers.get('x-forwarded-for');
if (!ip && forwardedFor) {
ip = forwardedFor.split(',').at(0) ?? 'Unknown';
}
// 取得したIPアドレスがホワイトリストに含まれているかチェックし、含まれていない場合はアクセス拒否
if (!IP_WHITELIST.includes(ip)) {
return NextResponse.json({ message: 'Unauthorized' }, { status: 401 });
}
}
return NextResponse.next();
}
LambdaでBERTを動かせるようになったんだけども、この知識を200万円ぐらいで売りたい。
誰か買ってくんねーかなぁ……
AI構築を外注すると考えると、安いほうですわよ。
ちなみにAI構築を外注すると、1回の試行で数百万円かかった上でだいたい失敗するらしいぞ♥
https://note.com/maskedanl/n/n35fa7bb528c0
自称AIベンチャーガチャ
金額:50万円~億単位
技術力:宇宙創生
成功率:努力と根性と運次第
知名がKey、Valueは全
メモアプリに見せかけた、KNS(SNS+個人知識管理サービス)に見せかけた、知能増幅メモサービス
とかなんとか(うろ覚え)
ちゃんと調べてみた
1 すでに公表されている著作物であること
2 「公正な慣行」に合致すること(例えば,引用を行う「必然性」があることや,言語の
著作物についてはカギ括弧などにより「引用部分」が明確になっていること。)
3 報道,批評,研究などの引用の目的上「正当な範囲内」であること(例えば,引用部
分とそれ以外の部分の「主従関係」が明確であることや,引用される分量が必要最小
限度の範囲内であること)
4 「出所の明示」が必要(複製以外はその慣行があるとき)