bigtrakzapzap
Joined 7 years ago
Joined 7 years ago
- strtok -> strtok_r / strtok_s
- asctime -> strtok_r / strtok_s
- gmtime -> gmtime_r / gmtime_s
- localtime -> localtime_r / localtime_s
- ctime -> ctime_r / ctime_s
- dirname -> dirname_r
- basename -> basename_r
- devname -> devname_r
- readdir -> readdir_r
- ttyname -> ttyname_r
- gamma -> gamma_r
- lgamma -> lgamma_r
- lgammaf -> lgammaf_r
- lgammal -> lgammal_r
- atoi -> atoi_l
- atof -> atof_l
- atol -> atol_l
- atoll -> atoll_l
- gets -> gets_s
- scanf -> scanf_l / scanf_s
- fscanf -> fscanf_l / fscanf_s
- sscanf -> sscanf_l / sscanf_s
- tmpfile -> tmpfile_s
- fopen -> fopen_s
- getenv -> getenv_s
- strdup -> strndup
- strcmp -> strncmp
- strlen -> strnlen
- (Multibyte/wide conversion functions without mbstate_t parameter)
- wcslen / wscnlen -> wcsnlen_s
- wcsncasecmp / wcscasecmp_l / wcsncasecmp -> wcsncasecmp_l
- strcasecmp / strcasecmp_l / strncasecmp -> strncasecmp_l
- bzero (use explicit_bzero, in some cases)
- calloc, realloc -> reallocarray (for arrays of non-byte items)
- memmove -> memmove_s
- strncat -> strncat_s
- strncpy -> strncpy_s
- srand / rand -> rand_r
There are others that are platform-specific. Thread-safety, internal mutable state (not thread-safe), and buffer-overflows are the primary concerns that aren't necessarily applicable in all situations.
Another book on the TPS: https://www.amazon.com/dp/0915299143
I would look beyond books to seek out great organizers, leaders, and organizations in manufacturing. Dell is another good example. There are many others spread around the world.
Speaking of history and the Cold War, a worthy docuseries to face some uncomfortable facts of the US' post-WW2 behavior: Oliver Stone's Untold History of the United States. Even Gorbachev wrote an opinion on the subsequently-released book.
I'd suggest focusing on one of Go, Rust, Haskell, Elm or Elixir in addition to the customary C++17 or Java/Kotlin... and get some useful packages up on open repos.
Being able to dump structured information out of an exception directly into a log, and then from a log into a database, without any loss of information or extraneous log parsing, is a clear win. Or from a command as simple as listing files ("ls") into a database or into any other tool or program. Outputing only line-oriented strings is just throwing away type information, and creates more work for everyone else, even more so than continuing to stay with lines processing tools.
https://www.wikimatrix.org
http://wiki.c2.com/?TopTenWikiEngines <- origin of the word "wiki" ( http://wiki.c2.com/?WikiWikiWeb )
Having setup the whole Atlassian on-prem SSO suite of apps on Linux with Git and LDAP talking to AD on Windows, it depends on your needs, as there are a variety of different wiki/collaboration solutions with different capabilities. I've also used these:
- Dokuwiki (very simple, text file-based)
- Mediawiki (LAMP / database-backed)
- SharePoint (MS $$)
- Quip
Others to look at (including sometimes CMSes)
- OneNote
- Liferay
- Drupal
- Statamic
- WordPress
Also, Confluence has tons of plugins for customization and can be made to be fast with proper configuration.