JanKusanagi jankusanagi@datamost.com

Jabberia and the Pumpiverse

Developer of the Dianara pump.io client. Mageia GNU/Linux + KDE Plasma user. I also use Debian GNU/Linux and Archlinux. Jabber/XMPP chatter, Pumper, C/C++/Qt coder. Pump.io User Guide: https://pumpio.readthedocs.io/en/latest/userguide.html This is an alternate account to jankusanagi@identi.ca =)

  • The New KDE Slimbook II: A sleek and powerful Plasma-based Ultrabook

    2018-02-08T21:41:25Z via Dianara To: Public CC: Followers

    There is a new KDE Slimbook on sale as from today. The KDE Slimbook II is svelte and smart on the outside, but powerful and fast on the inside.


    To start with, it comes with a choice between an Intel i5: 2.5 GHz Turbo Boost 3.1 GHz - 3M Cache CPU, or an Intel i7: 2.7 GHz Turbo Boost 3.5 GHz with a 4M Cache. This makes the KDE Slimbook II 15% faster on average than its predecessor. The RAM has also been upgraded, and the KDE Slimbook now sports 4, 8, or 16 GBs of DDR4 RAM which is 33% faster than the DDR3 RAM installed on last year's model.

    Other things to look forward to include:

    • a crisp FullHD 13.3'' screen,
    • the dual hard drive bay that gives you room for a second hard disk,
    • a bigger multi-touch touchpad that supports all kinds of gestures and clicks,
    • a slick backlit keyboard, more powerful WiFi antennas,
    • and 3 full-sized USB ports, one of which is the new reversible USB-C standard.


    You can check out the KDE Slimbook's full specs here (note that the Katana II is made by the same people and is the same hardware, but does not come with KDE neon pre-installed and pre-configured).

    The KDE community has worked closely with Slimbook to make sure that everything works as it should. After test-running the KDE Slimbook II extensively, we can confirm it is sleek, we can confirm it is powerful, and we can confirm that beginners and power users alike will enjoy this full-featured and modern Plasma-based laptop.


    dot.kde.org/2018/02/08/new-kde-slimbook-ii-sleek-and-powerful-plasma-based-ultrabook




    Niiiice =)

    Carol Chen, McClane, AJ Jordan likes this.

    Carol Chen, McClane shared this.

  • AkariXB v0.5 is out!

    2018-01-11T17:57:21Z via Dianara To: Public CC: Followers

    New year, new releases!


    Today I'm releasing a new version of AkariXB, my bot for the decentralized Jabber/XMPP network with a graphical interface.


    Some of the main changes include:

    • Honor "Send Messages To" setting in Activities.
    • Log outgoing private messages in corresponding chat module tab.
    • Ability to detach processes for commands of "Run program" type. *** Previously defined commands of this type will need to be reconfigured. *** (This means it can launch GUI programs).
    • Keyword-based commands will list possible queries when no parameter is given.
    • Qt 4 is no longer supported.


    Release post: jancoding.wordpress.com/2018/01/11/akarixb-v0-5-is-out


    Cheers! 🤖 beep!!

    McClane, Carol Chen, Matteo Bechini, mohadip and 2 others likes this.

    JanKusanagi @i, martinho shared this.

  • Repology

    2018-01-10T21:55:36Z via Dianara To: Public CC: Followers

    Today I found this nice service that keeps track of many, many different versions of a given package, across many different repositories for different GNU distributions: repology.org


    It's similar to pkgs.org, but much more exhaustive and detailed.


    See for instance, the versions page for Dianara, or the packages page (sort of extended mode of the versions page).

    Nathan Willis, AJ Jordan, Distopico Vegan, McClane and 4 others likes this.

    AJ Jordan, JanKusanagi @i, McClane, Claes Wallin (韋嘉誠) and 1 others shared this.

  • Happy GNU year!!

    2017-12-31T23:06:43Z via Dianara To: Public CC: Followers

    Happy 🐃 year, pumpers! =)


    🖖

    Vinibol, martinho, XeQuinPasme, Tyng-Ruey Chuang and 4 others likes this.

    Vladimir, Carol Chen shared this.

    happy gnu year to u too

    Michele Montagna at 2018-01-01T04:33:28Z

    Feliç any nou :)!

    XeQuinPasme at 2018-01-01T13:24:05Z

    Happy bear year! Has GNU changed its mascot? ;-)

    EVAnaRkISTO at 2018-01-01T18:21:27Z

    Happy GNU year to you too.

    Vladimir at 2018-01-01T22:35:57Z

  • Dianara 1.4.1 released

    2017-12-30T17:43:36Z via Dianara To: Public, Mònica CC: Followers

    Happy holidays, pumpers! 🎄


    I've just released a new version of my Pump.io client, Dianara. The main change since v1.4.0 is the ability to save and restore drafts in the post editor. (Full CHANGELOG is here)


    As announced some time ago, v1.3.7 was the last version to support Qt 4.x. Qt 5 is required since 1.4.0. The bad news is that, at this time, users of distributions such as Debian 9 can't build with the version of QOAuth present in their repositories, based on Qt 4. Current Debian Testing/Sid is fine though. Debian 9 might get the required versions in backports at some point.


    Release post: https://jancoding.wordpress.com/2017/12/30/release-of-dianara-v1-4-1/


    Cheers! 🙌w


    EDIT: I've found this great information source to keep track of package versions across GNU distributions: repology.org/metapackage/dianara/versions Neat!

    Carol Chen, McClane, Evan Prodromou, Alberto Moshpirit and 8 others likes this.

    JanKusanagi @i, martinho, AJ Jordan, EVAnaRkISTO shared this.

    could qt be built from source on systems that don't have the packages

    (or any system - the user might want a local install)

    ?


    anyway these days I prefer to have local installs of applications just as the user rather than root.

    less chance of anything breaking the system or anything making changes to libraries used by other unrelated applications or any other still-wanted applications disappearing or breaking



    Michael at 2017-12-31T12:19:11Z

    Cool, someone is working on getting Dianara into Fedora's repositories! Big thanks! =)




    » Michael:

    “could qt be built from source on systems that don't have the packages (or any system - the user might want a local install)?”

    I'm not sure I understand the question, but I don't know either way, sorry.

    JanKusanagi at 2017-12-31T16:36:52Z

    Happy GNU year!! And thank you for this Xmas present!!


    I think I remember talking about this feature but since you made to get this awesome one, I'm writting it down: any option to automatically save the drafts? like LibreOffice does: every X minutes your work gets saved. I think it would be very cool to have here :)


    Kind regards!!

    Alberto Moshpirit at 2018-01-01T14:51:26Z

    mohadip likes this.

    » Alberto Moshpirit:

    “any option to automatically save the drafts? like LibreOffice does: every X minutes your work gets saved.”

    Well, it could be considered, yes =)




    On another subject, Dianara is now in Fedora's repos, for F26 and later \o/

    JanKusanagi at 2018-01-02T18:19:36Z

    mohadip likes this.

  • Me vuelvo a lo normal... JA! xD

    2017-12-28T15:35:17Z via Dianara To: Public CC: Followers

    [English note]


    Debo confesar que llevo ya mucho tiempo sintiéndome un paria social, usando soluciones de hippies para cosas que no hacen más que complicarme la vida, y me he cansado.


    He decidido instalar MSWindows 10 en mi PC, para dejar de usar software cutre hecho por 4 aficionados en sus ratos libres. El cutremóvil con ROM alternativa lo tiraré en la primera papelera que encuentre, y me compraré un buen iPhone X, para poder disfrutar de todas las increíbles ventajas que ofrece el mundo moderno. Todo funciona con "apps", y va siendo hora de adaptarse. Que los amables proveedores de estos servicios recopilen un poco de mi información personal es algo de lo más normal, para hacer su trabajo correctamente y darme un gran servicio que haga mi vida más cómoda. ¿Para qué luchar contra el progreso?


    Eso en lo técnico. En lo social, más de lo mismo. Todo el mundo está en Facebook, Twitter, Instagram y WhatsApp.

    Pues ya me he cansado de estar aislado, así que me acabo de registrar en Facebook y Twitter. En cuanto tenga el iPhone X que pretendo comprar, instalar WhatsApp será lo primero que haga. ¡Ahora sí que ligaré!



    Supongo que seguiré usando Pump.io, al menos si consigo compilar Dianara en MSWindows. Supongo que lo conseguiré rápidamente, ya que siempre dicen que en MSWindows todo es muy fácil, y la gente no dice esas cosas a la ligera. Aunque imagino que lo usaré mucho menos, dado que ¡ahora mi vida social será vibrante! Jabber/XMPP lo mismo. Supongo que lo seguiré usando, pero bastante menos, ya que en cuanto tenga WhatsApp podré comunicarme con el 99,999% de la gente, y por tanto, tendré poco uso para Jabber, y estaré muy ocupado. C'est la vie!



    Bueno pues nada, ¡ahora empieza la buena vida! =)


    [In English]


    EDIT: Vaya, no ha colado... ¡¡me pregunto por qué!!

    martinho likes this.

    Show all 8 replies
    Microsoft, Google, FB & Co. are not so bad, but free software is better, I suppose :)

    Matteo Bechini at 2017-12-28T19:53:54Z

    No cola. Avui és 28 de desembre ;). 

    XeQuinPasme at 2017-12-28T22:13:51Z

    » XeQuinPasme:

    “No cola. Avui és 28 de desembre ;).”

    Eh? Aqui diu 29 =)

    JanKusanagi at 2017-12-29T00:24:10Z

    jejeje bueno interesante la verdad XD

    mohadip at 2017-12-30T14:20:56Z

  • Auralquiz on Haiku

    2017-12-21T11:58:57Z via Dianara To: Public CC: Followers

    Looks like Auralquiz, my music quiz game, builds just fine under the Haiku OS. Qt everywhere!!


    Too bad there are no actual backends for Phonon, the sound system it uses to play the music, in the HaikuDepot repos (yet), but still! =)

    McClane likes this.

  • Call for Testing: Dianara 1.4.1 Beta

    2017-12-09T21:10:04Z via Dianara To: Public CC: Followers

    A couple of days ago I tagged the development version of Dianara, my Pump.io client as beta, preparing for the release of v1.4.1 by the end of the month. As usual, some wider testing would be helpful. If you can build from source, now's a good time to do so and test it. If you already run an often-updated version from git, feedback would be appreciated.


    The main change since v1.4.0 is the ability to save and restore post drafts.

    CHANGELOG file.


    As announced several months ago, v1.3.7 was the last version to support Qt 4.x. Qt 5 is required since 1.4.0. The bad news is that, at this time, users of distributions such as Debian 9 can't build with the version of QOAuth present in their repositories, based on Qt 4. Current Debian Testing/Sid is fine though.

    Please let me know if you find any issues that are not listed in the BUGS file, or in the issue tracker.

    Also, if you maintain any translations, now is a good time to update them!


    Thanks!

    McClane, AJ Jordan, sazius, martinho and 2 others likes this.

    AJ Jordan, JanKusanagi @i, martinho, EVAnaRkISTO shared this.

    Show all 12 replies

    >> JanKusanagi:

    “» JanKusanagi:
    “[...] but there's a undefined-symbol-related error at the end of compilation. [...]”
    Well, no luck. I tried using Debian Sid's libqoauth2 with Sid's qca2-qt5 stuff (which is present in Ubuntu repos) to avoid the linker error at the end of the build process, but that brings other errors due to mismatch in OpenSSL versions.

    I guess the only option for Ubuntu users ATM is building libqoauth2 (with Qt 5) themselves, before building Dianara.”

    I am happy to do that. Can you send me the correct site/repo from which to checkout libqoauth2? I am not confident I have been grabbing it from the correct place.

    Stephen Sekula at 2017-12-16T03:13:41Z

    » Stephen Sekula:

    “[...] an you send me the correct site/repo from which to checkout libqoauth2? [...]”

    The repo is github.com/ayoy/qoauth, which I imagine is the one you're using.


    It might help to look at how Debian builds it.

    JanKusanagi at 2017-12-16T03:29:47Z

    Stephen Sekula likes this.

    >> JanKusanagi:

    “» Stephen Sekula:
    “[...] an you send me the correct site/repo from which to checkout libqoauth2? [...]”
    The repo is github.com/ayoy/qoauth, which I imagine is the one you're using.

    It might help to look at how Debian builds it.”

    So, I got QtCrypto and QtOauth to build. But now when I try to build Dianara, I get this:


    ../src/mainwindow.cpp:539:5: warning: identifier ‘nullptr’ is a keyword in C++11 [-Wc++0x-compat]
         logViewer = new LogViewer(nullptr); // under Plasma 5, for instance
         ^
    ../src/mainwindow.cpp: In constructor ‘MainWindow::MainWindow(QWidget*)’:
    ../src/mainwindow.cpp:539:31: error: ‘nullptr’ was not declared in this scope
         logViewer = new LogViewer(nullptr); // under Plasma 5, for instance
                                   ^
    ../src/mainwindow.cpp: In member function ‘void MainWindow::showUserTimeline(QString, QString, QIcon, QString)’:
    ../src/mainwindow.cpp:3207:45: error: ‘nullptr’ was not declared in this scope
                                                 nullptr); // No parent, independent window
                                                 ^
    ../src/mainwindow.cpp: In member function ‘void MainWindow::toggleLockedPanels(bool)’:
    ../src/mainwindow.cpp:3225:43: error: ‘nullptr’ was not declared in this scope
             sideDockWidget->setTitleBarWidget(nullptr);
                                               ^
    Makefile:1220: recipe for target 'mainwindow.o' failed
    make: *** [mainwindow.o] Error 1 

    EDITED:


    I had to edit the Makefile and manually force the use of -std=c++11. That did the trick. Wonder why that wasn't set automatically when creating the Makefile?


    EDITED:


    So now it gets a teeny bit further and this happens:

    g++ -c -std=c++11 -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_DBUS_LIB -DQT_CORE_LIB -I../../dianara-dev -I. -isystem /usr/include/x86_64-linux-gnu5/QtOAuth -isystem /usr/include/x86_64-linux-gnu/qt5/Qca-qt5/QtCrypto -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtDBus -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I/usr/include/QtOAuth/ -o pumpcontroller.o ../src/pumpcontroller.cpp
    ../src/pumpcontroller.cpp: In member function ‘void PumpController::getImage(QString)’:
    ../src/pumpcontroller.cpp:475:31: error: ‘FollowRedirectsAttribute’ is not a member of ‘QNetworkRequest’
         imageRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
                                   ^
     I will see if I can track that one down.  The qnetworkrequest.h header on my system (Ubuntu 16.04) comes from this package:

    Package: qtbase5-dev

    State: installed
    Automatically installed: no
    Multi-Arch: same
    Version: 5.5.1+dfsg-16ubuntu7.5

    FINAL UPDATE:

    I edited pumpcontroller.cpp and changed "FollowRedirectsAttrbute" to "RedirectionTargetAttribute", which is a defined attribute in my version of this header. It compiled. Whether that is the correct thing to do, I cannot say...
     
    FINAL FINAL UPDATE:

    OOF. It was not probably the right thing to do. Dianara seg faults upon startup... not sure why, of course, but something went horribly wrong...

    Stephen Sekula at 2017-12-16T18:03:59Z

    Woah, so much info =)


    I don't think you need to manually build "QtCrypto" or Qca-qt5, the versions already available in Ubuntu's repos should be enough... I guess xD



    That network redirection thing requires Qt 5.6, but you could just comment out that line, and you would just be losing the ability to get images inserted in posts whose links redirect somewhere else, so probably not much.


    The std=c++11 thingie used to be manually specified prior to dropping Qt 4 support, but given the compiler and C++ standards requirements of Qt 5, I thought it was no longer necessary. I imagine your version of Ubuntu has a pretty old version of GCC or for some reason doesn't use c++11 or later as a default syntax.



    I'm not sure all this work you're doing to get this to build will be worth it ^^

    JanKusanagi at 2017-12-16T19:42:45Z

  • Dark Background and Light Text

    2017-12-02T22:35:18Z via Dianara To: Public CC: Followers

    Can you imagine what a web browser extension called "Dark Background and Light Text" does? =)

    I'll tell you what it does: amazing things!


    I've used similar extensions in the past to "counteract" the ultrawhiteness that plagues the WWW, but this one is much, much more capable. You can have per-site settings: disable for some sites, use a different "coloring method" (Stylesheet processor, simple CSS, invert) for others... and it's a WebExtension, so it can be used in Firefox 57+, and other browsers =)



    addons.mozilla.org/en-US/firefox/addon/dark-background-light-text/


    Source: github.com/m-khvoinitsky/dark-background-light-text-extension

    McClane, AJ Jordan, Krugor, Tyng-Ruey Chuang and 1 others likes this.

    JanKusanagi @i, McClane, EVAnaRkISTO, Krugor shared this.

    Just installed and testing it: Good to save energy and there are some pages that look weird. l guess I'll give it a test time.

    EVAnaRkISTO at 2017-12-02T22:49:32Z

    BTW, you can have per-site settings: disable for some sites, use a different "coloring method" for others...


    So far it's worked really great for me =)

    JanKusanagi at 2017-12-02T23:01:12Z

    EVAnaRkISTO likes this.

    » JanKusanagi:

    “[...] BTW, you can have per-site settings [...]”

    Yeah, I just saw that option. Thanks!

    EVAnaRkISTO at 2017-12-02T23:06:23Z

    the "inverted" settings allows for colour differencial - which i found important for one site i visit a lot.

    George Standish at 2017-12-03T02:35:14Z

  • Swift 4.0-rc3: Now available

    2017-12-01T14:38:58Z via Dianara To: Public CC: Followers

    “A new release candidate for Swift 4.0 is now available for download.

    Swift 4.0-rc3 can now be downloaded from our releases page and includes the Dutch and German translations updates made since 4.0-rc2.

    With this release we provide a new binary package, an AppImage for 64-bit Linux systems. ”

    swift.im/blog/swift-4_0rc3


    Swift is a very easy to use Jabber/XMPP desktop client, ideal for new users =)

    Scott Sweeny, AJ Jordan, McClane, Matteo Bechini likes this.

    JanKusanagi @i, McClane shared this.

  • ejabberd 17.11 - Happy Birthday ejabberd!

    2017-11-25T17:35:05Z via Dianara To: Public CC: Followers

    “Happy birthday ejabberd !

    Ejabberd has been the leading choice to serve reliable XMPP domains for 15 years, and we are happy to announce yet another great new version of your favorite server.

    This version includes great new features from Google Summer of Code, many improvements and a lot of bug fixes. By the way, ejabberd is “Compliance Suite 2018” compatible now (see XEP-0387) ! ”

    blog.process-one.net/ejabberd-17-11-happy-birthday-ejabberd/


    Via Planet Jabber

    AJ Jordan, martinho likes this.

  • Did you back up?

    2017-11-13T16:54:10Z via Dianara To: Public CC: Followers

    -My computer doesn't work! The hard drive crashed! What do I do?!

    -Did you back up?

    -Why? Is it gonna blow?!

    martinho, Jason Self, Tyng-Ruey Chuang, Claes Wallin (韋嘉誠) and 2 others likes this.

    Krugor, Stephen Michael Kellat, EVAnaRkISTO shared this.

  • Mageia 5 EOL postponed

    2017-11-07T21:50:38Z via Dianara To: Public, Mageia CC: Followers

    “As the upgrade path from Mageia 5 to Mageia 6 is harder than anticipated, many users are still on Mageia 5 today. We have therefore decided to prolong the support of Mageia 5 until December 31st, 2017 (instead of October 31st, 2017 as announced until now). ”

    blog.mageia.org/en/2017/11/07/mageia-5-eol-postponed



    That's what I call responsible maintainers =)

    AJ Jordan likes this.

  • ( ͡° ͜ʖ ͡°)

    2017-11-04T23:13:16Z via Dianara To: Public CC: Followers

    ლ(╹◡╹ლ) !!!

    AJ Jordan, martinho, XeQuinPasme likes this.

    Muy original!:)

    martinho at 2017-11-05T23:02:01Z

    (づ。◕‿‿◕。)づ

    coyote at 2017-11-06T14:03:40Z

    martinho likes this.

  • Purism - Running Plasma Mobile on an i.MX 6 test board

    2017-11-02T15:57:14Z via Dianara To: Public CC: Followers

    “On the road to a working mobile phone, doing some initial evaluation and testing of the current state of existing user interfaces and frameworks is key, to evaluate what can readily serve as building blocks and what needs work. Last weekend I did an initial experiment in getting Plasma Mobile working on our i.MX 6 based test development board, using a 4.13.5 Linux kernel and stock Debian Testing. [...]”

    puri.sm/posts/running-plasma-mobile-on-an-imx6-test-board/


    Progress! =)

    McClane, Michael_Heart, Tyng-Ruey Chuang, Distopico Vegan likes this.

    McClane, Michael_Heart shared this.

  • Qt2 ported for modern systems with cmake

    2017-10-10T21:24:42Z via Dianara To: Public CC: Followers

    “So, to continue my archeology process to revive old software, again i´m preparing my next step to revive KDE 2, on the so indirect baptized KDE restoration project.

    Despite KDE 1 last year, KDE 2 is a complete different beast and will take me some time to made it ready.”

    http://www.heliocastro.info/?p=311



    Not bad xDD

    AJ Jordan likes this.

  • 10 Ridiculous EULA Clauses That You May Have Already Agreed To

    2017-10-06T13:44:15Z via Dianara To: Public CC: Followers

    “Let’s be honest, no one reads EULA’s (End User Licensing Agreement) – we all just scroll down to the bottom and click “I Accept”. EULAs are full of confusing legalese to make them incomprehensible to the average person – no one actually wants us reading them (you could use EULAlyzer, which reads them for you). That explains how these ridiculous clauses can exist in EULAs without any outcry. ”

    makeuseof.com/tag/10-ridiculous-eula-clauses-agreed/


    Some are outrageous (proprietary software is soooo nice!), some are fun, like the one in the picture xD

    Michael_Heart, Stephen Michael Kellat likes this.

    Michael_Heart, Stephen Michael Kellat, EVAnaRkISTO shared this.

    Yes, some terms are ridiculous. Some say you can't modify the software, or that you can't share it with anyone else. Being that those are probably the most ridiculous of all, I wonder why those didn't make it into this list?

    Jason Self at 2017-10-07T00:23:59Z

    Claes Wallin (韋嘉誠) likes this.

    Probably because those are like "pre-condition 1", inherent to all xD

    JanKusanagi at 2017-10-07T00:38:56Z

  • Useful GCC warning options

    2017-10-05T12:26:02Z via Dianara To: Public CC: Followers

    Useful GCC warning options not enabled by -Wall -Wextra


    GCC can warn about questionable constructs in the source code, but most such warnings are not enabled by default – developers need to use the options -Wall and -Wextra to get all generally useful warnings. There are many additional warning options that are not enabled by -Wall -Wextra as they may produce too many false positive warnings or be targeted to a specific obscure use case, but I think a few of them (listed below) may be useful for general use. ”


    kristerw.blogspot.com/2017/09/useful-gcc-warning-options-not-enabled.html

    We enable any warning flag we can get our hands on, and then we don't use -Werror, but we track the number of warnings. If you knowingly introduce a warning, but you decide that instance of the warning is ok, you need to explicitly raise the ceiling. You can't merge if you're above the ceiling.

    Warning levels are lowered nightly, to reduce the risk that you unknowingly introduce a warning just because someone else removed one.

    Claes Wallin (韋嘉誠) at 2017-10-06T01:49:59Z

  • Why the name?

    2017-10-03T22:25:40Z via Dianara To: Public CC: Followers

    “An IT-etymology/linuxguistics page for people wondering "how come the package yasysmand-cling has such a strange name?"

    Giving cryptic names to software is a well-established UNIX tradition, and the explanations are often missing from the documentation, either because the developers imagine it's obvious (usually wrongly) or because they think nobody cares (and here they're usually right, or it would turn up as FAQ material). ”

    https://wiki.debian.org/WhyTheName

    AJ Jordan, Claes Wallin (韋嘉誠), Tyng-Ruey Chuang likes this.

    Claes Wallin (韋嘉誠) shared this.