查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

银河军团大本营

光荣的军团,永远的丰碑 <坚持原创>

 
 
 
 
 
 

我心目中的智能电视遥控器

2014-2-10 10:43:26 阅读635 评论0 102014/02 Feb10

  前些天买了一台54吋的康佳智能电视,到家后才发现它的遥控器竟然有好几十个按键!唉,电视机倒是号称智能了,遥控器却依然做得那么傻,这是真正的智能电视么?

  从这个智能电视遥控器的设计可以看出,传统的家电厂商在追赶智能电视的潮流时,其实并没有真正地深刻理解“智能”的含义,他们仍然是在用传统电视的思维做智能电视。我觉得,所谓“智能”电视,并不仅仅是可以上网、玩游戏、装上各种各样的应用程序,更重要的是用起来简单!也就是让电视变得更“智能”,而不仅仅只是性能/功能更强大!

  其实我们仔细分析一下平常在看电视时使用遥控器的情形,你会发现遥控面板上的几十个按键大多数时候都没有用到,大家用得最多的也就是切换频道,调节声音而已。既然如此,为什么还要在遥控面板上放那么多的按键呢?我们完全可以转变一下思路:遥控面板上只有可数的几个按键,其他设置可以进入设置界面之后再设定嘛。

  如果深入地思考一下就会发觉,也许智能电视遥控器的设计并没有想像中那么难。我设想了几种类型,分别如下:

  一、仍然只使用按键,但只有少数几个按键。当然,仅仅这几个按键肯定不够,还需要控制程序的配合;并且此种方式不适用于上网等需要复杂输入的情形。

  二、按键+触控板,以触控板配合光标来实现多数操作,仅有的几个按键只是加快操作速度。如果加上重力感应等传感器,用来玩游戏就比较爽了。

  三、在智能手机或平板电脑上运行控制程序,通过WIFI来无线操控。此种方式完全通过软件实现,硬件上应该不需要特殊处理。

  四、使用类似体感控

作者  | 2014-2-10 10:43:26 | 阅读(635) |评论(0) | 阅读全文>>

关于盗版的一些感想

2013-7-31 19:18:56 阅读580 评论0 312013/07 July31

  声明:本文并不是为盗版摇旗呐喊,更不是赞成盗版,只是想述说一个无奈的情形。

  论坛上有人调查说75%以上的程序员认为“盗版损害最大的是程序员的利益”,这里不讨论这个观点正确与否,只是想回忆一下刚开始学习编程的情形。

  记得十多年前下定决心花了五千多块钱自己装了台电脑,当时装的系统是盗版的Windows98,开发工具是C++ Builder 5,从那时起,终于告别了纸上谈兵式的学习方式。凭着不多的几本参考书,当时也不会利用网络,自己一个人开始不断地练习写代码。至于什么代码规范、设计模式什么的,根本就没想过。

  练习写代码足有一年多,终于找到了第一份编程的工作,从此进入了软件开发这一行。工作中的大多数开发工具、开发库以及操作系统基本都是用的盗版。曾经在一家公司,大家觉得Sybase的PowerDesigner这个工具软件挺好用,于是头说要是十万块以内的话,咱就建议老板买一套吧,结果后来一查差不多要十万美元,当时美元还是很坚挺的,对人民币汇率是8块多呢,呵呵,最后当然不了了之。

  回想起来,这么多年工作上用的、自己装的开发工具除了开源的大多是盗版的,开发工具就用过C++ Builder 5/6、Delphi5/6/7/2005/2007/2010/XE2/XE3、VC6/VS2003/VS2005,数据库用过SQL Server/Oracle/Interbase/MySQL等等,要是这些都用正版的话……呃,我还挣什么钱啊?!

  我也知道用盗版不好,问题是要没盗版,我恐怕都进不了这一行。好在,如今对

作者  | 2013-7-31 19:18:56 | 阅读(580) |评论(0) | 阅读全文>>

文本编码的智能识别(续) - C#版本代码

2013-2-18 21:02:25 阅读1461 评论0 182013/02 Feb18

//C#版本核心代码 (将其保存为SmartLoadCS.cs) VS2005测试通过,其他版本未测试

/*******************************************************************************

* 智能识别文本编码(C#版) *

* *

* 功能: 本单元用于智能识别文本文件编码,包括简繁体文本的识别,VS2005测试通 *

* 过 *

* 实现: 2013.1.31 ~ 2013.2.18 实现Delphi版到C#的转换 *

* Blog: dreamisx.blog.163.com *

* EMail: iamdream%yeah.net (% -> @) *

*******************************************************************************/

using System;

using System.Collections.Generic;

using System.Text;

using System.IO;

using System.Runtime.InteropServices;

/*---------------------------- Character Encoding -----------------------------

1. UTF-8

作者  | 2013-2-18 21:02:25 | 阅读(1461) |评论(0) | 阅读全文>>

忽略大小写的kmp字符串匹配算法

2012-8-29 19:03:42 阅读748 评论0 292012/08 Aug29

  网上找到的kmp算法似乎都是区分大小写比较的,前些天研究了一下,发现可以将kmp算法方便地改成忽略大小写来比较,代码如下:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <assert.h>

//据说来自于linux 2.6.14+内核的kmp算法

int is_ascii(char c)

{

return c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z';

}

int samechar_nocase(char a, char b)

{

return a == b || is_ascii(a) && is_ascii(b) && (a | 0x20) == (b | 0x20);

}

void kmp_init(const char *patn, int len, int *next)

{

int i, j;

assert(patn != NULL && len > 0 && next != NULL);

next[0] = 0;

作者  | 2012-8-29 19:03:42 | 阅读(748) |评论(0) | 阅读全文>>

如何判断程序已经完全退出?

2012-8-29 12:59:48 阅读991 评论0 292012/08 Aug29

  在给应用程序发送WM_CLOSE消息后,往往需要等待它完全结束再继续运行,等待结束可以用WaitForSingleObject,在执行WaitForSingleObject后可能还需要再判断一下程序是否已经完全退出,一般的方法是判断进程是否存在。不过,在实际使用过程中我发现在WaitForSingleObject之后立即检查进程ID,可能检查结果是进程仍然还在,但其实此时已经可以替换或重启动程序了。

   经过试验,发现可以用IsWindow来判断程序的主窗口是否已经释放,只要主窗口的Handle已经失效,那么就可以认为程序已经完全退出了。具体代码片断如下(最新测试表明,用IsWindow及ProcessExist判断也不能保证100%准确,晕……):

var

mainHandle: THandle;

pid: DWord;

hProc: THandle;

begin

//...

GetWindowThreadProcessId(mainHandle, @pid);

SendMessage(mainHandle, WM_CLOSE, 0, 0);

hProc := OpenProcess(PROCESS_ALL_ACCESS, False, pid);

if hProc <> 0 then try

WaitForSingleObject(hProc, 60*1000);

作者  | 2012-8-29 12:59:48 | 阅读(991) |评论(0) | 阅读全文>>

Windows8 及 VS Express 2012 初体验

2012-7-28 14:20:32 阅读1818 评论0 282012/07 July28

  昨晚在VMWare8中将Windows 8 Release Preview装上了,今天又将Visual Studio Express 2012 RC for Windows8给装好了,算是体验了一下Windows 8以及M$大力宣扬的Metro Style。

  安装Windows 8还算顺利,只是第一次安装时,重启后好久没反应,我以为需要将ISO镜像移走,哪知道移掉ISO安装镜像后,就再也装不上了,重新加载ISO安装镜像也不行。没办法,重新建了一个虚拟机,安装及重启后耐心等待,一直等到提示输入账户信息,再按提示输入完后,安装成功。

  VS Express 2012的安装也遇到一些波折:一开始是从M$网站上下载的一个在线安装程序win8express_full.exe,哪知道用这个在线程序死活装不上,总是报一个VC++的什么组件找不到,后来找到一个ISO的VS Express 2012中文版安装镜像,下完安装成功。

  Windows 8启动后首先出现的是为平板设计的多宝格界面(见下面的效果图),老实说这个多宝格界面我一点都没觉得有多好,只是感觉与iPhone及Android的风格有些不一样罢了。切换到传统桌面风格,仔细体会一下,发现和Windows 7没太大区

作者  | 2012-7-28 14:20:32 | 阅读(1818) |评论(0) | 阅读全文>>

VirtualBox安装Mac OS X雪豹(snow leopard)

2012-7-12 22:14:47 阅读2617 评论4 122012/07 July12

  <相关文章:VMware7安装Mac OS X雪豹(snow leopard)问题总结>

  七月初Win7 64位系统下用VMware7成功安装Mac OS X雪豹系统后,前几天又用VirtualBox 4.1.18成功安装Mac OS X雪豹系统,并在昨晚成功升级到10.6.8。具体安装方法就不说了,网上搜索一下,介绍安装过程的文章比比皆是,这里我记录的是安装过程中与其他人遇到的不同问题,以供参考。

  一、我安装时并没有加载任何引导的ISO(事实上是加载了引导ISO反而安装不了,挺奇怪),直接加载MacOSX-Snow.Leopard.10.6.iso就可以安装。网上其他人的文章都是要先加载一个引导的ISO,然后再加载安装盘才能安装的,难道因为我用的VirtualBox是最新的4.1.18?而且安装完后也没有大家所说的出错情况,直接安装成功,提示重启。

  二、安装成功后,我用empireEFIv1085.iso、LegacyBootCD.iso等大家常用的ISO引导都不成功,最后试了Rebel EFI.iso才引导成功。真奇怪,我的本本CPU是i5-2450,为什么和其他人的情况就相差这么大呢?从我的情况来说,如果安装完后引导不了,那就多试几个引导ISO镜像,我是试了7个镜像才成功的。

  三、我安装的雪豹系

作者  | 2012-7-12 22:14:47 | 阅读(2617) |评论(4) | 阅读全文>>

VMware7安装Mac OS X雪豹(snow leopard)问题总结

2012-7-1 23:38:04 阅读2825 评论1 12012/07 July1

  <相关文章:VirtualBox安装Mac OS X雪豹(snow leopard)>

  前些天刚买了台笔记本,在网上看到现在Intel CPU可以安装Mac OS X,下了个Securable.exe试了一下,发现我的本本可以安装Mac OS,于是花了几天时间找了一些Mac OS X snow leopard的安装包,今天试了半天,终于装上了!安装过程中也遇到不少问题,最终借助于网络都解决了,怎么安装这里就不详细说了,网上的文章多的是,我只是将安装中遇到的问题汇总如下,以供参考。

  1、由于我在Win7里安装的VMware是7.1.5的,不对VMware做更新改动的话,只能支持到Mac OS X 10.6 snow leopard,不支持最新的Mac OS X 10.7 Lion,所以我在网上找的安装文件都是Mac OS X 10.6 snow leopard这个版本的。

  2、因为Mac OS X 10.6 snow leopard早就出来了,所以我找到的一些BT种子都已经失效了,最后找到几个FTP的链接,才下载成功。需要注意的是,有些dmg/iso的安装文件似乎是用于在windows下直接安装的,所以iso里可以看到AutoRun.inf及setup.exe,这种dmg/iso是无法在VMware里安装的;还有一些dmg镜像是在Mac

作者  | 2012-7-1 23:38:04 | 阅读(2825) |评论(1) | 阅读全文>>

简繁体编码识别原理

2012-6-7 17:17:55 阅读1722 评论0 72012/06 June7

  本文是以下两篇文章的补充:

文本编码的智能识别

文本编码的智能识别(续) - 完整代码部分

文本编码的智能识别(续) - Unicode版本代码

文本编码的智能识别(续) - C#版本代码

  没有BOM头的文件要识别其编码,一般采用统计学上的方法。作为对前两篇文本编码识别文章的补充,本文主要探讨一下简繁体编码识别原理。

  虽然简繁体字编码区域有很大重叠,但简体常用字及繁体常用字的编码区域则相差很大(具体情况作为一个业余研究人员我就不多说了,免得露馅,嘻嘻),而且不少字会有一对多的情况,因此,将一段文本从简体转为繁体再转回简体时,完全相同的概率比较低(具体是多少,没做分析,有兴趣的朋友可以研究),但如果原本就是简体的,那么经过两次转换后的文本与原文应该相差不大;同理,繁体文本转为简体转回繁体,其结果应该类似。根据这种原理,在简体系统下,如果将一段繁体文本当作简体转为繁体,然后再转为简体,由于繁体字的分布区域与简体有较大差异,因此,最后得到的文本与原文相比将会有较大的差别。前文中我采用的简繁体识别方法就是基于这样的原理,其关键是差异值应该取多少?经过试验,我取了6%,即在简体系统下,如果差异小于6%,则认为要识别的文本是简体,否则就是繁体。繁体系统下类似,可能这个6%的经验值并不一定合适,不过对于一般用途足够了。

  当然,单纯使用以上方法,其识别率依赖于文本中汉字的分布情况,在遇到中文制表符、标点符号比较多的文本,其识别率就不尽如人意了,所以可能还需要与其他识别算法结合使用。

作者  | 2012-6-7 17:17:55 | 阅读(1722) |评论(0) | 阅读全文>>

Motorola Symbol MC3090 升级到 MC3190

2012-5-10 18:02:25 阅读12782 评论91 102012/05 May10

  关联文章:1、Motorola Symbol MC3090 Windows Mobile 6 开发问题  2、Motorola Symbol MC3190 无线网络设置的一个问题

  之前为工业条码应用在VS2005中做的小程序只能跑在MC3090扫描枪上,最近由于Motorola Symobl MC3090已经停产,所以只能升级到MC3190。

  MC3090用的是WinCE5,而MC3190用的是WinCE6,在网上搜索后才知道,扫描枪的SDK也升级了,由之前的SMDK升级到了EMDK(比如这篇文章: http://hi.baidu.com/chaoking320/blog/item/de1c82b249abd149082302f8.html )。有些博文里说得更复杂:还需要下载一个WinCE6的SDK,以及更新版本的.Net Compact Framework,好在这次升级并没有用这种复杂的方法。

作者  | 2012-5-10 18:02:25 | 阅读(12782) |评论(91) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 

上海市 徐汇区 金牛座

 发消息  写留言

 
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 
 
 
博友列表加载中...
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018

注册 登录  
 加关注