Typical management style with statement “Get this done by EOD today” (smaller timelines in big project) is probably worst way of project execution, it does not help in bigger context!
- Approach – More than anything else, it changes approach towards end deliverable, suddenly quick workarounds are preferred mechanisms rather than complete solutions.
- Creativity – Timeline pressure diverts individuals mindset, and definitely there is loss of creativity. This reflects in problem solving attitude and hits project in longer run. Also affects thought process of developers in longer run.
- Quality – This does not matter (or starts degrading) as everybody is after “artificial and un-necessary” deadline set before by management. This in turn definitely adds to overall project execution time in longer run.
On the other hand, if management has confidence in capabilities of team, and complete trust, then what really matters is project completion and not these “artificial deadlines” on day to day basis!
BLE v5.0 has been hot topic of discussion in Internet of Things (IoT) world. Revised specification tries to solve problem in creating wireless sensor network of devices with longer battery life requiring low throughput, compared with traditional WiFi.
- 2Mbps PHY speed (earlier being 1Mbps)
- Longer range (4x)
- Increase in maximum allowed TX power
- Advertising Extensions
- Even though PHY speed is doubled, effective throughput is only 1.4x, as each packet requires additional byte in preamble header, and inter-frame spacing duration remains same. Hence effective throughput is 1.8x compared with earlier BLE standards.
- PHY speed improvement helps in keeping radio on for low duration, thus helps in increasing battery life, also higher throughput addresses features like OTA upgrades for end devices.
- BLEv5.0 uses FEC (Forward Error Correction) for long range communication, 4x range compared with earlier standard, but uses 1Mbps PHY for coded communication, decreasing effective throughput.
- Maximum allowed TX power is increased from 10dbm to 20dbm, hence if cost is not barrier external PA can be used to increase range, instead of using coded PHY.
- On advertising front, payload size can carry 251 bytes (previously 31 bytes), hence more power efficient.
- Coexistence with WiFi:
- WiFi and BLE uses different spread spectrum technologies for communication, Direct Sequence and Frequency Hoping respectively. In short, BLE Transmission is essentially noise for WiFi Receiver and vice-versa. More on this here, here.
- This creates unique problem, if solution is providing BLE and WiFi combo, then either temporal or frequency domain separation is required for both technology to work reliably.
- Collaborative coexistence is preferred method, where both WiFi and BLE devices talk to each other in real time (using 2-wire or 3-wire system) and implement time domain multiplexing for respective streams.
- External PA vs Coded PHY could be interesting design challenge, as one is cost effective but reduces throughput/battery-life while other adds to cost in design.
- Looks promising, considering mesh networking capabilities in BLE, it could be well utilized in home/industrial automation in IoT
- Memory requirements for typical BLEv5.0 stack supporting mesh networking could be another interesting lookout
$ git reflog
$ git difftool branch1:file1 branch2:file2
- Picking a commit from one to another branch
$ git cherry-pick -x
- Selectively adding changes from file
$ git add -p
- Finding un-pushed commits on local branch
$ git cherry -v
- Saving/recovering temporary local changes
$ git stash save
$ git stash pop
$ git stash list
- Display current working branch in repo
$ export PS1='[u@h W$(declare -F __git_ps1 &>/dev/null && __git_ps1 " (%s)")]$ '
Completed Hardware Software Interface Course on Coursera. My first online learning course, completed with distinction.
- Great experience
- Free knowledge sharing
- Communitiy interaction
- Platform for aspiring learners
- Stuctured approach for course organization