投稿

ブルーインパルス

イメージ
 上空通過しました。

SwiftUIでカスタム地図を表示する(その2)

イメージ
 その1ではカスタムタイルを表示しました。今度は手元で生成した情報を重ねてみます。 前回(その1) (予備知識) SwiftでPNG画像を作成する //カンバスを作る UIGraphicsBeginImageContext ( CGSize )  let context = UIGraphicsGetCurrentContext () //お絵描きをする(ぬりつぶす) context. setFillColor (fill) context. fill ( CGRect (x: 0 , y: 0 , width: 256 ,height: 256 )) //イメージオブジェクトに変換する         let tileImage = UIGraphicsGetImageFromCurrentImageContext () UIGraphicsEndImageContext () //PNGに変換する tileImage?. pngData () @Ushio, "UIGraphicsBeginImageContextの無駄",Qiita SwiftでのErrorの返し方 SwiftならErrorをEnumで定義すると明確なうえ、NSErrorにもそれらしくCASTされるようだ。 中安佑一,"[Swift] Swiftのエラー処理についてざっくりとまとめてみた", DevelopersIO, Classmethod reo0612, "swiftのErrorとNSErrorの違いがよく分からないので自分なりにまとめてみた", Qiita カスタムTileOverlayを作る PUNIO, "Xamarin.iOSで地図にTileを追加したりしてみる", プログラムの事とか,Hatena Blog (実際) PUNIOさんのコードをSwiftUIに移植しただけですが import UIKit import MapKit class CustomTileOverlay : MKTileOverlay { enum TileError:Error{ case getCurrentContext } override func load...

SwiftUIでカスタム地図を表示する(その1)

 観光地図やらクライムマップやらもっと便利に表示したいなと。 (予備知識)  SwiftUIでiOSアプリを書くには SwiftUIになって大きく変わったところがGUIの作り方。従来はstoryboardを使ってGUI部品を配置し、そのGUIを制御するUIViewをゴリゴリ書く感じでしたが、SwiftUIになって、GUI部品にレイアウトやら制御やらをまとめた感じ。  SwiftUIで地図を表示するには SwiftUIにはWKWebViewに相当するViewがないので、UIKitのWKWebViewをSwiftUI用にラップして使用する必要があります。これにはUIViewRepresentableプロトコルを使います。詳しくは 公式チュートリアル のとおり。 @k_awoki, "UIViewRepresentableを使ってSwiftUIでちょっとリッチなWebviewを表示してみる", Qiita @m37335, "【SwiftUI】Mapkitを使った位置情報の取得とピンの表示",Qiita  MapKitの基本 前述のようにMapKitはUIKitで、地図上にGUI部品を載せることができる。地図上の地点に関するGUI部品のアノテーション、画像や図形のGUI部品のオーバレイが用意されている。ここでややこしいことに、GUI部品のオブジェクトと、GUI部品を表示する部品を別々に用意してやらないといけない。 中安佑一, "[Swift][iOS] 京都御所に近ければ偉いだと?! せやったらそんな”はんなり”した地図アプリ作ったろやないか! – MKMapView使い方まとめ", DeveloversIO, Classmethod タイルデータを表示するには カスタムタイルをmapViewにオーバレイする。それには、 (1) タイルオーバーレイを供給するオブジェクトを登録する。 具体的には、MKTileOverlay()を用いて、地図に重ねるタイルデータ供給オブジェクトをつくり、mapViewオブジェクトにセットする。 (2) タイルオーバーレイをレンダリングするオブジェクトをmapViewオブジェクトにセットする。 具体的には 、mapViewのdelegateオブジェクトに、mapView(_ mapVi...

夏空の似合う道

イメージ
環状2号(C2)から川口線に分岐する江北JCT。ここから川口までの区間は遮るもののない見晴らしのよい道。晴れた夏空がぴったり。 新宿から江北JCTまでトンネルと高架下が続くのですが、ここからずっとオープンスカイが続く天空の道。ほんと気持ち良い道です。 https://www.instagram.com/p/CSlmhg2Jz0E/ 環状2号ができてからは新宿・板橋JCT経由でこれるのでほんとラクになりました。それまでは三宅坂で渋滞してC1に合流し、神田橋で渋滞、両国で一息ついたとおもったら小菅JCTのハラハラ分岐を抜けて、やっと川口線に入るという感じで結構大変でした。  

イメージ
8月15日というのに肌寒い。夜中にフリース生地のタオルケットをかけて凌ぎました。つい先日まではエアコンをかけないと寝られないほどだったのに。 中国地方や中部では水害となっているようです。早くおさまるとよいのですが。 実家は江戸時代に新田開発されたところで家の前から3キロ先まで田んぼです。八月半ばから十月くらいの時期に大雨が降ると、田んぼが冠水して道路も水没ということがたまにありました。道を選べば冠水箇所をさけられるのですが、油断して近道すると沼地だったあたりでは、道路が10から20cm冠水していることがよくありました。自転車で通過するときペダルを下まで踏み込むと濡れてしまうので、上半分だけでしのごうとしましたが、最後はあきらめてえいやで水中まで踏み込んで脱出しました。 写真は調布駅から程近くにある大正寺の山門からのぞいた境内です。緑が映えます。  

syslogサーバーを立てる(途中)

 ルータのログを取ろうとラズパイにsyslog サーバを設定したのですが、手元のルータはrlogに対応していないことが判明。テストまでいっていないので後日更新しよう。 Ram diskを作る ラズパイではファイルシステムをフラッシュメモリにつくっている。フラッシュメモリは書き込む度に寿命が縮むことから、ログファイルはram diskを作ってそこに書き込むことにする(リブートで記録が失われてしまうが)。ramdiskを作るため/etc/fstabに次の行を追加する。 tmpfs /ramtmp tmpfs defaults,size=16m,noatime,mode=1777 0 0 設定が正しいか、手動でマウントしてチェックする $ mkdir /ramtmp $ mount /ramtmp $ df #チェック syslogを受信する設定 $ vi /etc/rsyslogd.conf # provides UDP syslog reception module(load="imudp") input(type="imudp" port="514") /etc/rsyslog.d/remote-syslog.conf ファイル内容 # receive from remote syslog :fromhost-ip, isequal, "192.168.xxx.yyy" -/var/log/remote-syslog & ~ syslogをリスタートする # /etc/init.d/rsyslog restart ここで、ルータからlogをなげようとしたら、手元のルータは投げられないことがわかったので、とりあえずここまで。 logrotateもセットする必要があるとおもう。これをファイルシステムの取り直せばよいような。 参考  @SachielCurio さんの berrr pi lab Raspberry Pi/各種設定/log,tmpのオンメモリ(tmpfs)化 aspberry Pi/syslog転送

カーメン君のガーデンチャンネル「萌木の村」

 カーメン君のガーデンチャンネル、カーメン君いいですね。 テンガロンハットのカーメン君が、季節季節の園芸の楽しさを伝えてくれるYoutubeのチャンネル。ほんと園芸の知識が豊富で話題が豊富、苗の選び方から肥料や農薬・剪定などわかりやすくて、ずぼらな自分でもついついやってみようかなと思ってしまう。 今日、清里の「萌木の村」特集を見て衝撃を受けました。ポール・スミザーのガーデニングの哲学と技術、反発しながらも受け入れて育ててきた謙虚な村長さんによる無農薬・無肥料の庭を紹介していました。 【嘘か本当か】園芸超人が聖地「萌木の村」を検証します 清里といえばコテコテのペンション建築とアイスクリームやジャムと清泉寮という中学女子的イメージの観光地。特に萌木の村といえば、オルゴール博物館やらドール、ガラス細工、ジャム、ミルク製品など、コテコテの高原観光施設を集めたロードサイドのドライブインと思っていました。 ガーデン散策の途中ででてきた”スーパーマンのTシャツをきた田舎のおじさん”。めちゃダサい田舎親父、萌木の村の村長さんだとか。容姿や振る舞いがまるっきり田舎の土建屋の社長でないかい。萌木の村って、オルゴールやら何やらキラキラした観光施設やっているから、成金趣味の変なスーツ着たオジサンがでてくるかと思いきや、真逆すぎてびっくり、嫌いじゃないタイプかも。 この村長さん、スミザーさんに庭造りを任せたところ、それまでの自分たちの常識がことごとく否定され、反発しまくったとか。結局ねばり負けして、スミザーさん監修のこの庭ができたとか。面白おかしく話をしていますが、よき理解者となったようです。なんだかんだ自慢のガーデンなんだなぁ。 スミザーさんに庭づくりをまかせるまでの、萌木の村の歴史がよかった。 50年喫茶店からはじめてホテルを作った、デザインも統一してある程度のレベルで綺麗なものができた。それで環境づくりをとなったところで、なかなかうまくいかない。10年前スミザーさんに出会い「こんな庭をつくれば未来にもつづく本物の庭ができるよ」といわれてまかせた。これまでの常識とまったく異なるやりかたに反発しながらも続けてきた。10年たって「やってよかった」というものができた。 このビデオで最も印象に残ったのが「フィールドバレェをはじめたきっかけ」。 田舎で芸術とかお酒とか、 欲望の質の高いもの...

お言葉の重み

「え、そんなこといっちゃうの?」「あんまりじゃない!」 記者会見や年頭あいさつなどで、ときどきハッとする言葉が飛び出してくることがありますよね。リーダともなると、いろいろとお考えやご事情がおありなのでしょうが。 安倍首相「これまでのお約束とは異なる、新しい判断」 2016年6月1日 消費税の引き上げ時期を17年4月に延期したときに、「再び延期することはない」と断言していたものを、19年10月に再延期すると記者会見したときの発言。(https://www.j-cast.com/2016/06/01268515.html) 「絶対にないと発言しても、あっさり前言撤回できるものなんだ」、臆面もなく、ご都合主義を認めちゃうんだ、総理が。約束を守らない・守れないときは、相手にも多大な迷惑がかかる。だから、お詫びをした上で、対応について協議を求めるものかと。 国の舵取りをする上では、約束したものであっても判断を変えなければならないこともあるのだとは思います。その場合は、新たな判断が必要となった事情を、言葉を尽くして説明していただく、野党はその事情を検証することで、新たなコンセンサスを作ってもらいたいもの。 安倍さんにしても、菅さんににしても、モヤモヤするのはココかな。 「我が社は自前主義をやめます」 古い話ですが、ある企業幹部が年頭挨拶で「弊社は自前主義をやめます」と発言。これからは、自前主義をやめ他社と協力しスピード感をもって開発を進めると高らかに宣言されたという話を聞いた。 自前主義をやめることは、自社で全ての技術を賄うのではなく他社の技術やサービスを使い協業を進めること。短時間でサービスを開発し、運用コストと新サービス失敗のリスクを軽減するとともに、組織や設備の肥大化を防ぐなどのメリットが。 たしかに、新製品や新サービスをすべて自社技術で賄おうとすると、開発コストや時間が膨大となる上、運用コストも失敗リスクも大きくなるなどの問題がある。 この話、他社に負けじとコア技術開発を進めていた時に聞いたので、あんまりだなぁと。協業がうまくいくには、核となるインフラや人材・技術、資産を自社で抑えているのが前提かと。その部分を(まる投げでなく)しっかり抑えられなければ、やがて相手にヘゲモニーを握られてしまう危うい話じゃないのかなと。その人は投資家向けに話していたのかな。 トップは方向を...

tokyo2020デコレーション

イメージ
青山一丁目のデコレーション好み おまけ  

盛夏

イメージ
  行くぞ 飛び立ったばかりの飛行機と八月の空

花壇への道

 家の外構に猫の額のような植栽があり 建売を買ってみたら、外構に3m超のでかい木が3本、2m級が8本、ネズミもちが3本、西洋バクチの木、ツツジや皐月、西洋石楠花などの低木類。ヒューケラやらグランドカバー類の小物がうじゃううじゃ。いやがおうにも園芸趣味にされた感じです。 マンション住まいのときもベランダに鉢物おいていたので嫌いではなかったのですが、なにしろ数が多い。最初はちょっと枝を切るくらいで済ませていましたが、枝や葉が茂ってきて台風で倒れたり、側溝がつまりそうになったり、アリは侵入するわ、藪蚊が発生するわ。 大物がのびてきて、雨樋を詰まらせそうになったのをみて、そろそろやばいぞ。このまま放置すると、幹が太くなって切ることもできないんじゃないかと。 そこで、今年思い切りバッサリやりました。協定書には「シンボルツリーは伐採するな」と書いてあったので良心が咎めたのですが、そもそも10本以上でかい木があるので「シンボルツリーってどれだっけ???」と迷っているうちに、心のなかのドロンジョ様が「やっておしまい」と叫んだ声が聞こえた気がしてきて、大きな木はノコギリで丈をつめ、もさっとした木は枝をざっくり間引き、ツツジの類は引っこ抜き、さっぱりしました。 殺風景にするのは本意ではないので、春先にはビオラを植えて華やかにしてにっこり。さらに、大葉を移植して初夏を迎えることに。しかーし、見るも無惨なほどダンゴ虫くんの食害にあってしまいました。 土肌が露出したままというのもなんですので、マリーゴールドを移植したのですが、マリーゴールドは2〜3日で丸坊主。どうやらダンゴムシ君の大好物だったようです。チーン。 今度は百日草と千日草を植えました。日持ちするかな。 一方、大葉君、ダンゴムシ攻撃に耐え忍び、虫食いながらも大きくなってきたのですが、ある日ボッコボコ。よくみると、ショウリョウバッタの幼生がたっくさん発生していました。 なかなか手強いものの、藪蚊はへったからまぁいいか、明日も水をあげよう。

アコギはじめました

店頭で見初めて,TaylorのGSminiを購入しました。academyとなやみましたが、ドレッドノートで綺麗な音を出そうとするとちょっと音が大きいかなぁ。迷った挙句、手に馴染んだこちらにしました。 それにしてもいい音がでます。おうちで練習していると、カミさん「いい音だねー」。  にっこりして「そうな...」 間髪いれず「高いんじゃないの?」 「そ、そうかなぁ」 アコギはいいね。一音一音の響がいいなぁ。ぽろんぽろん爪弾くだけでもかなり楽しい。 しかし、ちゃんと音をだすのって難しいなぁ。

集団接種(モデルナ)打ってきました

 2回目接種者が38度級の熱が出ると噂のモデルナワクチンですが、受けずに罹ったときのの深刻なダメージを考えると、受けないという選択肢はありえない。 けさ、地域の集団接種会場にいってきました。会場は地元大学の大きな体育館でした。アルコール消毒したあと、予診表と接種券をバインダーに挟んだあと受付の列に並び、医師問診ののち接種、接種証貼り付け、経過観察と進み、30分もかかりませんでした。 会場は誘導の方や看護師の方が、被接種者をテキパキと捌いていてとってもスムーズ。被接種者もみなさん予診表など準備万端。大きな体育館は換気のため窓は空いているようですが、業務用の大型冷房装置x8台がフル回転しており、待ち時間も快適でした。 準備を進めてくれた皆様ありがとうございます。 接種した1時間ですが、何の痛みも腫れもありませんね。おっさんだからかな。 10時間経過、モデルナ接種した部分がちょっと痛む。ちょっと張った感じで、大した痛みではないね。

Tokyo2020 ロードレース

 少し間が空いてしまいましたが、ツールのスーパースターが地元を疾走し、三国峠や籠坂峠で死闘を繰り広げるのをずっと見られ、素晴らしい中継でした。 ロードレースとの出会いは、ロード大好きでツールドフランスのこととなると話が止まらない知人に勧められて、見始めたBSのダイジェストがきっかけ。毎日毎日、いつものメンバーが死力を尽くして美しい景色の中を疾走する姿にハマりました。 田舎育ちで毎朝7km駅まで通っていたので、もともと自転車は好きで自信もあったのですが 迫力ある映像と美しい景色と競技の面白さにハマりました。 途中で挟まる緑の絨毯の田園風景と田舎の美しい街並みや尖塔に癒されながら、険しい峠道での渾身のアタックレース、危険と隣り合わせの下り坂、逃げやメイン集団での駆け引きでハラハラドキドキと、見どころいっぱい。 いつか日本でと思っていましたが難しいかなぁと思っていました。ヘリにあんな低空飛行させる許可取れるのかとか、あんなに長い山道で途切れなく無線中継するには、基地局いくついるんだとか、そもそもあんな高速バイクで安定して撮影出来る命知らずのカメラマン何人いるんだ、しかも長時間トイレ休憩もなしでと。 オリンピックだからなんでもありの特別許可もあったのでしょうが、中継技術に金メダルです。国際映像なので、海外チームでしょうが素晴らしかった。

多摩丘陵天空の道

イメージ
 たまにはブログのタイトルの話を。多摩丘陵のお気に入りの天空の道をいくつか。 第三位 読売V通り よみうりランドと京王よみうりランド駅を結ぶ道。自転車乗りには有名な練習コース。眼下に広がる稲城・府中・調布の街並み。ドライブでは、坂が急すぎて堪能する暇がないので3位にさせていただきました。崖を駆け降りる急坂、足元には京王多摩線。 駅からお散歩がちょうど良いかも。写真は駅とよみうりランドを結ぶ「巨人への道」。 第二位 王禅寺見晴らし公園 眼下に広がる住宅街と地平に望む多摩丘陵がたまらない。最寄りのコインパーキングに車を停めて、ぜひ眺めを味わって欲しいところです。この付近一帯は川崎市の最高地点じゃないかなぁ。生田アルプス(^^)の南西端。 ちょっと短いけれど崖に沿った尾根道も気持ちよい。 第一位 多摩大学近くの道 尾根幹線道路をオーバーパスするお気に入りの天空の道。なかなか素敵な道で、道端にとめて景色を堪能したい気持ちになりますが、残念ながら駐車スポットはありません。 写真はこの道につながる階段ですが、こちらの天空感もなかなかでしょ。ここで一晩流星群を眺めていたいものです。 別格 川崎市長沢浄水場 浄水場の西端の小高い丘に続くつづらおりの道。ランバートストリートも真っ青の急坂ですが、頂上付近の東側と南側の眺望が素晴らしい。東側は柵もなく足がすくむ絶景。これぞ天空の道。細い生活道路ですので車はお勧めしません。

ブルーインパルスを楽しめる日常

 1日たってしまいましたが、お昼にブルーインパルスちょっとだけ見えました。 都心からはずれているので見えないかと諦めていましたが、飛行機の音が聞こえてきたので慌てて戸外へ。編隊飛行ではなくスモークなしで1機づつバラけて飛んでいました。 旅客機とちがって自由に飛ぶ様は、みていて楽しくなりました。ふと、これが他国の軍用機だったらどう感じるかななどと…。自衛隊が休みなく警戒してくれるからこそ、飛行機が舞う姿を無邪気に楽しめるのだろうなぁなどと、ありがたいものです。再び都心方面に行ってしまったの見届け部屋に戻りました。 しばらくすると、今度はスモークを焚いたブルーインパルスが編隊となって入間方向に帰って行くのが見えました。

青山の花壇

イメージ
青山というと外苑のイチョウ並木が人気のようですが、青山一丁目の駅のほど近くの公園がいい感じです。 イチョウ並木の花壇はクリスマスローズや野の花が多く落ち着いた感じです。こちらの花壇はずっと華やかです。近所のボランティアさんが四季折々の園芸品種の花を育てているようです。

FMLのメンバー管理コマンドの自動生成

 お仕事では、メーリングリストをFMLで運用しています。 ML管理者として登録された人は、コマンドメールを使ってリストのメンバー更新ができるのがありがたい機能。 しかしながら、このメンバー管理が曲者で、メンバーリストからメンバーを削除しても、その記録が延々と残る仕様です。このため、メーリングリストの利用期間が長くなるにつれ、メンバーリストがだんだんと太ってきます。 このため、メンバーを更新しようとしたときに、メンバーが登録もしくは削除済みなのかを目視でメンバーリストを点検して把握することが大変になってきました。 あまりに大変なので、自動チェックの Webページ をつくりました。 左上のフォームに設定したいメンバーのリスト、左下のフォームに現在のメンバーリスト(設定直前にadmin membersで取得したもの)を入力し、Generateボタンをクリックすると右側にコマンドメールに書くべきコマンドが表示されます。これをメーリングリスト名にctlをつけた宛先にメールすればよい。というものです。 (参考)perlです。 @tg=("taro@foo.com","jiro@bar.com"); #新しいメンバーリスト @cu=("ichiro@foo.com","jiro@bar.com"); #members で取得した現在のリスト sub checkAssoc { my (@ad)= @_; my (%reg)=(); foreach $ad (@ad) { $reg{$ad}=1; } return %reg; } %tg = checkAssoc(@tg);#メアドをキーとする連想配列を作る %cu = checkAssoc(@cu); @cmd=(); #----- bye ---- 現在のリストの項目のうち、新しいリストに含まれないものは削除するコマンドを追加 foreach $ad (@cu) { next if $tg{$ad}; push(@cmd,"admin bye $ad\n"); } #----- add ---- 新しいのリストの項目のうち、現在のリスト...

raspberry piの下拵え

 ラズパイ君をマイクロサーバとして使うための下拵えのメモ。 (ハードを揃える) 本体(ラズバイ4)   :4MBくらい 記憶(マイクロSDカード):4GBくらい。スピードクラスに注意。 電源(USB type-C電源)  : 3A。100均電源は2A程度までなので力不足。 ヒートシンク      :やはり必要 冷却ファン ケース (初期設定に必要なハードウェア) HDMIケーブル(micro HDMI):micro HDMIのため変換が必要 キーボードとマウス、HDMIモニタ (起動ディスクの作成) ディストリビューションを選んで、マイクロSDカードに書き込む。 (起動) HDMIモニタ、キーボード、マウスを接続、SDカードをさしこみ、電源をいれる。あとは画面の指示にしたがい、言語やキーボード、パスワード設定、ネットワーク設定、バージョンアップなど行い、再起動する。 参考 Indoor Corgiさん Raspberry PiのセットアップとOSの初期設定 (マイクロサーバーとして使うための設定) インターフェースに固定アドレスを割り当てる ユーザを登録し、sudo権限など設定する。 SSHを有効にする 起動時にPOWER LEDが点滅するように設定する (仮想デスクトップで作業するための設定) VNCを有効にする VNCサーバーに接続できるユーザを登録する HDMIを常時有効にする。解像度を固定する 参考 Indoor Corgiさん VNCでRaspberry Piにリモートデスクトップ接続 (Windows/Mac/Linux対応)

AlexaでApple Musicをかける

 Alexaに音楽を聴こうとお願いすると微妙に意地悪されちゃう件。単純に課金すれば解決するのでしょうが、意地悪された相手に課金するのはなんかすっきりしない。聞いていますかalexaさん。 そもそも、iPhoneやMAC持っていてiTunesで購入した曲やリッピングした曲も入っていることから、apple musicでしばらく様子をみることにしました。 Alexaの設定でApple Musicを有効にして、デフォルトの音楽サービスをApple Musicに変更したところ、無事に曲名を指定して音楽を聴けるようになりました。めでたしめでたし。  参考: AlexaでApple Musicを再生する ところがどっこい、alexa君はアルバムの指定とか曲の指定がうまくできない。アレンジ曲とかかけてくる。意地悪なのか天然なのか。alexaアプリやミュージックアプリからも直接指定できない。 調べてみると、apple Musicで作ったプレイリストはかけてくれるらしい。そこで「プレイ○○」というプレイリストを作って、そこにお気に入りの曲を追加して、「alexaプレイ○○かけて」とお願いすることで解決しました。