2016年12月27日 星期二
2016年12月23日 星期五
CentOS 7.3 Installation on Virtual Box
Download Minimal ISO
https://www.centos.org/download/
CentOS-7-x86_64-Minimal-1611.iso
Never Succeed
Download 6.9 instead!
CentOS-6.9-x86_64-minimal.iso 29-Mar-2017 02:31 408M
See you next time
2016年12月22日 星期四
Simple Logger Facade SLF4J Java 8 on Linux
Main Reference
http://www.slf4j.org/manual.html
http://ifeve.com/slf4j-manual/
Confirm your JDK
[ricky@thrift2 SimpleLoggingFacade]$ javac -version
javac 1.8.0_111
http://www.slf4j.org/manual.html
http://ifeve.com/slf4j-manual/
Confirm your JDK
[ricky@thrift2 SimpleLoggingFacade]$ javac -version
javac 1.8.0_111
Download it to ~/SimpleLoggingFacade
wget http://www.slf4j.org/dist/slf4j-1.7.22.tar.gz
tar zxvf slf4j-1.7.22.tar.gz
HelloWorld.java
import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class HelloWorld { public static void main(String[] args) { Logger logger = LoggerFactory.getLogger(HelloWorld.class); logger.info("Hello World"); } }
Error 1 : org.slf4j does not exist
[ricky@thrift2 SimpleLoggingFacade]$ javac HelloWorld.java
HelloWorld.java:1: error: package org.slf4j does not exist
import org.slf4j.Logger;
^
HelloWorld.java:2: error: package org.slf4j does not exist
import org.slf4j.LoggerFactory;
^
HelloWorld.java:6: error: cannot find symbol
Logger logger = LoggerFactory.getLogger(HelloWorld.class);
^
symbol: class Logger
location: class HelloWorld
HelloWorld.java:6: error: cannot find symbol
Logger logger = LoggerFactory.getLogger(HelloWorld.class);
^
symbol: variable LoggerFactory
location: class HelloWorld
4 errors
Solution 1: org.slf4j does not exist
javac -cp ".:./slf4j-1.7.22/slf4j-api-1.7.22.jar" HelloWorld.java
Error 2: Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
[ricky@thrift2 SimpleLoggingFacade]$ java HelloWorld
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at HelloWorld.main(HelloWorld.java:6)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
Solution 2 : Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
[ricky@thrift2 SimpleLoggingFacade]$ java -cp ".:./slf4j-1.7.22/slf4j-api-1.7.22.jar" HelloWorld
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Error 3: Failed to load class "org.slf4j.impl.StaticLoggerBinder"
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"
Solution 3: Failed to load class "org.slf4j.impl.StaticLoggerBinder"
java -cp ".:./slf4j-1.7.22/slf4j-api-1.7.22.jar:./slf4j-1.7.22/slf4j-simple-1.7.22.jar" HelloWorld
[main] INFO HelloWorld - Hello World
Solution 3 using simple:
java -cp ".:./slf4j-1.7.22/slf4j-api-1.7.22.jar:./slf4j-1.7.22/slf4j-simple-1.7.22.jar" HelloWorld
[main] INFO HelloWorld - Hello World
Solution 3 using jdk14:
java -cp ".:./slf4j-1.7.22/slf4j-api-1.7.22.jar:./slf4j-1.7.22/slf4j-jdk14-1.7.22.jar" HelloWorld
Dec 22, 2016 3:52:36 PM HelloWorld main
INFO: Hello World
Solution 3 using nop:
java -cp ".:./slf4j-1.7.22/slf4j-api-1.7.22.jar:./slf4j-1.7.22/slf4j-nop-1.7.22.jar" HelloWorld
Solution 3 using JCL:
wget http://apache.website-solution.net//commons/logging/binaries/commons-logging-1.2-bin.tar.gz
tar zxvf commons-logging-1.2-bin.tar.gz
java -cp ".:./slf4j-1.7.22/slf4j-api-1.7.22.jar:./slf4j-1.7.22/slf4j-jcl-1.7.22.jar:./commons-logging-1.2/commons-logging-1.2.jar" HelloWorld
Dec 22, 2016 3:51:22 PM HelloWorld info
INFO: Hello World
Solution 3 using log4j 1.2:
echo "Need to download log4j-1.2.17.tar.gz"
echo "Do not download apache-log4j-2.7-bin.tar.gz"
wget http://apache.01link.hk/logging/log4j/1.2.17/log4j-1.2.17.tar.gz
tar zxvf log4j-1.2.17.tar.gz
java -cp ".:./slf4j-1.7.22/slf4j-api-1.7.22.jar:./slf4j-1.7.22/slf4j-log4j12-1.7.22.jar:./apache-log4j-1.2.17/log4j-1.2.17.jar" HelloWorld
Error 4 : WARN No appenders could be found for logger (HelloWorld)
log4j:WARN No appenders could be found for logger (HelloWorld).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Solution 4 : WARN No appenders could be found for logger (HelloWorld)
vi log4j.properties
log4j.rootLogger=debug, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%t %-5p %c{2} - %m%n
Solution 3 using log4j 1.2 alternative (simpler):
mkdir lib
cp ./slf4j-1.7.22/slf4j-api-1.7.22.jar ./lib/
cp ./slf4j-1.7.22/slf4j-log4j12-1.7.22.jar ./lib/
wget http://apache.01link.hk/logging/log4j/1.2.17/log4j-1.2.17.tar.gz
tar zxvf log4j-1.2.17.tar.gz
cp ./apache-log4j-1.2.17/log4j-1.2.17.jar ./lib/
java -cp ".:./lib/*" HelloWorld
a
sdas
2016年12月19日 星期一
Virtualbox Extension Pack on Linux and using USB Device on Guest Instance
sudo vboxmanage extpack install --replace Oracle_VM_VirtualBox_Extension_Pack-5.1.10-112026.vbox-extpack
sudo usermod -a -G vboxusers ricky
instance > Settings > USB > Enable USB Controller + USB 2.0
sudo usermod -a -G vboxusers ricky
instance > Settings > USB > Enable USB Controller + USB 2.0
MongoDB Python pymongo
Install Anaconda
https://anaconda.org/anaconda/pymongo
conda install -c anaconda pymongo=3.3.0
from pymongo import MongoClient
MongoDB Queries
db.getCollection('SHCU_1Min_History').distinct( "Date", { $or: [ {"AskPrice1":{$gt:1.79e+308}}, {"AskPrice2":{$gt:1.79e+308}}, {"BidPrice1":{$gt:1.79e+308}}, {"BidPrice2":{$gt:1.79e+308}} ] } )
https://anaconda.org/anaconda/pymongo
conda install -c anaconda pymongo=3.3.0
from pymongo import MongoClient
MongoDB Queries
db.getCollection('SHCU_1Min_History').distinct( "Date", { $or: [ {"AskPrice1":{$gt:1.79e+308}}, {"AskPrice2":{$gt:1.79e+308}}, {"BidPrice1":{$gt:1.79e+308}}, {"BidPrice2":{$gt:1.79e+308}} ] } )
2016年12月2日 星期五
Wireshark and tshark Examples on Windows and Linux
Python
import datetime
a = datetime.timedelta(seconds=25293)
str(a)
'7:01:33'
b = datetime.timedelta(seconds=25464)
str(b)
'7:04:24'
Linux
tshark -r PM.pcap -Y '(frame.time >= "Nov 30, 2016 07:01:33") && (frame.time <= "Nov 30, 2016 7:04:24")' -w out.pcap
[quantprod@hkoffice083 trial]$ capinfos PM.pcap
File name: PM.pcap
File type: Wireshark/tcpdump/... - pcap
File encapsulation: Ethernet
Packet size limit: file hdr: 65535 bytes
Number of packets: 3,096 k
File size: 2,492 MB
Data size: 2,443 MB
Capture duration: 15142 seconds
Start time: Wed Nov 30 05:21:56 2016
End time: Wed Nov 30 09:34:18 2016
Data byte rate: 161 kBps
Data bit rate: 1,290 kbps
Average packet size: 789.02 bytes
Average packet rate: 204 packets/sec
SHA1: 6238971ac36f2bfb990668f3889e61ec26c3769c
RIPEMD160: 689c0dbe61c95d14882d631b76d0afe3f0a3b10c
MD5: 9cc626ffc7314bc8a9f4f5e03c81ff5d
Strict time order: True
import datetime
a = datetime.timedelta(seconds=25293)
str(a)
'7:01:33'
b = datetime.timedelta(seconds=25464)
str(b)
'7:04:24'
Linux
tshark -r PM.pcap -Y '(frame.time >= "Nov 30, 2016 07:01:33") && (frame.time <= "Nov 30, 2016 7:04:24")' -w out.pcap
[quantprod@hkoffice083 trial]$ capinfos PM.pcap
File name: PM.pcap
File type: Wireshark/tcpdump/... - pcap
File encapsulation: Ethernet
Packet size limit: file hdr: 65535 bytes
Number of packets: 3,096 k
File size: 2,492 MB
Data size: 2,443 MB
Capture duration: 15142 seconds
Start time: Wed Nov 30 05:21:56 2016
End time: Wed Nov 30 09:34:18 2016
Data byte rate: 161 kBps
Data bit rate: 1,290 kbps
Average packet size: 789.02 bytes
Average packet rate: 204 packets/sec
SHA1: 6238971ac36f2bfb990668f3889e61ec26c3769c
RIPEMD160: 689c0dbe61c95d14882d631b76d0afe3f0a3b10c
MD5: 9cc626ffc7314bc8a9f4f5e03c81ff5d
Strict time order: True
2016年11月9日 星期三
CentOS 7 firewalld and iptables firewall setup allow multicast traffic
CentOS 7 remove firewalld and enable iptables.service
1. 關閉及停止使用 Firewalld:
systemctl status firewalld
systemctl disable firewalld (Loaded: loaded, Active: active)
systemctl mask firewalld (Loaded: masked, Active: active)
systemctl stop firewalld (Loaded: masked, Active: inactive)
sudo reboot -h now
2. 安裝 iptables
yum install iptables-services
3. 啟動及設定開機執行 iptables
systemctl status iptables.service
systemctl enable iptables
systemctl start iptables
現在已經可以用 iptables, 增加及剛除 rules 的方法跟以前 Centos 5, 6 相同.
如果上述命令沒有 lokkit,可以自己用 yum install lokkit 安裝。事實上 lokkit 也只是設定 iptables 把 http 和 ssh 打開,如果原本就有開了也不用執行或手動自己設定 iptables 也可以。
sudo lokkit -s http -s ssh
Reference
https://www.digitalocean.com/community/tutorials/how-to-migrate-from-firewalld-to-iptables-on-centos-7
New iptables default rules:
[ricky@thrift1 bin]$ sudo iptables -S | tee ~/firewalld_iptables_rules
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
Edit the rule file so accept udp packets so that
sudo vi /etc/sysconfig/iptables
8 -A INPUT -p udp -j ACCEPT
9 -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
10 -A INPUT -p icmp -j ACCEPT
11 -A INPUT -i lo -j ACCEPT
12 -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
13 -A INPUT -j REJECT --reject-with icmp-host-prohibited
14 -A FORWARD -j REJECT --reject-with icmp-host-prohibited
15 COMMIT
Restart to make it effective
sudo sh -c 'iptables-restore -t < /etc/sysconfig/iptables'
systemctl restart iptables.service
2016年11月8日 星期二
Linux CentOS 7 SSH Connection Refused after Reboot
Description
On CentOS 7, I am using SSH fine for a month. After doing some operation with "systemctl status/mask/disable/restart firewalld" followed by "sudo reboot -h now", I cannot use ssh and got "connection refused" after reboot.
ssh 127.0.0.1
connection refused
Log
journalctl -u sshd | tail -100
Bad configuration option:ForwardX11Trusted
ssh failed
Solution
Comment "ForwardX11Trusted" option in sshd_config file as follows.
sudo vi /etc/ssh/sshd_config
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no
#ForwardX11Trusted yes
Outcome
journalctl -u sshd | tail -100
-- Logs begin at Tue 2016-11-08 17:45:28 HKT, end at Tue 2016-11-08 17:49:45 HKT. --
Nov 08 17:45:47 pc009 systemd[1]: Started OpenSSH server daemon.
Nov 08 17:45:47 pc009 systemd[1]: Starting OpenSSH server daemon...
Nov 08 17:45:47 pc009 sshd[1033]: Server listening on 0.0.0.0 port 22.
Nov 08 17:45:47 pc009 sshd[1033]: Server listening on :: port 22.
Nov 08 17:45:54 pc009 sshd[2296]: Accepted password for user from 10.1.10.111 port 59915 ssh2
2016年11月2日 星期三
SQLite with Java in Eclipse
Download JAR
Download sqlite-jdbc-3.14.2.jar from bit bucket https://bitbucket.org/xerial/sqlite-jdbc/downloads
Create Project
Eclipse > File > New > Java Project > Project Name = SQLiteJDBC
Copy JAR File
Project > Right Click > New > Folder > lib > Right Click > Import > File System > from "Downloads" > select the downloaded JAR file
Add JAR to Build Path Libraries
Project > Right Click > Properties > Libraries > Add JARs
New Class
Project > Right Click > New > Class > Package = "com.sqlite.jdbc", Name = "SQLiteJDBC"
Code
package com.sqlite.jdbc;
import java.sql.Connection;
import
java.sql.DriverManager;
public class SQLiteJDBC {
public static void main(String[] args) {
Connection c = null;
try {
Class.forName("org.sqlite.JDBC");
//c = DriverManager.getConnection("jdbc:sqlite:mdp.db"); //
current directory
c = DriverManager.getConnection("jdbc:sqlite:data/mdp.db"); // data directory
}
catch (Exception e) {
System.err.println(e.getClass().getName()
+ ": " + e.getMessage());
System.exit(0);
}
System.out.println("Opened database successfully");
}
}
Run
SQLiteJDBC.java > Right Click > Run As > Java Application
Opened database successfully
2016年10月11日 星期二
Check whether it is a valid binary search tree or not in 1 line in C++
struct Node {
int data;
Node* left;
Node* right;
}
#include <limits.h>
bool checkBST(Node* root, int min = INT_MIN, int max = INT_MAX) {
return !root || root->data >=
min && root->data <= max
&& checkBST(root->left, min, root->data -
1) && checkBST(root->right, root->data + 1, max);
}
Design Pattern and Idiom
C++
NVI Idiom (Non-virtual interface, by creating a public non-virtual function that calls virtual private function that can be overridden by child class)
Java
"Double-Checked Locking" idiom, by checking null once, locking if null, and double checking null again, then initialize. It seems correct but it just works sometimes because by chance it is possible that thread B access the variable while thread A is locking and is partially creating the object. The correct solution is that after Java 5 the field should be declared volatile. The Java volatile field is equivalent to C++ atomic data member, allowing atomic assignment, and hence when thread B sees the variable it must be atomically fully created.
NVI Idiom (Non-virtual interface, by creating a public non-virtual function that calls virtual private function that can be overridden by child class)
Java
"Double-Checked Locking" idiom, by checking null once, locking if null, and double checking null again, then initialize. It seems correct but it just works sometimes because by chance it is possible that thread B access the variable while thread A is locking and is partially creating the object. The correct solution is that after Java 5 the field should be declared volatile. The Java volatile field is equivalent to C++ atomic data member, allowing atomic assignment, and hence when thread B sees the variable it must be atomically fully created.
tcpdump and tcpreplay on Linux CentOS 7.2
tcpdump
sudo tcpdump -i em1 -nn port 14316
sudo tcpdump -i em1 -nn 'port 14316'
sudo tcpdump -i em1 -nn port 14316 or port 14311
sudo tcpdump -i em1 -nn 'port 14316 or port 14360 or port 15360 or port 14311 or port 15311'
socat
sudo socat STDIO UDP4-RECV:14316,ip-add-membership=224.0.31.28:em1
All below scripts are tested.
Test
316SA
sudo socat STDIO UDP4-RECV:14316,ip-add-membership=224.0.31.28:em1
GC
360SA
sudo socat STDIO UDP4-RECV:14360,ip-add-membership=224.0.31.202:em1
360SB
sudo socat STDIO UDP4-RECV:15360,ip-add-membership=224.0.32.202:em1
311SA
sudo socat STDIO UDP4-RECV:14311,ip-add-membership=224.0.31.23:em1
311IA
sudo socat STDIO UDP4-RECV:14311,ip-add-membership=224.0.31.2:em1
311IB
sudo socat STDIO UDP4-RECV:15311,ip-add-membership=224.0.32.2:em1
311NA
sudo socat STDIO UDP4-RECV:14311,ip-add-membership=224.0.31.44:em1
[quantprod@hkoffice083 dev]$ sudo socat STDIO UDP4-RECV:14311,ip-add-membership=224.0.31.23:em1
2016/10/11 05:00:25 socat[20560] E bind(3, {AF=2 0.0.0.0:14311}, 16): Address already in use
[quantprod@hkoffice083 dev]$ sudo socat STDIO UDP4-RECV:14311,ip-add-membership=224.0.31.2:em1
2016/10/11 05:00:33 socat[20562] E bind(3, {AF=2 0.0.0.0:14311}, 16): Address already in use
[quantprod@hkoffice083 dev]$ sudo socat STDIO UDP4-RECV:15311,ip-add-membership=224.0.32.2:em1
2016/10/11 05:00:42 socat[20564] E bind(3, {AF=2 0.0.0.0:15311}, 16): Address already in use
[quantprod@hkoffice083 dev]$ sudo socat STDIO UDP4-RECV:14311,ip-add-membership=224.0.31.44:em1
2016/10/11 05:00:46 socat[20566] E bind(3, {AF=2 0.0.0.0:14311}, 16): Address already in use
[quantprod@hkoffice083 dev]$
pcap
sudo tcpdump -i em1 -nn 'port 14316 or port 14360 or port 15360 or port 14311 or port 15311' -c 1000 -w 311SA.pcap
sudo tcpdump -i em1 -nn 'port 14316 or port 14360 or port 15360 or port 14311 or port 15311' -c 1000 -w 311IA.pcap
sudo tcpdump -i em1 -nn 'port 14316 or port 14360 or port 15360 or port 14311 or port 15311' -c 1000 -w 311IB.pcap
sudo tcpdump -i em1 -nn 'port 14316 or port 14360 or port 15360 or port 14311 or port 15311' -c 1000 -w 311NA.pcap
sudo tcpdump -i em1 -nn 'port 14316 or port 14360 or port 15360 or port 14311 or port 15311' -c 1000 -w 360SA.pcap
sudo tcpdump -i em1 -nn 'port 14316 or port 14360 or port 15360 or port 14311 or port 15311' -c 1000 -w 360SB.pcap
tcpreplay
sudo yum install tcpreplay
http://tcpreplay.synfin.net/wiki/tcpreplay
sudo tcpreplay --loop=0 --intf1=eth0 capture.pcapng
http://tcpreplay.synfin.net/wiki/tcpreplay
sudo tcpreplay --loop=0 --intf1=eth0 capture.pcapng
2016年10月10日 星期一
How to compile a Gradle project using command line in Java CME MDP 3.0
Example Project:
https://github.com/epam/java-cme-mdp3-handler
PrintAllSecuritiesTest
1. Copy the directory that contains the required jar files from workspace\AAA\build\b2bits-jmdp3-1.0\lib\ to workspace\AAA\bin\lib\
2. You can use below command to include the classpath of the jar files and start the test
java -cp ".;lib/*" com.epam.cme.mdp3.test.PrintAllSecuritiesTest
3. If the config files are not found, you will see below error messages.
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
java.lang.NullPointerException
at com.epam.cme.mdp3.test.PrintAllSecuritiesTest.main(PrintAllSecuritiesTest.java:80)
4. Copy all xml files similar to workspace\AAA\src\test\resources\config.xml to workspace\AAA\bin\config.xml
5. Run the command again
C:\Users\rickypc\workspace\AAA\bin>java -cp ".;lib/*" com.epam.cme.mdp3.test.PrintAllSecuritiesTest
[INFO ] 2016-10-10 15:59:17.940 [Thread-1] PrintAllSecuritiesTest - Channel '311': N feed A is started
6. Notice the below log file will be generated.
Java Market Data Handler for CME Market Data (MDP 3.0).log
Note.
On linux, you need to add the below line to the file /etc/hosts
192.168.10.50 hkoffice083 localhost
SbeParserBenchmark
1. Prepare the file workspace\AAA\bin\dist\pcap\311_AX.bin from workspace\AAA\src\cucumber\sim\data\incr\311_AX_224.0.31.2_17511.zip
2. Run java -cp ".;lib/*" com.epam.cme.mdp3.test.SbeParserBenchmark
or
java -cp ".:lib/*" com.epam.cme.mdp3.test.SbeParserBenchmark
1. Prepare the file workspace\AAA\bin\dist\pcap\311_AX.bin from workspace\AAA\src\cucumber\sim\data\incr\311_AX_224.0.31.2_17511.zip
2. Run java -cp ".;lib/*" com.epam.cme.mdp3.test.SbeParserBenchmark
or
java -cp ".:lib/*" com.epam.cme.mdp3.test.SbeParserBenchmark
5. Run the command again
5. Run the command again
5. Run the command again
5. Run the command again
5. Run the command again
Eclipse
1. Add jar to Project > Properties > Java Build Path > Libraries > Add JARs
2. Add "Resource" folder as class path folder
3.
2016年10月6日 星期四
My CPU List Computer Hardware (2022)
2022
AMD Ryzen 9 3900X HKD$2500
CRUCIAL 8GB DDR4-2666 UDIMM 1.2V CL19 CT8G4DFS8266.8FE1 x 2 RMB$255
MSI B450M MORTAR MAX mATX AMD B450 AM4 4DIMM RTL8111H-CG RMB$220
Intel SSDPEKKF256G8L 3.3V 19JUN2018 NVME RMB$140
Cooler Master GX550 Fully Modular 80 PLUS RMB$160
ASUS GT730-MG-2GD3-V2 RMB$160
SOEYI Acer mATX 300x190x381mm RMB$89
100 RMB to HKD 123
Total = $2500 + RMB$1024 = 2500+1266 = $3766
Desktop
Intel® Celeron® Processor 333 MHz, 128K Cache, 66 MHz FSB Socket 370
AMD Athlon XP 2100+ Socket 462 Thoroughbred
Intel® Pentium® 4 Processor 2.40 GHz, 512K Cache, 533 MHz FSB Socket 478
Intel® Pentium® D Processor 915 (4M Cache, 2.80 GHz, 800 MHz FSB) LGA775
AMD Althon 64 X2 3600+ Socket AM2
AMD Athlon 64 X2 4400+ Socket AM2
AMD Athlon 64 X2 5200+ Socket AM2
Intel® Core™2 Duo Processor E6600 (4M Cache, 2.40 GHz, 1066 MHz FSB) LGA775
AMD Turion II Neo N40L 1.5 GHz Dual Core
AMD A4-5300 Socket FM2
Intel® Core™ i3-2100 Processor (3M Cache, 3.10 GHz) LGA1155
Notebook
Intel® Core™ Duo Processor T2300 (2M Cache, 1.66 GHz, 667 MHz FSB) Samsung X11
Intel® Atom™ Processor N270 (512K Cache, 1.60 GHz, 533 MHz FSB) Asus 1000HD
Intel® Atom™ Processor N550 (1M Cache, 1.50 GHz) Samsung NC110
Intel® Core™2 Duo Processor P8600 (3M Cache, 2.40 GHz, 1066 MHz FSB) Lenovo X200
Intel® Core™ i5-2557M Processor (3M Cache, up to 2.70 GHz) Macbook Air 2011
Work
Intel® Xeon® Processor X5670 (12M Cache, 2.93 GHz, 6.40 GT/s Intel® QPI) BL460c G7
Intel® Xeon® Processor E5-2650 v2 (20M Cache, 2.60 GHz) BL460c G8
Intel® Core™ i7-4771 Processor (8M Cache, up to 3.90 GHz) LGA1150 VirtualBox
Intel® Core™ i5-4440 Processor (6M Cache, up to 3.30 GHz) LGA1150 Windows
Intel® Core™ i3-4150 Processor (3M Cache, 3.50 GHz) LGA1150 Linux
Intel® Xeon® Processor E5405 (12M Cache, 2.00 GHz, 1333 MHz FSB) RS1500SAS
Intel® Xeon® Processor E5520 (8M Cache, 2.26 GHz, 5.86 GT/s Intel® QPI) Dell R410
Working Notebook
Intel® Core™ i5-8250U on Lenovo X1 Carbon Gen 6 from 2018 to 2021
Intel® Core™ i5-7200U on Lenovo X1 Carbon Gen 5 from 2022
2016年10月5日 星期三
Installing CMake 3.7.0 on Windows 10
Installing CMake 3.7.0 on Windows 10
1. Download https://cmake.org/download/ > Platform > "Windows win64-x64 ZIP" > "cmake-3.7.0-rc1-win64-x64.zip", unzip as "C:\Program Files\cmake-3.7.0-rc1-win64-x64"
Note: It seems lucrative to download the common MSI file "cmake-3.7.0-rc1-win64-x64.msi" BUT it is used to install the CMake GUI which is designed to build the binary from CMake source files but NOT for installing the binaries. So DON'T waste your time to download the MSI file.
2. Add CMake's bin folder "C:\Program Files\cmake-3.7.0-rc1-win64-x64\bin" to System Envoronment Variables Path similar to JDK
3. Run cmd.exe > "cmake --version" to verify the installation
C:\Users\rickypc>cmake --version
cmake version 3.7.0-rc1
CMake suite maintained and supported by Kitware (kitware.com/cmake).
1. Download https://cmake.org/download/ > Platform > "Windows win64-x64 ZIP" > "cmake-3.7.0-rc1-win64-x64.zip", unzip as "C:\Program Files\cmake-3.7.0-rc1-win64-x64"
Note: It seems lucrative to download the common MSI file "cmake-3.7.0-rc1-win64-x64.msi" BUT it is used to install the CMake GUI which is designed to build the binary from CMake source files but NOT for installing the binaries. So DON'T waste your time to download the MSI file.
2. Add CMake's bin folder "C:\Program Files\cmake-3.7.0-rc1-win64-x64\bin" to System Envoronment Variables Path similar to JDK
3. Run cmd.exe > "cmake --version" to verify the installation
C:\Users\rickypc>cmake --version
cmake version 3.7.0-rc1
CMake suite maintained and supported by Kitware (kitware.com/cmake).
Installing Gradle 3.1 on Windows 10
Detail also refer to https://www.ibm.com/developerworks/cn/opensource/os-cn-gradle/
------------------------------------------------------------
Gradle 3.1
------------------------------------------------------------
Build time: 2016-09-19 10:53:53 UTC
Revision: 13f38ba699afd86d7cdc4ed8fd7dd3960c0b1f97
Groovy: 2.4.7
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 1.8.0_101 (Oracle Corporation 25.101-b13)
OS: Windows 10 10.0 amd64
Installing Gradle on Windows 10
1. Go to https://gradle.org/gradle-download/, download Binary only distribution, unzip as C:\Program Files\Java\gradle-3.1
2. Add Gradle's bin folder "C:\Program Files\Java\gradle-3.1\bin" to System Envoronment Variables Path similar to JDK
3. Run cmd.exe > "gradle -version" to verify the installation
C:\Users\rickypc>gradle -version------------------------------------------------------------
Gradle 3.1
------------------------------------------------------------
Build time: 2016-09-19 10:53:53 UTC
Revision: 13f38ba699afd86d7cdc4ed8fd7dd3960c0b1f97
Groovy: 2.4.7
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 1.8.0_101 (Oracle Corporation 25.101-b13)
OS: Windows 10 10.0 amd64
訂閱:
文章 (Atom)
2023 Promox on Morefine N6000 16GB 512GB
2023 Promox on Morefine N6000 16GB 512GB Software Etcher 100MB (not but can be rufus-4.3.exe 1.4MB) Proxmox VE 7.4 ISO Installer (1st ISO re...
-
On CentOS 7, using yum install gives you cmake version 2.8.11 [root@thrift1 ~]# cat /etc/*release CentOS Linux release 7.2.1511 (Core) ...
-
Synology DSM 5.2 on Virtual Box Files On my Google Drive "2016DSM5.2" or download link below (3 files total: pat, iso, exe) ...
-
Static ZeroMQ (difficult setup) cd /d C:\ mkdir Repos cd /d C:\Repos\ git clone https://github.com/Microsoft/vcpkg cd /d C:\Repos\v...