投稿

10月, 2018の投稿を表示しています

Fedoraで行こう! 〜28 to 29編〜

on Schedule Fedora 29。予定通りにRelease。気づいたのは、今日。 ここ に、Upgrade方法記載してありますが、現時点(2018-10-31夕方)で、記述ミスがあるので、注意が必要です。 Upgradeしてみる $ sudo dnf clean all $ sudo dnf update F28での身なりを整えておきます。 $ sudo dnf upgrade --refresh $ sudo dnf install dnf-plugin-system-upgrade $ sudo dnf system-upgrade download --releasever=29 時々、Problemなrpmに警告が出ることがある(当方はjdkで出た)ので、迷わず、removeした後、再度、実行してください。 問題がないようなら、いつもと同じような感じで進捗します(笑) 記述ミスと言っていたのは、 29 のところが 28 になってた、ということです。(直ってるかな) $ sudo dnf system-upgrade reboot ひたすら、待ち。CPUが強力だったりすると速いのでしょうけどね。(SSDになったことで、速くはなりましたけどね) 使用感 リブート後、すぐなので、使用感も無いもないけど。gnomeのextensionである「 dash to dock 」に、当方の環境だと問題がでているようで、これから解析かな、というところ。vlcとかemacsとか常用している一部では問題はでていないので、ほぼ問題ないのだろう、と思われる。Python3は、3.7.1で、Juliaは、1.0.1になっていますね。 その後 upgger で使用しているPythonが3.6から3.7に上がったことで、venv(virtualenv)の作り直しが必要になってて、pipで、あれこれinstallして、Uploadできる状況にはなっております。 解決 Gnome3 が出た当初は、「なにこれ?」っていう感じだったので、 MATE や Cinnamon を使ったりしてたのね。 で、 Gnome Shell Extension のSiteで、「Dash to Dock」ていうのを見つけてからは、重宝してたんですよね。気づくと、これないと...

Uploadしよう!〜埋め込み編〜

イメージ
IBM acquires RedHat for $34 billion ZDnetの記事は、 ここ 週明けから驚いた。Cloudのテコ入れかなぁー。 一番の心配は、Fedoraだったりするけど、個人的には(笑) 90年代や00年代のMicrosoftやIBMを知ってたら、考えられない状況っちゃ状況ですからね、やっぱ。 埋め込み どうしても、やりたくなったので、お試ししてみることにしました。埋め込みです。 Youtube。 そのまま、埋め込んでいるだけです。Pandocはスルーしてくれるみたいですね。 Nybble 上のYoutubeのやつは、Raspberry Pi+Arduino Compatible(IR+12CH-PWM)なのね。 これ、いいなぁ、と思って、ぜひ!と思ったので、埋め込みできないかしら、ということでのお試しだったのです。

Juliaで行こう! 〜ぶらぶら編〜

この1ヶ月ぐらいで、ボリュームゾーンのとあるCPUは、3割近く値上がるぐらい、物がない、ってことか。 置き換え PythonからJuliaへ。というより、PythonのCodeをJuliaで呼び出すというのが正しいのでしょう。前回のPythonをJuliaで呼び出せるように、します。 @pyimport PySide.QtCore as c @pyimport PySide.QtGui as g @pyimport PySide.QtWebKit as w @pydef mutable struct TestFive function __init__(self) self[:x] = 100 self[:y] = 150 self[:w] = 720 self[:h] = 480 self[:u] = "http://localhost:8000/" self[:t] = "Demo Title" self[:m] = "" end function start(self) app = g.QApplication([]) view = w.QWebView() view[:setGeometry](self[:x], self[:y], self[:w], self[:h]) view[:setWindowTitle](self[:t]) if self[:m] == "" view[:load](c.QUrl(self[:u])) else view[:setHtml](self[:m]) end view[:show]() app[:exec_]() end end using PyCall include("../lib/libj/TestFive.jl") tf = TestFive() function c...

Pythonで行こう! 〜ぶらぶら編〜

胡椒多め、大葉をトッピング。ぐぅ! WebKit 試したいことがあって、まず、Juliaで、 Blink を試そうとしたのだが、 Build Failed 状態。 しようがないので、Pythonで、 Gtk+WebKit というのを見つけたのだけど、今の環境だと、 Install Failed 。なんですと! で、結果的に、 Qt5+WebKit となりました。まあ、出自を考えたら、こういう構成になりますかね。 ということで、試してみます(笑) 下準備として、 $ sudo dnf install python3-pyside クロスプラットフォームな PySide をInstallします。 Site Access 以下、引数に、URLを与えたら、表示される、という簡単なものです。 #!/usr/bin/env python3 from PySide import QtCore from PySide import QtGui from PySide import QtWebKit import sys class WebDemo: def __init__(self): self.x = 100 self.y = 150 self.w = 720 self.h = 480 self.u = 'http://google.com' self.t = 'Demo Title' def start(self): app = QtGui.QApplication([]) view = QtWebKit.QWebView() view.setGeometry(self.x, self.y, self.w, self.h) view.setWindowTitle(self.t) view.load(QtCore.QUrl(self.u)) view.show() app.exec_() if __name__ == '__main__': wd = WebDemo()...

雑感 〜急な雨に右往左往編〜

少し間が空いてしまいました。 mono Fedora上で、Win Binaryを動かすのは、昔と比較すると、随分と洗練されてきました。今は、Win Binaryも作成できる環境になってるのはいいのですが、如何せん、Winを使用しない生活をしていると、作成をする意味付けが非常に弱い、という事実があります。それ故、そちら側の技術を置き去りにしているという状況になっています。 Hello Worldを作成してみるのはいいかもしれない、ということで、お試しをしてみました。 $ sudo dnf install mono-devel $ sudo dnf install mono-data-oracle 2つ目は、Compile時にErrorが出たので、追加Installしたものです。 枠だけHello 準備ができたので、簡単なCodeを。Titleが表示されるだけのものです。 using System.Windows.Forms; class MainWindow{ static void Main(){ Application.Run(new HelloWorld()); } } class HelloWorld : Form{ public HelloWorld(){ this.StartPosition = FormStartPosition.CenterScreen; this.Width = 240; this.Height = 80; this.Text = "Hello World"; } } これをCompileします。 $ mcs -target:winexe -pkg:dotnet hello.cs Compileが上手くいくと、「 hello.exe 」が作成されます。 $ mono hello.exe なんとも、あっさりと、Windowがたちあがってきます。ブルブル。

雑感 〜少し肌寒い編〜

タイマー カップ麺を食べる際、タブレットのタイマー機能で、云々ということをやっていました。ただ、タブレットが替わると、その標準的なアプリはメーカーによって、UI/UXが異なってきます。すると、お湯を入れてから、アプリを動作させるのに、少しだけ戸惑う時間が発生します。少なくとも、十数秒程度は。加えて、カップ麺そのものを頻繁に食べないこともあって、毎回、その逡巡する時間が発生してしまいます。 なんとかしたいなぁ、と思ってて、某timer周りをいじってたんだけど、今のところ上手くいってなくて、結果的に、上手くいってるPyGTKベースのTimerを作成(ちょい変)。デフォルトで、180秒と300秒のカウントダウンのみ。アラームもでないけど、作業をしているデスクトップ上に、ポチッとおけるので、いいかな、と。 SQLite3 諸々のSiteを巡回するのに、Rssアグリゲーターである Liferea を使用しています。このアプリ上でも閲覧はするのだけど、元々、このアプリを使うようになったきっかけは、DataをSQLite3で持っていたことに起因します。 RssのLink先から得られるFull TextをOfflineでも、読めるようにしたいということを考えていて、epub化すれば、いわゆる一般的なブックリーダーで読めるな、と思ったわけです。限りなく、自分的には、ビンテージに近いアプリで、当時、iPod Touchで読めるようにするのが、自分的至上命題だった。 それ故、Handling可能なDataをSQLite3で構築している Liferea が筆頭だったのです。SQLite3は、一般的なCopy and Pasteにて、可搬性が可能なRDBでしたので、作ったScriptは、当初、 SQLite3をCopy→未読Data収集→Script実行→Dataの既読化→Offline使用 SQLite3を含めて、Backup ということをやっていました。使用されているSQLite3は、既読してもData量が減るわけではなく、Readフラグが「0」となるか「1」となるか、でしたので、Data自体は、膨れていきます。(時々、Delete実行するんですけどね) Dataは基本鮮度が大事なので、そこまでして、Dataを保持する必要性もないかな、ということで、作業フローの見...

Juliaで行こう! 〜探して!編〜

仕込み期間 どうしても、仕込み期間というか仕込み時間というのが必要で、ナカナカ毎日とはいかないものです。 今回は関数一つだけ。仕込み途中で、へぇー、と感心したので、それを書こうかと。多分、Pythonでも同様のことはできるのだろうえけど、HotなPandas使って、ゴリゴリっていうので、やってないので。逆に、Juliaで初っていうことになってるのですね。 Julia 1.0.1 Conflict問題はそのままで、実作業的には、 1.0.1 ではなく、 1.1.0-DEV を使用しています。Versionを記載したのは、0.7を含む1.x系で、BaseのModuleの関数が、いろいろと変わってまして、 xxfirst というものに、頻繁に使用しそうなものが変わっています。今回紹介する関数もその流れにあるものだったします。 探せ! いきなり、参考Codeを以下に記述します。 julia> x = [ 1, 2, 3, 4, 5, 6] 6-element Array{Int64,1}: ... julia> y = [ 1 2; 3 4; 5 6;] 3×2 Array{Int64,2}: ... julia> z = ["A" "B"; "B" "C"; "C" "A";] 3×2 Array{String,2}: "A" "B" "B" "C" "C" "A" 3つ程、Arrayを用意しました。2つ目と3つ目はMatrixになってるものです。 julia> findall(u->u==2, x) 1-element Array{Int64,1}: 2 julia> findall(u->u==2, y) 1-element Array{CartesianIndex{2},1}: CartesianIndex(1, 2) julia> findall(u->u=="A", z) 2-element Array{Cart...

雑感 〜秋の夜長編〜

昨日は Switch付きのUSBハブが速攻ダメになりそうな気配があったので、今度はSwitch無しにするかな、と、Amazonを覗いておりましたら、意外なことが。 少し前の記事で、「CPUが品薄」っていう話が出てて、「品薄なのはNote向け」なんていうのも出てまして、へぇー、と思ってながしていたんですね。 さっき、見たら、売ってないです、まじめに(笑)次組むなら、Coffe Lake以降ということにしていたので、いくつかMarkingしてたのですが、諸々ありませんでした。無いというのは語弊があるので、訂正をしておくと、「Amazonにて、出荷」というのがなくなってるという意味で、「出品者」ベースのものはあります。 メモリ価格は少し下がってきたということもあったのですが、CPUとは、ちょっと驚き。まあ、AMDさんが大暴れしてるのと、Fabの問題で、大変なのかもなぁー、と思ってみた秋の夜長でした。 夏日? 少し買い出しをしておかないとダメですな、ということで、午後に外出。すると、久しぶりの良い天候ということ以上に、恐ろしく日差しが痛かった。というか、暑かった。日本も亜熱帯寄りになってきてるという話もあるので、この時期に、この暑さもありなのかな、と。余りに、暑いので、「ガ○ガ○君」を買ってしまいました。 プッシュの嵐 GithubとBitbucketを併用しています。Julia関連は、ほぼGithubなのですが、この記事とかPrivateでしか使用しないと思われるCodeは、Bitbucketと切り分けています。gitとhgで、時々混乱をきたすのですが、まあ、恒常的に使ってると、まあ、なんとか使用できているので、いいかな、と。 夕方から深夜にかけて、Code修正やUpdateによる動作確認なんかをして、ひたすら、pushをしてました。「なんで、こんなにpush」してるんだ、と、途中でふと思いました。 最初は別のCodeを直していたのですが、ふと、「Macが落ちているのは、Compilerの差かな」と、Linuxとの相違を思ったので、「だったら、CMakeで、Clangベースにしてみるか」という思考を経て、Codeを変更、push。結果はNGでしたけど。(手元にないOSのでDebugすることの難しさよ) 更新タイミング 今は、Fedora上のgedi...

Juliaで行こう! 〜Plots編〜

いっぱいあるのよ 前回も言いましたが、専用機であるJulia(笑)は、グラフ描画向けのPackageも結構ございまして。 ただ、ご多分に漏れず、当方の環境依存で、Installできない代物もあります。 そういうことからではないのでしょうが、描画する部分をBackEnd、Dataの処理やデザインに相当する部分をFrontEndと切り分けをしまして、そのFrontEndを共通化して、好みのBackEndを使用するというPackageがあります。 「 Plots 」というものです。Plotってつくので、いろんな意味で頭の中が混乱しましたけど。 BackEnds さて、描画を担うPackageも、それ単体で使用可能なものですので、切り分けなく使用するのもありかと思います。機種等が変わった場合、上手くInstallできないものもありますので、そういう部分を念頭において、判断するのがよいと思います。 PyPlot Gadfly GR Plotly InspectDR ここ には、他にもありますが、すでに使用できないものや、JuliaのVersionが古いものをBaseにしているので、ご注意ください。 「 PyPlot 」はTk、「 GR 」はQt、「 Plotly 」はBrowser、「 InspectDR 」はGtk+。「 Gadfly 」は、手元のJulia-1.1-DEV on F28ではBuild Errorとなりましたので、省きますね。(最新Branchは試していないので) 使ってみる前に for i in linspace(0, 2pi, 100) という記述があります。0.7以降は、このlinspace()関数はなくて、上記と同じように、0.7以降で記述をしようとすると、 for i in range(0, stop=2pi, length=100) と書き直す必要があります。 Package Install (v1.1) pkg> add Plots いつものように、Installします。 さて、使ってみよう! BackEndを決める必要があります。 julia> using Plots julia> backends() 9-element Array{Symbol,1}: :pyplot ...

Juliaで行こう! 〜PyPlot編〜

Julia-Nightly、Conflict起こしてて、Installできないっす。強制的って話もあるのですけどね。 多いのよね JuliaがData特化型ということは、グラフ描画云々、という流れになります。その際、多いのは、 Pyplot によるもの。Jupyterによるとも言うのでしょうけど。Gadflyも多かったのですが、FedoraちゃんにはInstallできなかったので。 気まぐれに、描画してみようなんて思ったので、 PyPlot を使ってみることにしました。 Warningが出る まずは、PackageのInstallから。 (v1.1) pkg> add PyPlot 続いて、Import。 julia> using PyPlot WARNING: No working GUI backend found for matplotlib とのたまう。はて? julia> using PyPlot WARNING: No working GUI backend found for matplotlib julia> figure() PyPlot.Figure(PyObject <Figure size 640x480 with 0 Axes>) 一見、問題なく動作しているように、見える。が、何も表示されない。 Warning なので、いけるんじゃないの、と思っていたら、甘かった。 matplotlib on Python PyPlot って事ですから、当然、Pythonなんだろう、と。Pythonで、matplotlib久しく使ってなかったけど、動くのかしら、と。(Fedora 28にしてからは動かしてはいないなぁ、と) Julia環境からPython環境へ移行し、以下を実行してみると、 $ python >>> import matplotlib.pyplot as plt ... ModuleNotFoundError: No module named 'tkinter' tkinter 。キタコレ。やっぱり、なんだかんだで、Tkなんだな、と。Tk入ってなかったか。 $ sudo dnf install python2-tkinter pytho...

Juliaで行こう! 〜Package閑話編〜

前座 一連の流れで、0.7以降、PkgDevが使用できない、というものがあります。 (v1.1) pkg> add https://github.com/JuliaLang/PkgDev.jl#kc/07 Commit前のBranchですが、問題なく、動作します。LICENSEもでます(笑) いずれ、取り込まれるので、待つべし! Commit前のBranch使うとか、やばいな、自分(笑) 「const cd = Pkg.Dir.cd」ってところで、まず落ちてたんですが、Code見ると、がっつりなくなってた。 口上 では、本編を。少し閑話的な今回のお話です。Juliaにも標準ではない便利Libraryがあります。今回はPackageに関するお話を少し。 初稿を書いていた時点は、v0.6.3のお話でしたが、今は、メインがv1.1-DEVなので、追記しつつ、進めていこうと思います。 どう探す? まず、ぐぐる先生で、「 Julia hoge 」とやって、上位に出てくるPackageを覗いてみますと、githubには、先人達が記述した様々なPackageがゴロゴロしています。これは、JuliaのPackageのHostがgithubベースになっているからです。それを見て、ほうほう、そういうのがあるのか、と。 しかしながら、諸々の言語やFrameworkと同様、流行り廃りや開発者のモチベなどなど様々な理由で、開発が止まってしまった場合、JuliaのVersionが上がって、使えなくなるなんていうこともでてくることが考えられます。(OSS全般のお話かもしれませんね) そうはいっても、個人個人に好みの問題も発生しますので、難しい問題でもあるわけです。(どうしても使いたい欲求) ぐぐる先生とのPackage探索は、希望とするものがはっきりしているので、入力するKeywordも相応のものになっていたりますので、Hit率もあがるのでしょうが、それでも、面倒臭いって思う時もでてきます。そういう場合には、   Julia Observer というSiteは、どうでしょうか。カテゴライズもされていて、比較的わかりやすいのではないでしょうか、と。 今のところは、検索のみで済んではいるのですが、その先へ進むには、こういったSiteに、大いにお世話になりそうです...