CIO眼中的数字化转型如此务实

Information Source CIO信息主管D1net

数字化转型最近两年一直是热点,但对很多企业而言,仍然是雾里看花。如果老板有一天询问:我们公司该怎么做数字化转型?你该如何回应?或者,你该思考的是:数字化转型是否应该设定投入回报期?又如何去衡量回报?

这的确是很困难的事情,毕竟传统企业之前确实没有尝试过。农夫山泉CIO郑振宇指出:没有研究思考实践过的数字化转型策略,回报期很难设定,即便设定了也是在拍脑袋。

但对老板而言,没有回报期的数字化,岂不是为了数字化而数字化?

数字化转型 需要量化相关指标及回报期

前途汽车CIO邢红波的观点是:企业数字化转型必须要有回报期(期待/期望),而且尽可能用量化的方式而不是定性和泛泛之谈。

但企业数字化的需求发起者是管理决策层(老板)、业务部门,还是IT部门,这点很重要。如果只是单纯由IT部门发起,这需要IT部门有强大的引领业务的能力,才能回答老板的这个问题。否则又回到是“成本中心”还是“利润中心”的死循环中了。不建议IT部门因为所谓的新技术、新概念或者听到个别企业的经验分享,就鼓动企业做新投入。如果是从这个角度出发,大概率老板和CIO都会有困惑。

数字化转型首先是管理问题,其次是业务问题,最后才是技术实现

一般情况下,如果是管理决策层提出数字化转型的需求,IT部门需要按这个需求用合适的成本(时间+钱)满足要求即可;

如果是业务部门提出的需求,那就需要业务部门向老板说明需要IT技术支持他们完成什么样的业务运营指标,IT要配合业务部门说明需要投入多大成本?能否实现?

尽管每个企业情况不一样,但万变不离其宗,数字化的效果从定量的分析还是从企业管理经营指标入手,立项时要有指标才有说服力。“信息化(数字化)应是一把手工程”,邢红波总结。

IT技术本身对企业来讲没有任何价值,其价值来自通过对业务的支撑达到企业实现“提质、降本、增效”的目的来体现。越是在经营困难、现金流压力大的情况下,越要坚持这个“初心”。IT部门经常被诟病为“成本中心”, CIO最大的梦想是让大家认可IT部门是“利润中心”。

方法:敢于和善于和业务KPI考核绑定

如何做到让大家认可IT是实实在在的“利润中心”?邢红波的经验是依据企业的战略规划,推动IT建设规划的落地和实施。具体做法是结合业务需求“痛点”,敢于和善于和业务KPI考核绑定,成为支持业务部门实现KPI的合作伙伴和战友,让IT投入的效果实现数字化和可视化。在其它生产要素不改变的情况下,通过IT投入的可行性论证分析,实现企业核心经营指标(资金周转率、存货周转率及周转天数、应收账款周转率及周转天数、应付账款周转率及周转天数…….)的有效提升。

例如:实施WMS、LES需投入2000万,同等情况下能够实现存货周转率提高一倍,周转天数降低一半,年可减少仓储物流部门动资金占用4000万,IT投入给业务“赋能”带来真正效益“产出”的时候。根本不需要IT部门去说服谁来做投入,从老板到物流部门和财务部门会追着IT部门花钱上这些系统。当然前提是真的能产生这样的价值和效果。毕竟,要实现企业业务及管理透明化,数字化,实现数据支持和量化决策而不是经验支持的定性决策,这个目标提了很多年,真正实现的又有多少?

IT的本质是工具

但往往越是吸引IT圈子人眼球的东西,有可能离业务需求越远。邢红波认为:“IT的本质就是工具,永远不可能替代业务。不能和业务融合,给业务带来帮助的IT炫技,便是给自己和企业挖坑。”

企业看的是利润,职场看的是价值,商业的本质是“利益”,最要不得的是“情怀”。再好的战略也需要有“切实可行”的落地,否则就是阳春白雪,曲高和寡,一个人“浑身是铁能打几颗钉”?再“牛”的CIO,也需要组织和团队的支持。CIO既需要有智能,更要有情商,能上得了厅堂,也下得了厨房!

CIO的工作方向:需时时把准老板的脉

实际上,某些情况下,CIO总处于某种焦虑中,往往容易偏离主线,为了在某个阶段配合业务,为了老板某天的突发奇想,工作似乎排满了一堆,最后发现时间过了许久,突然便找不到工作主线了。

森源集团CIO王鑫对此有着清醒认知,发出了连续询问:2020年这么特殊的大环境下,企业都不好过,现阶段企业最需要的是什么?信息化又何去何从?重点抓什么才能让老板满意?企业信息化为谁而做?信息化是否有价值由谁评价?

以地产行业为例, 2020年疫情影响叠加金融形势巨变和国家房地产政策影响,房地产行业面临转折点相当困难。这个时候老板关心什么?是如何快速把房子卖出去,是如何控制好资金的快速回笼。如果这个时候信息化不在这方面使力,不能利用信息及科技的力量为产品赋能、为拉动销售赋能,要信息化何用?

CIO应在不同阶段把准老板的脉,做最有价值的事。如为何不能房子盖好之后直接搭建智能化物联网家居基础?为何不第一时间加大全方位数字化营销力度和进一步提升线上看房的体验感和立体感?可能其它规划也很有价值,但不是当前阶段房地产企业所最急需的。任何时候,都要记得老板们设立信息化部门的初衷。

好莱客家居信息中心总监冯良波对上述观点表示赞同:“现阶段不是造各种新词的时候,CIO安分守纪一点也没什么不好,总有人想折腾利润中心,只要是中型以上的企业,谁看得上IT赚的那点钱,降本、增效,踏踏实实的一点一点做出成效,这也是IT的价值。”

What is Manufacturing execution system (MES)

Manufacturing execution systems (MES) are computerized systems used in manufacturing, to track and document the transformation of raw materials to finished goods. MES provides information that helps manufacturing decision makers understand how current conditions on the plant floor can be optimized to improve production output.[ MES works in real time to enable the control of multiple elements of the production process (e.g. inputs, personnel, machines and support services).

MES may operate across multiple function areas, for example: management of product definitions across the product life-cycle, resource scheduling, order execution and dispatch, production analysis and downtime management for overall equipment effectiveness (OEE), product quality, or materials track and trace. MES creates the “as-built” record, capturing the data, processes and outcomes of the manufacturing process. This can be especially important in regulated industries, such as food and beverage or pharmaceutical, where documentation and proof of processes, events and actions may be required.

The idea of MES might be seen as an intermediate step between, on the one hand, an enterprise resource planning (ERP) system, and a supervisory control and data acquisition (SCADA) or process control system on the other; although historically, exact boundaries have fluctuated. Industry groups such as MESA International—Manufacturing Enterprise Solutions Association were created in the early 1990s in order to address the complexity, and advise on execution, of MES Systems.

“Manufacturing Execution Systems [help] create flawless manufacturing processes and provide real-time feedback of requirement changes”,[ and provide information at a single source. Other benefits from successful MES implementation might include:

  1. Reduced waste, re-work and scrap, including quicker setup times
  2. More accurate capture of cost-information (e.g. labor, scrap, downtime, and tooling)
  3. Increased uptime
  4. Incorporate paperless workflow activities
  5. Manufacturing operations traceability
  6. Decreases downtime and easy fault finding
  7. Reduced inventory, through the eradication of just-in-case inventory

香港人日記–反送中運動

經過”反送中運動”的局勢惡化下,香港已成為了整個中外的第一個爭持點,以及中國內部的權力鬥爭點,"一國兩制五十年不變"的假面具已撕破了。之前大眾認為香港警察是保護市民的一流部門,但是經過七月廿一日的警黑合作,八月三十一日的警察地鐵站內暴打市民,之後出現多宗離奇自殺案件,香港警察的恐怖真面目才表露出來,市民才驚覺警察(或其它部門),已經變成大陸的作風,用極權統治,不會理會市民的生死。這場”反送中運動”之後,如果大陸政府高抬貴手,香港或有一絲機會在這場掙扎求存下來,享受多幾年自由吧。


當香港回歸大陸後,香港始终會被大陸化,只差遲早;”反送中運動”之後,港府和反對派實際上已是雙輸,香港政府無能,示威者暴動入獄,往後,只會加速大陸化,東方之珠已變淡了。董健華說:「中國好,香港會更好。」事實上,中國好,無需利用香港時,香港又怎能更好呢?現時不要倚靠大陸,努力自強找出香港的另一亮點,才可走出困局主佑!

东莞市领导赴镇街督导安全生产大排查(25-29/6/2018)

因今年东莞市发生多起安全事故:

  1. 2018年4月12日11时许,高埗三联村一钢筋结构构筑物发生坍塌,造成1死1伤,4人被困。
  2. 2018年5月26日上午9时30分许,大岭山大沙村的东莞市华业鞋材有限公司发生一起有限空间气体中毒事故,造成4人死亡。
  3. 2018年5月26日晚上8时许,塘厦镇发生一起溺水事故,造成2人死亡。
  4. 2018年5月27日凌晨6时许,樟木头镇发生一起交通事故,造成2人死亡。

因此夏季安全形式严峻,东莞市领导会赴镇街督导安全生产大排查。

Setup of Ant Miner A3 Machine Mining with sia.tech pool

Step 1. Download sia program from https://sia.tech/get-started

sia-tech-pict1

Step 2. Start the Sia-UI program, and wait for “synchronizing” done, which we may wait for one or two days, so you have better run it in a stable computer.

sia-pict1

Step 3. Create a wallet, mark down the seek and passphrase, and unlock it.

Click on the Wallet tab on the left. You’ll see two options – “Create a new wallet” or “Load a wallet from a seed”. If this is your first time creating a wallet, you’ll select Create a new wallet. It is also recommended to check the box to Use custom passphrase first, and create a password for your wallet. If you don’t, your wallet password will be the same as your wallet seed, which is not ideal, especially if you plan on hosting.

sia-tech-pict3

The wallet will say it’s scanning the blockchain, which may take several minutes. Wait for it to complete, or go grab a snack.

sia-tech-pict4

sia-tech-pict5

Step 4. Create a wallet address

A receiving address will be automatically generated for you in the top box, and you can give it a name in the bottom box if you want. Click Save to add it to the list of “Prior Addresses”. You can create as many addresses as you want, and they’ll all point to your wallet. Sia makes a new wallet address by default every time you click “Receive Siacoin” in order to help protect your privacy, but you can use any of your previous addresses at any time and they’ll still work.

sia-tech-pict6

Step 5. Backup your sia wallet

There is no option to backup the wallet in the sia-ui software! But you can backup the files by yourself!The files location is configured in the config.json file. The config.json is located in “Sia-UI-v1.2.0-win32-x64resourcesapp” folder. Open the file with text editor,you can see the “datadir” item.This item describe the backup files location! in the default the files location is in the C:userusernameAppDataRoamingSia-UI! Please do not go at manually backing up files from the Sia-UI folder as these are not guarenteed to work if placed back in a newer version of Sia-UI, above method is documented and always will work.

All you need to recover your wallet is to write down on a physical paper your seed, which is the same as your wallet password.
Step 6. Register account from antpool.com, and then select siacoin in the top right hand corner.

And then create account, sub-account, and worker as below:

sia-tech-pict7a

sia-tech-pict8

Step 7. Setup in mining machine as below:

Change from original default setting below:

sia-tech-pict9

To:

sia-tech-pict10

Step 8: Once you’ve started mining, you can check your stats from miner status as below example:

sia-tech-pict11

Step 9. My earning monitor screen from antpool as below:

sia-tech-pict12

How to Fix The procedure entry point ucrtbase.terminate is missing or could not be located

Error The procedure entry point ucrtbase.terminate could not be located in the dynamic link library api-ms-win-crt-runtime-l1-1-0.dll or The program can’t start because api-ms-win-crt-runtime-l1-1-0.dll is missing from your computer.  Try reinstalling the program to fix this problem. is usually caused by corrupt or outdated Visual C++ Redist where another program has overwritten the libraries, or the program you are trying to run requires a newer version of the Visual C++. The latest one is 2017. The second most common for this issue to occur is when Windows Updates are outdated or the KB2999226 (Universal CRT) has failed. You cannot install Microsoft Visual C++ 2015 redist (runtime) unless you have Windows Update KB2999226 installed (at least on Windows 7 64-bit SP1).

Method 1: Repair Corrupt System Files

Download and run Reimage Plus to scan and restore corrupt and missing files from here, and then see if the issue is fixed if not then try the other methods listed below.

Method 2: Check for and Install Windows Updates

On Windows 10

  1. Click Start
  2. Choose Settings
  3. Choose Update and Security
  4. Choose Windows Updates
  5. Click Check for Updates
  6. If there are updates, you’ll see a message telling you that important or optional updates are available, or telling you to review important or optional updates, click the message to view the updates to install.
  7. In the list, enable the checkboxes for the updates Important or Optional, and then click Install.

On Windows 7

  1. Click Start
  2. Type Updates
  3. Choose Windows Updates
  4. Choose Check for Updates
  5. Install the Updates, and Reboot the PC.

The one we are looking for through Windows Update is the Universal CRT Update KB2999226 which can also be downloaded and installed as a stand alone package from (here).

For Windows 7 Only:

If the issue is still not resolved on Windows 7 after running the updates and install the KB2999226 manually, then follow these steps:

PRO TIP: If the issue is with your computer or a laptop/notebook you should try using the Reimage Plus Software which can scan the repositories and replace corrupt and missing files. This works in most cases, where the issue is originated due to a system corruption. You can download Reimage Plus by Clicking Here
  1. Hold the Windows Key and Press R. In the Run Dialog, type cmd and Click OK.
  2. In the command prompt window, type net stop wuauserv
  3. Then type ren c:windowsSoftwareDistributionWuRedir WuRedir1

Then run the Windows Update again, reboot multiple times and check to make sure that all the updates are installed.

 

The procedure entry point ucrtbase.terminate could not be located in the dynamic link library api-ms-win-crt-runtime-l1-1-0.dll

Modified on: Fri, 23 Jun, 2017 at 11:18 AM


When opening EasyWorship the following error appears “the procedure entry point ucrtbase.terminate could not be located in the dynamic link library api-ms-win-crt-runtime-l1-1-0.dll”.

This is a problem with a Windows library that is missing or corrupted. In many cases this can be fixed by installing the “Update for Universal C Runtime in Windows“.

Convert between xls and xlsx by python and compile python

1. To convert xls to xlsx:

$ pip install pyexcel pyexcel-xls pyexcel-xlsx

Run Python Script as:

import pyexcel as p

p.save_book_as(file_name='your-file-in.xls',
               dest_file_name='your-new-file-out.xlsx')

If you do not need a program, you could install one additinal package pyexcel-cli::

$ pip install pyexcel-cli
$ pyexcel transcode your-file-in.xls your-new-file-out.xlsx

The transcoding procedure above uses xlrd and openpyxl.

2. To convert between xlsx and xls vice and versa:

You need to have win32com installed on your machine. Here is the code for python 2.7 and 3.5:
import win32com.client as win32
fname = "full+path+to+xls_file"
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(fname)

wb.SaveAs(fname+"x", FileFormat = 51)    #FileFormat = 51 is for .xlsx extension
wb.Close()                               #FileFormat = 56 is for .xls extension
excel.Application.Quit()

3. Compile via py2exe

3.1. Create your setup script (setup.py)

py2exe extends Distutils with a new “command”. If you’ve installed third party Python modules then there’s a good chance you’ve seen at least one distutils command:

C:Tutorial>python setup.py install

“install” is a Distutils command that installs something (typically a Python module or package). The details Distutils needs to do that installation are contained in setup.py (and sometimes other associated files).

“py2exe” is a new Distutils command that is added when you import py2exe. To use py2exe you need to create a setup.py file to tell Distutils and py2exe what you want to do. Here’s a setup.py whose simplicity is appropriate for our sample program…

   1 from distutils.core import setup
   2 import py2exe
   3 
   4 setup(console=['hello.py'])

3.2. Run your setup script

The next step is to run your setup script. Make sure to give the py2exe command and expect to see lots and lots of output:

C:Tutorial>python setup.py py2exe

3.3. Test your executable

Now that the package has been created it is ready to test:

C:Tutorial>cd dist

C:Tutorialdist>hello.exe
Hello World

4. Compile via pyinstaller

[Anaconda3] C:Usersgoldmanau>pip install pyinstaller

[Anaconda3] C:Usersgoldmanau>pyinstaller --version
3.3.1

[Anaconda3] C:Usersgoldmanau>pyinstaller --onefile conv.py
418 INFO: PyInstaller: 3.3.1
418 INFO: Python: 3.5.1
418 INFO: Platform: Windows-7-6.1.7601-SP1
420 INFO: wrote C:Usersgoldmanauconv.spec
424 INFO: UPX is not available.
428 INFO: Extending PYTHONPATH with paths
['C:\Users\goldmanau', 'C:\Users\goldmanau']
428 INFO: checking Analysis
429 INFO: Building Analysis because out00-Analysis.toc is non existent
429 INFO: Initializing module dependency graph...
434 INFO: Initializing module graph hooks...
438 INFO: Analyzing base_library.zip ...
12259 INFO: running Analysis out00-Analysis.toc
14333 INFO: Caching module hooks...
14347 INFO: Analyzing C:Usersgoldmanauconv.py
14350 INFO: Processing pre-safe import module hook win32com
15341 INFO: Loading module hooks...
15342 INFO: Loading module hook "hook-pydoc.py"...
15343 INFO: Loading module hook "hook-pythoncom.py"...
15913 INFO: Loading module hook "hook-pywintypes.py"...
16460 INFO: Loading module hook "hook-win32com.py"...
16770 INFO: Loading module hook "hook-encodings.py"...
16970 INFO: Loading module hook "hook-xml.py"...
17803 INFO: Looking for ctypes DLLs
17879 INFO: Analyzing run-time hooks ...
17884 INFO: Including run-time hook 'pyi_rth_win32comgenpy.py'
17897 INFO: Looking for dynamic libraries
19407 INFO: Looking for eggs
19407 INFO: Using Python library c:usersgoldmanauappdatalocalcontinuumanac
onda3python35.dll
19408 INFO: Found binding redirects:
[]
19415 INFO: Warnings written to C:Usersgoldmanaubuildconvwarnconv.txt
19520 INFO: Graph cross-reference written to C:Usersgoldmanaubuildconvxref-
conv.html
19587 INFO: checking PYZ
19587 INFO: Building PYZ because out00-PYZ.toc is non existent
19588 INFO: Building PYZ (ZlibArchive) C:Usersgoldmanaubuildconvout00-PYZ.p
yz
21378 INFO: Building PYZ (ZlibArchive) C:Usersgoldmanaubuildconvout00-PYZ.p
yz completed successfully.
21402 INFO: checking PKG
21403 INFO: Building PKG because out00-PKG.toc is non existent
21404 INFO: Building PKG (CArchive) out00-PKG.pkg
21752 INFO: Updating manifest in C:UsersgoldmanauAppDataRoamingpyinstaller
bincache00_py35_64bitpython35.dll
21753 INFO: Updating resource type 24 name 2 language 1033
27241 INFO: Building PKG (CArchive) out00-PKG.pkg completed successfully.
27253 INFO: Bootloader c:usersgoldmanauappdatalocalcontinuumanaconda3lib
site-packagesPyInstallerbootloaderWindows-64bitrun.exe
27254 INFO: checking EXE
27255 INFO: Building EXE because out00-EXE.toc is non existent
27256 INFO: Building EXE from out00-EXE.toc
27258 INFO: Appending archive to EXE C:Usersgoldmanaudistconv.exe
27345 INFO: Building EXE from out00-EXE.toc completed successfully.

Compile program in    C:Usersgoldmanaudistconv.exe