|
I haven't used one either, but I think your characterization is accurate. My point was intended to mean that I wish I had been using one on many occasions.
|
|
|
|
|
May I please inquire what is meant by a "live" system. Is it that which is in the hands of final users? If so is not the logging performed by a time travel debugger in such a situation equivalent to any logging which might otherwise occur? Best Wishes - Cheerios
|
|
|
|
|
Yes, by "live system", I meant one in the hands of an end user. There's no way anything like a time travel debugger will be running on such a system. For one thing, it would cause it to run way too slow. Even if it didn't, how many users would let you connect to their system to do debugging? Their system would have to sit there, halted at a breakpoint that you were previously allowed to set, until you could do your debugging. And then you'd be dealing with a release build, and they're a total buttpain to debug because of compiler optimizations, no symbol tables, and so forth.
|
|
|
|
|
ah, yes, another religious discussion!!
printf, nothing else than printf.
I'd rather be phishing!
|
|
|
|
|
logging *is* religious which is fine. it's why I asked the question. I'm going to grab all these comments and see how I can fold the ideas into something useful.
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
Greetings and Kind Regards May I please inquire how you spend your time while your project is building? As for myself I twiddle my thumbs or watch a portion of a Star Trek episode or stream music or merely surf Cheerios
|
|
|
|
|
Well, I work on three other projects, defrag my hard drive, brush my teeth...
Depending on how big the system is, most of us scratch ourselves. Anyone want to back me up?
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
What's your build time?
As a C# developer working with Visual Studio it's pretty much instant, so I guess I let out a sigh of relief that I didn't get any build errors
It takes a little longer on the build server, but I'm not really interested in waiting for that so I just continue to work as usual.
It's not like I'm out of work after every commit I make to my build server
|
|
|
|
|
It is time you to move on to some serious project...
To check a simple feature the build is instant, but a full version build is almost 15 minutes - fortunately it is done on a build machine so I have time to do other things on my computer...
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
|
|
|
|
|
I don't think I want to work on those kinds of projects
I have 5 minute builds, but only on the build server, those are still instant on my machine.
Most of those five minutes are downloading NuGet packages anyway.
I've worked with longer builds in the past, but those were mostly badly designed applications or multiple services in a single repository.
For one project I had a really long local build, like 30 seconds, and I don't think I've ever figured out what the problem was
|
|
|
|
|
I absolutely agree. I have several programs ERP, Production (this one interacts with AutoCAD), Maintenance, Human Resources, a MySQL - MariaDB query browser,... and when working on one of them compiling time never takes more than 10 secs (ERP or Production). These two have close to 700,000 lines of code each.
I have a Core I7 8 core 9th generation processor, 32 GB RAM, 6 GB graphic card (useless for compiling). When I am using my home laptop for the same task, its about one and a half minutes.
So I think the time required for long compiling times are several things. The power of the developing machine; the number of lines to be compiled; the number of external DLL, .h,... to be linked, etc. But definitely, the machine is a VERY IMPORTANT one.
My 2 cents.
Work hard and honestly and you will be rewarded by your own satisfaction.
|
|
|
|
|
The question is: Have you made yourself dependent on the results of that 15 minute build to go on with your next task?
If you deliver a submodule that is syntactically correct, passes basic (read: fast) module tests, and honors all external interfaces, chances are that the best you can do is to go on to the next bug fix or functional extension, without waiting for the system build to tell you that everything is OK.
|
|
|
|
|
trønderen wrote: Have you made yourself dependent on the results of that 15 minute build to go on with your next task?
Absolutly not... That would be a disaster... The big build initiated when someone aprove a pull request an it blocks noone and nothing...
I can move to the next task or even more take a break
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
|
|
|
|
|
What is "serious" project? The place where you drop billion classes and believe it will work?
Man, I made "serios projects" like security system for access control (fingerprints, face recognition, NFC cards, locks, zones, etc). There was enough code, but hell... none of my projects compiled above 3 seconds! Maybe because I used C# ?
Pity C++ boys... they use ugly language with ugly ideas in compiler and have to wait minutes on elementary projects.
|
|
|
|
|
In this context 'serious' was there to pull OP's leg...
This project has C# and JavaScript and made of several steps, the most time wasted on the Angular compiler (2/3) and on the minifing/combining process of JS and CSS...
The big project itself made of nearly 200 separate projects, and while on my local machine I may compile a handful the most (several seconds) the background build compiles all of them to create a homogenous build that at the end deployed to a test server...
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
|
|
|
|
|
Are you using punch cards?
|
|
|
|
|
No I do not use punch cards I prefer negative entropy time crystals
|
|
|
|
|
This is one of the reasons every time I quit smoking its coding that gets me started again.
Especially now that I don't have to worry about build times anymore because my machine is so fast, but I have to upload megabytes of firmware code via serial UART at only 921600 baud every time i make a change or two. That gives me just long enough of doing nothing that a smoke break is perfect.
This is going to be the death of me.
Real programmers use butterflies
|
|
|
|
|
I quit smoking every day - if it wasn't so enjoyable ...
"I didn't mention the bats - he'd see them soon enough" - Hunter S Thompson - RIP
|
|
|
|
|
Depends on what you smoke, I presume.
|
|
|
|
|
Technically I've switched to vaping. I hate the smell of cigs, and vaping scares me so i was hoping it would keep me from doing it long term. Time to quit again.
Real programmers use butterflies
|
|
|
|
|
Nag - Nag, Quit. My wife's mother at 72, her sister at 46!! COPD. Ugly.
( Note, I have been told that ridiculous doses of B vitamins make nicotine taste awful. )
Good luck.
( Who was it that took up tending a plant in his pipe? )
|
|
|
|
|
Yeah I will quit again. I just haven't figured out how to not smoke and code at the same time yet. I haven't done that since I was like 16.
Real programmers use butterflies
|
|
|
|
|
My first autopsy was a 64 year old fellow with Black Lung
My second autopsy was a 48 year old who had been smoking since age 15
If I showed you a photo of both these fellows you could not tell much difference
But I guarantee you who smoke or vape would quit
My build times are about 30 sec on a Windows 7 64 bit 64 bytes or RAM i7 Xeon 3.2 processor
but I only use Visual Basic Net with SQLite Data Base
|
|
|
|
|
I consider it a non-issue.
If you have a proper IDE and build system, and not the least: a well designed project structure, you modify and develop your submodule with incremental compilation and linking of that submodule.
Absolute rule: You never commit any code that is not syntactically correct or violate coding rules (lint style, or whatever you use for static code analysis). If your system is well structured, and your tools are good, you might spend the time having another sip of coffee, not much more.
Good rule: The commit process includes running basic module tests - a subset that runs through all relevant functions of a 'normal' code run, although not with the full set of all corner case inputs.
So you commit your code, knowing that on the build servers, it will not cause any syntactic errors, and no logical errors for the standard usage cases - at least not at the module level.
What do you do? You go on to the next issue to be handled. The next bug to be fixed, or next extension to be implemented. If it turns out that the complete project build causes errors that are not of an integration kind, then you certainly should have a look at your tool setup. That shouldn't happen.
Even for lots of integration issues, usually a lot could have been detected pre-commit. Details depend a lot on IDE/build tool details. And, of course on discipline within the development team, e.g. regarding header files, if you use such a language. Treating interface definitions as immutable. Things like that.
I am not talking about common practice. More like an ideal. But 'best practices' working habits can get you quite close.
|
|
|
|