人在尼日利亚2

在项目上坚持了七个半月,终于告一段落了!

九月份,已经批复的三个桥被监理赖掉了,桥梁进度变成了零,顶着巨大压力在当地人休假前最后半小时拿到了第十个桥的批复信。这三个月是如此的艰难!不过最终拿到了总承包和总院的优秀员工奖,也算是一种认可。

10 Bridges approval in a short period for the year 2019 ….congratulations Mr Chen on this achievement ….this is a clear indication that dedication, perseverance and hard work pays….[……]

Continue

人在尼日利亚1

四年前第一次领导让我出国,没想到就这样踏上了非洲!断断续续的出国,足迹从塞内加尔到喀麦隆,从喀麦隆又到塞内加尔,然后回到国内不愉快的工作了一年,辞职,去法国拒签,回单位上班,到尼日利亚。一转眼自己就这样从一个新兵蛋子到带领一个结构物专业干项目了。
尼日利亚的压抑也是前所未有的,出门都要带警察!人身自由限制的比较厉害,不过慢慢也就适应了。这边倒是有一点好,我有了更大的发挥空间。有足够的自主权去纠正一些过去几年自己觉得不合理的设计、理念。
工作生活总是充满不易,属地化口号喊了这么久,我是真心希望做点事,带着五个黑兄弟干了快一年,有苦有乐!手把手的教了一年!从图纸都看不懂到可以独立完成桥梁计算书,总[……]

Continue

Lune


Lune
Qui là-haut s’allume
Sur
Les toits de Paris
Vois
Comme un homme
Peut souffrir d’amour
 
Bel
Astre solitaire
Qui meurt
Quand revient le jour
Entends
Monter vers toi
La chant de la terre
Entends le cri
D’un homme qui a mal
Pour qui
Un million d’étoiles
Ne valent
Pas les yeux de celle
Qu’il aime[……]

Continue

入尼一周年

不知不觉在尼日利亚一年了!从拿到ESTP录取,到重新回单位上班。
被法国领事馆拒签两次,两年的准备工作全部白费了,生活一下子失去了方向。Cristoforo帮我联系了他在英国的朋友,但是我却再也拿不出勇气再次申请签证。深造的事似乎只能这样告一段落了。[……]

Continue

值得推荐的C/C++框架和库【转载】

Libevent
libev是一个开源的事件驱动库,基于epoll,kqueue等OS提供的基础设施。其以高效出名,它可以将IO事件,定时器,和信号统一起来,统一放在事件处理这一套框架下处理。基于Reactor模式,效率较高,并且代码精简(4.15版本8000多行),是学习事件驱动编程的很好的资源。
下载链接:https://github.com/libevent/libevent
Memcached
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态数据库驱动网站的速度。Memcached 基于一个存储键/值对的 hashmap。Memcached-1.4.7的代码量还是可以接受的,只有10K行左右。
下载地址:http://memcached.org/
Redis
Redis 是一个使用 C 语言写成的,开源的 key-value 数据库。Redis支持的操作和数据类型比Memcached要多,现在主要用于缓存,支持主从同步机制,Redis的学习可以参考<>一书。
下载地址:http://redis.io/
Webbench
Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。
下载链接:https://github.com/LippiOuYang/WebBenchl[……]

Continue

DXF库(dxflib)使用指南[转载]

作者: Andrew Mustun
版权: 2004-2005 RibbonSoft公司. 保留所有权利。
日期: 2005年3月
原文: http://www.ribbonsoft.com/dxflib/manual.pdf
源码: http://www.ribbonsoft.com/archives/dxflib/dxflib-2.0.4.8-2.src.tar.gz
翻译: 柴树杉(http://chaishushan.googlepages.com )

第一章 简介
dxflib是一个用来读写DXF文件的C++库。当读DXF文件的时候,dxflib分析文件并且调用用户自己定义的函数来添加实体、层、等。
需要注意的是,dxflib并不保存任何实体或者信息。它只是从DXF文件中分析可以识别的实体以及其他的对象。
使用dxflib库读DXF文件并不需要知道所有的DXF格式信息。当然,像实体、属性、层、段等基本概念还是需要了解的。如果是用dxflib库写DXF文件,则需要知道DXF文件是如何组织的。
dxflib完全基于C/C++标准库实现,不依赖任何其他的库。
第二章 编译dxflib库
Unix/Linux
在Unix/Linux系统中编译dxflib库,需要输入以下命令:

./configure
make

该命令生成一个”./lib/dxflib.a”静态库。如果需要创建一个动态连接库,需要用”make shared”代替前面的”make”命令。这样就生成一个”./lib/libdxf.so.2.0.x.x”文件,然后再创建一个”./lib/libdxf.so”连接到”./lib/libdxf.so.2.0.x.x”。
如果不使用”make install”命令,你也可以直接将头文件和生成的库文件复制到你需要的目录中。
Windows
在windows系统中编译dxflib库可以有多中选择,你可以使用VC、Borland C++、GCC以及其他各种编译器。
在这里我们采用cygwin和gcc编译:

./configure
MinGW32-make

[……]

Continue

位移法解平面桁架

最近稍稍闲下来一点,准备系统的学习一下有限元。
一般认为,矩阵位移法是有限元的雏形,并且矩阵位移法与杆系有限元在操作步骤上几乎完全一样。
这里以下图所示桁架为例简单写一下推导过程,详细的教材上都有。
1

单元编号 单元节点编号 节点局部编号
1 1,3 i,j
2 1,2 i,j
3 3,4 i,j
4 2,4 i,j
5 3,2 i,j

……[……]

Continue

随便写写

似乎真的好长时间都没有来打理这个博客了,毕业了!

上班不比上学,自己所能支配的时间真的很少。上次去开评审会,一个老先生说,做这行就是五加二,白加黑。确实如此,通宵加班也不止一次两次了。但无论怎样,我还是很热爱这个行业的。我一直在努力,我希望能用最短的时间在这个领域成为“天才”。

说实话,我始终不能接受自己已经毕业的事实。作息,生活习惯都没能及时的适应工作。有时真的感觉好累,但所有人都是这么过来的,没什么好抱怨的。起码现在家里不会再逼我去考公务员,能做点自己喜欢的事是何等幸福啊。

这个行业的责任确实很重,每次在图纸上签上自己名字的时候我都感到心里没底。也许是大学的时候读书不够认真吧,缺少那一份自信。再或许,大学时候我如果花很多时间在“读书”上面,现在可能得不到在设计院工作的机会。死读书的大多没什么好“下场”。

真的很想每天能够抽出一点时间在编程上面,这是兴趣。写一些小工具可以节约很多时间,国内的桥梁计算软件,说实话没有一个是让我比较满意。

我始终相信活到老学到老,毕业了才开始深入学习有限元希望不会晚。不过工作实在是太忙了,真后悔在学校没有拿出更多时间学习。有时候人就是逼出来的,在学校可以用三个月去做一座桥的施工图设计,工作了,只要设定一个时间底线,四天我也能完成。这个月完成了两座小桥的施工图设计,工作进度总体上我自己还是比较满意的。

十一确实是令人期待,手头的工作基本都完成了,回去好好放松一下,哪也不想去,就在家里给自己放几天假!

这几个月确实没什么时间写代码,就之前勉强抽出点时间帮一个朋友写的建筑荷载组合的小程序,没什么技术含量,就是照着规范的流程跑一遍,没有经过严格的测试,希望看到这些代码的朋友不要轻易用在实际工程中。

[……]

Continue

SPOJ Number Steps 解题报告

1112. Number Steps

Time Limit: 2s Source limit: 50000B

Description

Starting from point (0,0) on a plane, we have written all non-negative integers 0, 1, 2,… as shown in the figure. For example, 1, 2, and 3 has been written at points (1,1), (2,0), and (3, 1) respectively and this pattern has continued.

You are to write a program that reads the coordinates of a point (x, y), and writes the number (if any) that has been written at that point. (x, y) coordinates in the input are in the range 0…10000.

Input

The first line of the input is N, the number of test cases for this problem. In each of the N following lines, there is x, and y representing the coordinates (x, y) of a point.

Output

For each point in the input, write the number written at that point or write No Number if there is none.

Sample Input

3
4 2
6 6
3 4

Sample Output

6
12
No Number

继续水题,而且是以前做过的,找规律即可。[……]

Continue

SPOJ Adding Reversed Numbers 解题报告

42. Adding Reversed Numbers

Time Limit: 5s Source limit: 50000B

Description

The Antique Comedians of Malidinesia prefer comedies to tragedies. Unfortunately, most of the ancient plays are tragedies. Therefore the dramatic advisor of ACM has decided to transfigure some tragedies into comedies. Obviously, this work is very hard because the basic sense of the play must be kept intact, although all the things change to their opposites. For example the numbers: if any number appears in the tragedy, it must be converted to its reversed form before being accepted into the comedy play.
Reversed number is a number written in arabic numerals but the order of digits is reversed. The first digit becomes last and vice versa. For example, if the main hero had 1245 strawberries in the tragedy, he has 5421 of them now. Note that all the leading zeros are omitted. That means if the number ends with a zero, the zero is lost by reversing (e.g. 1200 gives 21). Also note that the reversed number never has any trailing zeros.
ACM needs to calculate with reversed numbers. Your task is to add two reversed numbers and output their reversed sum. Of course, the result is not unique because any particular number is a reversed form of several numbers (e.g. 21 could be 12, 120 or 1200 before reversing). Thus we must assume that no zeros were lost by reversing (e.g. assume that the original number was 12).

Input

The input consists of N cases (equal to about 10000). The first line of the input contains only positive integer N. Then follow the cases. Each case consists of exactly one line with two positive integers separated by space. These are the reversed numbers you are to add.

Output

For each case, print exactly one line containing only one integer – the reversed sum of two reversed numbers. Omit any leading zeros in the output.

Sample Input

5 5
3
24 1
4358 754
305 794

Sample Output

34
1998
1

水题,把数字翻转过来,相加以后再翻转过去就可以了。一个函数解决。
……[……]

Continue