Preparing for AWS Certified Solutions Architect – Professional

Introduction

They say that AWS Certified Solutions Architect - Professional is one of the most AWS SA Pro Badgedifficult AWS certification exams. I am very excited that I passed it in the first attempt. To tell the truth, I was extremely nervous about the exam. You see, till I joined AWS in March 2019, I didn't have any experience or even exposure to AWS. I knew about cloud and what it is and what it can do for businesses of course, but didn't really know about the technologies, the architecture, the scope and depth of AWS. From there to now when I am a Certified Solutions Architect for AWS at a professional level is huge. Even if I say so myself. So how did I get here? Well, that's the story I am going to tell here. I promise I won't bore you with any gory details of what the technology is and how I spent hours and hours studying and reading (which incidentally I did), but this will be quick recap of my experience and what I found useful and what to ignore.

The Prep

It took me about 6 months exactly to date to take this test from the time I appeared for my previous exam. Not all the time was spent on studying and preparing for the exam. There were times when I got derailed and didn't quite study for days at end. But overall I anticipate it would take somewhere in the range of 3-4 months at a minimum to really prepare well for this exam. I initially started with the SA Pro course on Linux Academy as I had really good experience with it during the SA Associate exam and the course is really in-depth with the trainer - Adrian Cantrill going deep technically and provides a lot of hands-on demonstration and labs along with a lot of links to product documentation which is immensely helpful to read and understand the service and product in detail.. And it was definitely helpful to be familiar with the screens even though they were outdated. And that was the problem with that course. It was made in early 2019 and for a myriad of reasons, it has not been updated and now that A Cloud Guru has acquired Linux Academy, ACG is pushing students to use their course. And since it was slightly more updated and recent, I completed that course as well. It has nowhere near the depth and detail of the LA course, but the trainer - Scott Pletcher does a fantastic job of explaining the concepts and preparing the student for the real world scenarios and walks through the questions step by step which was helpful. More importantly, he provides a lot of links of re:Invent videos and links to white papers which are crucial to read before even considering to take the exam.

Reading

There are so many whitepapers on the AWS site that you can spend all your time reading those for several months and not get through it. So you need to be very judicious in choosing which ones to read. My recommendation is to read the following ones without fail. There is also some recommendations on the AWS training site which provides some guidance on preparing for the exam.

Although there are a few more you should read, but these are the absolute minimum.

The FAQs on the AWS site are also a very valuable resource and it has a lot of information. FAQs have been vilified by its overuse and nonsense FAQs that some companies put on their sites. But the FAQs that AWS has put together are really very high quality and it provides great overview of the service and its boundaries and capabilities. Spend some time going through as much as you can but at a minimum review the following:

The next resource is the product documentation. Product documentation can be very long and boring and at times confusing. But the level of detail it provides is just amazing. You may not have to read the developer guide cover to cover, but figure out which areas are a little weak for you and invest time in reading that section of the documentation. Regardless of your comfort level, one of the most important documentation you can read is AWS Organizations. It is really useful. But consider reading some of the documentation from the list below.

Watching

Youtube is a great resource if you use it well. AWS has created its own channel and they post re:Invent videos on that channel and a lot of tech talks that they host. They are great and can provide 300-400 level information. I strongly recommend that you spend some time watching the re:Invent videos. Make sure to watch the re:Invent videos that are at least 6 months old as services and features announced within six months will not appear on the exam. I recommend watching the videos for:

Practice

Finally, there is no substitute to practice. Take as many practice tests as you can. Whizlabs has a lot of practice exams. Although I found the questions to be oriented more toward development and some of the answers were flat out wrong, but it helped clarify things quite a bit and forced me to read product documentation which otherwise I would not have read.

Exam day

Finally on the exam day, take plenty of rest and calm your mind down. If you are into meditation, then I would recommend meditate for some time before going to the exam. It really helps with the concentration as the exam is really long at 180 minutes and 75 questions and it can be very intense. If not, then find the way in which you groove the best and go for it. In today's world sitting in one place without having any gadgets and / or notifications is not very easy. A couple of hours before the exam, avoid drinking too many fluids as there are no breaks in between and if you need to use the rest room, the exam timer continues to wind down. So plan accordingly.

Reading long questions and longer answers is very tedious and it is very easy to miss an important point. One of the strategies in reading long answers is to read them vertically. While the technical definition of vertical reading is very different, I am using vertical reading to mean that you scan the text of the answers vertically and try to identify the salient points that differ and would make sense in that scenario. In several situations, the answers are very similar with only one or two things different in each answer. Focus on that. Choose the one that BEST suits the situation asked in the question. Reading horizontally can tire you out and it is very easy to get lost in the word jungle and miss the right answer.

With all this preparation, it is possible that during the exam you might feel that the exam is easy and you may lose concentration and focus. The trick is to take few very short breaks at a strategic intervals to keep focus and stay sharp. The exam center provides you with a piece of paper and pencil. Use it to draw architecture diagrams to visualize the question and also write down your thoughts. It helps.

Final thoughts

With all these preparation, I am certain you will pass the exam easily and with flying colors. AWS certified solutions architect professional is a very valuable certification which not only will enhance your career prospects, but also help in increasing and improving your understanding of the cloud and highly scalable, resilient and highly available architectures.

All the best!

The Volcanic Eruption

A short story by Nandini Dharwadkar

VolcanoThere were many volcanoes near our village. For a long time they were dormant, but I knew that they were active volcanoes and would erupt sooner or later. I asked my father about this, but he always laughed it away and said that we will always be safe and nothing will happen to us. But I think, he too knew that the volcanoes would erupt soon and destroy our homes. He kept it from me so I wouldn’t be scared and worry too much. My sister Tallulah, was scared too and asked me, “Tehya, will we be safe?”
 
One day, there was a rumbling noise and earth shook violently. Suddenly, I realized that this is what I had feared the most. My father shouted, “Everyone! Get your most important belongings and let’s all hurry to a far place before the volcano destroys our village!” We all obeyed knowing he was right. We all ran to a far distance. When we stopped, we saw the lava bubbling down the mountain to where we first lived, destroying and burning everything in its path. We were all very distraught and heart-broken. I was extremely sad as that was the only place I knew as home.
 
We all recovered very quickly because we knew that if we stood there mourning about what had already happened, we would not get anything done and solve our problem. So my father gathered us all and we made a plan. We would first collect enough wood, enough to build 5 house (there were 50 people in our tribe). Then we would make weapons out of some of the extra wood to hunt animals for food and clothing and to protect ourselves. Tallulah and I were in charge of getting the wood for the houses. It was hard work, but we completed the task. After we were finished, some men started constructing the houses. It took our tribe a whole day to form a new village, but when we were done, we were all satisfied with our work.
 
At night, after everyone was asleep, I secretly went to our old, burnt village. I missed it very much! I thought of the good memories we had in the village. I thought of when Tallulah was born. That was the best memory. There was a lot of commotion around our house because everyone had come to see the baby. Suddenly, a hand on my shoulder interrupted my thoughts. It was my father. He said, “Those were some good memories, eh?” We both laughed and started back for our new home.

How to unblock file sharing on Windows

Have you ever come across a situation where you want to access another computer via itsFirewall Options UNC (\\computer-name\share) and came across a "Network Path not found" error? Although not too uncommon, this errors can puzzle you in cases where you know all the services required for file sharing are running. I faced this issue the other day and finally after a bit of tussle, I managed to solve the problem. We were trying to access a computer at one of our remote locations and it was giving this error. What made this even more puzzling was that local users were able to access the same computer by using the UNC path. We tried all we could and knew but still the error was the same.

Then I searched on the internet and found some references and a very useful knowledge base article (KB article number 840634) on Microsoft support website which addressed this issue. Apparently somebody had enabled the firewall and the firewall is designed to block File and Printer Sharing from any network and allow access only in the same subnet in its default configuration.

To allow file and print sharing on your computers from any network, follow the steps described below:

  1. Click on Start --> Settings --> Control Panel. If you are using the Windows XP Start Menu, you can find the Control Panel on the right side of the start menu.
  2. Category view: In the category view, click on the Security center and then click on Windows Firewall to open the Windows Firewall configuration window. In the Classic view, you will see the Windows Firewall icon.
  3. Ensure that the Do not Allow Exceptions check box is not checked on the General tab
  4. Click on Exceptions tab and highlight File and Printer Sharing and click on Edit...to modify the settings. The file and printer sharing is done through port number 445.Enable Port 445
  5. Highlight the TCP 445 and click on Change scope... or just double click to edit it. In the resulting screen, select whether you want to enable for any network for just your network or for a custom list of networks. In case you choose custom list of networks, you will have to manually enter each subnet you want to enable for it to work.
  6. Click OK your way out and now you should be able to access the computer(s) over the network using UNC path.

A word of caution: I don't recommend setting the scope to Any as is shown here. It means that anyone who can reach your network will be able to access the computer over the network. Either select just the subnet you are on or explicitly define the subnets that you know and trust that would be required to connect remotely using UNC path.

Dasara Greetings and Blessings

Greetings and blessings on the auspicious day of Dasara.

Dasara

On this very auspicious day of Dasara which marks the triumph of good and truth over evil, may the Lord bless your lives and bring joy to your lives. Dasara is the day on which Lord Ram killed the demon king Ravan to defeat Lanka (modern day Sri Lanka) and ended a period of terror and torment of common people by the "Asuras"; evil personified.

Dasara (also called as Dusshera, Vijayadashmi) is celebrated all over India with much fan fare with exchanging visits and wishes to relatives and close friends and by seeking blessings of elders. In most parts of India, people enact "Ram Lila" a short play on the life of Lord Ram which culminates into Lord Ram burning the effigies of Ravan, Kumbhkarna (Ravan's brother) and Meghnad (Ravan's son). Watch this beautiful song from the film Swades which captures the spirit of Dasara very aptly and the burning of the effigy by Lord Ram.

The burning of the effigies is symbolic to cleanse society of all evil by burning it. The looks and the feelings on the faces of people when Lord Ram arrives is just great.

Here's sharing warmest greetings and blessing with you all. I pray for us all to root out evil from our society and live in peace and harmony with each other.

Ayurveda: The Ancient Indian Science

The diversity of spices and herbs used in Ayurveda cooking...simple, yet deeply rooted in science.

Ayurveda is the oldest known practice of medicine in India, about 5,000 years old. Ayurveda is a Sanskrit word, and it translates to “Science of Life”. As etymology goes, ayur means “life”, and veda means “science” or “knowledge”. What is the history behind this knowledge? What concepts lie in this science deeply rooted in Indian culture? Why is Ayurveda important and what are its benefits?

 History of Ayurveda

Ayurveda has been around since c. 3300 BCE, from ancient Vedic culture. It is said to be an eternal science that started from Brahma, the creator and the universal consciousness, who then passed it down to Dhanvantari, who accepted the knowledge through meditation. In this way, Ayurveda has been taught orally and through example for years until it was written down in the well-known texts known as the Vedas and Ayurvedic texts were available in the 8th-century BCE. Some of these texts include Charak Samhita, Sushurta Samhita, and Ashtanga Hridaya. They discuss ayurvedic methods of healing and how Ayurveda evolved.

  The earliest known practice of Ayurveda comes from the Aryans, the people who formed the center of civilizations in the Ganges Basin. They had begun to practice positive spirituality taught in the Vedas, and were cultivating the rice, mung beans, urad dal, ginger, and turmeric that were included in the Ayurvedic diet. 

However, its practice was not confined to India. As invasions by Genghis Khan and Mughals in the 13th and 16th centuries CE, respectively, made their way into conquering India, Ayurveda became the preferred way of medicine for many foreigners, and was able to rise to a higher standard throughout the world. Even as the British took control and tried to force a new way of life onto Indians, Ayurveda inspired the founding of the Indian Medical Institute in 1763, where botanists tried to understand the science behind Ayurvedic plants and methods. Even though the popularity of Ayurveda soon receded into the traditional outskirts of society, as India regained independence, its practices and beliefs were acknowledged and revived by the new government, and has continued to spread throughout the world. 

Ayurvedic Beliefs

The goal of Ayurvedic tradition is to maintain and balance health through the balance of the mind, body, and spirit, all of which are connected to the universe. This can be achieved by the right thought process, a healthy diet, and nutrient-rich herbs. When either the mind, body, or spirit is imbalanced by stress in a person’s consciousness, diseases are caused and the connection between the mind, body, spirit, and universe is disrupted. 

What exactly could be defined as health? A person is made up of a unique pattern of energy of physical, emotional, and mental characteristics. This energy causes the nutrients to distribute within the body, keeps a high metabolism, and acts as a lubricant for keeping cell structures together.  The five basic elements of nature, space, earth, air, water, and fire form the three basic types of energy, called doshas: vata, pitta, and kapha. They control body functions, bring in positive energy, and are used to define people of their strengths and weaknesses. Usually, one of these doshas is dominant in each person, another is secondary, and one of them is least prominent. Depending on which one is dominant, a person develops positive characteristics that pertain to that dosha. However, when one of these energies is imbalanced (due to stress on consciousness), the cells do not function properly; good health is ruined. 

Vata Dosha

The Vata dosha controls the basic body functions and movements, such as cell division, breathing, blood circulation, heart functions, blinking, and defecation. This energy is the strongest of all three, and it is composed of the elements space and air. When in balance, the Vata dosha promotes creativity and flexibility. This positivity is disrupted by over-frequent eating, fear, grief, and staying up too late; this develops into anxiety, asthma, heart disease, skin problems, and rheumatoid arthritis. People who have a dominating vata dosha have a tendency to let go of things as easily as they can grasp them, such as having high energy but easily exhaustible, or earning money quickly but spending it almost immediately. Vata people are also less confident, weak planners, and susceptible to diseases. They are attracted to raw vegetables, but have to eat warm, cooked food and juicy fruits to keep their diet stable. 

Pitta Dosha

The Pitta dosha controls the body’s metabolic system, the absorption of nutrition, and body temperature. It is made up of fire and water, and when these are balanced, pitta promotes intelligence and understanding. This can be disrupted by eating extremely sour or spicy foods or spending too much time in the sun; this imbalance causes anger, hatred, and jealousy. People with a primary Pitta dosha externally have medium height and build, and have many moles and freckles on their face. Internally, they have sharp intelligence and penetrating ideas, strong metabolism and appetites, and have ideal leadership qualities. Pitta people like to exhibit their material prosperity and are easily agitated and aggressive toward hate. As for the diet, Pitta are attracted to hot spices and like cold drinks, but salads, dairy products, and sweet foods are best for them. In order to balance this dosha, people should avoid excessive heat, exercise during the cooler part of the day, and eat cooling, non-spicy foods. 

Kapha Dosha

The Kapha dosha controls muscle growth, weight, body strength and stability, and the immune system, and it holds bones, muscles, and cells together. Since it has formed from Earth and water, it also supplies water for all parts and systems in the body. When in balance, the Kapha dosha expresses love, calmness, and forgiveness. However, by sleeping during the day, eating too many sweet foods or foods with too much salt and water, Kapha will provoke attachment, greed, and envy. With a dominant Kapha dosha, people have excellent strength, endurance, and stamina, yet they gain weight easily and have a slow metabolism, as they do not like exercise. These type of people are also calm, tolerant, and forgiving, and have a reliable long-term memory, but are vulnerable to flu, sinus congestion, and other diseases involving mucus. As for their diet, Kapha people are attracted to sweet, oily, and salty foods, but are balanced by bitter, astringent, and pungent foods. They also avoid sweet and sour fruits, and beans, raw honey, garlic, and ginger are best for Kapha people. To balance this dosha, people need to get plenty of exercise and avoid heavy foods. 

Treatment

Ayurvedic treatment helps regain balance and harmony with life, by increasing resistance, reducing stress, and removing impurities within the body, cleansing it to prevent disease. Ayurvedic treatment falls under 8 categories, as it depends on where the imbalance has occurred: 

  • Kaayachikitsa – Internal Medicine
  • Baalachikitsa – Pediatrics
  • Bhuta Vidya – Psychiatry
  • Shalakya Tantra – Ear, Nose and Throat Treatment
  • Shalya Tantra – Surgery (not practiced in the United States today)
  • Vishagara Vairodh Tantra – Toxicology
  • Jarachikitsa/Rasayana – Geriatrics and Rejuvenation
  • Vajikarana — Aphrodisiac Therapy, Fertility, and Conception

Usually, herbs, common spices, and oils are used in treatments, and these ingredients can be cooked into foods that possess specific healing properties. A common Ayurvedic food is Kitchari. The cooling spices used in it, cilantro, cinnamon, coriander, mint, and fennel help reduce inflammation in the body. 

Ayurveda is a science containing deep knowledge about the human body, but it is definitely not magic. It simply states that keeping stability in life the only way, and really the simplest way, to maintain excellent health.

दसरा!! Dasara – The festival of joy & righteousness

Apta Leaf
In Marathi, there is one saying
"दसरा सण मोठा,
नाही आनंदा तोटा"

This means that Dasara is such a festival which is full of joy, happiness and commemorates the triumph of good over evil. We celebrate the nine days beginning from Ashvin Shuddha Pratipada as "Navaratri" and the tenth day is celebrated as "Dasara / Vijaya Dashami". In 2020 अश्विन शुद्ध प्रतिपदा falls on Saturday October 17th.

During this vowed religious observance, a pot is installed (घटस्थापना) at a sanctified place at home. A lamp is kept lit in the pot for nine days. The pot symbolizes the universe. The uninterrupted lit lamp is the medium through which we worship the effulgent Adishakti, i.e. Shree Durgadevi. During Navratri, the principle of Shree Durgadevi is more active in the atmosphere.

Mahishasurmardini

There are a lot of anecdotes relevant to Navatri and Dasara. They say the demon "Mahishasur" started terrorizing Swarga Loka (Heaven) and Prithvi Loka (Earth) after Brahma granted him a boon that no man or god would be able to conquer him. . He invaded Swarga Loka and defeated the king of gods Indra and took control of Swarga Loka. He drove all the Devas (Gods) out of heaven. Eventually, they created his nemesis in the form of a young woman, Durga, also known as Shakti or Parvati. She combined the powers of all the gods to fight Mahishasura. The goddess then attacked Mahishasura's empire, and after nine days of fighting, during which Mahishasura's army was decimated, he was finally killed on the tenth day of the waxing moon by her incarnation Kali (which appeared from her forehead). Durga was henceforth called Mahishasuramardini, the killer of Mahishasura.

9 Forms of DurgaNavaratri is celebrated to worship nine forms of Durga Maa with fervour and devotion. Navaratri is celebrated in different ways throughout India. In Gujrat, they try to please the Goddess by a special dance called "Ras-Garba". In Bengal the festival of Durga Puja is celebrated. In Kearala, the "Onam" festival represents Navaratri and Dasara. They believe that Bali raja was so kind, that even if he was pushed to Patal lok (The nether world), he would come to the earth to see if everybody is doing good on Dasara.

In Mysore (an ancient city in the south Indian state of Karnataka, around 125 Km from Bangalore) there is a tradition of holding a grand procession through the streets of the city with the idol of the goddess Chamundeshwari riding in a golden Ambaari (elephant-seat).

Jai ShriramIn North India, Dasara is the day when Prabhu Shree Ram killed the demon Ravan. So the nine days are dedicated to Ramlila i.e chanting Rama Bhajans and on the tenth day statue of Ravan is burnt. The burning of the effigies is symbolic to cleanse society of all evil by burning it.

There is a very interesting story about why we give the leaves of "Shami" to each other on Dasara. They say that when Pandavas went to "Adnyatwas" they hid their weapons on Shami tree. And when the Adnyatwas was about to end the Kauravas took away the cows of Raja Virat under whose shelter Pandavas lived. So to save the cows Arjun got his weapons back from the "Shami" tree and that was "Dasara"

There is another very interesting story about the "आपट्याची पानं" (Leaves of Shami tree).
Apta Leaf
It goes like this:

Once there was a boy names Koutsa, who wanted to offer Gurudakshina to his Guru. his guru after Koutsa insisted, asked for 14 crores (140 Million) of gold coins. now Koutsa didnt have as many coins so he went to King Raghuraja. To fulfill his demand, Raghuraja decided to attack Indra and get the money. But when Indra came to know that Raghuraja was going to fight him he was scared, later he knew the main reason of the fight. So he requested Kuber (Treasurer of God) to load the "Shami" tree with gold coins. Now Koutsa offered all the coins to his guru but Guru accepted only 14 crores of coins nad asked Koutsa to put the remaining back on the tree. Later on those coins were distributed among people, and since that day was "Dasara" we give each other the "Shami" leaves symbolically.

Indians give a lot of importance to start any project, journey, activity or make a purchase at an auspicious time. According to Hindu Mythology there three and a half very auspicious days (साडे तीन मुहूर्तांपैकी एक) in an year on which you can start any project or make any purchase without waiting for an auspicious moment. Dasara is one of those days. Therefore many people buy jewellery on the occasion of Dasara. The 9th day is "Ayudha Pooja" when everyone gives their tools of the trade -- pens, machinery, books, automobiles, school work, computers etc. a rest and ritually worships them. They start afresh from the next day, the 10th day which is considered as 'Vijaya Dashami'. Many teachers/Schools in south India start teaching Kindergarten children from that day onwards. Students also pay homage to their respective teachers as they are considered the third god (माता, पिता, गुरू आणि दैव - Mother, Father, Teacher & God).

Quality issues with Apple Watch

iPod 5th Generation

Background

I have been a big fan of Apple devices for a really long time. Right from the iPod 4th Generation (I still have it and it still works even after 14 years) with Video to iPhone 11 Pro. Over the period of time I have used a lot of devices from Apple and swear by the quality, reliability and durability of Apple products. But sadly, nowadays the quality of the products has been declining quite a bit. Apple's image even took a beating after the Antenna-gate, Bendgate and Battery-gate issues. But it weathered the storm and kept bringing great products. Although they may not have been bleeding edge or latest technology or even the most innovative, they were high quality products. But now it seems there are quality issues with Apple Watch.

The issue

I'm afraid that there may be another scandal or issue brewing with its Apple Watch line of products. It could be called as Watchgate or Screengate. This is an issue with the Apple watch where the screen just pops off.
Apple watch with popped screen
Though by far, I am not the only one facing this issue as there are threads on Apple community discusions which you can read here and here. In fact one of my friends also faced this issue. It is a known issue and Apple has also acknowledged it as it is now a separate category on Apple's support page.
Apple support options
I faced this issue with Apple Watch Series 3 twice in the last 18 months. First time around it was within warranty and Apple quietly replaced the watch for me. But now when the screen popped the watch was out of warranty and they refused to repair it without me paying a ridiculous $159 repair fee.

Frustrated!!!

I was left with a watch whose screen had popped off. The poor glue was trying in vain to keep the assembly in place. Paying $159 for repair of a watch which I expected to again face the same issue didn't seem worth it. So I kind of resigned to not use my Apple Watch again. My wife even suggested getting a Fitbit so that we could be a Fitbit family. I was really frustrated and I fired off an email to Tim Cook the text of which is below:


Hello Mr. Cook,

I have been a lifelong Apple user starting from iPod 3rd generation and the successive products. In fact i have never used any other smart phone in my entire life. It was very exciting and great feeling to buy my Apple watch 3 around 1.5 years ago but since then my experience with the renowned Apple quality has not been what I have come to expect. The screen has a tendency to come off very now and then and it appears that the glue used is of low quality. I have been using the watch as per Apple's recommendations and have never even once taken it in water.

I had it repaired once last year and it was replaced for me. Now the new watch has the same problem in less than 9-10 months and now I have been asked to pay $159 for repairing the watch which doesn't seem right to me. It clearly is either a design or a manufacturing defect resulting from usage of low quality components in the manufacturing process.

I have worked at Apple for a few years and I know the rigorous demands on quality that Apple has and working at Apple has shaped me and my career in a positive manner.

I just hope you will take the time to read this email and take the appropriate action. I really love the Apple Watch and feel really bad to stop using it because of the issue.


Tim Cook is a busy man and he is preparing for Apple's event tomorrow on Oct 13th. But I believe he should address customer issues on priority.

Viola, the solution

Anyway, I slept over the issue and in the morning had a brain wave. What if I glue the screen with super glue? I always have some kind of all purpose super glue at home and this time around I had Gorilla Glue.Gorilla Glue

So the first thing I did in the morning was to apply a little bit of Gorilla glue around the edge and put the screen back. I took care to not damage or displace the connector which connects the screen to the body. I factory reset the watch several times in the day (I don't know why it didn't start up immediately), but finally by the end of the day it started working again and now I am very happy and proud to say that I fixed the Apple Watch myself without paying the ridiculous amount as repair charges and hopefully the watch is good for another couple of years.

How to create a bootable USB drive on MacBook

Introduction

I like to tinker around with technology. I think that much will be evident from my website and the type of posts that I write here. Sometime back, I was trying to play around with a Raspberry Pi. It was a RPi zero so it didn't have a lot of capabilities, but I figured out that I could run Raspbian Buster or Debian Buster on it and also ran this website on it till recently when I migrated it to AWS. While playing around with RPi zero, I discovered and created a bootable usb drive on Mac using diskutil and dd. The same process also work for creating a bootable SD card.

The problem

For quite some time now, I have been using a MacBook as my primary computer and while it is a great machine for personal productivity and development, I didn't really dive deep on system administration. I needed to figure out how to format a USB drive and a SD card on Mac and write a bootable image on it.

I did a lot of research and I came across a site from a Microsoft engineer who had written a very nice article on this and I used that article to very easily achieve my task. But I can't find that anymore so instead of relying on someone else, I thought I will document it myself and also add some additional details so that others can benefit. I could have very easily used my Windows computer but that wouldn't be integral with my tinkerer nature.

Recently, I had revived an old 2009 laptop which refused to run any of newer OSes so I did another research on possible OSes that could run on it and figured that I could run Lubuntu on it easily. So I went ahead and downloaded the latest version of Lubuntu - Focal Fossa and set to the task of creating a bootable USB drive.

The technical details

To achieve this, I need only two tools from my MacBook

  1. diskutil
  2. dd

Let's take a look at the details now.

The first thing that needs to be done is to determine the device details of the USB drive. To do that, first insert the drive in your USB port and run the command below:

diskutil list

List all devices using diskutil

This command will show an output of the disks mounted. Determine the device details by looking at the disk size and note down the device details which will be in the form /dev/diskN where N is a number. Once the device number is determined, run the following command under root (sudo) privileges

sudo diskutil eraseDisk FAT32 LABEL MBRFormat /dev/diskN

Erase disk using diskutil

Make sure to replace the LABEL with the name you want and N with the number noted above.

It will take a few minutes to complete the process and once it is complete, run the following command:

diskutil unmountDisk /dev/diskN

Again taking care to replace N with the appropriate number.

Once the disk is unmounted, we are now ready to write the bootable image to the USB drive. To do so, run the following command:

sudo dd bs=1m if=/Path/to/fileimage.iso of=/dev/diskN

Create bootable disk using DD

Depending on the size of the image, this can take several minutes. You can check the progress of the process by pressing Ctrl+T on the screen. Once finished, run the following command to eject the disk from the computer gracefully.

diskutil eject /dev/diskN

Don't forget to replace the N!

Even more deeper details

Now that you understand the commands, let's take a detailed look at the verbs and the switches we used in the commands.

  • diskutil: We used the following verbs with this command.
    • list: This option lists all the drives that are attached and mounted on the operating system
    • eraseDisk (note the capital D): This option will erase the disk that is provided as an option. It also takes the following arguments:
      • Filesystem Type: Choose from FAT32, NTFS, EXT4 etc.
      • Label: The name to be given to the disk
      • Format: The format type of the disk. Valid Values are: APM (Apple Partition map), GPT (GUID Partition Table) and MBR (Master Boot record). Using MBR will ensure that the drive will be bootable on non-Mac machines as well.
      • Device: The device number that we noted earlier.
        Note: This option needs sudo or root privileges to run.
    • unmountDisk: This will unmount the entire disk including all the volumes that may be present on the disk. It needs the device argument to work.
    • eject: This will eject the disk from the computer and make it safe for the removable media to be removed from the computer without the risk of data corruption.
  • dd: dd stands for data duplicator and is used to copy and transform data from one device to another. It is a low level Linux command line utility which will be a great addition in any system administrator's toolkit. We used the following verbs and switches in this exercise:
    • bs: Stands for block size. The default block size for dd utility is 512 bytes and there's not one right size for setting a block size. There is a good discussion here. This operand sets both the input block size and output block size to the desired value which I have used as 1 mb.
    • if: Denotes the input file where the dd should read from instead of standard input.
    • of: Denotes the destination where dd should write to instead of standard output.

Conclusion:

That's it for now. I hope this short tutorial has been helpful to you. Instead of using the GUI tools, I have found that using these command line utilities provide a lot of flexibility and power to the system administrator but can be confusing at times and have potential to destroy data if used incorrectly.

I’m here for you – By Nandini Dharwadkar

Be kind to all

A brand new day. A brand new life. Only ten cars were zooming on the streets, which was the only noise left in the city of Fremont. At least, outside. Inside of hospitals and clinics, the only sound that could be heard was the moaning and groaning of suffering patients, and the soothing voices of the nurses and doctors that worked hard to cure the sick. Everyone noticed this change. Everyone knew. But not everyone cared. The rich were just taking this as a chance to relax.

Coronavirus was taking over people’s lives. And taking them away. And no one could be more affected by this than 15-year old Lily. She wanted some way to help the underprivileged people who couldn’t provide for themselves, the ones without a job because of the lockdown, because they are the ones who need help the most. Lily watched out of her window as she observed a man stuffing his trunk to its maximum capacity with cans of food. Corona Virus

Food, she thought, there will never be enough. For the the higher class with a lavishly decorated home, and the ones with a plain blanket and hard, cement bed. I need to make it enough, especially now.

And watching the man with his cans, Lily knew exactly how to help...

An hour later, Lily had persuaded her sister and had gathered a few friends with her to help other people during this time of distress and were walking around the streets carrying large trash bags. Filled with food and supplies in it that they had pooled out of their own homes. It wasn’t much, but it was worth it. And everyone around the world knew that.

They walked down Thornton Avenue, where they saw an old lady sitting at the edge of a gas station, who was watching them nervously. Her eyes said it all. But as they approached, the woman’s gaze fell to the sidewalk, but Lily knew what the lady’s heart wanted.

Lily kneeled in front of her, and tried to ignore the deadly smell circling the woman. Trying not to scrunch her nose and be rude, Lily said benignly, “How are you doing, Ms….?”

The old woman seemed to trust the teenagers who were silently watching, and said in a croaky voice, “Gibson. Ms. Gibson. What are you doing here? And why are you outside?”

Lily pulled out six large cans of beans, tomatoes, vegetables, and chicken that her mom had saved up. She lined them up in front of the woman. “For you,” she said, and took the old woman’s hand and squeezed it. “We’ll get through this. Coronavirus will be kicked away by vaccines that our doctors will discover. Stay strong. You’re not alone. We’re here for you. I’m here for you.”

Ms. Gibson was speechless. “You’re here for me,” she repeated. “You’re here for me.”

For two hours Lily and the other teenagers walked around Fremont passing out food to homeless and needy people. Other residents noticed the group with large bags as they passed out food. Soon, almost everyone in Lily’s community had joined in the heroic act, and were chanting, “We’re here for you. I’m here for you” to everyone they provided supplies.

Lily looked back at the size of her group and grinned. It took one small act of kindness to prove that the coronavirus could not kill off the kindness people felt for each other, despite the lockdown. All people had to do to prove that was to say four simple words: “I’m here for you.”

Updating a DynamoDB attribute with a hyphen or dash (-) in the name using CLI or SDK

Background

As a part of my personal growth plan and work commitments, I am working on the AWS Certified Developer - Associate certification using the Linux Academy platform. In one of the lab exercises that I was doing on DynamoDB, there were requirements for updating DynamoDB attribute using SDK and perform conditional updates and atomic counters on the tables. Being what I am, I did not use the examples they had provided, but created by own table to create a database of books I own and proceeded to create my own attribute names for the items.

The problem

As it happened, I created attributes like book-title, book-author, book-price, etc. which in itself is not a problem. However, the lab exercise had me perform the item updates using the BOTO3 Python SDK which got me excited to learn new things. I used the example files that the trainer had provided and modified it to suit my environment and ran the script.

UpdateExpression='SET book-price = :val',
ExpressionAttributeValues={
    ':val': {'N': '15.37'},  
    ':currval': {'N': '0'} 
},
ConditionExpression='book-price = :currval',
ReturnValues="ALL_NEW"

To my dismay, I started encountering errors.

Traceback (most recent call last):
  File "conditional_write.py", line 18, in 
    ReturnValues="ALL_NEW"
  File "/usr/local/lib/python3.7/site-packages/botocore/client.py", line 316, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/usr/local/lib/python3.7/site-packages/botocore/client.py", line 626, in _make_api_call
    raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (ValidationException) when calling the UpdateItem operation: Invalid UpdateExpression: Syntax error; token: "-", near: "book-price"

The Solution

I reviewed my code to ensure that I had not introduced any bugs myself. After ensuring that I had not introduced any bugs by adding new attributes to an item without any dashes and running the script successfully, I starting practicing my Google-Fu. There I found this awesome post on stackoverflow along with a link to official AWS documentation. The official documentation however only talks about a dot being a special character and it doesn't list a dash (-). After following the instructions from the stackoverflow post, my new code looked like this:

UpdateExpression='SET #bp = :val',
ExpressionAttributeValues={
    ':val': {'N': '15.37'},  # Make sure we keep this line the same
    ':currval': {'N': '0'}  # What was the current value?
},
ExpressionAttributeNames={
    "#bp": "book-price"
    },
ConditionExpression='#bp = :currval',
ReturnValues="ALL_NEW"

And once I implemented this code it all started working correctly. I have left a feedback for the AWS documentation team and hopefully they will update the documentation. I just want to make sure that all the cases are at listed and documented so that developers and wannabes like me are not stuck.