20,478 reputation
14083
bio website thehungersite.com
location United Kingdom
age 46
visits member for 3 years, 6 months
seen 39 mins ago
experienced software engineer with many years in the industry, mostly c++ for large-scale, high-reliability systems.

Oct
16
comment When does one hard-code actual data values into the code as opposed to using a DB?
@Dunk a ini file was a suggestion for the truly simplistic config files, anything greater than that is best served by an embedded SQL DB - SQLite is awesome, or Microsoft's LocalDB for example. XML might be a middle-ground, but I often see them turn into monsters, and you still have to write some parsing code for an XML schema, especially when you start to nest those elements.
Oct
16
comment Working Scrum on Hundreds of Projects, Platforms and Languages
To be fair, Agile is supposed to have teams that are "less accountable, more working for yourselves", as long as what gets delivered fulfills the customer's requirements, this is how Agile is supposed to be. Too bad that most "agile" shops have more bureaucracy than most heavyweight processes.
Oct
16
comment When does one hard-code actual data values into the code as opposed to using a DB?
@mcottle nothingis a substitute for organisation. I worked at a place that would update the DB directly... and no-one quite knew what half the data in there meant after time. How do you deal with script-based input data? By dropping the DB and running the scripts to populate the test DB every time you release a new version. Its not difficult to keep on top of changes in there, especially if you have SCM history to tell you whats changed. And seriously, its much easier than having to do the same thing with data stored in XML files!
Oct
16
comment When does one hard-code actual data values into the code as opposed to using a DB?
@mcottle fixed data entered into your RDBMS can be stored as a SQL script of insert statements. This can happily be version controlled. too. Frankly, if you need a single local file for config, you should be considering SQLite anyway. A XML config file is always a worse choice than a really simple "ini" file for simple stuff, or a DB for more complex stuff.
Oct
15
comment Benefits of using Unity vs. Native code for a mobile app
I guess the people saying Unity is the way to go are people who have an interest in promoting Unity, not your needs. Native is always the way to get best performance out of your code. I hear a lot of people are using OpenGL UIs on top of LLVM-based native code, listen to me instead :-)
Oct
13
comment How do you solve issue of consistency in concurrent and distributed application (built around Bankers Dilemma)?
The same way - if you cannot lock all participants (and many times you cannot) then you need a reciprocating system such as this. Obviously it depends on your data, systems and access mechanisms. For example- move file, you can move the file to destination and then delete the original - but if you cannot delete the original after copying you can delete the destination. Many file systems do similar - changes go to cache, and a log. If your drive crashes before the cache is flushed the log is used to ensure file consistency by writing the changes or dropping them (eg compare FAT v NTFS).
Oct
9
comment Codifying architecture in requirements
If the modules map to hardware modules, then it seems quite reasonable to have these requirements!
Oct
9
comment OpenLDAP as tree database
see the link to ldapsearch. I've not ever thought about the OU,CN bits at all as I've only ever used it for user management. Try asking a more specialised question on ServerFault, you'll get more admins who might be able to answer regarding queries, organisation, performance and scalability. Personally, I'd write a custom DB for this using something like a routing engine.
Oct
9
comment Codifying architecture in requirements
I'm not sure why the reference to processing power is there then. I suppose you could treat the modules as logical components, not physical ones then. Put the functionality in namespaces regardless of which dll or exe they get built into.
Oct
6
comment On GitHub, etiquette and pull requests
1. create new github user, fork your own project, make changes, switch to old user, make pull request, switch to new user and see if there's any notification. or... contact github support :)
Oct
6
comment What should I do in C++ when implementing a container class: storing objects by value or by reference?
don't put raw pointers in containers - especially for a newbie. Stick to shared_ptr or unique_ptr for safety, then the issue becomes one of stack v heap allocation of objects (and yes, prefer stack)
Oct
3
comment Do we need to test 32-bit software in 64-bit Windows?
err. yes, sorry - when a "all CPU" platform was used, the resulting binary worked fine on a 32-bit dev box but the exact same binary failed horribly when put on the 64-bit server. You can spend a lot of time checking the application's configuration data in such cases.
Oct
3
comment Do we need to test 32-bit software in 64-bit Windows?
The biggest issue we had was running with other 32 bit libraries, .NET would simply fail to load them when run on a 64-bit machine.
Oct
3
comment Is there a 'standard' SQL that can replace all the various custom versions?
You can level the same argument against any standard, be it HTML, OpenGL or C. The fact that its difficult to make 1 thing fit every vendor's desire for differentiation doesn't mean its not a good thing to have.
Oct
2
comment When does it make sense to compile my own language to C code first?
@RobertHarvey no, I mean C code. In the OPs case, this is an Intermediate Language halfway between his own high-level language and machine code. I put it in quotes to try and convey this idea that its not IL as used by many people (ie Microsoft's .NET IL for example)
Oct
2
comment When does it make sense to compile my own language to C code first?
@emodendroket Microsoft is using their C++ compiler backend to compile C# IL into machine code themselves now. The OP would be advised to skip the middleman.
Oct
1
comment Context Switching behavior?
my point was that thread 1 will run for 10ms, and then be interrupted and thread 2 runs for 10ms. However, in reality, thread 2 will be blocked and so thread 1 will not need to be switched at all. The difference is in the time taken to switch between threads, if you only run t1, there will be no delays due to switching.
Oct
1
comment Context Switching behavior?
Every time the CPU changes from running one thread to a different one, there will be a context switch. If you have 1000 threads all trying to run at the same time, there will be more switches as the scheduler tries to satisfy each one of their requirement for CPU time. With 2 threads, the same will happen. But in the real world, one of the 2 threads will be in a blocked state and so the thread 1 will never be interrupted and generate no context switches.
Sep
28
comment The need for header file when including libraries?
you need the header for the compile stage; and the library during the link stage.
Sep
25
comment Is Testing a necessary part of Agile methodology?
when customers stop filing bug reports? :-)