2014BIBF展前说说数字出版

我的工作是数字出版技术支持,主要是网站和工具的程序开发。

而作为一个读者,除了当当电子书刚上线的时候试买了一本《蒋介石画册》上了点当,电子书消费都是kindle,买的最多的是严歌苓的书。

而我一直努力在做的儿童数字出版,尽管有团队,有产品,但至今我都没有能够完整的阅读我随时能够打开的一万多本电子书的任何一本,这不能不说是一个笑话。我也没有找到适合给我的即将一岁的女儿的数字阅读产品。

我认为最得意还是家里一面墙的书架上几乎摆满了我喜欢的纸书,我希望这个作为我的女儿的成长中的印象,合适的时候我再送她一个kindle。

在2014BIBF又即将到来的时候,新版的展会演示的电子书又在整理中了,而我心中最心仪的东西是一个可以摆放在小区院子的实木小木屋,两千多的价钱还必然要让我纠结好一阵子。

所以对数字出版没有什么好说的,只希望kindle上有更多好书,呵呵。

Nexus7一代无法充电的飞线拯救方案

飞线拯救不能充电的Nexus 7一代,测试电池可以充电并且7的U口插上电源但在电池排插测不到电压,所以用两条飞线直接将U口的正负极接过来。目前充电正常,只是没有充电状态显示,可以安装应用显示电量百分比,可以看到比较明显的变化。直接用2A的充电器给电池充电时,电池的电压每秒增加约0.001V。

数字出版的售后服务保障

最近我们在当当网的电子书发生了一次大规模的投诉潮,察其原因,是提供给当当网的电子书密钥批量丢失,在我看来应该是对方人员操作不当误删除造成,所以唯一的办法就是重新导出这些电子书的密钥并提供给当当再次导入其后台。

但不是一件简单的事情,因为电子书的出版过程虽然有类似传统出版一样的审校过程,但对于技术支持部分则是相当轻视,整个技术团队一共也只有三四个人,而严格来说,执行这个发布任务的只有一个人,而且不是专职。

所以电子书的初次发布过程包括:DRM注册、电子书预览检验、打包导出、当当网导入上线。在这个过程中,如果预检有问题,则电子书重做,重新发布,而到了当当网那边,采取什么样的测试并不清楚,但值得注意的是当当网并没有给提供商提供产品测试帐号,我们要想检验上线的电子书是否正常,只能自己购买。

理论上,为了保障电子书的可用率,可以参照监控宝类似应用对网站所做的监控方法,在电子书内置于相关测试接口,而由当当网向提供商提供一个测试帐号可以进行人工检测,另外提供一个自动检测的api,之所以把这个检测任务留给供应商是考虑每家的电子书格式和标准不一样,自行检测总体成本会比较低。

而从出版社内部的业务流程设计上,也应该考虑到处理类似事件的业务逻辑,而不是只考虑简单的线型流程,认为只要电子书上线就可以只等着结帐收钱了。

__MigrationHistory

MVC5+MySql

尽管有了这篇文章的指引,但我还是不知道为什么__MigrationHistory这个表还是无法被创建,所以在初始化数据库连接的时候总是报错。所以手工建立了这个表:

CREATE TABLE `__migrationhistory` (
`MigrationId` varchar(255) NOT NULL,
`Model` varchar(2048) DEFAULT NULL,
`ProductVersion` varchar(32) DEFAULT NULL,
PRIMARY KEY (`MigrationId`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Change/Upgrade from Linux to Windows host in Godaddy Shared Hosting service

直到找到这篇博客我才敢放心的转移,当然全面的备份是不可少的。目前我的Filezilla正在辛勤的下载文件。

Godaddy网站自己并没有说清楚windows的hosting支持哪些语言,只是简单的说如果想支持asp.net就只能选择这个,其实他也支持php啊,这多么重要啊。而从Linux迁移到Windows也只要在后台相应的hosting项目的option中做一个简单操作。对于我所有的wordpress来说,应该不会有太大意外发生。

因为工作的关系,两年以来一直用ASP.NET MVC3/4+Mysql组合开发,所以自己的一些定制开发的小项目也基本上都采用这个模式,其他的全部用wordpress解决了。最近想做一个出版经纪人的项目,以检验自己关于这个角色的一些设想。

创维VT-E03安装泰捷视频电视版应用App方法

到泰捷www.togic.com下载应用存到U盘或移动硬盘,然后插到盒子上;

打开设置,应用程序,屏幕右上角有三个点,按遥控上的鼠标,移动上去按确定,可以看到安装应用的菜单,到移动硬盘或优盘相应位置找到apk文件,点确定安装即可。

20140415-222526.jpg

获取汉字的十六进制编码

public static string Str2Hex(string s)
{
string result = string.Empty;

byte[] arrByte = System.Text.Encoding.GetEncoding(“GB2312”).GetBytes(s);
for (int i = 0; i < arrByte.Length; i++)
{
result += “0x” + System.Convert.ToString(arrByte[i], 16).ToUpper() + “,”; //Convert.ToString(byte, 16)把byte转化成十六进制string
}

return result;
}

防水 超声波测距模块 一体化超声波DYP-ME007Y-TX串口输出

在淘宝“高校基地”店买了一个http://item.taobao.com/item.htm?spm=a1z0k.6846101.1130973605.d4915209.SAObbz&id=36884805726,还有一种是PWM输出,这个代码比较多,就是最普遍的发送命令,然后等待信号,再计时,用声速推算距离,但是TX输出把我搞乱了。

终于在http://forum.arduino.cc/index.php?topic=88388.5;wap2找到了答案:

#include <SoftwareSerial.h>

// TX_PIN is not used by the sensor, since that the it only transmits!
#define PING_RX_PIN 6
#define PING_TX_PIN 7

SoftwareSerial mySerial(PING_RX_PIN, PING_TX_PIN);

long inches = 0, mili = 0;
byte mybuffer[4] = {0};
byte bitpos = 0;

void setup() {
Serial.begin(9600);

mySerial.begin(9600);
}

void loop() {
bitpos = 0;
while (mySerial.available()) {
// the first byte is ALWAYS 0xFF and I’m not using the checksum (last byte)
// if your print the mySerial.read() data as HEX until it is not available, you will get several measures for the distance (FF-XX-XX-XX-FF-YY-YY-YY-FF-…). I think that is some kind of internal buffer, so I’m only considering the first 4 bytes in the sequence (which I hope that are the most recent! 😀 )
if (bitpos < 4) {
mybuffer[bitpos++] = mySerial.read();
} else break;
}
mySerial.flush(); // discard older values in the next read

mili = mybuffer[1]<<8 | mybuffer[2]; // 0x– : 0xb3b2 : 0xb1b0 : 0x–
inches = 0.0393700787 * mili;
Serial.print(“PING: “);
Serial.print(inches);
Serial.print(“in, “);
Serial.print(mili);
Serial.print(“mili”);

delay(100);
}

说明:模块每次输出一帧,含4个8位数据,帧格式为:0XFF+H_DATA+L_DATA+SUM

1、0XFF: 为一帧开始数据,用于判断。

2、H_DARA:距离数据的高8位。

3、L_DATA:距离数据的低8位。

4、SUM: 数据和用于交验。其0XFF+H_DATA+L_DATA=SUM(仅低8位)

5、H_DATA与L_DATA合成16位数据,即以毫米为单位的距离值。

注意:模块检测最小距离为30cm,在30cm内有物体,将获得不准确信号。

以上代码中没有做SUM校验