{"action":"created","issue":{"url":"https://api.github.com/repos/nodemcu/nodemcu-firmware/issues/873","labels_url":"https://api.github.com/repos/nodemcu/nodemcu-firmware/issues/873/labels{/name}","comments_url":"https://api.github.com/repos/nodemcu/nodemcu-firmware/issues/873/comments","events_url":"https://api.github.com/repos/nodemcu/nodemcu-firmware/issues/873/events","html_url":"https://github.com/nodemcu/nodemcu-firmware/issues/873","id":123646123,"number":873,"title":"A new year wish list for core firmware activities","user":{"login":"TerryE","id":690173,"avatar_url":"https://avatars.githubusercontent.com/u/690173?v=3","gravatar_id":"","url":"https://api.github.com/users/TerryE","html_url":"https://github.com/TerryE","followers_url":"https://api.github.com/users/TerryE/followers","following_url":"https://api.github.com/users/TerryE/following{/other_user}","gists_url":"https://api.github.com/users/TerryE/gists{/gist_id}","starred_url":"https://api.github.com/users/TerryE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TerryE/subscriptions","organizations_url":"https://api.github.com/users/TerryE/orgs","repos_url":"https://api.github.com/users/TerryE/repos","events_url":"https://api.github.com/users/TerryE/events{/privacy}","received_events_url":"https://api.github.com/users/TerryE/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-12-23T11:53:33Z","updated_at":"2015-12-26T04:30:35Z","closed_at":null,"body":"II just wanted to float this as a general discussion for committers and our regular contributors to brainstorm some ideas for activities that we might consider for a first quarter improvement programme.   I have three that I haven't got open issues for but would be interest in feedback on.\r\n\r\n*    **Dumping dead code**.  When zeroday did his first port of eLua, varoius chunks of code were `#ìf 0` commented out and also blocks of `//`.  OK some like the debug and math functionality might be reintroduced at a later stage so maybe this merits being left, but a lot is literally fossil code.  My view is that we should have a policy of getting rid of this from tghe current working source, and use git diff etc for looking at code archaeology.\r\n\r\n*  **Simplify unnecessary prefixes**. We've the `c_` prefixes for the string routines, We've `malloc`, `c_malloc`, `os_malloc`, `mem_alloc`, etc. these are mostly synonyms  for their equivalents.  I would prefer the firmweware just to stick to the standard `strlen`, `malloc` etc.  In terms of mallocing we should only have a a separate name if we want different functionality for example `luaM_malloc(L,t)` does a malloc but throws a Lua error if the malloc fails.  It would really make working with the firmware base a lot simpler if we didn't have all of these redundant synonyms around the place.\r\n\r\n*   **Tidy up the  `app/driver` ISR code**.  Some of these modules have functions that have nothing to do with ISRs or realtime functionality (e.g. the ow crc routines).  IMO, these modules should only contain the true core time-critical stuff in them -- absolutely the minimum needed here,  and in this case there is a good argument for moving them into `iram1` to guarantee that we aren't getting flash cache miss and non-aligned memory access exception handler overheads impacting timing.\r\n\r\nAny other suggestions / wants and any volunteers willing to step up and do the work?"},"comment":{"url":"https://api.github.com/repos/nodemcu/nodemcu-firmware/issues/comments/167276751","html_url":"https://github.com/nodemcu/nodemcu-firmware/issues/873#issuecomment-167276751","issue_url":"https://api.github.com/repos/nodemcu/nodemcu-firmware/issues/873","id":167276751,"user":{"login":"TerryE","id":690173,"avatar_url":"https://avatars.githubusercontent.com/u/690173?v=3","gravatar_id":"","url":"https://api.github.com/users/TerryE","html_url":"https://github.com/TerryE","followers_url":"https://api.github.com/users/TerryE/followers","following_url":"https://api.github.com/users/TerryE/following{/other_user}","gists_url":"https://api.github.com/users/TerryE/gists{/gist_id}","starred_url":"https://api.github.com/users/TerryE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TerryE/subscriptions","organizations_url":"https://api.github.com/users/TerryE/orgs","repos_url":"https://api.github.com/users/TerryE/repos","events_url":"https://api.github.com/users/TerryE/events{/privacy}","received_events_url":"https://api.github.com/users/TerryE/received_events","type":"User","site_admin":false},"created_at":"2015-12-26T04:30:35Z","updated_at":"2015-12-26T04:30:35Z","body":"We do. The various forms are synonyms for the ROM routines in the main. But eLua a S Lua us the standard names SGI why should or version use non-standard ones?\r\n"}}