今天在Cnbeta上得知百度MP3搜索流量收入比例双双下降,并不意外吧,谷歌终于说服总部在中国使用了音乐搜索,很多人肯定会转向的。与百度不同,谷歌自己掏钱向巨鲸网购买了版权。
自从08年开始,百度被爆出了许多负面新闻,百度的企业形象似乎一下子跌到了谷底。也许笑的人很多,但是作为百度支持者的话,可能会一下子愣了,这真的是自己崇拜的公司的所作所为吗?
说实话,我并不排斥百度,在进入大学以前,我常用的搜索引擎是百度,基本上不碰谷歌,因为在那时候百度基本上满足了我的需求,让我找到要找的资料,让我能听想要听的歌曲。但是现在正好倒过来,搜索资料用谷歌,找歌用百度,因为慢慢地发现,用百度找比较专业性的资料,根本就没有谷歌找到的那么多,那么准确。
一直以来,我都认为百度是家很不错的公司,认为李彦宏是一个很优秀的中国人。虽说搜索方面没有谷歌那么强大,但百度基本上满足了中国很大一部分网民,百度在中文的理解上,我认为还是比谷歌好的,百度能做到今天这个地步,没有一定的能力是不可能的。
这些天开始关注网上的人对百度的看法,似乎仇视百度的比撑它的多得多,很多关于百度的帖子,基本上都是在谩骂它吧,呵呵,素质。
首先要提的是竞价排名。其实本身来说竞价排名并不是说不好,照李的看法来说,确实能提高用户体验。但这有一个前提:要保证推广信息的正确性。很多人认为竞价排名就意味着百度的搜索信息不公正,有很大一部分是人工干预。人工干预在一定程度上其实能提高用户体验,假如说竞价的企业都是些合法企业,而且推广信息刚好是搜索者要找的,这时候三方得益了。要是进行竞价的企业有一部分是虚假广告,搜索者不好运正好找到这个并信以为真,那想想被欺骗后的心情如何?肯定会把百度臭骂一顿。所以呢,百度要进行竞价排名,首先就要保证百分之九十九以上的推广信息都是合法的。可是百度在推广信息的把关上没有想像得那么好,虚假信息还是太多,而且竞价排名被百度发挥出了最大的商业利益,这不是什么好事,百度赚的钱多了,可是在网民中的形象却会大打折扣了,也许什么时候百度能像谷歌一样做到左边的搜索信息不会掺合广告,那百度才是真正意义上的中国的“谷歌”吧。
貌似民间有一种说法,百度曾经搜集过很多对Google不利的信息向政府反应,在一定程度上打击到Google,并导致它在中国在一段时期内被封,现在Google在中国提供的服务也是时断时续的,有相当一部分功能是不能够使用的。这究竟是不是真的,也许无从考证。Google在中国被封,很多人第一个想到的就是百度,毕竟它被封百度是最大的获益者。但是我不认同这种说法,因为百度没必要。假如百度真的是靠这样来起家的,我想它撑不了多久,很快就会垮台的。但是说法众多,谁也说服不了谁,事实是怎么样的,也许真的成为了历史。
网上很多站长都说自己曾经接过百度要其竞价排名的电话,拒绝后自己的网站来自百度的流量就越来越少,甚至被百度K站。至于被K站的是不是都是因为拒绝竞价排名就不知道了。但可以肯定的是有很大一部分是因为SEO过度或是被认定为垃圾信息。现在很多人搞网站,随便在别人的网站上复制一部分就成为自己网站的内容了,不相信的话你现在用Google随便搜索一些东西,看看重复率是不是很高?Google搜到的东西确实多,可是有很大一部分都是重复的,你点开很多个网页,发现竟然都是同一篇文章,呵呵,个个都说是原创的。这并不是Google的错,搜英文就不会这样,中国的互联网垃圾信息还是太多了,很多人都是Copy来复制去的。这样的话肯定被K啦,百度在这方面还是处理得还严的。还有一个,百度对一些政治敏感性的东西还是封得比较厉害的,Google相对来说比较自由,我相信那时候被封很大部分是因为这个吧,现在它也学乖了。这时候也许有人说百度就是政府的什么什么了,这很难听,你活在这片土地上,有些事还是得乖乖认了的。
很多人都说百度没创新,就会跟着谷歌跑,谷歌出什么,百度就跟着出什么。但我要说的是百度并不像他们说的那样,觉得这样说本身就不公平,百度很多东西都是谷歌没有的,就像帖吧、国学搜索等。百度很多东西做得还是很不错的,很多人说百度没创新是因为他们只挑一些片面的来说,对于它的优点却完全无视。最近百度推出的老年搜索,个人认为是很不错的,字体加大,搜索更加准确,更好的是去除了广告,保持了一片净土。但很多人对此确是冷嘲热讽,也许很多人都认定百度做的就是垃圾吧,更有人扬言说百度的这个东东他只要用DW十分钟就搞定了,百度的工程师都太逊了。我想他只是看了那个页面就放出了这话吧,很多人根本就不屑去了解这个东西。貌似很多老年人都说不错的,这时候年轻人却跑出来踩了,这不关他们事吧,呵呵。
其实无论百度,还是谷歌,都是很不错的。但是百度的一些做法,着实伤害了很多人的心。百度这几年在商业利益上的追逐,让它丢失了一部分的企业责任。李自己也承认公司管理高层的流失,让百度的管理陷入了一定的混乱当中。百度想要重新获得网民的认可,就一定要负起自己的责任,百度做到今天,社会责任是很大的。也许公司成长到一定程度,都会出现这样那样的问题吧。像华为,当年也是饱受非议的。希望百度能像华为一样,认识到自己的缺点在那里并加以改正,不怕有错,就怕知道后仍死撑着不去改,那也许就真的会在网民的视线中淡出吧。
在VC中使用Flash来做界面
发帖者
coolzgx
时间:
4/11/2009
在VC中想搞了一个漂亮的界面比较难,但如果利用Flash的话,问题就简单得多啦,Flash可以跟VC程序实现通信,这样就可以在VC程序中截取消息并引发相应的动作了。
首先当然就是要利用MFC AppWizard建一个对话框窗口,然后在主菜单里选择“工程->添加工程->components and controls”菜单选项,这时会弹出一个components and controls gallery文件选择对话框,里面有两个文件夹,一个是registered activex controls,一个是visual c++ components。选择第一文件夹后会出现一系列系统上已注册过的activex控件。这时候要检查里面是否有shockwave flash object这个控件,没有的话就得自己去下载一个了,点击insert将它插入工程。因为在vc中插入工程的控件要通过一个类来操作,所以这时vc会提示你为这个控件指定一个类名,可以使用默认的类名就行了。插入后vc会自动把这个类加入工程里面。这时候就可以利用这个生成的类定义一个对象。插入shockwave flash object控件后,你会发现在对话框编辑器那里多出了一个图标,和使用BUTTON、EDIT等其它windows控件一样,把它拉到对话框上,让它跟刚刚定义的那个对象(是插入控件后生成的类类型)关联,不知道怎么利用VC关联的话就在AppWizard生成的对话框类中的DoDataExchange函数插入DDX_Control(pDX, ID号, 定义的对象名)。
这时候就可以使用成员函数LoadMovie和Play来导入并播放动画了,这里我们假设定义的对象名为Flash。Flashr.LoadMovie(0, strMovieUrl);该函数用来将动画导入程序中,strMovieUrl为要播放的flash路径,要用绝对路径。 Flash.Play();调用该函数开始播放动画。在初始化对话框的函数(OnInitDialog)里面加入这两个函数调用即可。这时候要记得在继承于WinApp的类的InitInstanse函数中调用AfxEnableControlContainer()这个函数,这个函数的作用是你的应用程序成为ActiveX控件包容器。假如你不加进去的话,程序就会运行不了。
假如现在你一切都搞定了,运行一下程序,你会发现Flash已经嵌入到你的程序当中了,但由于是在对话框中,现在没有办法改变它的大小,更糟糕的是,右击后竟然有Flash那个弹出菜单。
我觉得把程序设定为全屏运行是最好的,因为Flash外面有个窗框严重影响了美观,所以可以在对话框初化函数中加入以下代码:
int cx, cy;
HDC dc = ::GetDC(NULL);
cx = GetDeviceCaps(dc,HORZRES) +
GetSystemMetrics(SM_CXBORDER);
cy = GetDeviceCaps(dc,VERTRES) +
GetSystemMetrics(SM_CYBORDER);
::ReleaseDC(0,dc);
//去除标题和边框
SetWindowLong(m_hWnd, GWL_STYLE,
GetWindowLong(m_hWnd, GWL_STYLE) &
(~(WS_CAPTION | WS_BORDER)));
// 置对话框为最顶端并扩充到整个屏幕
::SetWindowPos(m_hWnd, HWND_TOPMOST,
-(GetSystemMetrics(SM_CXBORDER)+1),
-(GetSystemMetrics(SM_CYBORDER)+1),
cx+1,cy+1, SWP_NOZORDER);
再运行一下,你是不是发现已经可以全屏了,那个讨厌的窗框也不见了。问题可能又有了,你有没发现Flash并没有相应放大,天呐,怎么办,这样的话全屏有毛用啊?呵呵,不用怕,这时候就要利用ClassWizard在对话框类中重定义OnSize这个虚函数了,在里面加入 :
if(m_FlashPlayer.GetSafeHwnd())
{
m_FlashPlayer.MoveWindow(0, 0, cx, cy);
}
现在问题完美解决了,Oh No,还有一个右键问题。其实问题也不大,也就是在刚刚插入控件时生成的那个类当中截取右键消息,然后处理函数什么都不做就行了。这时要做的就是捕获WM_RBUTTONDOWN消息,再让OnRButtonDown(UINT nFlags, CPoint point)的函数体置空就行了。
至此在界面上应该没有什么问题了(漂不漂亮就要看你设计的Flash),下面介绍在flash动画和自己的程序中传递消息进行交互。
把flash嵌入自己的程序后,用户在flash动画上面操作,想知道用户进行了什么操作,就得让flash动画来告诉我们了。做过flash的人应该知 道flash的动作脚本语言:Action Script。里面有个命令叫FSCommand(command,args);我们就是要通过这个命令向外部发送消息的。这个命令有两个参数,都是字符 串,你可以在flash脚本中指定任意的字符串。比如用户按下flash动画的一个按钮就发送FSCommand("bt","bt1")这样一个消息, 按下另一个按钮发送FSCommand("bt","bt2"),而我们的程序收到FSCommand消息后就对通过两个参数的不同字符串来判断用户按下 的是哪个按钮。
原理就是这样子的,要实现的话就得在flash动画中使用FSCommand发送消息,在我们的程序接收和处理FSCommand消息了。 flash部分的就不讲了。那我们的程序如何才能接收这个消息呢?前面我们讲到,shockwave flash object插入我们的程序后就可以象一个普通的windows控件那样使用它了。要让它接收并处理这个消息当然是使用MFC的类向导进行消息映射了。做 法如下:
首先当然就是要利用MFC AppWizard建一个对话框窗口,然后在主菜单里选择“工程->添加工程->components and controls”菜单选项,这时会弹出一个components and controls gallery文件选择对话框,里面有两个文件夹,一个是registered activex controls,一个是visual c++ components。选择第一文件夹后会出现一系列系统上已注册过的activex控件。这时候要检查里面是否有shockwave flash object这个控件,没有的话就得自己去下载一个了,点击insert将它插入工程。因为在vc中插入工程的控件要通过一个类来操作,所以这时vc会提示你为这个控件指定一个类名,可以使用默认的类名就行了。插入后vc会自动把这个类加入工程里面。这时候就可以利用这个生成的类定义一个对象。插入shockwave flash object控件后,你会发现在对话框编辑器那里多出了一个图标,和使用BUTTON、EDIT等其它windows控件一样,把它拉到对话框上,让它跟刚刚定义的那个对象(是插入控件后生成的类类型)关联,不知道怎么利用VC关联的话就在AppWizard生成的对话框类中的DoDataExchange函数插入DDX_Control(pDX, ID号, 定义的对象名)。
这时候就可以使用成员函数LoadMovie和Play来导入并播放动画了,这里我们假设定义的对象名为Flash。Flashr.LoadMovie(0, strMovieUrl);该函数用来将动画导入程序中,strMovieUrl为要播放的flash路径,要用绝对路径。 Flash.Play();调用该函数开始播放动画。在初始化对话框的函数(OnInitDialog)里面加入这两个函数调用即可。这时候要记得在继承于WinApp的类的InitInstanse函数中调用AfxEnableControlContainer()这个函数,这个函数的作用是你的应用程序成为ActiveX控件包容器。假如你不加进去的话,程序就会运行不了。
假如现在你一切都搞定了,运行一下程序,你会发现Flash已经嵌入到你的程序当中了,但由于是在对话框中,现在没有办法改变它的大小,更糟糕的是,右击后竟然有Flash那个弹出菜单。
我觉得把程序设定为全屏运行是最好的,因为Flash外面有个窗框严重影响了美观,所以可以在对话框初化函数中加入以下代码:
int cx, cy;
HDC dc = ::GetDC(NULL);
cx = GetDeviceCaps(dc,HORZRES) +
GetSystemMetrics(SM_CXBORDER);
cy = GetDeviceCaps(dc,VERTRES) +
GetSystemMetrics(SM_CYBORDER);
::ReleaseDC(0,dc);
//去除标题和边框
SetWindowLong(m_hWnd, GWL_STYLE,
GetWindowLong(m_hWnd, GWL_STYLE) &
(~(WS_CAPTION | WS_BORDER)));
// 置对话框为最顶端并扩充到整个屏幕
::SetWindowPos(m_hWnd, HWND_TOPMOST,
-(GetSystemMetrics(SM_CXBORDER)+1),
-(GetSystemMetrics(SM_CYBORDER)+1),
cx+1,cy+1, SWP_NOZORDER);
再运行一下,你是不是发现已经可以全屏了,那个讨厌的窗框也不见了。问题可能又有了,你有没发现Flash并没有相应放大,天呐,怎么办,这样的话全屏有毛用啊?呵呵,不用怕,这时候就要利用ClassWizard在对话框类中重定义OnSize这个虚函数了,在里面加入 :
if(m_FlashPlayer.GetSafeHwnd())
{
m_FlashPlayer.MoveWindow(0, 0, cx, cy);
}
现在问题完美解决了,Oh No,还有一个右键问题。其实问题也不大,也就是在刚刚插入控件时生成的那个类当中截取右键消息,然后处理函数什么都不做就行了。这时要做的就是捕获WM_RBUTTONDOWN消息,再让OnRButtonDown(UINT nFlags, CPoint point)的函数体置空就行了。
至此在界面上应该没有什么问题了(漂不漂亮就要看你设计的Flash),下面介绍在flash动画和自己的程序中传递消息进行交互。
把flash嵌入自己的程序后,用户在flash动画上面操作,想知道用户进行了什么操作,就得让flash动画来告诉我们了。做过flash的人应该知 道flash的动作脚本语言:Action Script。里面有个命令叫FSCommand(command,args);我们就是要通过这个命令向外部发送消息的。这个命令有两个参数,都是字符 串,你可以在flash脚本中指定任意的字符串。比如用户按下flash动画的一个按钮就发送FSCommand("bt","bt1")这样一个消息, 按下另一个按钮发送FSCommand("bt","bt2"),而我们的程序收到FSCommand消息后就对通过两个参数的不同字符串来判断用户按下 的是哪个按钮。
原理就是这样子的,要实现的话就得在flash动画中使用FSCommand发送消息,在我们的程序接收和处理FSCommand消息了。 flash部分的就不讲了。那我们的程序如何才能接收这个消息呢?前面我们讲到,shockwave flash object插入我们的程序后就可以象一个普通的windows控件那样使用它了。要让它接收并处理这个消息当然是使用MFC的类向导进行消息映射了。做 法如下:
1、添加消息处理函数。 在主菜单中选择“查看->类向导”,在弹出的对话框中选择消息映射,在左边的列表框中选择我们刚插入程序的shockwave flash object控件id,右边选择FSCommand, 点击AddFunction,这样就添加了一个FSCommand消息处理函数了。它的形式大概是这样子的:
void CPlayFlashDlg::OnFSCommandShockwaveflash1(LPCTSTR command, LPCTSTR args) ;函数有两个参数,就是flash的Action SCript中FSCommand语句中的两个参数。其实并不一定两个参数都用到,flash脚本中可以就使用一个参数,这样这边的函数就只要对第一个参 数进行处理就行了。
广商之“想”
发帖者
coolzgx
时间:
4/06/2009
刚刚冲完凉,似乎还在回味逝去的三天。又一次去到广商,总有那么一种淡淡的感觉,有时候看到她们一群女生在大声耍闹,我会情不自禁地无语。呵呵,但是也许这是我最看重的几个女性朋友了,因为从来没有人能给我那种感觉。
说实话,广商那里真的是比较无聊的,一整天就是在那逛校园,那天我还对友鹏说:“我们现在应该先回去冲凉吃饭,然后晚上再逛校园,不然晚上的节目就没有了!”佩如宿舍一个女的更是对佩如说:“他老是往这里跑,肯定是对你们三个其中一个有意思。”今天在回广州的车上把这句话对嘉英说了,嘉英说得更对:“其实她说错了,她应该说你老是去我们这边肯定对我们三个都有意思,哈哈。”呵呵,也许是真的。
其实最开心的是见到了很久没见面的朋友。第一次我们一起去逛图书馆,这也许是我大学以来做的最有聊的事了;第一次我们一起看电影;第一次我们一起打篮球,可我就是老是进不了球,让美玲和嘉英狂鄙视。
有点遗憾就是友鹏有事住了一晚就匆匆回南海了;嘉英忙事没跟我们一起太久;霏霏更绝了,丢下我们她们三个自己去逛衣服,还把钱当垃圾扔,你说丢下我们就算了嘛,竟然不把钱给我们反而当垃圾扔掉,像话吗?
最不好意思的就是又让之炎大出血了,明明是要坑佩如,怎么每次就都坑成之炎了,真是郁闷!
最不爽的就是美玲跟嘉英竟然没来送我,真是不给我面子,下次要乖点。
最最最要表扬的就是如姐了,又无怨无悔陪了我三天,鼓掌三十秒!
有时候在想,我们还有多少日子能够像现在一样,大家凑在一起,什么都不用想,只是简简单单在一起聊天、玩。也许不久后我们会长大,会走出这个时光,然后大家都忙着做自己的事,什么都无瑕去想,只能偶尔怀念一下大学的这个时候。觉得那次友鹏说得很对,“虽说大学朋友也很多,可是永远没有我们这些人在一起时的那种感觉”。真的,没有,那种感觉,很微妙。
这也许就是人生一段很美丽的记忆,会像对嘉英说的“我会永远记住我们一起打球”一样,也会永远记住这一段时光。
他们都说来本部后再一起过来找我,算不算约定呢,呵呵?要过来哦,大家!
说实话,广商那里真的是比较无聊的,一整天就是在那逛校园,那天我还对友鹏说:“我们现在应该先回去冲凉吃饭,然后晚上再逛校园,不然晚上的节目就没有了!”佩如宿舍一个女的更是对佩如说:“他老是往这里跑,肯定是对你们三个其中一个有意思。”今天在回广州的车上把这句话对嘉英说了,嘉英说得更对:“其实她说错了,她应该说你老是去我们这边肯定对我们三个都有意思,哈哈。”呵呵,也许是真的。
其实最开心的是见到了很久没见面的朋友。第一次我们一起去逛图书馆,这也许是我大学以来做的最有聊的事了;第一次我们一起看电影;第一次我们一起打篮球,可我就是老是进不了球,让美玲和嘉英狂鄙视。
有点遗憾就是友鹏有事住了一晚就匆匆回南海了;嘉英忙事没跟我们一起太久;霏霏更绝了,丢下我们她们三个自己去逛衣服,还把钱当垃圾扔,你说丢下我们就算了嘛,竟然不把钱给我们反而当垃圾扔掉,像话吗?
最不好意思的就是又让之炎大出血了,明明是要坑佩如,怎么每次就都坑成之炎了,真是郁闷!
最不爽的就是美玲跟嘉英竟然没来送我,真是不给我面子,下次要乖点。
最最最要表扬的就是如姐了,又无怨无悔陪了我三天,鼓掌三十秒!
有时候在想,我们还有多少日子能够像现在一样,大家凑在一起,什么都不用想,只是简简单单在一起聊天、玩。也许不久后我们会长大,会走出这个时光,然后大家都忙着做自己的事,什么都无瑕去想,只能偶尔怀念一下大学的这个时候。觉得那次友鹏说得很对,“虽说大学朋友也很多,可是永远没有我们这些人在一起时的那种感觉”。真的,没有,那种感觉,很微妙。
这也许就是人生一段很美丽的记忆,会像对嘉英说的“我会永远记住我们一起打球”一样,也会永远记住这一段时光。
他们都说来本部后再一起过来找我,算不算约定呢,呵呵?要过来哦,大家!
可视化搜索引擎Searchme
发帖者
coolzgx
时间:
4/03/2009
今天发现了一个与Google、百度之类的文字搜索引擎不同的可视化搜索引擎,叫Searchme。Searchme看起来确实相当酷,它似乎是Google和苹果iTunes服务三维滚动界面的一个混合体,更大的不同是搜索界面的不同,它不是简单地将搜索到的链接地址和简介呈现在页面上。而是将搜索结果全部以整个页面的视图形式呈现出来,在一个界面中滚动翻转,让用户直观选择。只要在搜索框内输入一个关键词,就会得到一大堆相关的页面。不过搜索视频的时候来自YouTube的视频似乎总看不了,我试了几个都没有办法播放,可能是被墙了的关系吧,最近YouTube似乎比较那个!而且由于是外国的服务器,也很慢,但最大的优点是不止酷,而且可以搜索出一些平时搜不到的东西。下面是Searchme的页面截图,有兴趣的可以点击进去看看。
订阅:
博文 (Atom)









