Publication: Wearable Microfluidic Device for Sweat Monitoring

  25 Nov 2016     Research

Our research on a new type of flexible microfluidic device that can adhere to skin for sweat monitoring was published on latest issue of Science Translational Medicine. The paper was featured as cover story of this issue. Check details by referring to the paper titled “A Soft, Wearable Microfluidic Device for the Capture, Storage, and Colorimetric Sensing of Sweat” on Science Translational Medicine website. Also check the following video describing the operation of the sweat microfluidic device:

The research was widely covered by news & media, including: VOA, CBC, IEEE Spectrum, Northwestern Now, Northwestern Engineering News.


Load JSON Data into Web Page

  19 Jul 2016     Web Development

It has always been painful to update the publications in my website. It takes lots of time/efforts especially when you want to try another citation style. Today I spent some time developing a short javascript code to automatically display the publications stored in a JSON file, which might help solving the problem.

JSON is a popular format for exchanging data. JSON is very simple and light-weight, but the key-value pairs and arrays already provides capability to describe complex real world objects. Although bibtex is more commonly used in academic writings due to its integration in Latex, I chose JSON because the JSON format is better supported in programming languages. Almost all standard libraries of major programming languages directly provides support for JSON parsing, while parsing bibtex typically requires 3rd party libraries.

Loading external JSON into webpage is more complex than I thought. In pure javascript reading JSON data requires XMLHttp. This can be simplified by using jQuery. Also in this case jQuery provides more powerful tools for HTML manipulation.

My final implementation is the following:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
$.getJSON( "data/publications.json", function( data ) {
    $.each(data,function(paperID) {
        var str = "";
        var paper = data[paperID];

        // Author List
        var author = paper["author"];
        var authorNum = author.length;
        $.each(author,function(authorID){
            if (author[authorID]=="Yeguang Xue"){
                str += '<b>' + author[authorID] + '</b>';
            }
            else{
                str += author[authorID];
            }
            if (authorID == authorNum-2){
                str += ' and ';
            }   else {
                str += ', ';
            }
        })
        // Title, Journal
        str += '"' + paper["title"] + '."';
        str += ' <i>' + paper["journal"] + '</i>';
        // Volume, Page or In press
        if (paper.hasOwnProperty("inpress")) {
            str += ", in press,";
            str += ' ' + paper["year"] + '.';
        } else{
            str += ' ' + paper["volume"] + ', ';
            str += paper["pages"][0].toString() + '-' + paper["pages"][1].toString();
            str += ' (' + paper["year"] + ').';
        }
        // Links
        if (paper.hasOwnProperty("doi")) {
            str += ' [<a href=' + 'http://dx.doi.org/' + paper["doi"] + '>DOI</a>] ';
        }
        if (paper.hasOwnProperty("link-pdf")) {
            str += ' [<a href=' + paper["link-pdf"] + '>PDF</a>] ';
        }
        // Add to HTML
        $("ol#publications-list").prepend('<li>'+str+'</li>');
    });
});

The corresponding JSON data file is like:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[
    {
        "type": "article",
        "author": ["Yeguang Xue", "Yihui Zhang", "Xue Feng", "Seok Kim", "John A Rogers", "Yonggang Huang"],
        "year": 2015,
        "title": "A theoretical model of reversible adhesion in shape memory surface relief structures and its application in transfer printing",
        "journal": "Journal of the Mechanics and Physics of Solids",
        "volume": 77,
        "pages": [27,42],
        "doi": "10.1016/j.jmps.2015.01.001",
        "link-pdf": "http://rogers.matse.illinois.edu/files/2015/jmpssmp.pdf"
    },
    {
        "type": "article",
        "author": ["Yihui Zhang", "Richard Chad Webb", "Hongying Luo", "Yeguang Xue", "Jonas Kurniawan", "Nam Heon Cho", "Siddharth Krishnan", "Yuhang Li", "John A Rogers", "Yonggang Huang"],
        "year": 2016,
        "title": "Theoretical and Experimental Studies of Epidermal Heat Flux Sensors for Measurements of Core Body Temperature",
        "journal": "Advanced Healthcare Materials",
        "volume": 5,
        "pages": [119,127],
        "doi": "10.1002/adhm.201500110",
        "link-pdf": "http://rogers.matse.illinois.edu/files/2016/ahmheatflux.pdf"
    },
    {
        "type": "article",
        "author": ["Yinji Ma", "Kyung‐In Jang", "Liang Wang", "Han Na Jung", "Jean Won Kwak", "Yeguang Xue", "Hang Chen", "Yiyuan Yang", "Dawei Shi", "Xue Feng", "John A Rogers", "Yonggang Huang"],
        "year": 2016,
        "title": "Design of Strain‐Limiting Substrate Materials for Stretchable and Flexible Electronics",
        "journal": "Advanced Functional Materials",
        "volume": 0,
        "pages": [0,0],
        "doi": "10.1002/adfm.201600713",
        "inpress": true
    }
]

In more advanced web development, JSON+AJAX makes it possible to update part of the page without reloading. If my understanding is correct, here is an example of application of AJAX for publication list:

I have an extremely long list of publications and it’s inappropriate to load them all. So I will develop a page so that the visitor can submit requests to the server for a subset of my publications (publications from a certain year). In AJAX way the server will send back a JSON file to the the page can update the display of publication list without reloading.

I guess I won’t bother to do that at least for now since the more urgent task is to get an extremely long list of publications. XD


怀念Klug教授

  03 Jun 2016     Diary

周三听闻Klug教授遇害的消息,我无论如何不相信枪杀这样骇人的事情会发生在一位如此热心、善良又勤奋有才华的教授身上。我曾经有幸在UCLA参加科研交流时在Klug教授研究组工作过十周,而那是我本科时候最难忘的一段时光。希望能以此文纪念我的导师Klug教授。

参加那个科研交流前,我于科研还几乎是门外汉,认识的教授仅限于本校的,国外教授更是从未有过接触。确认导师时需要填写十个意向的导师,我在UCLA的教职目录里翻了好多遍,印象很深Klug教授是和我背景最匹配的,但当时我还是把导师的第一志愿给了另一个更有名望的教授,而把Klug教授列做了第二志愿。现在想起来,当时我无疑是非常幸运的,最终还是Klug教授录取了我,让我有机会和这样一位nice的教授一起工作。这两天特地翻出和Klug教授通讯的一些邮件,现在读来依旧是如此亲切。3、4月份收到mentor match的通知,便兴奋的给Klug教授发了邮件介绍自己,还问Klug教授要了他group的一些研究代码。Klug教授回复很及时,他和他的博后一起给我列了一个详细的研究计划,让我也对暑假的交流非常期待。我到UCLA的时候,Klug教授当时正在和家人一起度假,不过他早就安排好了他的学生在reception上接待我,以及安排了博后指导我开始工作,一切也都有条不紊。与Klug初次见面是他刚回来学校第一天,我在教学楼门口看到并认出了他。据我当时身边同学后来描述,我几乎是“跳到了Klug教授面前”,告诉他我是他的新学生。他很热情的欢迎了我,还和我约了下次面谈的时间,至今我还记得Klug教授笑得那么亲切。

我在Klug教授组的第一个项目是一个纯粹数学的问题,大概是他们有一些病毒蛋白壳的模拟结果,想要判断是否具有一定的对称性。开始他们觉得用球谐函数展开就可以轻松解决,但后来发现并非如此,我后来的方法是把那些结构先投影到一个具有一定对称性的球谐函数子空间,而后比较残差。Klug教授回来的时候,这个项目也已经差不多结束,之后我更多的时间就和他们一起开发新版的VOOM(Klug教授研究组的C++有限元程序)。当时我有限元基础还很差,自己也从未写过相关代码,甚至C++水平也很差,但我对VOOM开发非常感兴趣,后来还参与了一些形函数的编写。事后Klug教授一直说早知道我那么喜欢写代码,一开始就让我参加VOOM的工作了。我也正是在那段时间积累了许多有限元程序的经验。

我在UCLA的时候,新版VOOM的开发还在起步阶段,常常要讨论一些程序的接口,于是组会非常频繁。Klug教授亲自参与了所有VOOM的设计,包括类和类的继承关系,Parser、Solver库的选择。在这些组会上,我对Klug教授有了更多的了解。他非常风趣幽默,经常会讲一些笑话,可惜我英语太差又没有相关的文化背景经常听不懂,每次都是全组哈哈大笑而我傻傻跟着笑。Klug教授都会停下来特地和我解释一下。组里氛围也特别好,大家也会互相开开玩笑,非常融洽。有次Klug教授的意大利博后软件窗口被什么东西挡住了,印度的博士同学想让他把那个东西隐藏掉,不过意大利博后就只是把窗口挪了挪位置,大家笑着说这是“Italian way”。Klug教授怕我误解到什么种族偏见之类政治正确问题,还特地给我解释这些都是没有恶意的玩笑。他经常问我一些中国的问题,比如为什么我们喜欢数字8呀,为什么我们数学那么好呀。Klug教授也会给我们展示一些他旅行和家人的照片。他和他儿子都非常喜欢棒球,有次还带了他儿子的棒球棍到办公室。我们组会中间就跑去走廊,用一个石墨烯的球棍模型当棒球打,路过人都很诧异的看着我们。记得当时是Klug教授抛球我击球,缺乏运动细胞的我打了好几个miss,结果最后打出一个本垒打,他非常开心,还笑着说我打过棒球后就越来越融入美国生活了。

在UCLA交流的时光虽然快乐,但当时申请慢慢临近,我当时TOEFL、GRE考试成绩都不是太好,也没有什么论文发表,申请当然没有什么信心,内心还是非常焦虑。我后来约了Klug教授聊一聊,谈谈申请PhD的事情,他非常爽快的答应了,还约了意大利博后一起,看看能给我什么帮助建议。那也是我和Klug教授唯一一次长谈。我们聊了许多,聊了现在做的一些研究工作的意义(我当时问了他,既然全原子的分子模拟已经越来越容易,跨尺度计算还有什么意义),聊了如何选择导师,我至今印象深刻他说最重要的要了解那个导师和学生工作的理念,而且可以多向那个导师的学生去了解那个导师。我当时也向他讲了我自己申请的焦虑,他安慰我只要自己优秀有没有文章没有关系,然后自嘲到他当时都申请到了PhD,还表示他也非常欢迎我申请他们组,而且系里TOEFEL、GRE那些成绩要求都可以为我破例。那次聊天之后我出门感觉天都更晴了。可惜最后我种种原因选择来西北而没有去UCLA,他还是很热心的帮我写了推荐信,并祝福我在新导师组里一切顺利。初到西北,我也还偶尔会和Klug教授有邮件联络,还约着有机会再见,后来我怕老师忙渐渐也就联络少了。去年暑假曾打算去趟UCLA,见见Klug教授和其他同学,结果忙于手边的事情还是未能成行,当时怎会曾料到现在居然没有机会再见了。。。

枪杀发生后许多同学发消息安慰我,然而我自己除了为Klug教授的逝世伤感惋惜外,却觉得深深的无力,作为曾经他的学生现在却远在另一个城市能做的非常有限。Klug教授的人格魅力也不需要我多说什么,尽管最近新闻流传凶手的指控,但每个和Klug教授交往过的人,他的同事、学生、朋友,都知道他是怎样一个善良温和的人。然而这些和Klug教授一起工作的经历,对我却意义非凡。也许当时对与Klug教授他不过是友善的对待了一个年轻的访问学生,但对当时焦虑迷茫的我,却给了我最重要的温暖和信心。至今每每遇到低谷回想起来,也总能给我许多鼓励。希望Klug教授在天之灵可以宽慰安息。

薛烨光 于Evanston家中