Reputation
1,657
Top tag
Next privilege 2,000 Rep.
Edit questions and answers
Badges
8 19
Newest
 Yearling
Impact
~50k people reached

Jan
16
comment What are good habits for designing command line arguments?
The question What is the general syntax of a Unix shell command on Stack Overflow may be of some relevance. My answer there discusses some of the different systems of argument handling nomenclature that have been used on Unix (and elsewhere) over time.
Jan
15
revised What are good habits for designing command line arguments?
Fix trivial typos
Jan
15
comment What are good habits for designing command line arguments?
Are you sure about ignoring all other options if there's a parameter file? It sounds counterintuitive to me, at best.
Jan
15
suggested approved edit on What are good habits for designing command line arguments?
Oct
17
comment Fully Specifying #includes
Track down Google's "include what you use" (IWYU) software — now on Github — for a take that more or less agrees with you.
Sep
25
awarded  Yearling
Jul
18
comment When speaking, how can I say that the time complexity order of an algorithm is O(N log N)?
@SteveJessop: That's certainly what came up via a Google search. I'm not sure whether I'm willing to accept the Google/Wikipedia combo as authoritative, though I have zero doubt that log-linear analysis is as described.
Jul
18
comment When speaking, how can I say that the time complexity order of an algorithm is O(N log N)?
What's the alternative meaning for log-linear? If I wanted a name other than 'N log N', log-linear is the term I'd use.
Jul
3
awarded  Nice Answer
Jun
9
answered Find a line that is closest to scattered points
Dec
23
comment A very simple database system with JSON
Commercial-grade DBMS (not all of which are commercial — some are open source) go to great lengths to minimize the risk of damage. Ultimately, most of them can end up with corrupted on-disk data if you shoot the wrong process with kill -9 or something similar, but they also usually detect and recover because they have logging systems (write-ahead logging, etc) which allow them to spot the problem and recover the status quo ante. That protection is not trivial to implement. Remember, at a big enough scale (enough CPUs, memory, disk), things break — and break at the most inconvenient times.
Dec
23
comment Why is *declaration* of data and functions necessary in C language, when the definition is written at the end of the source code?
Remember that C was originally written on the PDP-11, and that was a 16-bit minicomputer that came with a limit of 64 KiB for the code and another 64 KiB for the data (on the bigger versions with split code and data spaces; for the smaller versions, it was 64 KiB code plus data) and didn't reach 1 Mips. This limited what was possible in ways which people used to multiple GiB of memory have difficulty understanding.
Dec
23
comment A very simple database system with JSON
This is only suitable for a toy system with a single user running a single thread that does anything with the DBMS. Database corruption is inevitable if the program crashes during a write. I'd be reluctant to scale this beyond (say) 1MiB, but I worked on commercial RDBMS for a quarter century, so my views are biassed.
Dec
23
comment Why is *declaration* of data and functions necessary in C language, when the definition is written at the end of the source code?
Note that the first sample code has not been valid, standard-conforming code for the last fifteen years; C99 made the absence of a return type in the function definitions and the implicit declaration of Func_i invalid. There never was a rule to implicitly declare undefined variables, so the second fragment was always malformed. (Yes, compilers do accept the first sample still because it was valid, if sloppy, under C89/C90.)
Sep
25
awarded  Yearling
Sep
15
awarded  Nice Answer
Sep
25
awarded  Yearling
Feb
25
awarded  Constituent
Feb
18
awarded  Caucus
Feb
3
awarded  Analytical