一段时间前我作死将个人博客迁移到了FreeBSD虚拟机中,具体的和原来在Linux中基本相同,包括自动备份——使用crontab定时执行一个备份脚本,每天凌晨调用tar打包文件,mysqldump备份数据库,curl上传文件并删除这些临时文件。 跑了大半个月,还是相当稳定的,唯一的问题就是自动备份似乎不工作。 我没想到这么简单的6行命令也会出问题,真的 后来才发现/etc/crontab中有一行PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin,然而 root@jc-blog:~ # which curl /usr/local/bin/curl root@jc-blog:~ # which mysqldump…

关于如何在Linux上架设CS:GO服务器,可以参考 我之前的文章 CS:GO 自己架服务器玩了这么久了,管理时总得打开命令行rcon还是很麻烦的。不过好在可以装服务器插件,用菜单来做一些基本的操作。 首先,进入服务器程序的安装目录(/home/[用户名]/serverfiles/csgo/),分别wget下载metamod和sourcemod的最新版,并依次解压。 解压后编辑addons目录内的metamod.vdf: "Plugin" { "file" "addons/metamod/bin/server" } 接着,配置sourcemod,将自己的steam id设置为管理员 编辑addons/sourcemod/configs/admins.cfg,…

首先澄清一下,这篇文章并没有讲如何用Metro App弹UAC,而讲的是如果用户在一个全屏的Metro app里,那么如何让桌面Program弹出的UAC正常地被用户看到。当然,在Windows 10预览版已经发布的时候谈这个话题可能已经有点晚了,因为Windows 10当前版本根本不存在这个问题。 熟悉Windows 8.1的用户肯定知道,当用户打开了一个全屏的Metro App时,大部分桌面程序如果弹出UAC,是不会直接出现在屏幕上的,而是会出现在任务栏上闪动(如下图)。 其实这个比较影响用户体验,因为用户在全屏App中根本看不到任务栏,而容易错过这样的提示。(错过了不一定是坏事,因为弹UAC窗口真的是打扰用户的行为) 查找了一下相关资料,巨硬从某个Windows版本之后,只有当创建UAC进程的父进程的窗口句柄在最前端时才会直接显示UAC安全桌面(Secure desktop),其它的情况下将会在任务栏上显示闪动的盾牌图标。 于是这个问题就比较好解决了,以C#的Process为例,创建进程时可以设置ErrorDialogParentHandle属性指定父窗口句柄。…

嗯,细心的人也许早就发现了我的Blog在百度搜索中有异常情况。 其实这个问题早在去年(2014年) 9-10月时我就知道了,当时刚刚加MSTC社团,在群里面跟同级的前端/php大神聊到博客的时候他提到过我的博客首页的问题。 在那之前我一直很奇怪,博客虽说被百度收录了,只收了首页,但却能搜到任何内容,都显示在首页里。 都是<section></section>的错。 以Ghostium主题官方示例页面为例 可以看到所有的内容都在一个section内。而且不仅首页,其它页面也是一个个超大的section。 这是要闹哪样 今天下午改模板文件,把这些section全换成div了,应该不久后百度收录异常的问题就能解决了吧。。 难道Google和Bing真的不在意这个吗 ………

其实这是因为布卡漫画官方给WP8第三方客户端留了坑,才有的一个解决方案。 事情是这样的: 某天UVE开发组的一个成员跟我说WP8布卡漫画里出现了奇怪的东西导致看不了,于是我向作者反馈了一下。后来作者告诉我是布卡漫画官方接口变化,并且引入了webp格式图片。 于是我就试着做了一个libwebp的Wrapper,可以给Silverlight使用。 项目使用了谷歌官方的libwebp,编译到Windows Phone 8.0 Silverlight,并使用LoadPackagedLibrary加载dll,获取函数指针后调用。只支持解码到RGB,BGR,RGBA,BGRA四种。 这个wrapper仅为Silverlight编写,如果是Windows Runtime App,可以使用更加高效的P/Invoke直接调用。 下载:https://blog.ligstd.com/HJC.LibWebP.Demo.…

本来Strongswan搭建IKEv2 VPN有一篇很好的教程(在nsshell.com上),但是貌似nsshell.com貌似挂了(反正我打不开),于是我就做个搬运,把教程拿过来。。正好原文中有一两处遗漏,我也好补上去。 重要说明:本文原本只是给自己留一个参考,但似乎已经有很多人参考了这篇文章。一个月来我已经人工帮助了将近10个人无偿排查疑难问题。而作为一个学生,并没有多余的精力做这些事情。因此以后请不要找我问如何搭建VPN,谢谢。 条件: RAM大小合适的VPS或者服务器(96MB RAM就足够了,64MB RAM未测试) 可以是OpenVZ,但注意看教程中标注的针对OpenVZ的特殊步骤。 1.准备工作 请在虚拟机或服务器上安装好Ubuntu操作系统,32位、64位均可,建议14.04 LTS,…

微软设计API的人脑袋绝对有坑,好多API只给异步不给同步,搞得像所有开发都是在UI线程里进行一样。事实上开发非UI代码,尤其是使用C++,利用现成的库时,简直是痛不欲生! 不多说,直接贴代码了。 AsyncHelper.h /* * AsyncHelper.h * * Date: 1st July, 2014 Author: David Huang * (C) 2014 Light Studio. All Rights Reserved. */ #pragma once #include <ppltasks.h> #include…