Wednesday 31 August 2016

Buildroot

You know I have been struggling with coming up with a working image of the Linux kernel for BBB. Well today I tried a different way of doing it. I tried Buildroot. The process was not as simple as one would expect but still it was integrated and tied to the same thing hence made making mistakes that much more difficult. All was good apart from one minor detail, the image did not work here too.

Tuesday 30 August 2016

Presentation on Bluez

Today was the big day. I had to give a presentation on Bluez. I have been preparing a lot for this presentation and was ready to deliver it. I wasn't nervous thanks to me being not nervous. I delivered the presentation. There was a lot of discussion based on my presentation about how to go about things from here. Using BlueNRG DK was suggested in order to establish how BlueNRG works. All in all it was a good presentations, I am happy with it as other seemed satisfied also.

Code review of stnfc files

Spent the whole day walking through and trying to establish some sort of flow of the logic in the files containing the code related to stnfc. 

Friday 26 August 2016

Driver code of nfcst

Today I explored the driver code for NFCST using Cscope and common sense.

Thursday 25 August 2016

DTS

Device Tree Binaries, a new thing that I got to learn today. It is absolutely necessary for a platform driver to work. I may write a full account of what it is and how to use it some day.

Wednesday 24 August 2016

Bluedroid

You know how Bluez is the official Bluetooth stack for Linux. There is a similar thing for Android as well. It is called Bluedroid. I spent today studying it up.

Tuesday 23 August 2016

Continued study for Bluez Presentation

Continued studying for Bluez presentation that included gathering information and putting it in a presentable format so that flow of things make sense to me and hence I can deliver that to the rest of the interested parties and hope that they can understand it as well just in the same way that I did.

Friday 19 August 2016

Happy Independence Week

Did I forget to wish the readers a happy independence day this week? I am imagine I did that but then again I am imagining that there are readers to this thing as well. Anyway the following is what I did today:

1. Continued the study of Bluez and the various protocols it implements.
2. Studied an abstract overview of the RFCOMM protocol and its implementation by Bluez.
3. Studied an abstract overview of the GNEP protocol and its implementation by Bluez.
4. Learnt about the HCI MGMT implementation and its need.
5. Learnt about the state of LE implementation in Bluez.

Thursday 18 August 2016

Happy Independence Week 2

Crazy amount of work happened again. The account is as follows:
1. Studied how Bluez divides the whole Bluetooth stack in the kernel.
2. Collected information for the presentation on Bluez.
3. Studied about protocols (and a basics of their implementation) like L2CAP, SMP and HCI.
4. Tried to match the source code with the Bluetooth specs at an abstract level.

Wednesday 17 August 2016

Happy Independence Week

I am back from to work. And I did a lot of work indeed. In one day. Quite unusual. Not really. Here is what happened today:
1. Tested the Arduino environment with a slightly different NFC Shield only to find out that it was not working correctly somehow. The extra resistance had to be removed in order to get it to work.
2. Continued to read the paper on flow control in L2CAP and its implementation in Bluez.
3. Learnt about the configuration set up process between devices after the link establishment at the L2CAP layer as implemented in Bluez.

Monday 15 August 2016

What am I like?

"Work is worship. Art is a blessing."

In an innocuous and honest hunt for some hidden but voluntary talent among a bunch of novice interns, an employee asked us: Do any of you posses any artistic talent/ interests?
The question, by being electronic, was passive in nature. It invited a response not demanded one. Because it would have been the same as accepting an invitation, I was reluctant to offer an answer. This form of diffident reluctance alone should be able to convince you that I am not an artist by any stretch of imagination. What I am is a wanna be and I am here to give a detailed account of the talents I pretend and the hobbies I posses.
I love cricket. That's about the most truthful I can be in any regard. I love cricket. Sure I don't go to matches or even consider them worthy of my time anymore but I love cricket. I'd like you to think that I am particularly awed by this one cricketer and that without him I fight the strongest of my instincts and boycott the game just to cater to the childish lover inside of me. But what I conveniently miss out of my constant broadcast is the complete disregard/ ignorance for the spirit of the sport, pride of the nation, relevance of other fans, the values of the glorious Tendulkar and the fact that I love cricket.
When I was a bit younger i.e. when reality was blurred and hopes were hopes, I picked up the occasional brush and painted. I was not bad at it. I am proud of a few pieces of artwork that survived the menace of negligence. I brag a lot that I don't brag at all, and I didn't brag about my unevaluated gift with the sketches. My father told me I was good. I knew I was not bad. The right thing to do was to keep learning but of course I chose to do the easy thing and did nothing. In short, I am lazy and afraid of being criticized and I am not bad at it either.
I enjoy music but that's natural since I have the faculties to listen and interpret. I think I can sing but that's natural too since I am human. Don't contain me to be just another bathroom singer, I can actually sing with an ordinary voice but some natural ability, the limits of which I acknowledge making me more rational than shy in this case. The last bit wasn't natural.
I am bad to look at from the outside. Then again I am awesome to know from the inside. I often have an awesome train of thoughts and when I am busy being unattractive, I am actually constantly being awesome. All of my awesome thoughts are a product of my awesome brain which is the case with everyone, I know this cause I am awesome. I enjoy puzzles, I like it when I understand the difficulty of a problem and I love it when I can produce/ reproduce the solution. Being geeky is in trend these days. That's because being an actual geek is actually awesome. Trust me, I'd know cause I am awesome, I mean a geek.
Among all of the things that I have the highest of regards like money, power and influence; "not being judgmental", is one such thing. And of course to not be judgmental would require a perspective as objective as Java. (It's a computer joke, pretending to be a computer person is my day job. I am sorry.) To be objective one needs to distant emotions and impulses. To mask emotions, one would be required to shut a part of the brain known wrongfully as "the heart and/ or the soul" and be logical. I can be logical. I can tell what is right and how it's not always what I want and that I want it anyway. A part of the brain (I mean the heart and the soul) and hence emotions and their consequential impulses are inseparable from any living being's conscious. We can't ignore emotions, in fact the whole point of being logical is acknowledging these "feelings" and finding a boring balance, not some exciting exaggeration. Bottom line is that one shouldn't be judgmental. God I know a lot. Perhaps I can be a good judge. Wait, was that to soon to be a hypocrite? Perhaps I can be a good politician. (In case you didn't notice, that was me being judgmental.)
I am not quite sure what my point is exactly. I have rambled a bit (or more), bragged a bit (or more), expressed my sorry self a bit (or more); basically I had an idea and I ran with it, enjoying every bit of the ride (or more). Isn't that what an artist is supposed to do? Since all this while I've been writing, doesn't that make writing an art? It sure as shell does, but does that make me an artist? No. It makes me a wanna be and I wanna be a writer. But first I wanna be rich, handsome and a genius.

Friday 12 August 2016

The day's deeds

Continued study on BlueZ, struggled in finding the right content as most of the content  from the perspective of application developers, so I shifted to studying the Bluetooth stack in more details from the Bluetooth core specifications in the hope of later picking up BlueZ with this knowledge and having a better chance at understanding its code structure.

Thursday 11 August 2016

The day's deeds

1. Studied core.c file and some other headers in the nfcst folder.
2. Attended presentation on STM32CUBE basics by KD sir.
3. Shifted focus on NFC and BlueZ as directed by Shikha Ma'am.

Wednesday 10 August 2016

The day's deeds

1. Studied files in the nfcst folder of the customised kernel for neard.
2. Tried to match the code in the file to the data sheet of CR95HF with slight success.
3. Attended presentation on "Good presentation skills" by Prashant sir.

Tuesday 9 August 2016

The day's deeds

1. Had a meeting with Manoj sir along with other interns.
2. Attended presentation on ORCAD by Hemlata ma'am.
3. Studied a bit for my presentation and made some changes to it.
4. Backed up the installed Arduino image to install a new one and test it.
5. Gave presentation on BLE.

Monday 8 August 2016

The day's deeds

1. Revisited some of the material regarding BLE as preparation for the the presentation.
2. Created environment for Arduino using customized kernel repo (for neard) and tested it on various tags.
3. Attended Ravi's presentation on SPIRIT2

Magic Numbers

Magic is awesome. Take it as a fact or be a cynic, but it won’t change its awesomeness. So what makes magic so awesome? If I had to put it in a sentence or two then I’d say, it’s the intimacy of illusions, drastically diminished distance from the seemingly impossible and the ever green ability to make things appear and/ or happen out of nowhere. Magic does things that are hardly aligned with logic. The very essence of it is in the opaque interface that separates the miracle to the eyes from the marvel of the brain that made it all happen. The fundamental idea behind magic is nothing but an abstraction so absolute that the lines between reality and fantasy are blurred to the extent of near extinction. The magician desires nothing but an induction of belief in the audience’s mind that something can be done, without them having to go through the details of how or why. In fact I’d go as far as saying that the word magical can safely be used as an antonym for the compound self-explanatory. Magic can’t be understood, or else how would you expect it to amaze.
The train of thought I’d like you to carry from the previous paragraph is that magic is esoteric and that too intentionally. Magicians must hide how they did it otherwise the world is full of keen eyes and ambitious minds to figure things out. As I’d introduce in the subsequent paragraphs, such keen observers are sometime benevolent as well. Sometimes it’s a bad idea to keep them from knowing the secret.
A similar trait of esoteric abstraction can be seen in descriptive solution to a problem. An example of this would be a computer program. A computer program is based on an algorithm, the logic of which is meant to solve a problem. What this logic contains (commonly) is a combination of instructions to be followed and decisions to be made, by the machine. Often these solutions are dependent on very specific data. This dependency is so specific that the programmer does not even have to store this data in a variable. Why? Because the data is not going to vary. All that needs to be done is writing that data down, in your program and let it work in order to obtain the solution. For example, if I am writing a program to double a given number then somewhere in the body of my program I would have to write the following instruction:
Result = 2 * number;
In this statement, the number 2 is the kind of data that I am talking about. Now this example might not apply to the criticism to follow. It is only intended to get you acquainted with the notion of magic numbers. A rough definition could be:
A magic number is any constant written exactly, as part of an algorithm, without having any contextual representation.
What I mean by contextual representation is anything like a variable, or a macro assigned to such numbers that may specify what their purpose is. It is not always as obvious is in the above example as to why certain numbers are used in a solution. These can prove to be as much of a nightmare as magic in general is like a dream to the observer. If someone is willing to go through an algorithm and figure the logic behind it, then these magic numbers are the primary hurdles among other things. They are not abstracting, they are blatantly obscuring the straight truth: the real, intended logic.
Magic numbers are necessary in many cases, but what the author should avoid is using them directly. Bearing a little overhead and assigning some descriptive macro to the magic number would go a long way in enhancing the clarity of the solution and will ensure its legacy.
Avoid using magic numbers, abstraction should only be to the extent of ignoring details when there are bigger fish to fry. Hiding something (permanently) should never be the intent (speaking strictly in context to this post).