I Heard The Song Bird Singing

Recently, I have noticed a bird sining in the trees near my apartment. I haven’t successful yet in seeing what the culprit looks like, but the melody is very sweet. It is a seductive singing, that even my wife noticed it. The singer, loves to sign in the morning, about 6am and in the evening, about 6/7pm.

This bird, I don’t know what kind or what it looks like, have been singing for about two week or more. I don’t remember when I noticed it, but did notice it some time. May be it might have been even months.  Anyway, I decided a few days ago that I would take it. I heard the singing several time, but there was too much ambient noise.  Fortunately, this morning I had my chance.

I am very fascinated by this songbird. The bird brings back memories of my childhood and my experience with a songbird. Before I get into the story of the songbird of my childhood, let’s me offer you the opportunity to hear the songbird in the trees outside.

Isn’t that beautiful? Doesn’t that make you want to put it on loop and play it a few more times? Well, I hope it does. I love it.

I had a cage bird when I was in my mid to late teens. It was when I lived in Guyana, South America. If I had to do some calculations, it would be between the ages of fifteen to sixteen. I left Guyana just before my seventeen birth, about three weeks before.

The care of the bird, was left in the hands of a cousin. There was no expectation that I would return for the bird. Even if I had returned in a few years, changes it wouldn’t had lived that log anyway. I can’t say exactly, how the bird came to his demise. But that it did.

Now, the bird I had, was called a Mustache. That is the colloquial name. Like the bird I tapped in Foster City California, my bird and many birds usually sing in the mornings and the evenings. You would hear them signing during the day too, but not as much as morning and evening.

There uses to be bird sining competitions. More on that later.

Besides the singing, this bird was well known for molting. That is when it would shed it feathers and get new ones. If you got one when it was brown. Over time, it would mold repeatedly, and eventually be black and white. In between, it would had some degree of brown, black, and white. Fortunately, it was able to take my bird though the process of brown to black & while. Here are two YouTube videos of Mustache in brown and another in black & white. NOTE: The audio isn’t very good. There is a lot of background noises, a cricket match,  other birds singing, including a Kisk-a-dee, and other noises.

Mustache wasn’t the only bird that molted. At the time I had my bird, my best friend from even back then, had a Fire-Red. Fire-red would start out all brown too. Then they would molt to  brown back, and burned-brown, but not quite red, under feathers.

While a bird is molting, you would cover the cage, keeping it in darkness. Now I don’t know why that was the practice. May be they would be cold with basically no feathers. I don’t know if birds go hid in some dark or warm place while they molt in the while. But that was the practice. You would see boys and men with their bird cages, covered in a dark sleeve.

Here is a picture of a Fire-Red close up here.

fire-red-finch

As as young man, your first bird, if you were interested, would most likely be a Fire-Red or Mustache. Those were fairly plentiful and easy to catch. If you were an adult, the bird you had was a Towa Towa. Towa Towa were known to be great singers. This made them expensive and highly sought after. They were not necessarily rare, you just had to travel further to get them. And since just about anyone wanted one, as a young person, you won’t have one. It would most likely be stolen, or taken away by the older boys. So, you spend your life with the more popular songbirds.

You here that Towa Towa show off. 🙂 That is some good singing.

Even though Mustache and Fire-Red are good singers, and some more than others. They have nothing on the Towa Towa. If you wanted to win a bird singing competition, you would go with a Towa Towa, not a Fire-Red or Mustache. People have tried to and some have succeeded in smuggling Towa Towa into the United States of America.

Close of a Towa Tota:

towa-towa-finch

Yup, I heard the song bird singing.

PS: What we call a Towa Towa in Guyana, is a Bull Finch or Boy Boy in Trinidad. Here is video of a Trinidadian Bull Finich. Same thing as the Towa Towa. The nice thing about the following video, is that there isn’t any distracting background noises.

Take Your Kid To Work

Across America, today was “Take Your Kid To Work Day”. I have been working for over twenty years as a professional. This was the first year I participated. Actually, I almost didn’t.

My son is four and half now. I thought that the email said from five years and up. So I never signed up. I wasn’t even planning to go into the office today. I had decided to work from home. But a P1 issue got open form my group, and I decided to be get into the office. Not that there was anything I won’t be able to do from home.

While at work, I saw kids younger than my son. And I even had a co-worker said that she signed up her two year old. Then I felt really bad. Knowing that this was the last opportunity my son would have to be at my office. Since we will be moving later in the year, I will be working remotely, so next year is almost a certainty that it would be near impossible to participate.

Fortunately, I found out that he can still attend, even though I didn’t register. It was just after eleven o’clock when I ping Stacy and asked her if she could bring him. I had meetings lined up from about noon to 3pm. Once she give the okay, I was very excited he would be able to come. I think it was great for him, he always wants to go to work with us.

He came, meet some new friends. No one he will be talking to years later. But still, he had a lot of fun. With some pictures to show, I will be able to relive part of the day for some time to come.

Progress, Slowly

There is this app I have been working on for some time, well. I am not sure if it the same app.

Let me put is this way. If you are building a house, but before you can finish. You tear it down, and start over. Possibly with different contractors and different materials especially. Otherwise, it would be really silly to be doing it the same house design, with the same material, if all you changed was the workers every time you started over.

Well, I am kind of in that boat. The look of the app hasn’t really evolved over the months since I conceived and started working on it. There are visual changes to be sure, but those are more like whether it was the mobile or the desktop version. Not so much between desktop versions.

What I found myself doing, is starting over a lot. I would get to a certain point, and stall. Basically, the technology I would be using for my backend, would have some hole that slowed me down. For example, I started out using Java backend based on Spring Framework. I have used Spring a number of times and I love it. But as I worked on my app, I was getting tired of spending time on house keeping. Like if I had an entity, I had to do a lot of work to protect it. I couldn’t just add and entity, and move on to make forms and services to use it. I had to say, well, how do I secure it and expose it appropriately.

That began to get to me and I felt like I needed a web stack that would do most of that lifting. Something that would free me up to work on the core features of the app. Instead of all that side stuff the app required but wasn’t really part of the problem I wanted to solve. that other stuff, user management, security, etc., that wasn’t part of what I had conceived. That just got bolted on as requirements for a modern web app.

Anyway, after many restarts, I am not once again pretty happy with where I am on how it is going. I finally landed on a framework stack that has taken away all that those keeping grunt work. JHipster is my new buddy. It is really filling the gap where MeteorJS, Angular + BaasBox, or Angular + Spring, or Ionic + BaasBox, or Ionic + Spring couldn’t fill.

The funny thing is, JHipster is Angular + Spring and then some. It is just that it has so many other things, that I don’t need to worry about security. That is taken care of. I don’t have to worry about metrics, that is taken care of too.  And the list just goes on.

The only thing slowing me down now is having time to work on it. Because, with a full work day and other things too do, there just isn’t enough hours in a day to get every thing I want to do, done.

In a few weeks, I might revisit just how JHipster is helping or not helping my project.

Fun Times at “The Book of Mormon”

Stacy and I went to “The Book of Mormons” play last night. I thought it was very funny. It is a musical, so you will miss a few things as it is live and without subtitle. You really can’t get everything as people are laughing and you are trying to look at the performance while trying to decipher the music too.

Fair warning, this may be offensive to those who are religiously inclined and think it is sacred ground. Some people don’t like or can’t take any form of joke about their religion. Even thought his is about The Church of Jesus Christ of Lather-day Saints, it can easily be turned on any other religion. If you see this and laugh at something that is ridiculous about what the mormons believe. You can rest assure that the same is also true in your flavor of religion.

A friend of mind said that religion is not suppose to be logical. It is just faith. I have grown to not have faith in things that I don’t see logic in. That is either good, bad, or neither.

 

Kite Flying On Easter Monday

One of the things I loved when I used to live in Guyana, was Easter Monday. Easter Monday was the day just about everyone and their mother went out to fly kites. Either kites they had made or ones they bought.

While there was always an healthy market of kites for sales. As a young man, we made our own kites. For quite a few weeks before Easter Monday, the big event, we would have made sever kites. The first ones were simply, like a Caddie-Ol-Punch, working our way up to more and more sturdy kites. Until by about a few days before Easter Monday, you would start working on your final kite.

If you still had a kite after Easter Monday, then you flew it for a few days. If you master piece for Easter Monday didn’t survive, due to tearing apart or being lost. Then you would go back to building smaller and simpler kites for the next few days.

By the time the weekend rolled around, you had enough running up and down with kites that you didn’t worry about it after that until the next year.

Depending on the size of the kite, you had to get twine, to fly it. If you were making a really small kite, then you had to “stran” some twine. “Straning” was the processing of separating the larger twine into its individual strands.

A Caddie-Ol-Punch was a kite that simply kite. It required one page of a book, two fine sticks, twine to fly, and slightly heavier twine for the tail. The really trick with a caddie, was that it didn’t required paste, as would be the case with any other kite.

It is hard to describe a caddie. But essentially, you would fold the paper along one diagonal, then make equally spaced small cuts. Repeat the process on the other diagonal. The cuts are no more than about half to an inch apart. The fine stick, usually from a pointer broom, would be woven though the holes made by the cut. That is how you got your paper to be rigid to make a kite without paste. Tying off the loop for the nose and tail will bind the paper and stick.

Since leaving Guyana, I have been wanting to go back for Easter. Here is to hoping.

Coconut Bakes

Yesterday I made Coconut Bakes for breakfast. They came out great.  Bakes are a West Indian dish, which is either fried or oven baked or pat roasted flour dough. Well, that is putting it simply. Of course it is not just flour dough, but also baking power, sugar, and salt. Once you have some bakes, you can eat them with fried saltfish usually, but cheese works too.

For Coconut bakes, I used coconut of course. The coconut was grated, then some was put in the mix, along with some butter, and some of the coconut squeezed with water to get coconut milk. I figured using coconut milk to mix instead of water, would give a richer tastes. Yesterday was the first time I made Coconut Bakes. But I have been making bakes since I was about ten years old.

Cooking and baking is nothing new. If I like to each a Guyanese dish, I usually learn to make it. Besides, living away from my mom and sister who would happily make such dishes, could do that to a person. If they are willing, that is.

Spiced Coffee

Boom = Coffee + Cinnamon + Nutmeg

This post is really short, that is because I have lost three different drafts of it. Because every time I sat down to write it, I couldn’t finish it. The I would loose my changes, and start over. Not wanting to chance that again, I will just make it a few line and post.

If you drink coffee and don’t hate cinnamon or nutmeg, then get them together. I have been doing this recently and loving it. Wondering just why I haven’t been doing this before, considering how much I love both nutmeg and cinnamon. What kicked my now over the top excitement of cinnamon and nutmeg in my coffee, was this story on NPR.

My first cup of coffee is usually taken at home. I have been making coffee for years now at home. I might get another cup later in the day, but at home I always have fresh nutmeg and cinnamon. After that story, I tried it without letting my wife knew. She called me up to say something was different about the coffee, but she loved it. If you are gonna try, I suggest using fresh nutmeg. Just get an whole nutmeg, and grate some into your coffee. Don’t hold back with just a few sprinkle of either, go big on the cinnamon and nutmeg.

Dedicated and Designated

I started a new job about eight months ago. Yikes, time really does fly when you are having fun or just busy learning. I still describe myself as being new to the role and even new to the company. In the eight months since I have been there, we have been hiring about twenty to forty people or month. To someone starting last week, I am like an old timer there.

Well, lots more to learn and do. So no time to be bored anytime soon.

One of the titles I carry there is a DSE. Well, I really only have one title the company pays me for. But within the team, we have some more specific titles. My official title is Customer Operations Engineer (COE). Some time people would say Customer Support Engineer, but never call us CSE.

While must of us are in the support organization, and employed as COEs. We do specialize. Some COE are Subject Matter Expert (SME). They get to focus on a very limited set of even just one technology and get good at it. Some others are Back Line Engineer, sort of our second their of support. Finally, there is my even smaller sub-team of Dedicated/Designated Support Engineer (DSE). So why isn’t it settled, dedicated vs. designated. In this case, it really doesn’t matter, it is not really an official title anyway.

DSEs are assigned to specific customers. So instead of taking cases for any customer as the other COEs would do, except BLE and SME who are usually not customer facing. DSE only work on cases for the customer they are assigned to. And they are only assigned to one customer, because that customer pays for that service.

I have been visiting my customer on a weekly basis, usually once a week and sometimes more. But going onsite more than once a week is far in between. After my visits, I would write up a minutes reports of what happened etc. Just so I can remember the engagement and others on the team can follow. Besides, if I am not available, someone can step in or step up and have some idea of what had been discussed.

I usually get home late on the day(s) I visit the customer, so the report is not written that day. Then I may not get to write it for a few days, but need to write it before my next visit. So sometimes, the day before my next visit is when I am trying to write it, so I am not accumulating a backlog. By two days after my visit, I would start forgetting little details.

This week, I decided to do something different. First, I took notes during the day. Just a sentence or two here or there. Then I pushed myself to write the report last night, after getting in. So even though I was still technically working a lot longer, it was easier to write. Since I had notes and it was all very fresh. Previously, I would jot down some notes, but that was usually the next day for later. But then as I started losing details a few days after, the notes would only be so skinny.

The one drawback to writing the report on the same day? Since you remember quite a bit more detail. The report end up being longer.

jHipster, My New Super-Friend

I mess with a lot of things. Well, a lot of programming languages, libraries, apps, etc. Basically, if it something to do with computer, I will try to or eventually try to play with it. Since I don’t have a lot of time, with a day job and trying to fool around with some may things, I do have to pick my battles. Sometimes, I am lucky, and other times not.

Recently, I landed on JHipster. It is a tool, specifically an opinionated stack of applications for creating Single-Page-Applications (SPA) web applications using AngularJS for the client-side and Spring boot (and friends) for the backend.

Nothing in the stack is really new to me. The entire things is bundled up in a nice Yeoman generator called ‘jhipster’. And it uses Node, NPM, Gulp on Node, and of course AngualrJS and Spring to name a few. All of these I have used in my own pet projects and even launch an AngularJS take over at my last job. We had a web app to re-write and there was noway I was going to do it again without some kind of framework. I like AngularJS personally, and people are free to disagree or bicker about the choice. But we need something to help organize the code.

Anyway, back to my new friend. Well, a new friend with all the familiar attributes and characteristics I liked in some other friends. I should really call this jHipster my super-friend.

jHipster take a lot of the tedium you would have to do in any decent modern web app with a db (either SQL or NoSQL) backend, security, monitoring, etc. Really, when you want to write an app, you have your billion dollar idea. You can either spend time doing what you have done before or everyone else have done, the drudge work. Or you can pick up jHipster or something like it, and get to solving your problem.

Now, jHipster is no silver bullet. You will still have to spend some time to learn it. Fortunately, if you read the documentation on their website, you should be through it in about an hour or two and be good to go. Again, depending on your level of familiarity with some of the other technologies in the stack. The you know about the other pieces in the stack, the easier it is to put the jHipster image together.

I have played with many such app stack, like MeteorJS, Deployd, Hapi, Express, and MEAN. I might even have forgotten a stack or two there too. Either way, they all have their strengths and weaknesses.  jHipster is fairly new to the scene, so it is benefiting from fresh smell and fixing a few pain points with some of the earlier ones. But I am sure it is not the last or will it fix everything. The trajectory so far however, is looking really good. It really just what you would have done had you had to write a decent web app using AngularJS and Spring technologies.

Point Not Across

I mentioned recently how a friend proposed that we do some data import by scraping a website. I tried to explain, that that was very difficult, time consuming, and error prone. Well, I didn’t do such a good job of getting the point across. So let me try here, not, again. Hopefully, this should be understandable by both techies and non-techies.

The best way I informed, was to be able to import the data directly from one computer storage to another. For people in computer technology, they would understand this as computer interchange or exchange format. It is best, if data will be produce by one computer for the consumption by another computer, that the data be in a binary or otherwise encoded form. There really isn’t any reason to move data from one computer to another in a human readable format. UNLESS we want to ensure that at some future date, we can still use it.

So writing a program to scrape data off a website. Sure, that is doable, but what would be a lot easier is to just have the data exported. Even if we go for some intermediate format like CSV, JSON, or XML.

As an example, here are three ways of passing the same information between computer:

Example 1: HTML

<html>

<head>

</head>

<body>

<div>

<person>

<name><b>John Smith</b></name>

<age><i>33</i></age>

<ssn><i>011-11-1234</i></ssn>

<dob><i>1982-03-04</i></dob>

</person>

</div>

</body>

</html>

All we really wanted to send was John’s information. Notice all the extra stuff like how it presented, name bolded and the other bit italicized. Yet, quite a bit was stripped out that would usually be there. So if you had to get this data from one computer to the other, why put in all that extra?

Now here is example two, slightly better, using JSON and CSV

Example 2: CSV

name,age,ssn,dob

John Smith,33,011-11-1234,1982-03-04

Example 2: JSON

{“name”:”John Smith”, “age”:33, “ssn”:”011-11-1234″, “dob”:”1982-03-04″}

NOTE: Even if JSON was spread out over several lines, it is still more compact than HMTL.

Finally, here is the same data, encoded in “some” binary form. I won’t go into the details of it. But let’s assume that both sending and receiving computers knew they were exchanging data about a person. Example 3: Binary

 

0a4a6f686e20536d69746801210b3031312d31312d313233340a313938322d30332d3034

It is basically [length:data] repeated. So for example, the number 33 takes up 1 type and is ’21’ in hexadecimal. So you see 0121 some where that run of characters. The name “John Smith”, is 10 chars long, and turning each char into a byte and then their hex value, you ‘0a’ followed by the ‘4a6f686e20536d697468’.

This is certainly harder for a human to read. But it wasn’t meant for a human, not yet anyway. We wanted the most efficient way of passing some data between computers to be processed by computers. And since the binary form only have [length:data] repeated, without the ‘:’ by the way. We only send what we need and save a ton of space and time. Not to mention less opportunity for error in try to parse the data on the other end.

And that is why it is so clear to me that we should be doing things either using Example 2 or 3, but not 1.