User Tools

Site Tools


tech:macos:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tech:macos:start [2019/06/15 13:41]
rk4n3
tech:macos:start [2019/11/09 11:13] (current)
rk4n3
Line 23: Line 23:
 <​code>​g++ -std=c++11 -o program program.cpp <​code>​g++ -std=c++11 -o program program.cpp
 g++-7 -std=c++11 -o program program.cpp</​code>​ g++-7 -std=c++11 -o program program.cpp</​code>​
 +
 +
 +<​code>​
 +brew install pkg-config
 +brew install gettext
 +brew install glib
 +export PKG_CONFIG_PATH=/​usr/​local/​lib/​pkgconfig:/​usr/​X11/​lib/​pkgconfig
 +</​code>​
 +
 +<​code>​
 +==> Caveats
 +==> libffi
 +libffi is keg-only, which means it was not symlinked into /usr/local,
 +because some formulae require a newer version of libffi.
 +
 +For compilers to find libffi you may need to set:
 +  export LDFLAGS="​-L/​usr/​local/​opt/​libffi/​lib"​
 +
 +For pkg-config to find libffi you may need to set:
 +  export PKG_CONFIG_PATH="/​usr/​local/​opt/​libffi/​lib/​pkgconfig"​
 +</​code>​
 +
 +
 +=== Portable alternative for getting current time ===
 +<​code>​
 +#include <​time.h>​
 +#include <​sys/​time.h>​
 +#ifdef __MACH__
 +#include <​mach/​clock.h>​
 +#include <​mach/​mach.h>​
 +#endif
 +
 +struct timespec ts;
 +
 +#ifdef __MACH__ // OS X does not have clock_gettime,​ use clock_get_time
 +clock_serv_t cclock;
 +mach_timespec_t mts;
 +host_get_clock_service(mach_host_self(),​ CALENDAR_CLOCK,​ &​cclock);​
 +clock_get_time(cclock,​ &mts);
 +mach_port_deallocate(mach_task_self(),​ cclock);
 +ts.tv_sec = mts.tv_sec;
 +ts.tv_nsec = mts.tv_nsec;​
 +
 +#else
 +clock_gettime(CLOCK_REALTIME,​ &ts);
 +#endif
 +</​code>​
 +
  
 ===== Java ===== ===== Java =====
Line 30: Line 78:
 <​code>​ <​code>​
 brew tap AdoptOpenJDK/​openjdk brew tap AdoptOpenJDK/​openjdk
-brew install <​version>​+brew cask install <​version>​
 </​code>​ </​code>​
 Where version is: Where version is:
-  * ''​adoptopenjdk-openjdk8''​ +  * ''​adoptopenjdk8''​ 
-  * ''​adoptopenjdk-openjdk9''​ +  * ''​adoptopenjdk9''​ 
-  * ''​adoptopenjdk-openjdk10''​ +  * ''​adoptopenjdk10''​
  
  
Line 50: Line 97:
 | |CELLAR_HOME/​jmeter/​3.1/​libexec/​lib | | | |CELLAR_HOME/​jmeter/​3.1/​libexec/​lib | |
 |Configuration folder |CELLAR_HOME/​jmeter/​3.1/​libexec/​bin | | |Configuration folder |CELLAR_HOME/​jmeter/​3.1/​libexec/​bin | |
-With the following constants:+With the following constants: ​\\
 ''​JMETER_HOME'':​ JMeter’s home, usually like ''/​home/​ubuntu/​jmeter-5.x''​ \\ ''​JMETER_HOME'':​ JMeter’s home, usually like ''/​home/​ubuntu/​jmeter-5.x''​ \\
 ''​CELLAR_HOME'':​ should be ''/​usr/​local/​Cellar''​ ''​CELLAR_HOME'':​ should be ''/​usr/​local/​Cellar''​
  
 +===== Locust =====
 +  * ''​curl -O https://​bootstrap.pypa.io/​git-pip.py''​
 +  * ''​chmod 755 get-pip.py''​
 +  * ''​sudo -H ./​get-pip.py''​
 +  * ''​sudo -H pip install --ignore-installed six''​
 +  * ''​sudo -H pip install locustio''​
 +
 +====== Trivia ======
 +
 +===== CLI Tips + Tricks =====
 +
 +==== Pretty-Printing ====
 +=== Pretty-Print JSON from a file ... ===
 +<​code>​cat unformatted.json | python -m json.tool</​code>​
 +=== Pretty-Print JSON from the clipboard ... ===
 +<​code>​pbpaste | python -m json.tool</​code>​
 +=== Pretty-Print XML from the clipboard ... ===
 +<​code>​pbpaste | xmllint --format -</​code>​
 +
 +===== Desktop/GUI Tips + Tricks =====
 +==== Resize a window to 1920x1080 ====
 +Open ''​Applications''​ -> ''​Utilities''​ -> ''​Script Editor'',​ paste this, and hit the play button:
 +<​code>​
 +tell application "​Firefox"​
 + activate
 + set the bounds of the first window to {100,​100,​2020,​1180}
 +end tell
 +</​code>​
  
  
tech/macos/start.1560624074.txt.gz · Last modified: 2019/06/15 13:41 by rk4n3