27,135 reputation
25496
bio website thehungersite.com
location United Kingdom
age 46
visits member for 4 years, 1 month
seen 11 hours ago
experienced software engineer with many years in the industry, mostly c++ for large-scale, high-reliability systems.

11h
comment Are There Tools for Statically Evaluating C++ Functions for Side Effects?
@Giorgio possibly - I think the compiler should be clever enough to get past such naughtiness. You can const_cast a const object and then call a method that modifies its state, but I think it would still prevent you from modifying members inside a const function. Its not perfect, but it gives the OP a bit of a start.
11h
answered CI Server vs Build Server
11h
comment Are There Tools for Statically Evaluating C++ Functions for Side Effects?
@calben const correctness is your friend if you want to make a more rigorously defined program, many people don't use it enough because it can be annoying when the compiler tells you you're violating your own restrictions!
11h
comment Are There Tools for Statically Evaluating C++ Functions for Side Effects?
@Doval turns out you can modify members, if you specify them with the mutable keyword.
11h
comment Are There Tools for Statically Evaluating C++ Functions for Side Effects?
@Doval I don't recall fully either :) but const at the end of a function definition prevents it from modifying class members. Not sure about globals though!
12h
answered Are There Tools for Statically Evaluating C++ Functions for Side Effects?
1d
comment Does there exist a programming language that is designed to be spoken instead of typed?
@MichaelT we are a crowd-source search engine! Every question asked here could be answered with time to read enough articles and references from google searches. All my knowledge came from Google, or its pre-Google equivalents (ie books).
1d
comment Does there exist a programming language that is designed to be spoken instead of typed?
COBOL was designed to be more English-like than scientific, hence constructs such as MOVE Anthony TO USERNAME. But, just like English, it still requires punctuation.
1d
comment .NET solution dependency workflow for a small dev team
You can certainly use NuGet... so why don't you? Oh, wait you already said why not. You can just checkout and build Core locally as needed, which is probably just as good and much easier until your system gets so complex that the management overhead of Nuget (or other build-server based system) becomes worth it.
1d
answered .NET solution dependency workflow for a small dev team
1d
comment What are standard directory layouts for source code, other libraries, build scripts, etc.?
@Ptolemy there's no reason svn uses those 3 except that its a convention that reflects the 3 areas people store stuff in their SCMs, regardless of tooling. Microsoft calls them Main, Dev and Release in their docs, but they're the same thing. git uses master, develop and release ... I think Ken just got directory layout and SCM branches confused in his answer.
2d
comment Obfuscated/Non-readable file format - C++
Do you want the binary itself obfuscated, or some other file that is loaded by the exe? The easiest (and best) way is to encrypt it so only the OS can decrypt it, the key being stored per authorised user. Otherwise, everyone can eventually de-obfuscate your program.
May
25
comment A new name for unit tests
@PeteKirkham the corollary of that is that you need to write a large number of unit tests and then also write the integration tests to make sure the unit still work with each other. The places I worked that were very fond of unit tests spent so much time writing (and maintaining) them that they dwarfed the codebase, and the amount of work they did was tiny in comparison to what I achieve outside that environment. Nothing is a magic bullet, I recommend trying to find a more pragmatic approach that gives you both test coverage of the important bits while also producing something.
May
22
comment Should points of tech debt be counted in a team's velocity?
@BryanOakley or maybe we can just say Scrum (with its pigs and chickens, sigh) isn't really agile :)
May
22
comment Hybrid Mobile Application or Web with native containers?
Without editing, its about opinions, and opinion-based questions are off-topic!
May
22
comment Should points of tech debt be counted in a team's velocity?
how can you fail a sprint? If you mean "not completing all the work assigned to it" then my only comment can be that the sprint failed the team. Time to drop such ideas and start being agile!
May
22
comment Deferred execution of Dispose for IDisposable objects
@rwong crikey. Finalizers are worse than I thought - and I thought they were pretty bad.
May
22
comment Resetting vs. re-sending forgotten passwords
@PhillW. TBH if anyone has gotten access to your DB they can slowly decrypt those passwords at their leisure (which takes less time than you think nowadays, especially with rainbow tables and similar techniques). The real flaw is letting them get access to your DB, not the password storage format. (of course, you should still encrypt the passwords just to add another layer, but doing this isn't a solution in itself)
May
22
comment Where should my team start with becoming “modern”?
@jpmc26 true, and the same can be said for "fixing things that aren't broken". As with everything there is a middle ground where improvements can be made without being for their own sake (or rather, his CV). The OP wanted to put all those things in because he had heard good things about them, not because there were problems to be solved using them. None of us can give consultancy work on the OPs exact situation, so we give guidelines where to go. None of these answers should be considered holy writ, hence my point of gaining experience enough to know when to use them.
May
21
comment Should I use BLOB or Tables for storing large data?
@ddalton you're not hooking the web UI up directly to the DB and presenting data as Oracle Forms (or whatever) are you? Do you have an application tier in between the DB and the web client? I'm still not sure how putting a BLOB in a DB column will help - you either need the data contained in the excel doc, or its just a opaque object. The latter doesn't need to be part of any display.