Archive for the ‘软件和代码’ Category
Fishbone REV20110208
http://www.mewchew.com/fishbone/
这是什么?
fishbone是twitter的API代理。帮助你在墙内方便地使用twitter。任何问题请@alzzl或者alzzl@hotmail.com
如何使用?
首先你需要在翻墙状态下点击本页上方的连接。授予fishbone访问你twitter帐户的权限。一旦授权成功,fishbone会将你的api地址告诉你。
当你使用支持自定义API的twitter客户端时,填入你的api地址就可以使你在墙内访问你的twitter账户。
哪些客户端支持自定义API?
PC端:TweetDeck、Spaz、Chromed Brid
Android端:twigee、Seesmic
完整设置步骤:
1.获取API地址(需要翻墙)
点击本页面顶部的连接。
点击Allow让fishbone获取你帐户的读取和写入权限。
记下这个api地址。如果丢失可以通过上述步骤重新申请一个新地址。
2.设置客户端
spaz
填写你的用户名,密码不用填,type选custom,在下面的Base API URL中填入刚才获取的api地址,保存后就可以正常使用了。
Fishbone Rev20110116(twitter API Proxy)
最近正在写的东西,目前只支持经典模式的自定义api(自己起的名字)。
现在可用的twitter API Proxy 都是PHP下的,于是就用c#写了个,感谢@yegle的指点。
现在的版本仅仅完成了转发部分,因此客户端必须支持自定义签名url,或者签名url固定为官方地址。
windows下满足这个要求的客户端只有chrome的插件chromed brid。
让chromed brid用官方的地址进入签名的计算。第一次使用时需要翻墙以便chromed brid获取你的twitter token。
这个模式下fishbone直接转发你的数据,所以是chromed bird请求你的访问权限。
如果仅仅是浏览的话可以通过 mewchew.com/fishbone/+用户名 来浏览。
http://mewchew.com/fishbone/alzzl
OAuth学习作业:Mewdam
最近看了些OAuth的资料,于是有了想应用一下的想法,再于是就有了这个程序。
不会php,所以这个东西是用c#写的,目前完成了OAuth验证部分,twitter API只做了home_timeline
OAuth的认证过程很简单,除了计算signture部分,顺便分享个OAuth调试网站,他可以对认证的错误原因进行详细的说明http://term.ie/oauth/example/
http://www.mewchew.com/mewdam/
第一次使用需要通过OAuth验证,验证过程需要翻墙。
给mewdam授权,让其获取对你twitter的访问权限
Nirvana Player
实在受不了凤凰网的网站布局,自己做了个客户端用来播放凤凰宽频中的节目
方便检索所有视频,自动认证帐户(不会弹出drm窗口)
首次使用会下载播放列表
双击视频进行播放
可以输入ifeng的视频帐户密码(以后播放视频会自动验证,不用登陆)
双击视频控件可以切换回播放列表
修复Chrome下iFeng播放控件
中国的网站总是不喜欢使用新技术,ifeng也不例外,wmv视频文件不用mms服务器而用ftp,新页面从来都是_blank方式打开,最糟糕的是chrome下居然无法播放视频。
先来看看他的播放页面的逻辑:
点击视频图片后最终导航到这个页面,ie下的播放效果是,先显示一张loading字样的gif,等待由js绘制的wmp控件缓冲视频完毕以后隐藏该图片。于此同时,在一个隐藏的iframe中对该视频进行验证。
而在chrome中你只能看到一张凤凰的logo,完全无法看到视频。
问题出在了AttachEvent这个方法上,WebKit不支持这个事件(https://bugs.webkit.org/show_bug.cgi?id=6598),有人提到用AttachEventLister可以解决这一问题,试了下没有成功,不过最简单的解决方法还是替换它们的播放器生成脚本,用最直接的方式显示视频。
好在chrome强大的扩展功能使这一目的得以实现,通过content script将自定义的播放器脚本插入目标页面,替换旧的播放器脚本。由于没有用到ie的dhtml特性,所以视频的播放就不再会有问题了。
根据这个原理,我做了个chrome插件
接下来还有个问题,chrome不支持activex,而drm的验证控件只有ie的版本,因此chrome无法通过后台验证drm,wmp下验证会弹出确认窗口,好在不太影响使用。
不得不说凭借drm的安全性,如果能通过https或者其他更方便些的方式进行验证,完全可以大大增加他的竞争力。
单片机学习记录02
上次遗留问题:
1如何计算芯片每秒执行的指令数?
不要求精度的可以在Keil的调试中预估代码执行时间,精确的还没学到估计和P3.5有关
2这个东西硬件相关,如果自己设计的电路与实验板接线不同,难道要代码重写?
目前看貌似是,悲剧啊
3为什么不把液晶屏的P2.7设置成低电平,所有的LED都会长亮,当程序执行时,应该亮起的LED的亮度会更高?
不明
4另外视频中介绍的计算与LED连接的电阻阻值的计算方法还没有试过
实践完毕,红扎泪目
刚刚学到数码管静态显示,我的板子很多地方都跟老郭的不一样,他手头的教材也没有,吃力啊。
根据网友的提示,自己先写了段数码管动态显示的代码,不知道正常情况下是不是也是这么实现的:
这次的诡异现象:
1手头的实验板做数码管试验时经常悲剧,字符显示不正确,断开usb重连后正常,可能跟液晶屏有关,目前液晶模块已卸感觉良好
2我的板子数码管模块没有锁存器,据说静态显示方式无法多位显示,红豆泥?
3蜂鸣器怎么用,P3.2设置低电平微弱响声后就没了
4数码管中间的冒号怎么控制,没看到原理图中没查到定义
livespace 什么时候支持源码格式,怨念啊
免费图床WebFileStore欢迎试用
主机升级到.NET了,做了个图床站点练习.NET和MSSQL
在页面中选择需要上传的图片(小于400k)并且填写上你的邮箱地址
上传后,图片的地址将会发送至你的邮箱
由于数据库只有50M的容量,将会不定期地对不活跃的数据进行清理,以保证其他服务不至于崩坏
欢迎提交bug帮助我改进这个程序
WebFileStore测试地址:http://mewchew.com/WebFileStore/ 域名还没解析过来,暂时用ip凑合着
跨线程调用Windows控件
最近在做桌面版的iFeng视频播放器,其中用到了.NET的BackgroundWorker控件来创建后台线程,用于更新节目信息。当读取到新的节目后,将其添加到一个ListView控件中,由于窗体界面的与BackgroundWorker不在一个线程中,为了实现这个运行效果,可以有两种方法:
一种是使用公共变量,当需要更新数据的时候修改变量的值,然后抛出ProgressChanged事件,让主线程来处理。这种方法有一个缺点,由于线程是异步的,因此,很有可能后台抛出了多次事件后,主线程才进行处理,这样要么将公共变量改造成堆栈的形式,要么就会丢失数据。
另一种则是直接进行跨线程的控件操作,这种方法的好处是简单,不用花费太多的精力放在功能的完善上。
首先声明一个委托:
Public Delegate Sub myDelegate(ByVal strItemId As String, ByVal strItemName As String)
再创建一个委托方法:
这里是以a、b这两个参数来向listview中添加条目。
Private Sub myMethod(ByVal a As String, ByVal b As String)
Me.lstviewMain.Items.Add(a, b, "")
End Sub
在BackgroundWorker的线程中用invoke方法,调用委托的方法。
第一个参数是需要调用的委托方法名,第二个参数是传递给委托方法的参数,参数的数量需要与委托声明中定义的一致。
这里用的是同步调用,如果要使用异步调用则用BeginInvoke方法。
lstviewMain.Invoke(New myDelegate(AddressOf myMethod), New Object() {myMatch.Groups(1).ToString, myMatch.Groups(2).ToString})
这些东西该结束了
DotAKey0.3+源码
快2年没更新了,最近看看流量统计,基本上流量都是这个东西贡献的,VB6做的,原理十分简单。
关于mh的内容,请移步:
通向旧文的传送门:
魔兽争霸3的MapHack制作教程(一)显示敌对单位
魔兽争霸3的MapHack制作教程(二)去除战争迷雾
关于mh制作教程,很多人问后续文章,我实在是能力有限,没办法写下去了,如果对其他部分的hack感兴趣的话这里给个思路:
如果你只是想知道其他部分修改了哪些代码,那么建议你用工具调试下sf的mh,比如smartcheck,看看writeprocessmemory都写了哪些地方。
如果你是想了解具体实现的方法的话,那其实我也不知道,汇编够强的话,检查下game.dll里的绘图函数,应该会有新发现(如果汇编够强的话还至于看我的文章吗)。
希望我的流量统计别总是这种情况,这里除了mh还有很多其他的文章,不是吗?
Live Spaces 只能设置category不能自定义tag真是让人想不通。