Saturday, August 1

一首黑人劳动歌曲 Po Lazuras

首先,有这么一首黑人的劳动歌曲,是说可怜的 Lazurus被警察追踪的事。

现在能查到 Bob Dylan在50年代写了同一个名字的歌,在Youtube上也能找到,但说实话,不好听。



坊间还流传着一个老录音拷贝,大概也是50年代的,节奏、韵律更黑人,更劳动一些,所以在2000年一个电影制作过程中要找这段素材时,辗转买到了版权并重新制作,大获成功,长期登上排行榜,并获得格莱美音乐奖!

下面这段是在电影中的音乐片段:


其实这也就是这电影的开头。

回到音乐来,得奖之后,他们反复查找当时的资料,包括监狱记录等等,才确认了这是密西西比一些监狱犯人的录音,甚至找到了一个带头领唱的犯人James Carter,现在在芝加哥生活。飞到那里,当面给了他一张支票,他已经完全不记得40年前曾经唱过这歌,曾经录音。

当他听说歌曲热卖,比 Michael Jackson 的记录还强时,他很高兴,说:“你告诉Michael, 我会慢下来,让他赶上。”

这首歌现在的署名是“James Carter和他的狱友们”,因为其他狱友的名字再也找寻不到了。

面包发展史 bacteria

这5张相片,分别是2月7日,18日,18日,28日,和3月1日拍的。







第一天,在孩子们回到家时,一进门就带到厨房,跟他们讲了要做的实验,先把一块干净的白面包放进塑料袋里作为对照组,(图片上第一排第一个),然后在他们面前各摆出一块面包,让他们把手在这面包上抹抹擦擦。我们的目的就是检查这刚从学校带回来的手上有多脏

然后去用水洗手,再来擦一块面包;去用肥皂洗手,回来擦第三块面包。

第一排的后三个是姐姐的,第二排的三个是弟弟的,分别是:直接的“原生态手”,水洗后的手,肥皂洗后的手。

为了让细菌更容易地成长,在这7个装着面包片的塑料袋里,还特地各放了1勺子的清水,然后就按顺序订在饭桌前的墙上。

结果比我想象的要慢,到了10天后才在弟弟原生态面包上发现一个小霉点,当然20天后霉点很明显了。其他几个居然都没有长出霉点来。本来我还期待水洗的手不够干净的。

温度不是问题,虽然是在二月份,基本都是短袖天气,况且,在厨房饭厅前,能有多冷呢。

看了这一个月的面包发展史,孩子们回家后洗手,就不用再提醒了。

Wednesday, July 8

Using Visual Studio to build a website, and publish it in the GoDaddy hosting site

I have a site fadshop.net hosted in the GoDaddy for several years. It is a Windows shared host, but only some static pages were stored, until today.

I planed to make a dynamic website, so today my first task is to use Visual Studio to create a "Hello World" application and publish it into this host. Although I have  10 years experience of using Visual Studio, starting from creating desktop application in Visual C++ 6.0, to creating a sophisticated .NET website using C# , plus 10 years experience of building website, starting from using notepad/frontpage to create static pages, to using ASP in Windows, php in Linux, python, setting up website in home computer, corporate servers, it still took me one whole day to complete this "Hello World" task.

The first question is "What kind of project in Visual Studio to create". Microsoft actually has a page "Choose between ASP.NET 4.x and ASP.NET Core". I finished reading it and thought the ASP.NET Core is the new, cool thing to follow. First mistake. After some long painful hours, including locating some Godday.com forum posts claiming 
.NET core 1.0/1.1/2.0 has now been installed on all of GoDaddy Plesk Shared hosting systems ... is available for use by default
I downgraded the .NET core package in my Visual Studio from 4.0 to 3.5 to 2.1 to 2.0, but the published application was still not working. Finally one post point me to the right direction:
In the Admin panel of website hosting, go to "Hosting Settings":
 
In this page, all the supported frameworks are listed:

The aforementioned .NET Core is not even listed, so my real choices are 4.8 version or 3.5 version of ASP.NET Framework. Now I can fire up Visual Studio to create an ASP.NET Framework 4.8 application.


The second problem is that I already have some static pages that shouldn't be disturbed by this new application, so I should either put it under one folder such as http://fadshop.net/dtalk or a subdomain such as http://dtalk.fadshop.net . The second option is better because it provides better control of the link in the application (I can use /slash to point to root ).  In the previous "Admin panel" screen shot, you can see the "Add Subdomain" button under "Websites and Domains". That will create a subdomain.


Now, in the Visual Studio publish step, you can choose either FTP or Web Deploy. In my experience, the two choices are both working fine, and I choose to use Web Deploy.


After it is published (today I published more than 10 times before everything is correct), visit the site (in my case, http://dtalk.fadshop.net), and I got  500 error message. The first thing is to change the Web.config ( I use FileZilla to retrieve the file into harddrive, then open it using notepad++. Or you can modify the Web.config in your VS project and do the publish again after modification) to add this line in configuration--system.web directive:

<customErrors mode="Off"/>
(Google gave me several different ways of writing this customErrors for different .NET application. This line is proven correct)
(There was one time that I added one space after "Off", before the /, then the site is not working. Changed it back, and the site is good. I didn't know Microsoft IIS is so sensitive to the space)
After uploading the modified web.config, I refreshed the site and got detail error information. With some more Googling and testing, One more line need to added (or modified, if it is already in the web.config file) to the same place:

<trust level="Full"/>
As in the following screenshot, the line 21 and the line 25 are newly inserted.

More information about the trust level can be found at MSDN . This is a link applied for old version of .NET Framework, but unfortunately due to the mess in Microsoft documentation, I am not able to find better resource.
Giving Full trust to an application doesn't sound like a good idea. But I tried other options, and none of them works. I don't like that, and I don't even know what "Full" means. So this trust level thing is totally useless: Microsoft wants to tighten the security, but because it is so difficult to use, everyone is abandoning the practice.

Also, it is required to comment out the "compilers" section in system.codedom:

(I have no idea why. Credit to a RandomUser in Godaddy Community)

After uploading this web.config, the website http://dtalk.fadshop.net is finally functioning to have the first "Hello World" page.