入手 Kindle DXG
今天收到了前两天在淘宝上买的盒装未拆封官翻的 Kindle DXG, 收到后刷了多看。

看扫描版的 PDF, 裁边后和纸质书对比如下:


能看出字号比纸质书还是稍小一些:


整页对比,把 PDF 四周的空白裁掉,9.7 寸屏的显示区域也还是比 16 开纸质书的文字部分小:


上边对比所选的书是《你必须知道的495个C语言问题》,之所以选这本书不是因为近期在看,而是这本书是我以 2 倍定价的价格从 china-pub 买的 POD (按需印刷) 的书。如果当时有 Kindle DXG, 不知道是不是就不会买纸质书收藏了。

不过 Kindle DXG 实际看起书来,字号和分辨率的影响不算大,主要是翻页时的刷新速度比较慢,翻几页后还会黑屏全刷。这应该就是说电子书不适合看技术类书籍的原因了,将来技术类的图书还是要接着买的。

2016-5-22 后记: Kindle DXG 除了看一个规范 (specification) 的 PDF 文档用过几天外,大部分时间都是在吃灰,扫描版的技术类书籍不如看纸质的,其他类型的书自己找电子书也很麻烦。所以后来还是又入手了 Kindle Paperwhite 3, 可以在淘宝上买中亚的充值卡充值,之后用一键下单买书,很方便。买一些非技术类书籍,便宜又不占地。而且 KPW3 有背光确实比较省眼。
当前语言: 中文 (简体)
MPC-HC 1.7.8 箭头鼠标指针版
MPC-HC (Media Player Classic Home Cinema) 的默认鼠标指针问题严重困扰着我,在没有换操作系统时就一直仍然在用很老的 MPC 6.4。但现在系统已经都换到 Win 7 及 Win 8.1 的 64 位操作系统了,播放器是时候该换了。

结合 MPC-HC 官网上有人提交的一个 bug,我对 MPC-HC 的源代码进行了一些搜索和修改,最后搞定了一共 4 处需要修改的默认鼠标指针设置,接下来上图。

这是官方原版的鼠标指针样式,视频画面上是箭头,底下控制部分都是手形鼠标指针:



这是修改后版本的鼠标指针样式,和 MPC 一致,画面上是手形鼠标指针,底下控制部分都是箭头:



这是修改后版本的关于对话框,1.7.8-arrow 版:



修改版本的下载地址如下:

新浪微盘: MPC-HC.1.7.8-arrow.x86.zip (32 位)
新浪微盘: MPC-HC.1.7.8-arrow.x64.zip (64 位)

Dropbox: MPC-HC.1.7.8-arrow.x86.zip (32 位)
Dropbox: MPC-HC.1.7.8-arrow.x64.zip (64 位)

修改的细节如下,其中就涉及到视频画面上鼠标指针修改的 MouseTouch.cpp 中的这个位置最难找:

  1. deab46f52abe74b76317dadb7db5d8db3d7b1248
  2.  src/mpc-hc/MouseTouch.cpp    | 2 +-
  3.  src/mpc-hc/PlayerSeekBar.cpp | 2 +-
  4.  src/mpc-hc/PlayerToolBar.cpp | 2 +-
  5.  src/mpc-hc/VolumeCtrl.cpp    | 2 +-
  6.  4 files changed, 4 insertions(+), 4 deletions(-)
  7.  
  8. diff --git a/src/mpc-hc/MouseTouch.cpp b/src/mpc-hc/MouseTouch.cpp
  9. index 0162ec5..9fd0b93 100644
  10. --- a/src/mpc-hc/MouseTouch.cpp
  11. +++ b/src/mpc-hc/MouseTouch.cpp
  12. @@ -433,7 +433,7 @@ bool CMouse::SelectCursor(const CPoint& screenPoint, const CPoint& clientPoint,
  13.      }
  14.  
  15.      if (!bHidden || bHiddenAndMoved || !bCanHide) {
  16. -        m_cursor = Cursor::ARROW;
  17. +        m_cursor = Cursor::HAND;
  18.          if (bCanHide) {
  19.              if (!m_bMouseHiderStarted || screenPoint != m_mouseHiderStartScreenPoint) {
  20.                  StartMouseHider(screenPoint);
  21. diff --git a/src/mpc-hc/PlayerSeekBar.cpp b/src/mpc-hc/PlayerSeekBar.cpp
  22. index 9a57246..86ac612 100644
  23. --- a/src/mpc-hc/PlayerSeekBar.cpp
  24. +++ b/src/mpc-hc/PlayerSeekBar.cpp
  25. @@ -39,7 +39,7 @@ CPlayerSeekBar::CPlayerSeekBar(CMainFrame* pMainFrame)
  26.      , m_bHasDuration(false)
  27.      , m_rtHoverPos(0)
  28.      , m_bHovered(false)
  29. -    , m_cursor(AfxGetApp()->LoadStandardCursor(IDC_HAND))
  30. +    , m_cursor(AfxGetApp()->LoadStandardCursor(IDC_ARROW))
  31.      , m_bDraggingThumb(false)
  32.      , m_tooltipState(TOOLTIP_HIDDEN)
  33.      , m_bIgnoreLastTooltipPoint(true)
  34. diff --git a/src/mpc-hc/PlayerToolBar.cpp b/src/mpc-hc/PlayerToolBar.cpp
  35. index 9dfa476..586049b 100644
  36. --- a/src/mpc-hc/PlayerToolBar.cpp
  37. +++ b/src/mpc-hc/PlayerToolBar.cpp
  38. @@ -332,7 +332,7 @@ BOOL CPlayerToolBar::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
  39.  
  40.          int i = getHitButtonIdx(point);
  41.          if (i >= 0 && !(GetButtonStyle(i) & (TBBS_SEPARATOR | TBBS_DISABLED))) {
  42. -            ::SetCursor(AfxGetApp()->LoadStandardCursor(IDC_HAND));
  43. +            ::SetCursor(AfxGetApp()->LoadStandardCursor(IDC_ARROW));
  44.              ret = TRUE;
  45.          }
  46.      }
  47. diff --git a/src/mpc-hc/VolumeCtrl.cpp b/src/mpc-hc/VolumeCtrl.cpp
  48. index bd41188..592f4c8 100644
  49. --- a/src/mpc-hc/VolumeCtrl.cpp
  50. +++ b/src/mpc-hc/VolumeCtrl.cpp
  51. @@ -194,7 +194,7 @@ void CVolumeCtrl::HScroll(UINT nSBCode, UINT nPos)
  52.  
  53.  BOOL CVolumeCtrl::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
  54.  {
  55. -    ::SetCursor(AfxGetApp()->LoadStandardCursor(IDC_HAND));
  56. +    ::SetCursor(AfxGetApp()->LoadStandardCursor(IDC_ARROW));
  57.      return TRUE;
  58.  }
当前语言: 中文 (简体) · also available in: English
Gender Guesser v0.10.0 已发布
这个版本变化比较大,类的方法、概率计算算法和词典的规模都有了改进和提升。

从 PHP Classes 下载:
http://www.phpclasses.org/package/2701-PHP-Guess-the-gender-of-Chinese-names.html

更新日志:
  • 去除 getOffset(), getTendencyByOffset() 和 getTendency() 方法
  • 新增 getMaleProbability() 方法,可直接得到为男性姓名的概率值
  • 将 getLexiconName() 方法改为 getLexiconComment(),用于获取词典的注释信息
  • 默认词典的原始数据量上升到 1700 万条 (上一版本为 2 万条)
  • 默认词典有完整和基础两个版本,所包含的字符数量不同

演示地址:
http://demo.wudilabs.org/lab/gender_guesser/

PPT 下载:
http://blog.wudilabs.org/uploads/gender_guesser_ppt_by_wudi.pdf
当前语言: 中文 (简体) · also available in: English
今天把几个本地的 Git 版本库推送到了 GitHub 上面
https://github.com/wudicgi?tab=repositories
当前语言: 中文 (简体) · also available in: English
Gender Guesser v0.05.0 已发布
从 PHP Classes 下载:
http://www.phpclasses.org/package/2701-PHP-Guess-the-gender-of-Chinese-names.html

更新日志:
  • 该版本起仅支持 PHP 5 环境,且需要开启 mbstring 扩展
  • 词典数据改为以 PHP 序列化数据方式存储
  • 默认词典由 20,933 个姓名性别数据生成 (上一版本为 5,561 个)
  • 默认词典同时包含简体中文和繁体中文的字符

演示地址:
http://demo.wudilabs.org/lab/gender_guesser/
当前语言: 中文 (简体) · also available in: English
查找附近地点的算法 —— Geohash
Geohash 是一个有名的用于搜索附近地点的算法。今天在实验室的例会上,我讲了一下这个算法的思想和 C 语言实现。现在将幻灯片的 PDF 发布出来,以供参考。

下载: http://blog.wudilabs.org/uploads/geohash_ppt_by_wudi.pdf





如果你下载看了的话,会发现其中有一个 C 语言的实现。目前这个库的基本功能都已经完成了,待整理完善后,我会连同一个不使用 malloc 动态内存分配的 NMEA 解析库一块发布出来。
当前语言: 中文 (简体) · also available in: English
更多条目: [1] [2] [3] [4] [5] [6] [7] [8] ... [22]
« 上一页 · 下一页 »