Minecraft中文开发wiki上线

经过一阵强烈的脑洞,于是前一段时间搭建了一个Minecraft中文开发wiki。后来在Seaform的赞助下搬迁到独立的域名。由DarkYoooooo绘制了wiki的logo。

出于安全因素的考虑,wiki全面启动了https,结果遇到了脑残百度不识别https的情况(没办法,只能放弃百度了)。这么多天Google还没有正式收录也是弄得我很闹心。

总之,不管怎样,多谢大家。欢迎大家来wiki并且贡献自己的知识。

https://mcdev-wiki.org/

通过iframe引用b站站内播放器

b站的站外播放器不是一般的难用,如果想要在自己的网站之类的嵌入b站的视频,人们通常会想要使用站内播放器,然而由于b站的swf有根据域名进行判断的功能,所以正常情况下很难嵌入站内播放器。
在以前的时候b站的播放器是在一个iframe里面,可以通过那个iframe来直接调用站内播放器,但是在上个月b站用户中心改版之后这个接口就被堵上了。于是只能依靠其他方法来欺骗swf的域名的检测了。
很自然的就会想到用iframe加载swf可不可以,经过查找,确实有这么个api,但是服务器会根据浏览器的信息进行判断,如果是站外的话就会返回空页面。现在破解的思路就很明确了:去掉客户端refer信息并且访问这个页面。
我曾经尝试了使用https,但是由于目标域名也是https所以无效。最终想到了下面的解决方案:

  • 建立一个新的html页面,作为iframe的页面使用
  • 在主页里面添加一个iframe,并且设置宽度和高度
  • 在建立的html页面里面添加一个超链接

下面放一个示例页面(附送acfun的站外播放




    
    


    去b看
    去a看 

克鲁斯卡尔算法求解最小生成森林

前两天ICM的时候用到了克鲁斯卡尔算法解最小生成森林,不过当年NOIP学的基本都忘光了。写的不是很精练,全当练手了,有需要的就拿去啦

#include 
#include 

#define MAX_POINTS 100
#define INF 99999999

double Map[MAX_POINTS][MAX_POINTS];
int Points[MAX_POINTS];

int main()
{
    int i,j,c=0,b,f,m1,m2;
    double bf=0,min=0;
    char buffer[100];

    FILE * fp;

    for(i=0;i=c)
        {
            i=0;
            j++;
        }
        if(j>c)
            break;

        Map[i++][j]=bf;
    }

    fclose(fp);

    for(i=0;i %d \n",m1,m2);
        Points[m2]=1;

    }

    return 0;
}

flex播放视频

消失了好久,一直在做数学建模比赛,终于抽出一些时间来了。来更新一下。大概下一段时间我应该能放出不少源代码吧(其实我是一直懒得上传Github……


 

现在U2B已经正式使用html5的视频播放器作为默认视频播放器,不过由于各种原因国内的视频源绝大多数视频都是flv作为容器的,没有办法被html5的video标签播放,最近的弹幕播放的项目逼得我去学习那过时的flex技术。什么都不说了,上代码好了。flex4不支持。



	
	
	
	
	
	
	
		
	

花生壳站长的灭顶之灾:未来家庭宽带没有公网ip

这两天电脑坏了,一下子错过了好多热闹事啊。用的vpn的服务商也跑路了,gfw又封了蛤蟆吃,ccf又作了大死……最震惊的消息是国内家庭宽带可能在今年四月之前完成转换,用户ip将全为以10开头的内网ip

这条消息是从google+上面看到的,某未知人士称上面的通知,今年四月之前家庭宽带将会停止使用公网ip。不过这也是必然事件呢,自从ipv4地址耗尽之后必须出来一个解决方案来应急。不过这回的改动如果属实的话那些用花生壳私自建站的站长就彻底遭殃了。问题的解决还是要依靠ipv6,然而据我所知国内绝大多数的家庭宽带是通过廉价的路由器进行接入,然而,那些主流的路由器完全不支持ipv6。未来OpenWRT的路由器应该会更过吧,大概。

 

软件无线电SDR入门

电脑终于修好了,来更新一下博客……这两天玩了玩软件无线电,于是就来介绍一下


 

所谓软件无线电、软件定义无线电就是依靠软件来处理无线电数据的技术,捕获芯片捕获原始的数据而计算机对原始数据进行进一步分析。这样通过软件你可以轻松搭建自定义的射电监控平台

软件无线电的开源硬件平台是大名鼎鼎的HackRF,但是很不幸,这块板子的价格不是一般人能够承受的。然而那些Hacker或者Geek老外自制了黑科技来玩。他们发现Realtek的某些做电视棒的芯片很适合做SDR,于是他们就做了一系列黑科技软件。不过为了接收射频信号我们还是需要对电视棒进行改造啦(注意,这里指的电视棒并不是那些拿来收看网络电视的天朝黑科技,那种只是天朝的JS们骗人的东西。如果你不知如何购买可以去某宝搜SDR+电视棒)

电视棒的改造也很简单,具体的就是重新接一下射频的输入头。不过你要是需要短波的输入,你就需要某些黑科技来实现啦。


玩了SDR之后发现无线电果然是三烧之一啊,银子花花的就用掉了wwwww

 

吐槽一下华硕的笔记本的电源设计

一件非常不幸的事情发生了:我的笔记本主板的电源模块烧毁了。随便就在这个地方说一说华硕主板电源的设计的一些缺陷。

华硕主板的供电大概是在电源适配器的输出之后分成两路,一路给15v的电池充电,另一路应该是减压之后给整个主板使用。如果你尝试着把话说主板的电源输入的正负极短接的话,非常不幸,你的电脑会瞬间掉电。由于某些非官方的电源适配器的接头的金属面积可能更大,有的DC插头在华硕笔记本的电源插口里面就会有短路的风险。并且从实际来蓝我已经短路了好多回了。

没有短路保护是一个问题,更致命的是没有反接保护!由于返接的时候电流相当大,瞬间主板的电源模块就烧毁。

总之不管怎么说,华硕的主板的电源模块设计是在是太潦草了。

 

谨以此文纪念我坏掉的电脑wwww

GFW这次升级的原理推测

面对着GFW的升级,相当多的梯子的作者也是纷纷表示和GfW进行斗争已经没有意义。我这里也花了一些时间稍微看了看GFW升级之后的情况。由于我在教育网,所以这个结果不一定是全国的普遍情况。
fqrouter的作者声称这次GFW的升级是进行全球范围的拔网线。这个一点都不假,这车升级之后GFW不会像以前以前一样在国际出口检测之后发送RST包进行阻塞了。GFW现在的行为直接是在骨干路由进行丢包。我这里对Google进行一次tracert的测试:
通过最多 30 个跃点跟踪
到 google.com [173.194.127.192] 的路由:

1 2 ms 2 ms 2 ms 180.201.128.1
……
6 8 ms 8 ms 9 ms 119.167.86.53
7 36 ms 36 ms 36 ms 219.158.10.81
8 * * * 请求超时。
显然,在骨干网就被丢包了。
现在一个能访问的google ip,一旦你进行访问,那么过上半分钟左右它就会被添加到黑名单里面。这个速度应该不是通过路由表扩散进行污染的应该是通过某种新的技术来进行可编程的拦截。经过测试发现这个设备确实就是出口路由了,它的下一跳就已经是国外的ip。
虽然说没有太多的实验,基本确定了这次升级之后GFW会尝试自动扩展黑名单并且在国际出口墙掉它们。

方滨兴教授祝您身体健康

吐槽一下minecraft forge 1.8的改动

众所周知,去年年末,微软成功收购了MoJang公司从而掌握了Minecraft等游戏,有许多开发者离开了原来的开发团队。在Minecraft Forge 团队虽然宣布将会把forge的项目继续下去但是Minecraft Forge的创始人之一的cpw离开了Minecraft Forge团队。在以前的时候有相当多的Minecraft Forge的API都是在cpw的个人的名字的包里面,由于cpw离开,Minecraft Forge团队也是把cpw下面的包都该到了Forge的命名空间下面,并且没有任何提前声明,就活生生的直接就突然在新版本中重新修改了API的位置。这根本没有办法让开发者适应,开发者不得不重构代码才能在新的版本下面开发。而Minecraft Forge团队似乎也意识到了自己的行为有一些愚蠢,于是在新版的Forge测试版里面又有了一份cpw命名空间下面的代码,但是如果你把旧版本的Mod直接在这上面运行会由于无法强制类型转换而导致游戏崩溃;换句话讲就是cpw下面的代码是根本没有办法工作的。简直就是Lex想一出是一出的改动,forge的各种改动好烦啊,又要去更新教程呢……