421 reputation
24
bio website
location
age 35
visits member for 3 years, 4 months
seen yesterday

Jul
4
comment Why isn't testing a language a supported feature at the syntax level?
You could also use a language with proofs, such as Coq.
Oct
2
comment What to do when request is sent to server and while waiting for response internet connectivity lost?
Use Case: I typically find out that WiFi is disabled when an app takes long to respond, at which point I enable WiFi to save money. A few seconds later, connection switches to a public WiFi. Your next request is redirected to the login page. I find out that I cannot be bothered, and turn off WiFi again. Upon reconnecting to the mobile network, your app should attempt to resume the transfer rather than restart from scratch.
Oct
2
comment What to do when request is sent to server and while waiting for response internet connectivity lost?
Ah, so your client side IDs are globally unique, not merely sequence numbers to allow command queueing between server and client? In that case, you can use the client ID and a counter to split the transaction across multiple requests, avoiding the round trip at transaction start; my suggestion to split the transfer across multiple requests remains.
Oct
2
comment What to do when request is sent to server and while waiting for response internet connectivity lost?
This way, if a transaction contains partial data on the server, I know that a client exists that knows this ID and tries to complete the transaction, so I can keep the partial state and offer to resume transmission halfway, minimizing bandwidth requirements and removing the need to compare request content to find duplicates.
Oct
2
comment What to do when request is sent to server and while waiting for response internet connectivity lost?
That is also handled. The "commit" transaction is small and uses the transaction ID, so it can be reissued cheaply without retransmitting the data, and the server can either start processing, or return the result from the earlier invocation. This is very similar to what you are suggesting; the difference is that I have a separate request to create the job ID, so I have an additional synchronisation point, so the client can know whether the job already exists without retransmitting the full request.
Oct
2
comment What to do when request is sent to server and while waiting for response internet connectivity lost?
That, or simply doing a short request asking for a transaction ID, then several requests adding data to the transaction (you could split the transfer into smaller chunks here, to get partial acknowledgements), then a final "commit" request. You can then have different timeouts for completely empty transactions (client most likely did not receive ID), partially uploaded transactions, and results (if the client did not receive the results, it may retry the "commit" request).
Sep
3
comment Coding Style for Visually Impaired Programmer
I'd expect modern compilers to optimize the function call hierarchy on their own, so I'd disregard that argument.
Aug
30
awarded  Yearling
Mar
4
comment Why do most issue tracking systems have only single status field?
The QA and release status changes can only happen after the developer has declared that the issue is fixed, so there is no harm in encoding these as addiotional values in the single status field (i.e. Fixed -> Tested -> Released -> Solved).
Sep
24
comment Case insensitive keywords in a language
Note that it is very difficult to make identifiers case insensitive, unless you limit the users to the ASCII character set.
Sep
3
comment Specific reasons for still using Subversion?
It is not so much "need" as convenience. My typical workflow consists of 1. create branch, 2. make changes, 3. test, 4. integrate into mainline. As soon as I'm working on my own branch anyway, I see no point in having to phone home to the server for every action, this just adds unnecessary delays.
Jul
24
answered How to manage a copyright notice in an open source project?
Jun
30
awarded  Commentator
Jun
30
comment My boss decided to add a “person to blame” field to every bug report. How can I convince him that it's a bad idea?
The new field is basically a "notes from the time when the incident was still fresh in our heads" field. Evaluation of procedures can only happen with some experience, and a bug reporting database that has enough data to make statistically significant statements, at which point incidents might be a few months away. This information is vital, even if it is by nature unstructured and must be manually compiled for a report; a name whom blame was assigned to back then is not helpful, because you no longer know whether that was a final verdict or an intermediate result (even if that meant anything)
Jun
12
comment Is it ok to replace optimized code with readable code?
struct abc ... = {} is actually more correct than memset.
Mar
1
awarded  Yearling
Feb
10
answered Is it a good practice to name the returned variable “result”?
Jan
26
comment How to stop the development spec from changing in mid development?
Of course you charge them: every change to the spec delays the release, so your response to a change request should be an estimate of the new release date if the change is added to the spec. Whoever asks for the change is responsible for the delay, and needs to explain it in exactly the same way as one would explain expenditures.
Jan
2
answered Unit testing methods with indeterminate output
Dec
12
answered Why pointer symbol and multiplication sign are same in C/C++?