What to do when compiling/building/deploying? [closed] - deployment

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
What to do when there is a task in the code-compile-debug cycle during which only the computer is working?
With embedded development such task is Downloading the hex to flash, also compiling. It takes somewhat less than a minute, but feels extremely boring when you have to do it several times in half an hour. How to spend the time so that I wouldn't loose the problem/program from my head, but also wouldn't feel bored waiting?

Multitask. Either start working on the next module of code while testing the last, or answer emails, read datasheets, etc. If you get the opportunity to work on team developing a chip you can easily end up with 30-45 minute simulations. Sometimes you spend that time wading through the waveforms from the prior sim, but sometimes the thing you were looking for in the prior sim takes only a few minutes and you realize what you have to do for the next sim.
Basically be able to multitask, work two or three problems or modules of code at the same time, while waiting for one to execute a test, be coding the other one or few.
Another answer may depend on where this embedded code is going, usually embedded code needs/wants to be more robust, more reliable, than normal applications. So you could spend that time carefully verifying that your code is doing exactly what it is supposed to, even though you are pretty sure you know where all the bits are in a register, go back to the datasheet for that peripheral and verify you have put the correct bits in the correct place, and the datasheet doesnt have comments like you must leave this bit as found (in this example a read-modify-write is required instead of a simple write).

Related

Why is Perl market position in server-side scripting so low, even less than Java? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
As per the article at W3Techs, Perl ranks the lowest among the server side scripting languages, even less than Java? Is there any reason behind it? Perl, as far as I see, is very popular, and an awesome language, how come it is hardly used by websites? Does it have issues with server side scripting?
This article has a lot of details on how W3Techs gets their data: http://w3techs.com/blog/entry/usage_of_perl_for_websites_fell_below_1_percent
As i did some analysis on this, let me summarize in short that the data presented by W3Techs is deeply flawed and extremely misleading. First off, it is important to know that they detect technologies of sites by running simple scripts at them that look for file suffixes in urls and then just take that and never verify with the site owner. As such they have a "no-detect" rate of 17.6% (plus an unknown "false-detect" rate). A more correct version of their chart would be this:
If you'd like to get more details and more mistakes in their data methodology, please take a look at the comments of the article, especially those written by "Mithaldu" or "Christian Walde", i.e. me. I posted extensively there as to why their data is nearly useless and why they're even misinterpreting the data they do have.

What may I benefit from switching my development platform to VIM, what may I lose? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
When I first learned to program I learned to do so with an IDE, and that has stuck with me until recently. The last few months I have been using gedit for a web based project and while the project turned out quite well (check it out here), I felt like gedit didn't provide anything extraordinarily useful. As of now, my two favourite IDE's are Eclipse and Qt Creator. On my laptop (a Zenbook running Ubuntu) Qt Creator starts in one second and Eclipse starts in five, so performance is not an issue. So what would I lose from switching to VIM and what could I gain?
It's not about how fast it starts, although it does indeed start faster. It's about how fast you can edit. By never taking your hands off the keyboard you gain huge amounts of speed and priceless inner peace. You also step into the wonderful world of command line bliss. Things are literally black and white (well, if you wanted them to be). It makes life simple... efficient... fun. Once you go mouseless you never go back.

Multi-party Real-time GPS tracking for IOS [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I am looking for a way to do real-time tracking of multiple vehicles (with iphones) at a time.
Instamapper is close to what I need - I can install the app to run in the background of driver IOS devices and then capture the GPS through the instamapper API. However, the updates are not quick enough - only 1 every 10 seconds. I believe I would like to sample one time per second or more.
I ran across this today - http://www.vworkapp.com/ - It is a paid app, looks interesting, although I was concerned because there did not seem to be many existing customers using the product based on the app store reviews.
I like Glympse for my personal use, but they do not have an API yet.
Any suggestions on existing IOS products that accomplish this functionality? If not, any source code that is close so I can make required tweaks?
It's not likely that you really need that much info about vehicles other than your own.
Most apps which show movement in maps interpolate between points of much coarser data. This is why your car often appears to go the right direction for a moment, even if you go the wrong way when following GPS. Movement displayed is predicted by previous data, and corrected when new data contradicts predictions.
Go ahead and update your own device a bunch, cause the battery drain is your only factor to consider. For everyone else, calculate velocity (that's speed and direction together), and use it to update your info on their vehicles smoothly.

What are good criteria for grading programming assignments? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm going to be teaching a scripting and tool development class to a group of 3D animators. In amongst teaching them coding fundamentals, I plan to have them pick a repetitive task they must perform frequently and have them iteratively develop a tool to automate or simplify this task as an assignment.
What I'd like to know are some criteria that can be used for grading programming assignments such as these? Some of the criteria I came up with were:
Does It Work - Does the tool perform it's task, does it break on certain cases, etc.
Code Cleanliness - Has the code been properly indented, is their coding style consistent, etc.
Documentation - Are functions well documented, are any "clever" bits of code commented, is it under-commented or over-commented, etc.
Efficiency - Has the script been optimized to run quickly, has a lot of unnecessary optimization been done on a task that isn't run very often, etc. (This one I'm not going to put to much emphasis on since these aren't professionally developed tools usually the tool working is more important than speed)
Are there any others?
Clarity. It's important that their code be comprehensible to anyone competent who should chance to open the file.
Does the way the student went about the exercise indicate that they have paid attention to what was taught in class?
You are right to look beyond "does it work"; look for general approach and "craftsmanship".
Do you teach the importance of testing? Look for test cases.
If they had freedom to choose their tools, did they choose wisely?
(no plagarism, obviously)
Are the invariants documented? Are there any unit tests?
Is the entire script broken up into modules or other units of about the right size?
(The inability to break up codes of over 100 lines is a bugbear of beginning programmers.)
Tell Them how it is going to work in terms of file locations etc. Provide one set of data for Them to test ón and another for testing their solutions.

How to add a new feature to an existing component? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
We have this legacy image viewer component in our project that's working fine but it's source is a real mess. I have to add a new feature to this component so that people can add annotation to images using a light pen which is not a complicated task per se but could be a nightmare dealing with our existing code.
I'm really confused right now I don't know where should I start . do I have to refactor the existing code?if not what else can I do?
So here's my question: What could be the best (less painful) approach dealing with such situations?
The question is not an exact duplicate, but this exact same answer applies (you just have a list of one change)
https://stackoverflow.com/questions/1386824/hired-as-a-developer-to-maintain-and-update-current-code-base-no-docs/1386844#1386844
Write lots and lots of tests that will allow you to verify that changes you make to the system do not change or break existing functionality.
These tests are like the brace-work that is used to support a physical building when a construction crew is doing reconstruction. That brace-work is used to keep the existing infrastructure intact. You need to preserve the infrastructure of your system with as many unit and integration tests as you have time to write.
These tests will allow you to make small, iterative changes to the system and easily verify that those changes still maintain the expected behavior.
You should read this very good article Big Ball of Mud. And for your answer we all get a big ball of mud at some point and we need to add new functionality to it. Re-factoring such a code is not a good idea since it require alot of testing. But adding few new lines will not harm it. So unless you have alot of time and so does the tester just add the new functionality to your existing code. Although the current code look messed up but remember it works and tested. Read the article and makeup your mind as to which approach is good.