tag:blogger.com,1999:blog-44038585738250319302024-03-17T19:28:19.671+08:00opentiss真诚可以创建一切。真诚可以感动一切。opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.comBlogger191125tag:blogger.com,1999:blog-4403858573825031930.post-8453988983935088612022-10-20T14:49:00.002+08:002022-10-20T21:19:55.144+08:00Areditors version 0.2.0 is published<p data-pm-slice="1 1 []">Areditors version 0.2.0 is published on <a href="https://areditors.opentiss.uk" rel="noopener noreferrer nofollow">https://areditors.opentiss.uk</a> and can installed with workbox.</p><h2 style="text-align: left;">New features:</h2><p>Encrypt record.</p><p>Export data to encrypted zip files.</p><p> <br /></p><h2 style="text-align: left;">In the futher Areditors will with features:</h2><p><strike>PWA update.</strike></p><p>Synchronize data with Dexie Cloud or WebRTC p2p between online instances.</p><p>Image editor with kleki.</p><p>Online feed extensions.</p><p><span></span></p><a name='more'></a><p></p><h3 style="text-align: left;">Update PWA<br /></h3><p>Update to new version 0.2.1, PWA can update after next load. The code is simply add version record to service-worker.js:<br /></p><blockquote>--- a/src/service-worker.js<br />+++ b/src/service-worker.js<br />@@ -25,12 +25,17 @@ precacheAndRoute(self.__WB_MANIFEST);<br /> // are fulfilled with your index.html shell. Learn more at<br /> // https://developers.google.com/web/fundamentals/architecture/app-shell<br /> const fileExtensionRegexp = new RegExp('/[^/?]+\\.[^/]+$');<br />+const versionAreditors = '0.2.1';<br /> registerRoute(<br /> // Return false to exempt requests from being fulfilled by index.html.<br /> ({ request, url }) => {<br /> // If this isn't a navigation, skip.<br /> if (request.mode !== 'navigate') {<br /> return false;<br />+ } // For update PWA.<br />+<br />+ if (url.pathname.endsWith(versionAreditors)) {<br />+ return false;<br /> } // If this is a URL that starts with /_, skip.<br /> <br /> if (url.pathname.startsWith('/_')) {</blockquote><br /><p><br /></p><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com0tag:blogger.com,1999:blog-4403858573825031930.post-25017572748451441722022-09-29T09:01:00.000+08:002022-09-29T09:01:46.347+08:00科沃斯Ecovacs扫地机器人DH35无法充电生活小窍门<p>早在2020年3月买的科沃斯(Ecovacs)扫地机器人DH35又出现了无法充电的现象,前几天用遥控器控制扫地机器人返回充电座充电时只听到滴的一声接收到了遥控信号,没有听到第二个确认充电的滴声,结果后来发现扫地机器人已经无法开机了,进行了多次尝试,也毫无反应。</p><p>今天抱着试一试的最后希望,从机器背面找到了电池仓的位置,在产品铭牌上方,有两个螺丝固定的盖板下面就是。拆开后发现锂电池充电线是卡扣式的连接,也无法手动充电。用万用表测量了一下电压,显示有13.45V,锂电池应该是没问题的。然后就突发奇想,是不是像其他的家用电器一样,手动断电后,机器电路板上残余的静电消失了,故障状态的记忆也就消除了呢?既然这样,那就多等几分钟再把锂电池连接回机器上吧。</p><p>顺便拍了两张照片,显示电池生产商是比亚迪,日期为“1951”,一般来讲是表示2019年第51周生产的,不像生鲜类保质期短的产品,电子配件类产品一般均将生产日期精确到批次或一年中的周次。2020年3月1日从京东上购买到的扫地机器人,主机生产日期标示为2020年2月,其原装配套锂电池的生产日期为两个月之前,说明整个生产供应链还是很紧凑的。<br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhvfSiYHYx5HS-z2bQT4NEzEjzYNTB1WhnXwgkWKmi8DnTMqCB8R50S036c5spQIHb6KsFojGr5n9h6iW0RiU4jWDQZ05wOMsd0Lpi5i_JBeHBi2MglNXtoWPc42eeKHfaqk91jdXoc7GW7WL0Q3frgZjG-7lX22rNiW7eEz9HKoWwtzeysDxgUAUM/s4000/IMG_20220929_080237.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhvfSiYHYx5HS-z2bQT4NEzEjzYNTB1WhnXwgkWKmi8DnTMqCB8R50S036c5spQIHb6KsFojGr5n9h6iW0RiU4jWDQZ05wOMsd0Lpi5i_JBeHBi2MglNXtoWPc42eeKHfaqk91jdXoc7GW7WL0Q3frgZjG-7lX22rNiW7eEz9HKoWwtzeysDxgUAUM/s320/IMG_20220929_080237.jpg" width="240" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho3ktnAkD2IOGlruF_o5iD-pSxMLbT5ca5aPN79u7xmXnJU2SKtVKo2HPDCS4ldA4mRPchwRZZRqWSf2z366gfzd9fJE00MiDbHjq53yuZ-qGqxhFsUXA5oReB6b7l90wduL_NPSMXA32DPs8egLIatf0px9YAq4m3h2o9weC2lrGfJHkrhPM9AcZO/s4000/IMG_20220929_080243.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho3ktnAkD2IOGlruF_o5iD-pSxMLbT5ca5aPN79u7xmXnJU2SKtVKo2HPDCS4ldA4mRPchwRZZRqWSf2z366gfzd9fJE00MiDbHjq53yuZ-qGqxhFsUXA5oReB6b7l90wduL_NPSMXA32DPs8egLIatf0px9YAq4m3h2o9weC2lrGfJHkrhPM9AcZO/s320/IMG_20220929_080243.jpg" width="240" /></a></div><p><br /></p><p>过了几分钟后,说干就干,把锂电池充电线连接回机器,按原样安装好锂电池,紧固好电池仓盖板,就迫不及待地将扫地机器人上的电源开关调到“|”位置通电,然后一直按住启动开关,令人兴奋的滴声如约而至。啊哈,简单的电源物理断电操作就恢复了扫地机器人的状态了,真是简单实用啊,过两个小时又可以扫地、拖地打扫卫生了,真是美好生活吧。真希望多些这种生活小窍门,多延长电子产品的寿命,减少浪费,保护环境。</p><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com0tag:blogger.com,1999:blog-4403858573825031930.post-585335462698655002022-09-28T13:43:00.002+08:002022-09-28T13:43:50.580+08:00Two commands socks 5 proxy with ssh run Chrome in MacOS<p><span data-offset-key="46ela-0-0"><span data-text="true">I now learn React. There are install React Developer Tools extension notification when debug development version app. But I can't connect to <a href="https://chrome.google.com/webstore/category/extensions" target="_blank">Chrome webstore extensions</a> as everyone knows Network block.</span></span></p><div class="" data-block="true" data-editor="8ddna" data-offset-key="1dnjs-0-0" style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.87); font-family: -apple-system, "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px;"><div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="1dnjs-0-0" style="direction: ltr; margin: 1em 0px; position: relative; text-align: left; white-space: pre-wrap;"><span data-offset-key="1dnjs-0-0"><span data-text="true">Fortunately I have VPS with ssh login permission. So based <a href="https://keksi.io/tutorials/2017/02/08/socks5-proxy-with-ssh-and-chrome-in-osx/ " target="_blank">socks5 proxy with ssh and chrome in osx</a>. I use below commands connect to Internet once and add the </span></span><span data-offset-key="1dnjs-0-1" style="background-color: white; color: rgba(0, 0, 0, 0.87); font-family: -apple-system, "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;"><span data-text="true">extension to Chrome</span></span><span data-offset-key="1dnjs-0-2"><span data-text="true">.</span></span></div></div><div class="" data-block="true" data-editor="8ddna" data-offset-key="ccruo-0-0" style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.87); font-family: -apple-system, "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px;"><div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="ccruo-0-0" style="direction: ltr; margin: 1em 0px; position: relative; text-align: left; white-space: pre-wrap;"><span data-offset-key="ccruo-0-0" style="background: rgb(241, 241, 241); border-radius: 3px; font-family: monospace; overflow-wrap: break-word; padding: 1px 3px;"><span data-text="true"></span></span></div></div><blockquote><div class="" data-block="true" data-editor="8ddna" data-offset-key="ccruo-0-0" style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.87); font-family: -apple-system, "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px;"><div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="ccruo-0-0" style="direction: ltr; margin: 1em 0px; position: relative; text-align: left; white-space: pre-wrap;"><span data-offset-key="ccruo-0-0" style="background: rgb(241, 241, 241); border-radius: 3px; font-family: monospace; overflow-wrap: break-word; padding: 1px 3px;"><span data-text="true">ssh -D 22927 -f -C -q -N user@remote -p 2222</span></span></div></div><div class="" data-block="true" data-editor="8ddna" data-offset-key="1b4en-0-0" style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.87); font-family: -apple-system, "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px;"><div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="1b4en-0-0" style="direction: ltr; margin: 1em 0px; position: relative; text-align: left; white-space: pre-wrap;"><span data-offset-key="1b4en-0-0" style="background: rgb(241, 241, 241); border-radius: 3px; font-family: monospace; overflow-wrap: break-word; padding: 1px 3px;"><span data-text="true">/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --proxy-server="socks5://localhost:22927"</span></span></div></div></blockquote><div class="" data-block="true" data-editor="8ddna" data-offset-key="1b4en-0-0" style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.87); font-family: -apple-system, "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px;"><div class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr" data-offset-key="1b4en-0-0" style="direction: ltr; margin: 1em 0px; position: relative; text-align: left; white-space: pre-wrap;"><span data-offset-key="1b4en-0-0" style="background: rgb(241, 241, 241); border-radius: 3px; font-family: monospace; overflow-wrap: break-word; padding: 1px 3px;"><span data-text="true"></span></span></div></div>Very simply, bless for similar you like me.<div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com0tag:blogger.com,1999:blog-4403858573825031930.post-32636734847919475772022-09-23T13:08:00.000+08:002022-09-23T13:08:12.321+08:00My account at codeberg.org<p> I create my account <a href="https://codeberg.org/opentiss" target="_blank">opentiss</a> at <a href="https://codeberg.org">codeberg.org</a> <span style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.85); display: inline !important; float: none; font-family: "Microsoft Yahei", Helvetica, "PingFang SC", "Helvetica Neue", sans-serif, Arial, Verdana; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">in<span> </span></span><b class="highlight" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-text-stroke-width: 0px; background-color: white; box-sizing: border-box; color: rgba(0, 0, 0, 0.85); font-family: "Microsoft Yahei", Helvetica, "PingFang SC", "Helvetica Neue", sans-serif, Arial, Verdana; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; outline: none; position: relative; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-size-adjust: none; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; z-index: 0;">agreement</b><span style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.85); display: inline !important; float: none; font-family: "Microsoft Yahei", Helvetica, "PingFang SC", "Helvetica Neue", sans-serif, Arial, Verdana; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span> </span>with <a href="https://sfconservancy.org/GiveUpGitHub/" target="_blank">Give Up GitHub!</a>.</span></p><p><span style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.85); display: inline !important; float: none; font-family: "Microsoft Yahei", Helvetica, "PingFang SC", "Helvetica Neue", sans-serif, Arial, Verdana; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">Before I have account on GitHub. But unfortunately I use my domain email as account of GitHub. So when my hosting service server ended his HK company, my domain becomes to unregistered. Then </span><span style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.85); display: inline !important; float: none; font-family: "Microsoft Yahei", Helvetica, "PingFang SC", "Helvetica Neue", sans-serif, Arial, Verdana; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"></span><span style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.85); display: inline !important; float: none; font-family: "Microsoft Yahei", Helvetica, "PingFang SC", "Helvetica Neue", sans-serif, Arial, Verdana; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">registered by ad sites owner. GitHub need confirm my account by email when I sign in. And I lost my account of GitHub in fact.</span></p><p><span style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.85); display: inline !important; float: none; font-family: "Microsoft Yahei", Helvetica, "PingFang SC", "Helvetica Neue", sans-serif, Arial, Verdana; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">I have to find other hosting service. And now I use <a href="https://www.a2hosting.com/" target="_blank">a2hosting</a> outside of some dangerous countries as you known. I can only use a new domain <b>opentiss.uk</b> and give up used over fifteen years old domain.</span></p><p><span style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.85); display: inline !important; float: none; font-family: "Microsoft Yahei", Helvetica, "PingFang SC", "Helvetica Neue", sans-serif, Arial, Verdana; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"></span><span style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.85); display: inline !important; float: none; font-family: "Microsoft Yahei", Helvetica, "PingFang SC", "Helvetica Neue", sans-serif, Arial, Verdana; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><a href="https://www.a2hosting.com/" target="_blank">a2hosting</a> is fit to me and is the best web hosting for me. You can register account and normal visit in </span><span style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.85); display: inline !important; float: none; font-family: "Microsoft Yahei", Helvetica, "PingFang SC", "Helvetica Neue", sans-serif, Arial, Verdana; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">some dangerous countries</span><span style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.85); display: inline !important; float: none; font-family: "Microsoft Yahei", Helvetica, "PingFang SC", "Helvetica Neue", sans-serif, Arial, Verdana; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">. That's important to me. As developer I need visit Internet from </span><span style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.85); display: inline !important; float: none; font-family: "Microsoft Yahei", Helvetica, "PingFang SC", "Helvetica Neue", sans-serif, Arial, Verdana; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">dangerous </span><span style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.85); display: inline !important; float: none; font-family: "Microsoft Yahei", Helvetica, "PingFang SC", "Helvetica Neue", sans-serif, Arial, Verdana; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">local network. I used <a href="https://www.a2hosting.com/vps-hosting/unmanaged/compare" target="_blank">Unmanaged VPS Hosting</a> Runway 2 for triennially term. That is cheap for software developer. If you are interesting to </span><span style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.85); display: inline !important; float: none; font-family: "Microsoft Yahei", Helvetica, "PingFang SC", "Helvetica Neue", sans-serif, Arial, Verdana; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><a href="https://www.a2hosting.com/" target="_blank">a2hosting</a></span><span style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.85); display: inline !important; float: none; font-family: "Microsoft Yahei", Helvetica, "PingFang SC", "Helvetica Neue", sans-serif, Arial, Verdana; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">, I share my <a href="http://www.a2hosting.com/refer/353652" target="_blank">refer</a>. You should have discount with the refer.<br /></span><span style="-webkit-text-stroke-width: 0px; background-color: white; color: rgba(0, 0, 0, 0.85); display: inline !important; float: none; font-family: "Microsoft Yahei", Helvetica, "PingFang SC", "Helvetica Neue", sans-serif, Arial, Verdana; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"></span></p><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com0tag:blogger.com,1999:blog-4403858573825031930.post-72951573985318890252022-09-21T22:32:00.001+08:002022-09-21T22:32:38.731+08:00Areditors version 0.1.0 is published<p data-pm-slice="1 1 []">Long time ago, I developed JDiary for record text content. But now is web age. All is online and based on Node.js. PWA runs on all platform. I need more quickly tools for writing. So I develop Areditors based on Node.js and PWA.</p><p>Areditors is powered by Dexie. Now data are saved on local. UI components use React/MUI. Global state is managed by Redux. Rich text editor use draftjs.</p><p>Today Areditors version 0.1.0 is published on <a href="https://areditors.opentiss.uk" rel="noopener noreferrer nofollow" title="https://areditors.opentiss.uk">https://areditors.opentiss.uk</a> and can installed with workbox.</p><p>In the futher Areditors will with features:</p><p>PWA update.</p><p>Synchronize data with Dexie Cloud or WebRTC p2p between online instances.</p><p>Image editor with kleki.</p><p>Online feed add-on.</p><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com0tag:blogger.com,1999:blog-4403858573825031930.post-48961037121122670272018-03-09T21:16:00.000+08:002012-05-14T21:06:29.091+08:00Am I?I am alive in China??
:)
Thanks, <a href="http://www.linuxjournal.com/content/use-ssh-create-http-proxy">Use SSH to Create an HTTP Proxy | Linux Journal</a>.<br />
<h4>
Programming
</h4>
<ul>
<li><span style="font-size: large;">Java(jsp)/Javascript/</span></li>
</ul>
<ul>
<li>Apache commons(cli/codec/io/lang3/)</li>
</ul>
<ul>
<li><span style="font-size: large;">Oracle</span></li>
<li><span style="font-size: large;">C++/C </span></li>
</ul>
<h4>
Tools
</h4>
<ul>
<li><span style="font-size: large;">Eclipse(SDK JUNO 4.2.0/JEE INDIGO 3.7.2) </span></li>
</ul>
<h4>
Others</h4>
<ul>
<li>Linux(openSuSE) </li>
<li>Mozilla Firefox</li>
</ul><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com12tag:blogger.com,1999:blog-4403858573825031930.post-13410345811249269352012-05-30T19:34:00.001+08:002012-05-30T19:34:57.114+08:00致那刚刚逝去的…真的没想到能坚持这么多天,其实早在两个多月前,就已经出现了不良的状况了,也没想到来得这么快,都二十多年了,但还是要来的就挡不住呀,2012年5月30日18点39分(因为收音机的时间有点快,倒推了点时间,就当是这个时间吧)——你毅然决然地去了,就在我吃面疙瘩汤的时候,真是我不小心,让你那坚强地仅存一半已数年的躯体彻底从我的牙龈上脱落了,那一瞬间,虽我已有所预料有所准备,但当真的来临时,一点轻轻的痛楚,我知道,你去了,永远地离我而去了,而我所能做的,也只有保存好你、永远地记着你,你是我第一颗完全脱落的牙齿,从今以后,将会陆续有更多的你的同胞随你而去,并见证着我的渐渐老去与消亡,毫不讳言——你是我的唯一(唯一的第一个脱落的),在漫漫人生长路上,你为我服务了二十数年,我能有几个二十数年呢?在此我向你真诚的致歉,当年体检医生记录下牙根残断时,我就应该好好地珍惜你,早就应该养成良好的生活习惯、做好相关卫生。可现在一切都晚了,你已离我而去,我只有赶快行动起来,用切实地行动来挽留住你的追随者。<br />
珍惜生命,爱护牙齿,以我为鉴,切实行动。<div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com20tag:blogger.com,1999:blog-4403858573825031930.post-5321916300484477002012-05-13T17:30:00.000+08:002012-05-13T17:30:09.366+08:00Blogger整理:20120512终于有机会好好整理一下这一荒芜良久的博客了,昨天主要做了以下调整:<br />
<ol>
<li>rss去除GullFOSS(OpenOffice.org Engineering at Sun),因其已经被Oracle铲除。</li>
<li>更新Google Search代码,经过测试,搜索结果不错,但广告没有出现,可能AdSense生效是延时造成的,不过,在AdSense的报表中已经有所体现了。</li>
<li>添加以Frequency排序Cloud显示的Labels Widget,同时删除原来以“分类”命名的Labels Widget。</li>
<li>将页面<a href="http://blog.opentiss.net/2012/05/am-i.html" target="_blank">Am I?</a>的发布日期修改为2018-3-9,以使其靠前显示,主要内容应该为当前的兴趣所在。当然,此方法来源于其他先行者,向他们致敬。</li>
<li>以每三十天的统计区间添加Blogger Stats Widget。</li>
<li>将Navbar移至页面最底部(不成功,最终导致模板无法直接修改HTML了,下载xml模板,去除Navbar Widget后上传成功,当然Navbar Widget又在最顶端了,也只要向Blogger平台示弱了,哈哈)。</li>
<li>删除了模板HTML中两个多余的。</li>
<li>修改了css:使用border-radius,而非background image表现圆角;修改了#AdSense1的padding为0,以充满main div,同时调整了#outer-wrapper/#main-wrap1/.main .widget/.main .Blog的width,以容纳整个AdSense。</li>
</ol><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com1tag:blogger.com,1999:blog-4403858573825031930.post-14786092064453392842012-05-06T00:44:00.000+08:002012-05-06T00:44:40.826+08:00I come back: 20120506<b>Yes. I come back now.</b><br />
嗯,我终于可以正常使用这个博客系统来发布我的博文了,谷歌真的很强大。这次是因为我的ftp发布方式被通知要正式切换,给予我修改设置的最后机会,我才有机会与动力完成了这一次小小的技术尝试,最终,我成功了,非常顺利。<br />
另外,twitter也神奇的正常了,这要归功于<a href="http://www.linuxjournal.com/content/use-ssh-create-http-proxy" target="_blank">Use SSH to Create an HTTP Proxy</a>。<br />
最后,还是要说开源软件让生活更美好。<div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com6tag:blogger.com,1999:blog-4403858573825031930.post-23808855384735707482009-12-17T17:37:00.001+08:002009-12-17T17:37:34.925+08:00个人简介:关于Linux OpenGL工程师早上有匿名网友咨询Linux工程师,要有OpenGL经验的,不知大家谁在兴趣。<br>另外,我之前做有过一年的OpenGL项目经验,是在2001至2002年间,用的C++ Builder,不知是否合乎这位网友的需要,如果可以的话,我可以兼职,如果待遇足够好的话,可以全职,我的谷歌邮箱账号是opentiss,可以直接联系我,我现在是离职状态。<br><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com8tag:blogger.com,1999:blog-4403858573825031930.post-82821063307289472442009-12-08T18:30:00.001+08:002009-12-08T18:48:12.657+08:00有线通突然增速奇遇:20091207昨天早五点到下午五点半停了一天的电,原计划停到晚上七点的,但刚一天黑,电就来了,还比较照顾老百姓的实际需要。来电后就开电视、开电脑,谁知电视信号很快就没有了,因为用的是有线通,所以电脑也不能上网了。<br>过了一段时间,有线恢复正常后,突然发现aMule表现极其异常,下载速度竟然达到了100多kb/s,真是太神奇了,没想到因祸得福呀,其后,就顺利下载完成了久未完成的七个文件之多,有下图可证速度奇迹:<br><div id="t7du" style="text-align: left;"><img style="width: 648px; height: 387.9px;" src="http://docs.google.com/File?id=ajktb6chhztf_83hmn75gdz_b"></div><br>不过,今天再开机后,似乎速度就没有昨天那般神奇了,这次事件的原理尚不清楚,极有可能是上海东方有线通出现了灾难性故障,把一些限速的数据给丢失了吧,哈哈,这些宽带接入提供商有时真是太没天良,竟然连我访问51job找工作都给我频繁重置,这次好好利用其下载些资源真是太过瘾了。不过也有个不太好的地方,aMule下载速度快时,连接Web网站及其他资源时也会降速,还是带宽太小了呀 :(<br>另外一个关于openSUSE 11.2的好消息是<a title="susestudio" href="http://susestudio.com/" id="c0w7">susestudio</a>已经开通了openSUSE 11.2的软件源,现在可以制作openSUSE 11.2的Live CD/DVD了。消息来源:<a href="http://blog.cornelius-schumacher.de/2009/12/build-opensuse-112-appliances-in-suse.html">Build openSUSE 11.2 appliances in SUSE Studio</a>。<br><br><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com13tag:blogger.com,1999:blog-4403858573825031930.post-28168010367641864382009-12-06T17:05:00.001+08:002009-12-06T17:05:27.149+08:00openJDiary 0.0.3最终候选版发布一个初步的<a title="openJDiary" href="http://openjdiary.opentiss.net" id="q19l">openJDiary</a>(中文名今天确定为:<b>开源 Java 日记本</b>)今天终于进入版本0.0.3最终候选版了,您可以至<a title="sf.net" href="http://sourceforge.net/" id="b05k">sf.net</a>项目网站<a title="openJDiary" href="https://sourceforge.net/projects/openjdiary/" id="y_03">openJDiary</a>下载,也可以至本站点下载。<br>这周五的确是个好日子,是我拿到上海永久居留权的三周年,也是从今天七月以来面试公司最多的一天,共有三家。当然结果是预料之中的,均无最终合适的,不过也学习到了很多东西,认识到如果要再继续C/C++之路,就必须要将socket、TCP/IP编程搞熟练,如果要切入LAMP,就必须要实际从需求、设计、实现多学习与实践,至于现在用的最多的Java,就需要多熟悉相关的开发框架,如果没有这些基础,面试官根本就不会过多地去考虑你了。<br>昨天我更新了我的NVidia显卡驱动到版本<b>173.14.22</b>,为了成功更新,我先在文字界面命令行下从YaST中卸载了nvidia的包,在命令行中执行安装包并配置SAX2即可:<br><blockquote>sh NVIDIA-Linux-x86-173.14.22-pkg1.run -q<br>sax2 -r -m 0=nvidia<br></blockquote>现在发现虽然已经在了Google Wave,却不知道能用这个工具做点什么,真是感觉有些苦恼,也许是期待越高失望越大吧。<br><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com12tag:blogger.com,1999:blog-4403858573825031930.post-329921175567190092009-11-30T18:15:00.001+08:002009-11-30T18:15:05.009+08:00喜获Google Wave邀请今天收到了<a title="Google Wave" href="http://https//wave.google.com/" id="vzgp">Google Wave</a>的邀请,虽然有很多选择,比如Facebook等,但可惜都不太支持https访问,所以经常无法正常使用,期望Google Wave能够保持基本稳定,能够一直保持可以访问得到。当然,至于怎么用与如何使用Google Wave,我还在学习之中。不过,这几天,我发现<a title="Dropbox" href="https://www.dropbox.com/referrals/NTMwMTYwOTY5" id="sfol">Dropbox</a>的可以应用的场合了,我把openJDiary 0.0.3运行程序及数据放在Dropbox共享目录中,这样就可以间接性地实现openJDiary 0.0.3数据在不同地点的同步了,最可行的是办公室与家里的同步,在公司做的事情,可以下班后回到家里接着做,这就是Dropbox的好处。<br>openJDiary 0.0.3候选版已于2009-11-28发布了,主要功能已经添加完毕,下面的工作是增加一些辅助功能,如应用程序运行选项的设置及基础功能的完善与改进。计划每年至少更新一个版,比如今年的版本是0.0.3,那么明年同一时间(12月17日)就应该出下一个版本0.0.4,每6个版本后升级一个次/主版号,如0.0.6版的下一个版本是0.1.0,之后,第三位的版本号就会不做重要版本更新版本号了,比如,0.1.0后是0.2.0,而如果有小的更新,可以命名为0.1.1等等。<br>另外,对Vim感兴趣的网友可以到linux,com阅读Vim的系列文章:<a title="Vim 101: A Beginner's Guide to Vim" href="http://www.linux.com/learn/tutorials/228600-vim-101-a-beginners-guide-to-vim" id="szrq">Vim 101: A Beginner's Guide to Vim</a>,<a title="Vim 201: An Intermediate Guide to Vim" href="http://www.linux.com/learn/tutorials/243002-vim-201-an-intermediate-guide-to-vim" id="e8bq">Vim 201: An Intermediate Guide to Vim</a>,中文翻译工作我正在空闲时缓慢地进行。<br>另外,我的Google Wave还有4个邀请可用,如果有谁感兴趣,请邮件联系我,我的谷歌邮箱名为opentiss。我会尽快与您分享这几个宝贵的邀请名额。<br><br><br><br><br><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com2tag:blogger.com,1999:blog-4403858573825031930.post-30954875929152273862009-11-22T18:52:00.001+08:002009-11-22T18:52:17.997+08:00Linux生存:Java程序与scim问题解决之道<a title="openJDiary" href="http://openjdiary.opentiss.net/zh-cn" id="r0vd">openJDiary</a>在我的SLED 11 KDE桌面中使用时存在一个问题,当打开一个外部文件进行了修改后,直接关闭,会弹出一个确认是否保存的对话框,当点击了否之后,openJDiary的其他编辑窗口就无法输入内容了,确切地讲是键盘就无法输入了,不过鼠标依然能够正常操作。<br>今天主要通过升级KDE桌面至4.3.3和升级X11到7.4-61.4(xorg-x11-7.4-61.4)尝试解决此问题。顺便有一个KDE的问题,就是选中的文本(如在Kate打开的窗口中),当切换到其他窗口,再返回时,刚才选中的文本会被删除掉,可能跟openSuSE 11.1/SLED 11的发行版本有关系,但不知道涉及的是哪个模块,也是通过升级这两部分来尝试解决。升级的结果是这两个问题跟KDE似乎都没有直接关系,问题都没有等到真正解决,依旧存在,但当升级了X11后,openJDiary无法编辑文本的问题的确不存在了,真是非常幸运呀。我使用的KDE 4.3.3源为:<br><blockquote>http://mirror.leaseweb.com/opensuse/repositories/KDE:/43/SLE_11/<br></blockquote>使用的X11源为:<br><blockquote>http://mirror.leaseweb.com/opensuse/repositories/X11:/XOrg/SLE_11/<br></blockquote>另外,在查找X11源时,还意外发现SLE 11 sp1正在研发中,有源为证:<br><blockquote>http://download.opensuse.org/repositories/X11:/XOrg:/sle11sp1/SLE_11/i586/<br></blockquote>看来,在不远的将来,也许是SLE 11发布一周年之际(大约是2010年3月下旬),SLE 11 sp1就会发布了,如果有可能,我会升级我的系统;但还有一个问题,如果KDE版本比较低,有可能还得再用非Novell官方的源升级到最新版本,不过问题并不大,由于openSuSE社区比较完善,届时肯定有相应的源可以使用的,倒不必担心。<br>之所以加快openJDiary的开发进度,其中一个原因就是Kate不能非常正常地使用,所以期望使用自己编写的小软件来打开纯文本文件,一方面可以提高开发技能,一方面可以解决Kate缺阵造成的不便。<br>就像有些系统的出现是之前的系统不能满足单个人的需要一样,开源软件也有些是因为类似的需求才应运而生的,openJDiary也是这样的,如果当初JDiary能够不出现断电丢失大量数据,并能够保持版本不断更新与功能不断完善,也就不会促使我编写openJDiary了,开源的好处之一就是,当你不能维护一个软件时,完全可以由其他爱好者来继续你的工作,而不是一切从头开始。<br>经过在谷歌上搜索发现,似乎是scim的问题,参考:<a title="KDE Bug Tracking System Bug 188533 Selection is deleted if a window is selected/pops up/maximized/focused" href="http://bugs.kde.org/show_bug.cgi?id=188533" id="sguh">KDE Bug Tracking System Bug 188533 Selection is deleted if a window is selected/pops up/maximized/focused</a>。使用的rpm包来自:<br><blockquote>http://download.opensuse.org/repositories/home:/hujq:/input_methods/SLE_11/i586/<br></blockquote>但仅升级了scim-bridge包后,问题并未解决 :(<br>只好再安装以下相关包:<br><blockquote>scim-bridge-gtk-0.4.15-123.1.i586.rpm<br>scim-bridge-qt-0.4.15-123.1.i586.rpm<br></blockquote>期望能够完全解决此问题。安装完成后重启,在Konversation中输入文本并选中,然后切换到其他窗口,再返回,文本不再消失了,再使用Kate进行测试,结果仍然是非常理想的,想不到问题就这么解决了,原来是scim的问题导致了这个KDE的问题,所以,即便是我升级了KDE到最新稳定版本,也没能解决,并且要安装的包起码应该包换scim-bridge-qt,最好把scim-bridge的这三个包全部都安装上。<br>看来,开源软件的使用完善是一个多么艰辛而又有趣的过程呀,如果把大家解决问题的经历都记录下来,简直都可以书就一大部故事书了,哈哈。<br>Linux生存,你准备好了吗?<br><br><br><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com8tag:blogger.com,1999:blog-4403858573825031930.post-36893456620008148592009-11-21T18:44:00.001+08:002009-11-21T18:44:36.207+08:00openJDiary 0.0.3预发布版发布<a title="openJDiary" href="http://openjdiary.opentiss.net/zh-cn" id="fflm">openJDiary</a>这个小工具软件终于快要与大家正式见面了,经过这些天的努力,openJDiary已经基本可用了。openJDiary的主要功能就是每天自动生成一个纯文本文件,用于记录当天的日志/日记,还有一个实用功能是创建备忘录,用于记录一些常用的信息。软件截图如下:<br><div id="s9e2" style="text-align: left;"><img style="width: 648px; height: 405px;" src="http://docs.google.com/File?id=ajktb6chhztf_78gxj2r7ff_b"></div><br>openJDiary的第一个真正的用户实际上就是我的爱人,今天她正在看<a title="恒星英语" href="http://www.hxen.com/" id="x0cr">恒星英语</a>上的文章,说要找个地方存储文章内容,同时要把网站上的音频资料下载下来听,我就用openJDiary来管理她的这些英文文章,并且记录下音频资料的位置,对于这个实际用户,还是有很大培养空间的,哈哈(但她实际上并不知道自己是第一个openJDiary用户)。<br>openJDiary的发布计划:<br><blockquote>1.预发布。20091121<br>2.候选版本发布。20091128<br>3.最终候选版本发布。20091206<br>4.0.0.3最终版发布。20091217,为项目在sf.net注册提交一周年纪念日。<br></blockquote><br><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com3tag:blogger.com,1999:blog-4403858573825031930.post-63565965634401081322009-11-13T22:25:00.001+08:002009-11-13T22:25:16.383+08:00Linux生存:openSuSE 11.2发布与SLED 11 KDE升级今天继续下载openSuSE 11.2的DVD iso,aria2c下载过程中五个连接逐渐断线于上午11:07就停止了,再续传时已经无法连接到主机了,就突发奇想,升级SLED 11的KDE到4.3版本玩玩,从openSuSE资源网站找到了KDE4在SLE 11上稳定版本的链接:http://download.opensuse.org/repositories/KDE:/KDE4:/STABLE:/Desktop/SLE_11/i586/。然后就开始了安装升级,可用的是KDE 4.3.1,首先删除kate 4.1.3,然后选择安装kate的4.3.1版本,之后就是对依赖的处理,解决依赖时选择安装新版本的包即可。刚一开始安装是用的自动镜像,结果用的是台湾的镜像网站(twaren.net),很快就出现kdm-branding-openSUSE-11.1.2-67.1.i586.rpm校验码重试若干次无法通过,最终都无法连接到镜像网站了,只好中止,重新更换上德国的王牌镜像:http://ftp5.gwdg.de/pub/opensuse/repositories/KDE:/KDE4:/STABLE:/Desktop/SLE_11/。结果一切顺利,kdm-branding-openSUSE包校验码也没出现问题,KDE升级基本可行了。<br><div id="i9kk" style="text-align: left;"><img style="width: 560px; height: 480px;" src="http://docs.google.com/File?id=ajktb6chhztf_72gg3dn3q4_b"></div><div id="q.gz" style="text-align: left;"><img style="width: 560px; height: 480px;" src="http://docs.google.com/File?id=ajktb6chhztf_73g9hgcvpm_b"></div><div id="cy.n" style="text-align: left;"><img style="width: 632px; height: 549px;" src="http://docs.google.com/File?id=ajktb6chhztf_748hsvkxhf_b"></div><div id="i8ox" style="text-align: left;"><img style="width: 632px; height: 549px;" src="http://docs.google.com/File?id=ajktb6chhztf_75hcfw9hdg_b"></div><br>升级完成重启后,基本正常,就是Mozilla Firefox启动后不知道怎么就没有了,再次启动后未发现异常。一个不好的地方就是kate还是存在被选中的文本在切换输入焦点返回后会被删除掉,也不知道这具体是什么原因,也许跟KDE 4.3没有直接关系吧。另外一个比较好的地方是kchmviewer能够查看以前一个关于CMMI的chm文件了,原来只能看到目录,点击目录后,不能显示页面内容。<br><div id="t0b:" style="text-align: left;"><img style="width: 365px; height: 403px;" src="http://docs.google.com/File?id=ajktb6chhztf_76g2482pcn_b"></div><br>一直以来,不知道什么原因stardict无法正常启动,“XDXF数据解析插件加载成功。”后就不动了。直到今天经过不断的尝试,才找到了解决的办法,将“Espeak”插件移除,因为通过在另外一台电脑上发现第二步就是加载“Espeak”插件,执行以下命令:<br><blockquote>mv /usr/lib/stardict/plugins/stardict_espeak.so .<br></blockquote>然后再启动stardict就能够正常使用了。看来是stardict在加载插件时闹了小脾气了,哈哈,只要移除出问题的相应插件即可,看来也没有什么太大的问题了,只是害得我这么长时间没有电子词典用,真是不方便呀。可以跟qstardict说再见了:<br><blockquote>rpm -e qstardict<br></blockquote><br><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com6tag:blogger.com,1999:blog-4403858573825031930.post-56688793202064392302009-11-12T19:37:00.003+08:002009-11-12T21:39:11.149+08:00Linux之路:写在openSuSE即将发布之际今天早上做梦,竟然梦见openSuSE 11.2推迟发布了,网站公布的是18日发布,还有一条最新消息说是24日发布,在梦里,我还真想迫不急待地看看新闻的内容呢,当然,那时候我就梦醒了。看来真是本人对openSuSE项目担心过度了,哈哈。<br>昨天光棍节,去一家在招聘网站上仅肯透露是一家知名企业的单位面试。说是面试,也许因为现在经济不景气的原因吧,所有单位都免不了先笔试一番,其实也没什么,找工作都得要经历这些折腾。这家单位是做电子白板的,面试过程非常枯燥,不论笔试还是面试,都驳斥着大量的MFC、多线程、Socket编程等,而我本来投的是软件开发主管,没想到要问这些我并不擅长的内容,结果是两个人轮番问了一通图像处理、绘图方面的问题,我也是答得非常勉强,毕竟离我用OpenGL做绘图库已经七年有余了。也没办法,现在想找个理想的工作还真挺不容易的,越发感觉到要想找个开源相关的工作就更加不容易了。<br>今天比较奇怪,竟然收到两条关于国产藏文版Office(办公软件)的博客留言,最离奇的是用英文书写,很是神秘,不过第二条评判我这个每月不过几百独立IP流量的网站“really very good”,如果真是那样的话,真是应了一句老话了,失去了才懂得珍惜,我现在已经离开原单位,再也不接触OOo开发很久了,现在突然出现这么一条莫名其妙的博客留言,也不知道是福是祸呀。<br>再说说国产基础软件吧,搞了这么多年民族软件,有一批还是基于开源的,但现在“核高基”这个极具决定性的项目还没看到有消息说具体各专项花落谁家了,可见国家的为难了,据说,办公软件专家组曾经明确给申请单位放话说,你们实力太弱了,如果某知名电信设备制造商来申请,我们都不用审查他们的资质,肯定让他们来做这个专项,会毫不犹豫地把专项资金划拨给他们的。但这也是一个悖论,如果实力已经足够强大了,那国家就没必要再特意拿出百亿圆人民币给予资金支持了,本来“核高基”就是对民族软件的一个扶持政策嘛。其实说得更清楚一些,国家之所以要搞“核高基”,也是想摆脱一些大软件公司近似于垄断地对中国软件领域地控制,可说实在的,中国的确还没有足够的工程实力来达到这一目的,最根本的原因就是国人的懒惰,拿来(在这一领域确切地说应该是“盗来”)习性浓重。就拿开源软件来说吧,所谓的基础软件也基本就是国外开源软件的本地化,而且有些领域竟然就是拿人家的发行版本来rebrand一下,并且这还不算,还要对人家优化改进一番,然后就会跟原发行版本相比性能下降、兼容性问题严重,这样其实就造成了客户的恐惧,本来用开源就很冒进,出了问题当然会想到盗版的好处,因为毕竟盗版大家还都习惯,出了问题不会有人笑话,大家都是中毒很深嘛,还会得到无微不至的同情;而用开源就不同了,大家会觉得你自命清高,如果你遇到问题,大家好的话会齐力把你拉回,有毒同享,如果不幸地话,被痛扁一通是常有的事。所以,有时感觉用开源是件偷偷摸摸的事,千万都不能拿到台面上去出丑,否则轻得身心压力剧增,重得赶快打加原形。<br>这几天把<a title="openJDiary" href="http://openjdiary.opentiss.net/" id="yfzx">openJDiary</a>小程序完善了一下,可以书写默认分类的备忘录了,下一步是要把用其打开编辑纯文本文件予以实现,这样,这个个人记事用的小程序就算功能基本完备了。openJDiary的设计思路很简单,用最简单的存储格式记录文本内容,方便使用与迁移,即使这一程序出现了问题,任何一款文本编辑器都能够打开与编辑其中的内容,而不会因主程序故障导致的数据灾难性毁灭;最近一直在读《Unix编程艺术》,其中对纯文本的失宠真是与我一直的想法不谋而合呀。<br>最后再回到openSuSE上来吧,我一直使用的是SLED 11,感觉挺稳定挺好的,所以近期还真没有尝试甚至替换的想法,但肯定会马上下载下来保存好的,以备想安装时能够及时使用。其中最吸引我的是其KDE版本的提升,以及KDE功能及工具的完善,当然,如果有必要的话,我会翻译release notes后放在<a title="维勘翻译" href="http://wikan.opentiss.net/zh-cn" id="w43l">维勘翻译</a>网站上的。<br>最后祝openSuSE 11.2能够更加贴近用户,系统更加稳定,界面更加吸引大众,为更多人所使用。<br><br><br><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com9tag:blogger.com,1999:blog-4403858573825031930.post-78999574566098314202009-11-12T19:37:00.001+08:002009-11-12T19:37:28.875+08:00Linux之路:写在openSuSE即将发布之际今天早上做梦,竟然梦见openSuSE 11.2推迟发布了,网站公布的是11月18日发布,还有一条最新消息说是11月24日发布。看来真是本人对openSuSE项目担心过度了,哈哈。<br>昨天光棍节,去一家在招聘网站上仅肯透露是一家知名企业的单位面试。说是面试,也许因为现在经济不景气的原因吧,所有单位都免不了先笔试一番,其实也没什么,找工作都得要经历这些折腾。这家单位是做电子白板的,面试过程非常枯燥,不论笔试还是面试,都驳斥着大量的MFC、多线程、Socket编程等,而我本来投的是软件开发主管,没想到要问这些我并不专长的内容。也没办法,现在想找个理想的工作还真挺不容易的,越发感觉到要想找个开源相关的工作就更加不容易了。<br>祝openSuSE 11.2能够更加贴近用户,为更多人所使用。<br><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com4tag:blogger.com,1999:blog-4403858573825031930.post-83032791689819822862009-10-30T14:02:00.001+08:002009-10-30T14:02:16.250+08:00Unix哲学:K.I.S.S. 保持简洁质朴最近在读一本电子书,叫做<a title="Unix编程艺术" target="_blank" href="http://catb.org/esr/writings/taoup/html/graphics/taoup.pdf" id="wwoz">Unix编程艺术</a>,其中阐述的观点Unix哲学最根本的一条就是K.I.S.S.,即“保持简洁质朴”。Unix哲学被总结为十七条原则,阐述了Unix能够延续到现在的制胜法宝。不过这本书有五百多页,还得多研究些日子了。<br><a title="openSuSE 11.2 RC2" target="_blank" href="http://download.opensuse.org/distribution/11.2-RC2/" id="c4.8">openSuSE 11.2 RC2</a>已经发布了,参见:<a href="http://news.opensuse.org/2009/10/29/final-opensuse-11-2-release-candidate-available/">Final openSUSE 11.2 Release Candidate Available</a>。此版本有几个软件版本更新了,如下:<br><ul><li>Linux kernel 2.6.31.5</li><li>SeaMonkey 2.0</li><li>Firefox 3.5.4</li><li>Samba 3.4.2</li><li>xorg-x11-server 1.6.5</li></ul>如无特殊意外,最终发布版应该不会有软件版本的更新了,主要是影响最终版本发布的bug的处理。<br><br>因为工作没有着落,现在只能续租下现在的房子了,也只能用这可恶的有线通宽带了,因为有线通的是1200元一年,其他的诸如电信的E8,附加了诸多对无产阶层的歧视性条款后,还要年付近两千元,外加初装费一笔,长城宽带比较离奇,两年1560元,但从未用过这东西,从网上查了一下,据说国外的网站访问存在障碍,像我这样非国外网站不访问的开源软件爱好者,那简直等于没有网络,也就没勇气去尝试了。有线通宽带最大的一个特点就是经常“连接被重置”:<br><div id="bhi:" style="text-align: left;"><img style="width: 648px; height: 387.9px;" src="http://docs.google.com/File?id=ajktb6chhztf_69ctkq53gj_b"></div><br>也不知道具体什么原因,反正就是如果我在求职网站上多点几次下一页,肯定就会“连接被重置”,然后需要重新尝试无数次才能连接上。有线通的帐单也很腐败,明明是包年的,还会每个月邮寄个形式帐单过来,感觉太浪费纸张了,非常不节能环保,不过还好的一点是,到营业厅续费可以刷卡,省去了一点儿携带现金的麻烦。<br><br>很想将<a title="维勘翻译" target="_blank" href="http://wikan.opentiss.net" id="ays3">维勘翻译</a>网站做得更好点,提供一些有用的开源软件信息及技术文档的中文翻译,但苦于自己英语能力太差,爱人又不肯以此为实践其英语能力的锻炼,所以,现在是停步不前,真期望能够早点想办法利用好我这个租用的香港虚拟主机。<br>希望明天会更美好吧,虽然知道那是很难的,但总得一点一点的努力吧,天上是不会掉馅饼的,即使真的掉了,也会因为被地上的脏东西污染而无法食用了。<br><br><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com5tag:blogger.com,1999:blog-4403858573825031930.post-78995336762655515922009-10-22T22:51:00.001+08:002009-10-22T22:51:28.750+08:00Eclipse插件CDT中Boost.Signals编译连接问题的解决著名的C++库<a title="Boost" href="http://www.boost.org/" id="jfze">Boost</a>中有若干个库需要在生成可执行文件时进行库文件的连接,这些库包括Regex、Signals等,详见<a title="Boost Getting Started on Unix Variants" href="http://www.boost.org/doc/libs/1_40_0/more/getting_started/unix-variants.html" id="jkia">Boost Getting Started on Unix Variants</a>。国庆节前在家里学习Boost库时,其中的Signals例子始终编译未获通过,错误信息显示有类的代码没有实现析构函数,实际上就是在连接时没有找到正确的可连接的库,正确的库为:/usr/lib/libboost_signals.so.1.36.0。今天又试着编译了一下,经过几次尝试,终于顺利通过了,其实主要是在项目设置中连接器的参数加上“ /usr/lib/libboost_signals.so.1.36.0”即可。如下图所示:<br><div id="jtuq" style="text-align: left;"><img style="width: 648px; height: 399.808px;" src="http://docs.google.com/File?id=ajktb6chhztf_67cx5b92hg_b"></div><br>即在C/C++ build->Settings->Tool Settings->GCC C++ Linker的Command line pattern的最后加上“ /usr/lib/libboost_signals.so.1.36.0”。<br><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com1tag:blogger.com,1999:blog-4403858573825031930.post-1011231282006590882009-09-07T23:34:00.001+08:002009-09-07T23:34:05.367+08:00初战告捷,准备回家过节了:20090907今天爱人开的<a title="淘宝网店" target="_blank" href="http://shop59079980.taobao.com/" id="ueps">淘宝网店</a>收到了买家的评价,通过上周的两单交易,我们获取了3个好评,正好为我们中秋节回家带上了一份好心情。国庆中秋节期间,所有商品将下架,如有购买意向的,请中秋节后再关注我们的淘宝网店,再次感谢大家的关注。<br>今天爱人去七浦采购回家给小孩子们的衣服,没什么收获,倒是给她自己添置了许多衣服,只给小孩子们买了些袜子和少量的衣服。我们定于明天(2009年9月8日)下午坐汽车回山东临沂,大概第二天凌晨到县城或乡里。无论如何,回家的心情非常好。不过,有一点点遗憾,下午的时候爱人告诉我有单位发来了通知,已经转发到我邮箱了,我查看后发现刚好是我们原定的到家的日子面试,所以没办法,只好回复邮件,解释了一下现实情况,并对他们的面试通知表示了谢意。让我深感意外的是,那家单位回复说可以在中秋国庆节后安排初试,真是非常让人感动,但愿能在缘份吧。<br><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com4tag:blogger.com,1999:blog-4403858573825031930.post-82694415091936991722009-09-05T00:23:00.003+08:002009-09-05T00:23:43.561+08:00幸福在继续:20090904今天我爱人让我跟<a title="淘宝店" target="_blank" href="http://shop59079980.taobao.com/" id="gmo0">淘宝店</a>的顾客联系,请求顾客的谅解,如果有可能,我们给予其退货、退款,因为顾客需要大一号的童装,而我们最大号的也比他的需要小一号,真是很让人烦心的事情呀,爱人是对的,经商就是要靠诚信的,尤其是网店。一大早我奉命起来值班,准备跟顾客说明情况,但顾客却非常平静,竟然一直没有上线,爱人最后决定,发短消息告知其具体情况,但令人惊讶的是短消息也无回音,最后只好打电话直接解释。真是功夫不负有心人,顾客说他家孩子穿这一号的今年刚刚好,只是想让孩子能多穿一年,所以才想买个大一号的,可以接受我们所提供的商品,当然此消息非常令人振奋,我们就赶快准备发货,向申通快递下单。刚过了一会,淘宝旺旺竟然突然来了一条商品已经卖出的通知,我们赶快查看,发现果然又有一商品卖出了,真是幸福来敲门,让人很振奋呀。最终我们成功在这一周做成了两单生意,虽然业绩不怎么令人满意,但毕竟是一个良好的开端,明天会更好。今天的美中不足是我们跟申通采用的是现金结算,快递费高了些,如果以后能月结的话,费用会便宜些,努力、加油,就会有所收获。<br>今天我还在继续学习PHP与MySQL应用开发的相关知识,今天想用PHP跟MySQL数据库交互,看了Mambo及Mediawiki的相关源代码,感觉都是直接用SQL语句进行数据操作,因为数年前,我在速达上海分公司做产品时大量采用了存储过程,所以也就想应用一下MySQL的存储过程,经过查看MySQL及<a title="PHP" target="_blank" href="http://cn.php.net/manual/en/mysqli.prepare.php" id="px3o">PHP</a>的<a title="相关文档" target="_blank" href="http://cn.php.net/manual/en/mysqli-stmt.bind-param.php" id="g2y6">相关文档</a>,我用mysqli及mysqli_stmt_bind_param进行了验证,以下是MySQL创建数据库及生成表与存储过程的命令:<br><blockquote>create database `openshop` default character set utf8 collate utf8_general_ci;<br>GRANT ALL PRIVILEGES ON openshop.* TO 'os'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;<br><br>use openshop;<br>CREATE TABLE /*_*/users (<br> user_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,<br><br> user_name varchar(255) binary NOT NULL default ''<br>);<br><br>delimiter //<br>CREATE PROCEDURE insert_user(IN name varchar(255))<br>BEGIN<br>insert into users(user_name) values(name);<br>END<br>//<br></blockquote>然后使用了以下PHP验证代码:<br><blockquote><?php<br>$mysqli = new mysqli("localhost", "os", "password", "openshop");<br><br>/* check connection */<br>if (mysqli_connect_errno()) {<br> printf("Connect failed: %s\n", mysqli_connect_error());<br> exit();<br>}<br><br>$city = "hah'a";<br><br>/* create a prepared statement */<br>if ($stmt = $mysqli->prepare("call insert_user(?)")) {<br> <br> /* bind parameters for markers */<br> $stmt->bind_param("s", $city);<br><br> /* execute query */<br> $stmt->execute();<br><br> /* close statement */<br> $stmt->close();<br> echo $city;<br>}<br><br>/* close connection */<br>$mysqli->close();<br>?><br></blockquote>通过MySQL客户端查询结果如下图所示:<br><div id="t4_s" style="text-align: left;"><img style="width: 463px; height: 360px;" src="http://docs.google.com/File?id=ajktb6chhztf_64f26mrfhq_b"></div><br>其实这么做大家也知道,只有一个好处,那就是可以避免使用PHP生成表插入数据时对特殊字符<b>“'”</b>的处理。今天真是一切顺利,明天继续。<br><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com6tag:blogger.com,1999:blog-4403858573825031930.post-13247233297237987272009-09-05T00:23:00.001+08:002009-09-05T00:23:41.687+08:00幸福在继续:20090904今天我爱人让我跟<a title="淘宝店" target="_blank" href="http://shop59079980.taobao.com/" id="gmo0">淘宝店</a>的顾客联系,请求顾客的谅解,如果有可能,我们给予其退货、退款,因为顾客需要大一号的童装,而我们最大号的也比他的需要小一号,真是很让人烦心的事情呀,爱人是对的,经商就是要靠诚信的,尤其是网店。一大早我奉命起来值班,准备跟顾客说明情况,但顾客却非常平静,竟然一直没有上线,爱人最后决定,发短消息告知其具体情况,但令人惊讶的是短消息也无回音,最后只好打电话直接解释。真是功夫不负有心人,顾客说他家孩子穿这一号的今年刚刚好,只是想让孩子能多穿一年,所以才想买个大一号的,可以接受我们所提供的商品,当然此消息非常令人振奋,我们就赶快准备发货,向申通快递下单。刚过了一会,淘宝旺旺竟然突然来了一条商品已经卖出的通知,我们赶快查看,发现果然又有一商品卖出了,真是幸福来敲门,让人很振奋呀。最终我们成功在这一周做成了两单生意,虽然业绩不怎么令人满意,但毕竟是一个良好的开端,明天会更好。今天的美中不足是我们跟申通采用的是现金结算,快递费高了些,如果以后能月结的话,费用会便宜些,努力、加油,就会有所收获。<br>今天我还在继续学习PHP与MySQL应用开发的相关知识,今天想用PHP跟MySQL数据库交互,看了Mambo及Mediawiki的相关源代码,感觉都是直接用SQL语句进行数据操作,因为数年前,我在速达上海分公司做产品时大量采用了存储过程,所以也就想应用一下MySQL的存储过程,经过查看MySQL及<a title="PHP" target="_blank" href="http://cn.php.net/manual/en/mysqli.prepare.php" id="px3o">PHP</a>的<a title="相关文档" target="_blank" href="http://cn.php.net/manual/en/mysqli-stmt.bind-param.php" id="g2y6">相关文档</a>,我用mysqli及mysqli_stmt_bind_param进行了验证,以下是MySQL创建数据库及生成表与存储过程的命令:<br><blockquote>create database `openshop` default character set utf8 collate utf8_general_ci;<br>GRANT ALL PRIVILEGES ON openshop.* TO 'os'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;<br><br>use openshop;<br>CREATE TABLE /*_*/users (<br> user_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,<br><br> user_name varchar(255) binary NOT NULL default ''<br>);<br><br>delimiter //<br>CREATE PROCEDURE insert_user(IN name varchar(255))<br>BEGIN<br>insert into users(user_name) values(name);<br>END<br>//<br></blockquote>然后使用了以下PHP验证代码:<br><blockquote><?php<br>$mysqli = new mysqli("localhost", "os", "password", "openshop");<br><br>/* check connection */<br>if (mysqli_connect_errno()) {<br> printf("Connect failed: %s\n", mysqli_connect_error());<br> exit();<br>}<br><br>$city = "hah'a";<br><br>/* create a prepared statement */<br>if ($stmt = $mysqli->prepare("call insert_user(?)")) {<br> <br> /* bind parameters for markers */<br> $stmt->bind_param("s", $city);<br><br> /* execute query */<br> $stmt->execute();<br><br> /* close statement */<br> $stmt->close();<br> echo $city;<br>}<br><br>/* close connection */<br>$mysqli->close();<br>?><br></blockquote>通过MySQL客户端查询结果如下图所示:<br><div id="t4_s" style="text-align: left;"><img style="width: 463px; height: 360px;" src="http://docs.google.com/File?id=ajktb6chhztf_64f26mrfhq_b"></div><br>其实这么做大家也知道,只有一个好处,那就是可以避免使用PHP生成表插入数据时对特殊字符<b>“'”</b>的处理。今天真是一切顺利,明天继续。<br><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com3tag:blogger.com,1999:blog-4403858573825031930.post-38604467567628006402009-09-04T01:36:00.001+08:002009-09-04T01:36:41.292+08:00让人高兴的一天:20090903Google AdSense产生了一点点收入,<a title="我们的淘宝网店迎" target="_blank" href="http://shop59079980.taobao.com/" id="x:55">我们的淘宝网店迎</a>来了第一笔生意,不过由于备货规格方面的原因,我爱人准备取消这一单了,因为我们主要是针对婴童的,而客户想要尺码大一点儿的,可我们最大只有130尺码的,真是万事开头难呀。<br>今天还主要学习了些PHP实用技术:stripslashes函数的应用,主要是用于CKEditor的POST数据处理。<br>期望明天更美好。<br><font size="4"><b><span style="color: rgb(255, 0, 0);"><a title="喜迎" target="_blank" href="http://shop59079980.taobao.com/" id="wxe0">喜迎</a>国庆六十周年</span></b></font>:<a title="本淘宝网店" target="_blank" href="http://shop59079980.taobao.com/" id="bch2">本淘宝网店</a>特价推出25元、28元婴童装,欢迎选购。<br><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com5tag:blogger.com,1999:blog-4403858573825031930.post-31532165499004346912009-09-01T22:30:00.001+08:002009-09-01T22:30:27.782+08:00新的一个月又开始了:20090901今天是学校开学的日子了,祝愿学生们都身体好、学习顺利。<br>今天主要是大致做了一下九月份的计划,试验性项目openShop(暂定名)准备采用<a title="CKEditor" target="_blank" href="http://ckeditor.com/" id="sxfw">CKEditor</a>做富文本编辑器、采用<a title="TCPDF" target="_blank" href="http://tcpdf.sourceforge.net/" id="mc8v">TCPDF</a>将内容的导出为PDF文档。另外,今天还尝试了一下<a title="Joomla!" target="_blank" href="http://www.joomla.org/" id="yo5-">Joomla!</a>和Drupal,感觉Joomla!跟Mambo有几分相似。<br>感觉这段时间有线通宽带下载速度实在是太慢了,而且最让人气愤的是,每次下载个软件包什么的,总要转到<b>211.167.112.15:9203</b>的相关链接去下载,但这个网址下载速度实在是不尽如人意,我用Firefox的扩展Downthemall下载的真实链接截图如下:<br><div id="lkm2" style="text-align: left;"><div id="p0bk" style="text-align: left;"><img style="width: 641px; height: 340px;" src="http://docs.google.com/File?id=ajktb6chhztf_61dkjxgt57_b"></div></div>感觉有线通真是太恶心了,我准备适时更换宽带了,如果确认我这边能够安装电信的ADSL 2M宽带,我肯定再也不用这个破有线通了,万恶的上海有线通。<br>另外,昨天将八月份最后一篇预定的翻译文章<a title="BugZilla alerts using GMAIL" target="_blank" href="http://www.dawood.in/bugzilla_alerts_using_gmail.html" id="qeri">BugZilla alerts using GMAIL</a>发布到<a title="维勘翻译" target="_blank" href="http://wikan.opentiss.net/index.php?lang=zh_CN" id="ss5s">维勘翻译</a>上去了。<br><div class="blogger-post-footer">~opentiss</div>opentisshttp://www.blogger.com/profile/10204500846432862752noreply@blogger.com10