Walk to ‘roof of Africa’ – hiking Kilimanjaro

I’ll be hiking in Tanzania in Aug 2022 and attempt to climb Mt. Kilimanjaro. At 5,895 meters (19,341 ft above sea-level) Mt. Kilimanjaro is world’s tallest free standing mountain, that means its not part of any mountain range, it just is there – all by itself formed by volcanic eruptions some 1.9 to 2.5 billion years ago. It is one of the rare high altitude hikes that does not require any technical climbing knowledge – no ropes, no rappelling, no crampons, no special equipments, just an able body and determined mind to walk the walk. What makes this walk tricky is as you climb up the oxygen in air you breath becomes rarer, according to ‘Altitude to Oxygen Chart‘, at summit, you have about half the oxygen available in air compared to what we breathe normally at sea level.

Why am I climbing this mountain?

There isn’t one reason for me to climb this mountain – if you need one, I think George Mallory described it the best – “because its there”.

Anyways, I’m making this trek to become ‘experience rich‘, take a bus in Africa, meet local people, try to learn about their lives, eat local food. I’m hiking because I want to challenge myself and find my limits – physically, emotionally. With my compromised knees – do I have it in me to walk ~49 miles on the slopes for 7 days, in thin air, deal with the Acute Mountain Sickness (AMS) symptoms & possibility of High Altitude Pulmonary Edema (HAPE) or High Altitude Cerebral Edema (HACE), can I endure 7 hours of climb on summit night in frigid cold and harrowing winds, can I unplug from rest of the world for 10 days.

And then how else would you experience standing atop highest point on a continent to witness the sunrise with all the clouds and rest of the continent at your feet – only one way, DO IT.

What next?

I’ll write mini blogs about preparation, the tour company I’m working with for the climb, the medications, vaccinations, leave links and my shopping list for the trek.

Once am back, I’ll post about the actual hike, experiences, photos – check back regularly if you are curious. Feel free to reach out to me, if you have questions.

Kilimanjaro: Prep, packing, meds

I hiked all the way up to Uhuru Peak on Aug 7th 2022. This post is all about how I prepared for the hike, what items I packed, what meds I used (& why). At the outset, Mt. Kilimanjaro is NOT a technical climb, you can “hike” to all 3 peaks atop – Gilman’s point (5,686 meters), Stella Point (5,756 meters) & Uhuru Peak (5,895 meters).

Best time to climb the mountain

Based on the twice-a-year rainy season in Kilimanjaro region, planning your hike in July, Aug, Sept (& maybe Oct) would be best – you are less likely to encounter the rains and snow on the mountain.

Given the rainy season has just ended, the mountain provides a good supply of fresh water through streams and melting ice. A source of fresh water makes the life of your porters and support crew a tiny bit easy (these superheroes carry water from streams on their backs and heads to your campsite & provide you with warm & filtered water for you)

Preparing/training for the hike

You should start training for the climb at least 2 months before the actual trek. Frequent, 5-6 miles walks on moderate inclines with added weights (~20 lbs) is your best prep. Walking 4 to 5 consecutive days at least 2 times during the leading 2 months to the trek will prepare you for the long walks in the Kilimanjaro National Park. I used this adjustable weighted vest for my walks, I did not ease into adding weight – just started with all 20 lbs (just me, I prefer step changes rather than gradients!). If you live near mountainous region – doing a 8-10 mile trail with steep climbs will be very helpful to get you thinking about summit night. For me, I live in Massachusetts, so mountains in New Hampshire, Vermont are within driving distance. While these mountains are in 1200 to 1500 meters range – they provide excellent training for terrain, climb up & down and the distances. If you are in New England region, I highly recommend doing Mt. Lafayette loop at least two times in last month leading to your hike. This is about 9 miles loop providing excellent opportunities to get in the nature, face icy winds, rough terrain & just endless inclines. I climbed Mt. Monadnock 3-4 times in last couple of months leading to the trek – this is relatively shorter hike but provides excellent training for continuous uphill climbing – a mini version of summit night. Besides this and in general, maintaining a healthy diet is a good practice – Kilimanjaro or not :). You should do ALL your training and walks in the hiking boots you will use on actual climb, do NOT use sneakers or other foot-ware for training. The boots need to be broken into, your body must be adjusted to how the hiking boot provides you support for your specific way of walking & climbing. I have no specific recommendation for the hiking boots – Timberland, Columbia, Merrell have all good products – just chose any that suits your style, budget & make sure it provides good ankle support and is waterproof.

Items to carry with you

Your hiking company will provide you a packing list – but remember the basic rule “carry the things you need and will use” & “drop the things you want and will not use”. In most cases you will not carry your entire “hold all” (a large duffle bag with all your stuff), a porter will carry that on their backs – be considerate to them & don’t pack things that have no use in the mountain. Most companies will provide equipment rental option as well, so decide what you are comfortable renting Vs owning. For me, I rented the sleeping bag & carried everything else. While I had purchased a really good sleeping bag, it just became too bulky when I was packing for the trip, so I left it home.

I bought these moisture wicking shirts that I used as base layer with a short-sleeved shirt on top. This serves both as a protection against cold but from unrelenting sun during the day hike. These shirts worked great for all days leading upto summit night, for summit night (& possibly a day before, depending upon your tolerance for cold) – I used these compression shirts, they provide closer-to-skin heat retention. For bottoms, I went single layer for days leading to summit night but used these compression bottoms for summit night as base layer and added hiking pant on top as second layer. For non-summit days, you will not need a down jacket but having a thick fleece and/or a wind-breaker jacket will be very useful. You start walking around 8 in the morning & end up gaining altitude during the days with varying degree of wind, so it does help to start the day out with a fleece/wind-breaker on you, as sun climbs in the sky & you become warm, shed the jacket and pack it in your day pack. For summit night, you absolutely need a down jacket, a ski-pant and woolen winter hats to protect your head. I don’t have a specific recommendation for either – but any down jacket with 650+ fill-power is good enough. To protect your head – any woolen winter hat that covers your forehead and your ears is a must. On my summit night, we were welcomed by the mountain with ~60 mph winds with 15 F ambient temp – but I was able to enjoy the hike, get mesmerized by the spectacular views without shivering or feeling cold. Besides these I used 1 long pant and 1 long sleeved cotton T-shirt as my sleeping attire.

Starting from Day 1 – at campsites, the evenings and nights are cold, even for someone who is used to New England cold – it did feel cold, so layer up for the evenings and nights. The strategy I used for staying warm during nights was – after the day’s hike is over and body cleanup, I put on the next days base layer clothes & added the sleepware on top – thus getting layered for the evening/night & on next morning before breakfast, just remove the sleepware & get ready for the day. This allowed me to save time in the evening and mornings while enjoying the the surroundings.

For packing, I highly recommend “compartmentalized packing” i.e. take 2.5 gallon jumbo Ziploc bags & pack clothes based on days in those – makes it really simple to pack, track and helps keep the clothes dry. Here’s how my Day 3, 4 and 5 bag looked like.

Others essentials include … (I not promoting these products – I don’t get kickbacks from sellers/manufacturers, I’m just providing links to what I used)

  • 40-50L backpack with provision for carrying water bladder (& has a rain cover)
  • Winter gloves: for summit night
  • Balaclava: for summit night (or before, if you need)
  • headlight – you need it on evenings/nights and on the summit night.
  • inflatable pillow
  • LED lantern – for use in the tent
  • Water resistant ‘hold-all’ – this is the bag that contains all your stuff & is carried by porters.
  • Wipes – for body clean up.
  • Aquatabs – these tablets treat and disinfect water, you just drop a tablet in water bottle & let it sit for 20-30 mins & then you can consume water. I used this as added protection on top of whatever treatment was done on the water.
  • Socks: Bring plenty – while I never felt need to double-layer socks, you may.
  • Deodorant: chose what suits you.
  • GPS enabled watch: Not required, but I used this for tracking other health vitals
  • Sun-block, lip balm: I don’t use these, but am told they are very useful to some.
  • Tooth brush & paste: Carry travel sized paste.
  • Underwear: you know what works best for you.
  • Extra AAA batteries or of appropriate size for your headlight. Altitude and temperatures can cause accelerated deterioration of batteries – so carry spare ones, you don’t want to be climbing in the dark.

Food

The trekking company does a great job at feeding you & feeding all the right things, so don’t go overboard with food. I carried about 25 home-made bars with nuts & dates and shared those with everyone around & that’s all! But remember, my caloric requirements are different that yours – so carry energy concentrated foods or foods with more sugars, if you need those. I drank less-than-optimal water (my mistake), but do consider carrying either the bladder in backpack or bottles so you consume at least 2 liters of waters every day.

Medications

I’m not a physician – so this is not a medical advise, just what I followed – please consult your physician for your specific needs.

  • Malaria: Lower altitude places in Tanzania host the Anopheles mosquitos that carry the malaria, but Arusha, where I lived does not report any malaria cases over last 3-4 years and the town-people proudly claim – no need to worry about malaria infections in Arusha. Your consulting physician will determine the prescriptions for you. The side-effects of malaria prescription, at times, appear similar to altitude sickness – this may confuse your guide – if you need to start descending right away (because of altitude sickness) or these are benign malaria medication side-effects – so decide wisely. I did not take any malaria medication (based on advise from my consulting physician)
  • Altitude sickness: I highly recommend taking Acetozolamide – branded popularly as Diamox. I started this medication – 2 tabs a day, one with breakfast and one with lunch – one day prior to climbing over 3000 meters. It works by slightly reducing pH of your blood, thereby instructing brain-stem to increase your respiration rate – thus while there’s less O2 in the air, you are taking in more breaths to allow lungs to extract enough of O2. Conscious rapid breathing does not work, you’ll pass out soon (try it!), your reptile brain needs to be tricked into thinking faster breathing is necessary for survival and slightly acidic blood does the trick. I stopped Diamox on summit night. The side effects included more urination & sometimes tingling in fingers (I did not experience the tingling, but I watered barren lands a lot)
  • Vaccination: I travelled to Tanzania via Kenya by road making my stay in Kenya slightly over 12 hours & the Tanzania rule requires you to have vaccination against yellow fever if your are traveling via some East African countries (Kenya included) and your stay in these countries exceed 12 hours. So before leaving US, I got myself some yellow fever & a yellow card telling authorities I’m vaccinated against Yellow Fever. Besides yellow fever, I used this opportunity to get vaccinated against Hepatitis A, Typhoid, Tetanus. I felt no side-effects from any of these.
  • Pain reliever, fever reducers: Take your pick, but do pick some – after long walks & potential altitude sickness symptoms – headaches being common, having a generic pain reliever is helpful. I used CVS branded 500mg acetaminophen & ended up taking 1 tab for 2 days towards the end.

Kilimanjaro: Routes, hiking company & the setup

Mt. Kilimanjaro is located in Kilimanjaro National Park in Tanzania. At 5985 meters, it is world’s tallest free-standing mountain. I hiked to the Uhuru peak (tallest point on the mountain) on Aug 7th, 2022. This post is about the routes and company I used as trekking guide.

National park manages the routes as “ascend only” & “descend only” (exception of rescue and re-supply). There are 7 routes you could take to the top of mountain …

  • Lemosho
  • Machame
  • Marangu
  • Lemosho – Norther Circuit
  • Rongai (starts in Kenya & approaches mountain from North)
  • Shira
  • Umbwe

These names correspond to villages/places where the starting gate in national park is located. I climbed the mountain via Norther Circuit route. Which route to chose is really a matter of personal preference and your readiness, some routes (Rongai e.g.) lets you get to top in 4-5. days (maybe even shorter) while others allow you to get there in 7-9 days. In general, you should consider longer duration routes to allow your body to acclimatize to higher elevations with lower O2 in the air. Other factor to consider, again based on your preference, is how busy the routes are. On our descend we passed through Barafu Camp and saw over 50-60 tents – thats busy! I chose the Lemosho-Northern circuit route for these 2 reasons (a) its the longest route allowing gradual height gain and excellent acclimatization hikes (b) its least crowded & you get to see the mountain from all 4 directions. Other important reasons to chose this route was the company I worked with – Team Kilimanjaro invented this route. A caution about this route is – starting Day 4 (really 3) – you are on north side of the mountain – a totally different perspective and landscape – northern side is “dry”, the mountain looks totally different, you traverse baron terrain – it is beautiful in its own way & you get to enjoy it all pretty much all by yourself. Advantage of this route is the base camp used (School Hut camp) is not used by a lot of other companies – making your pre-summit evening quiet and reflective – the views are spectacular and as bonus when you climb – you get to see all the main points on top – Gilman’s point, Stella point and Uhuru peak – some other routes skip Gilman’s point.

While there are many companies that offer services to help you get to the top of mountain, selecting a good partner company will save you stress & trouble on the mountain. I highly recommend Team Kilimanjaro, John Rees-Evans, the founder is a veteran mountaineer, having climbed around the world and holding a few records to his name, John is just wonderful to deal with. We had nothing but positive experiences dealing with John & the TK staff. John pioneered the northern circuit route & established the trails and camps used by TK & now many other followers.

In general, whichever company you chose – will have about 2 guides for your party and a number of support staff/porters. Tanzania government limits weight carried by each porter to the mountain to 20 KGs, so how many porters are part of your team depends on the company, equipment and your personal load. The porters the unsung heroes of the mountain, they each carry 20 KGs on their backs, start just after you & reach before you at next camp site and have the setup ready by the time you arrive – all with a smile on their face and “Jambo” (‘hi’, ‘hello’ in Kiswahili) & “Hakuna Matata” along the way. Typically a chef/cook and a butler will be part of the support staff. You’ll be provided 3 meals a day – a breakfast (porridge, eggs, toast, fruits), lunch and dinner (a soup, main course, fruits). TK provided us with snacks (popcorn, roasted peanuts) upon arriving at campsite. Victor, our chef and Errasto out butler were fantastic – the recipes Victor used were inspiring & knowing they had access to most basic of tools on mountain the food tasted even more delicious. A personal caring touch was – in the middle of morning hike on Day 2, Victor waited for us with ginger tea & biscuits – that fueled our climb for the morning. The guides are very well trained, Julius and Edwin, for me, are my ‘friends in Tanzania’. In many ways, you are trusting your well-being with the guides – so chose a company of good reputation, the dollars you may save with cheaper operators may not be worth the headaches (literal and figurative) later on.

Becoming guide on the mountain is akin to getting the ‘top post’ in a company. Guides are required to join a “college” and learn all about customer service, mountain safety, weather, first-aid and a whole lot of other things. Most guides start their job as a porters, climbing up the ladder to becomes senior porters, butlers, assistant guides and then guides. During my climb, Julius our guide while carrying his own load, helped another porter who was not able to keep up the steep incline and the weight he was carrying – so guides are expected to have mastered all aspects of mountain climbing & Julius (& Edwin) both clearly showed us they were.

Do the riskiest thing first

Today’s blog is inspired by my experience delivering works of software in what most teams would describe as ‘aggressive timelines‘, even by typical high-flying software shop standards. A meeting at work triggered me to blog about it.

So the general theme is this: at the outset, list out all the things that scare you about a project, list out all the things you don’t know, list out all the things that’ll break your customers experience – once you have those, stack rank them and pick the riskiest thing(s) to do first – you’ll have much better outcome than otherwise. You’ll have de-risked the future. It is true you will have inaccurate estimates in the beginning making your stakeholders questions ability of the team to deliver – but with open and transparent communication you should be able to persuade them about this approach. Other advantage is at the beginning you’ll have lot more control over schedule slips and dealing with downstream impact. As you make progress you will deliver the necessary features on time and with high certainty because the riskiest items are either done or no longer unknown. Avoid the trap of doing things that you can, are known to you at the beginning, reason is simple – you know them, you can execute later.

Now, to the specific trigger: we are re-architecting and releasing a service where a few new components are in the mix and will be serving traffic from all customers by routing them appropriately (think API Gateway-like services for routing, authentication and authorizing traffic). In the existing version of the service, each cluster of software is isolated, thus there’s no “noisy neighbor” problem. Given current incarnation of service is available for many years now, there’s robust tooling available for conducting performance testing – on existing software stack. The engineers working on performance testing the new version of service had fallen in the track of thinking: “this is how its done in existing service”, “this is something we can do now”, “we don’t know how to write tests, harnesses for new service & it’ll take time”, “we don’t know how to project traffic patterns for the new common components, it is 10K requests/second or 100K or a million” … you see the trap, right? The customer experience will largely be determined by scalability of new components & we were punting them and favoring to do things we can & do them now.

This will lead to rush and stress later on when team figures out how to write those tests, how to measure performance, how to simulate traffic to find out the new components don’t scale well or need a lot of tuning or need a lot more hardware behind them or worse re-design some – putting the go-live date at risk or outright missing it. If it turns out we need to redesign a few things – it’ll lead to even more costlier delays – it’d be best to invest time in unknowns, riskiest things – right now Vs doing them later, yes it’ll be uncomfortable to write tests with unknowns but the discovery phase of this will help not only performance engineering team but overall org by bringing to the front questions we may not have event thought about.

Management lessons from trenches: Part 1 – Remote Meetings

This is first in the series I intend to write about “management lessons from trenches”. I’ve worked in small and large software companies – building, shipping software, running in-the-cloud services and being responsible for large geographically distributed teams. These are the lessons I learned, some the easy way & some the hard way – paying in terms of missed deadlines, less-than-beautiful software, that dreaded call about your micro-service not working at 2 am (why is this call, real or proverbial, always at 2 am??) but hey! learning never ends…

So, here’s a typical scenario in most software development shops – you are setup with multiple teams in different geographies, across timezones & across cultures, most of the times there are cross-dependencies between teams across functions (dev, QA, SRE etc.) The upstairs people (bosses, yes, me included!) of course want things built with reliability of Trump-tweets that cause a storm on the left and (&&) the right & of course, all of it must be done yesterday! Your teams are always looking to make progress, get things done & more often than not, you end up doing meetings, many meetings – using a audio & screen-share conferencing tool so everyone can join, listen, participate & you all can move the ball forward – what could be noble-r than this? Indeed, it is good to collaborate, to make everyone on the team see the world same way – so all arrive to promised release/go-live date looking somewhat sane and still friends with each other.

This is where I’ve seen, time & again, things go off-the-rails, in the enthusiasm of meetings, rapid-progress – we completely the miss the point that people we pull-in to the meetings are remote as not-in-same-room, they can not hear all the side conversations going on the conf room, they can not see the facial expressions of people, they can not read the non-verbal cues – all they have to go by is the words they hear on phone or the images they see on the screen – if you are lucky a video conferencing call. You will find this a trivial point, an obvious observation – but the impacts of this are far-reaching – continue this habit or this way or running meetings without understanding the remote-ness, without paying conscious attention to it – you’ll start alienating the remote teams, they will lose interest, they will not understand the designs, they will come to regard those implementations as something forced-upon them rather than being their own – a toxic team environment is forming & soon spreads like a disease … so don’t be that jerk who runs meeting with remote attendees the same way as in-person, everyone in the room type meetings. Here are some simple rules (which are good to follow for any meetings, really) …

  • Precise list of attendees: Make sure all the right players & ONLY the right players are invited to the meeting – if someone is not going to derive value from meeting or someone is not going to provide value to the meeting – spare them, trust me, they have productive things to do & will be thankful! Bosses tend to tag-along for many meetings – the rule is same for everyone, you either derive value from the meeting or you provide some – so ask boss which one is it? (ok, not all bosses may take this in right spirit, just because I do – but you can be crafty about this)
  • It’s not 10 AM everywhere in the world: People work in different time-zones, they have outside-of-work commitments – so be mindful of time you are scheduling the meeting at – make sure it doesn’t overlap with family dinner time for your India or China or Eastern Europe teams. Just because you work at HQ (wherever it might be) – doesn’t mean all other remote locations need to adjust their schedule every time there’s a remote meeting, may be take turns – you join late night or early morning call at times & at times expect others to do so, this fosters trust & team-spirit, sends a message “we are all the same & in this together”.
  • Publish an agenda: In the meeting invite, state the goals of the meeting, be explicit with words about what it is you are expecting to achieve by end of the meeting, it could be a decision the team needs to arrive at by considering alternatives, it could a design pattern being proposed, critiqued – but in the end voted up or down – something that is tangible & can be referred to after the meeting is over.
  • Stick to the agenda: Its natural to get drifted in many different directions when people are sitting in same room, across tables & side conversations are a natural thing – but as dude (or dudette) leading the meeting, be firm & stop the side conversations.
  • Require participation: For every item discussed require local as well as remote attendees participate in discussions, decisions. There’ll always be people (statistically speaking at least 1 person who wants to dominate the talking part of meetings!) – either on the phone or in the room – who simply love to talk, but as dude (or dudette) leading the meeting – intervene, politely tell people to let others speak up. Make sure everyone participates, this is NOT “encouraging” participation, its active, mandatory participation.
  • Share the running notepad or meeting progress updates: As dude (or dudette) leading the meeting – either take live notes yourself or appoint a scribe to take notes & most important share those notes – real-time (Zoom, GoToMeeting – whichever tool you use), this gives a visual orientation for everyone involved, an orientation about what is being discussed and how is it relevant to the agenda.
  • One speaker at a time: As dude (or dudette) leading the meeting, take charge, allow one person to talk at any given point and be respectful for time
  • Followup with post-meeting notes: These could be in form of minutes-of-meeting, decisions-we-took, activities-we-agreed-to-do but be specific about who, what & when (& if needed how) if you have shared workspace, Wiki, shared-doc, even better.
  • Beware of these phrases:
    • Let’s take this offline“: if this is said about one of the agenda items, intervene vehemently – the time to discuss the matter is here & it is now.
    • We are working xxx team on this“: These can be vapor-words either suggesting a meaningful collaboration is underway or nothing is being done, we are simply talking or wanting to to talk to team xxx – so insist for details, specific steps, concrete actions that be traced, viewed, reviewed.
    • I’m looking into zzzz“: What does it mean? what’s there to look into? Again, insist for concrete steps, actions, outcomes – this makes tracking, asking questions, followup, setting goals easy Vs nebulous “looking into it”.
  • Be wary of recurring meetings: If you have good (remote) meeting practices in place, in all likelihood, you’d not need recurring meetings, if you do – please, please ask participants if they find these meeting productive & if not course-correct in time. Too often such recurring meetings become a boring time sink where people end up checking their emails or engage in other social media. Think of it this way – you are inviting “N” people, for say an hour-long meeting for “X” weeks & assuming the average cost spent per employee per hour is $100 (pick any number that makes sense to your situation) – is that meeting producing “100 times N times X” worth of value? (measure value whichever you chose, tangible, intangible …)

You must be thinking – “geez, this is too much“, well, it is, no one said building great software across continents and oceans is walk-in-the-park! But the good news is, with 3 to 4 such meetings it gets easy & everyone involved will follow along & understand the rules of the game and you will build an efficient, effective team.

Javascript inside Java

I recently ran into a situation where we wanted to provide extensibility to end-users without development team getting involved – think you are writing a generic framework where you want to provide ability to users to receive a Java object & produce different output formats & pass back the resulting object to Java. The formats users want to produce could be different for each use-case, if there was only one format, you could code it up in factory – no problem, but when users want to format it entirely different based on whatever it is they wanted – we figured it’d be wonderful to allow users to write their Javascript code, drop in their files & pass back & forth objects.

We are still in the middle of designing things – I may write back more once done, but here’s a quick hack prototype of how to create an object instance in Java, pass it to Javascript & interact with that object as a javascript object. I’ll provide two code samples – one for omnipresent “Person” & other one for actually pulling a JSON response by making an HTTP call & dealing with response as a JSON object in Javascript (while running inside JVM)

Example 1: Using a Java object in Javascript

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

public class JavaToJavaScript {

    static public class Person {
        private String first_name;
        private String last_name;

        public Person() {
        }

        public Person(String f, String l) {
            first_name = f;
            last_name=l;
        }

        public String getFirstName() {
            return first_name;
        }

        public String getLastName() {
            return last_name;
        }

        public String toString() {
            return first_name + " " + last_name;
        }
    }

    public static void main(String... args) {
        ScriptEngineManager manager = new ScriptEngineManager();
        ScriptEngine engine = manager.getEngineByName("nashorn");
        Person james = new Person("James", "Bond");
        String script = "var jsInstance = passedFromJava;"
                .concat("var fname = jsInstance.getFirstName();")
                .concat("var lname = jsInstance.getLastName();")
                .concat("print ('Person object set in Java but accessed from Javascript: ' + fname + ' ' + lname)");
        try {
            engine.put("passedFromJava", james);
            engine.eval(script);
        }
        catch (Exception e){
            System.out.println(e.getMessage());
        }
    }
}

Example 2: Using HTTP response from a URL in Javascript

(URL used in this example has usage limits, don’t run it multiple times … I have not dealt with error handling – whatsoever!)

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.stream.Collectors;

public class JavaToJavaScript2 {
    public static void main(String... args) {
        ScriptEngineManager manager = new ScriptEngineManager();
        ScriptEngine engine = manager.getEngineByName("nashorn");
        String response;
        String url = "http://api.geonames.org/postalCodeLookupJSON?postalcode=6600&country=AT&username=demo";

        try {
            InputStreamReader is = new InputStreamReader(new URL(url).openStream());
            BufferedReader reader = new BufferedReader(is);
            response = reader.lines().collect(Collectors.joining());
            engine.put("response", response);
            System.out.println(engine.eval("var obj = JSON.parse(response); print(obj.postalcodes[0].placeName);"));
        }
        catch (Exception e){
            System.out.println(e.getMessage());
        }
    }
}

References:

Separate password for each VNC session

I often setup VNC sessions for various uses, one being – I keep a “personal” session where my emails, browsing & other documents are – the things I typically don’t want to share with my coworkers, but then there are other sessions where I want to share, collaborate & let someone else work out a problem. Having same VNC session password isn’t optimal (true you can use VNC session port to obfuscate things, but that’s not ‘complete’).

You can setup different passwords, tuck them away in different files and when you start a VNC session you can specify which file to use for which session. Here’s how to …

Step 1: Generate a password

$ vncpasswd ~/.vnc/personal-pwd
Password: <type your password here>
Verify: <type same password as earlier>

Step 2: Specify the password file to use when starting a VNC session

$ vncserver:34  -rfbauth ~/.vnc/personal-pwd

This will start a VNC session secured by the password you setup on port :34
$ vncserver:1 

This will start a VNC session by using whatever default password you have (assuming you have one) on port :1

Vipassana: An experiment on self

Today, on 28th April 2024 I came back from a 10 day Vipassana meditation camp. I wanted to share “in the moment” thoughts, experience before I re-interpret memories.

For starters, Vipassana is a meditation technique invented in modern-day India. It has zero affiliation with any particular religion, community or otherwise organized collective thinking – at its core, its a meditation technique that describes very precisely what you should do and what you should avoid. It expects the meditators to adhere to some basic life-rules that are generally and universally accepted as “moral code of conduct” across geographies and times – I won’t be commenting on value judgement of “good or bad”, “superior of inferior” on this code of conduct, to each their own!

With that intro out of the way, this will be a long post, so settle in and read when you have some time. Lets go!

Why?

First obvious question people ask is “Why” did you do this? For me it was (& remains) “Curiosity”, curiosity about consciousness, brain, body, mind. I was (& remain) very fascinated by how we “operate” inside, how are we wired to perceive things. So, in doing Vipassana, I was not trying to process any particular life-event or heal trauma or come to terms with anything or was not looking for “experiences”. Thanks to a wonderful upbringing in loving, caring environment that me and my wife continued to nurture for our kids with amazing support from family and friends, I live a quantitatively happy “outside” life and a qualitatively very happy “inside” life.

The Research Experiment

So owing to my curiosity, I was reading (books, blogs, articles, research), listening to podcasts, YouTubing and Vipassna kept popping up every now & then. I was fascinated by the scientific, practical and experiential nature of it. Imagine coming across a peer-reviewed research whose results were reproduced by a significant number of independent researchers over course of time, imagine the research was titled “A practical exploration of improving external co-operation and internal efficiency of Dynamic Systems“. Would you not be interested in trying out the methodology of this research yourself? Especially if it was within your capacity to do so with least amount of investment … well, I was and thus my 10 Day camp at Dhamma Dhara in Shelbourne Falls in MA.

I’d have loved to debate the findings, bounce ideas, share coffee with the lead researcher, but I never had opportunity to meet Him, he died about 2500 years ago (2,447 to be accurate), his name was Siddharth Gautama & because of this research and practical, universal applicability of it, he was later known as “the knowledgable one” or simply “Gautama Buddha“. We’ll keep the history lessons for later and keep pulling on the thread of this experiment.

Setup

So these Dynamic Systems have 5 sensory ports and a Connected Graph (for non software folks, here’s a short description of a “graph”: Let’s say you have a bunch of dots, and each dot is connected to some other dots by lines. These dots are like different points, and the lines show how these points are connected to each other. Now, think of each dot as a piece of information, like a city on a map, and the lines as roads that connect these cities. So, if you want to go from one city to another, you follow the road. Similarly, if you want to find some information connected to another piece of information, you follow the lines between the dots).

The ports are:

  1. Measure aerosol-pressure differentials (hearing)
  2. Detect wavelengths of EM radiation (sight)
  3. Sense chemical composition of aerosols (smell)
  4. Detect chemical composition of non-aerosols (taste)
  5. Detect pressure (touch).

The Connected Graph (mind) is meshed closely with these ports and has its own internal clock and logic to store some information and act on it, at times, independent of signals from 5 sense-ports. There are actuators, links, connectors for this system that can interpret the signals from the Connected Graph and move about in 3-D space (limbs, muscles, tissue, bones etc.). The Connected Graph has bi-directional connection with the sense ports! Us, humans are those dynamic systems.

Now, you have many millions of these systems – they do cooperate with one another from time to time, but sometimes they end up in a conflict situation – terminating, ruling or other wise overpowering other collectives. Also, given the potential and adaptive nature of these systems they don’t seem to perform as well as they could.

So the challenge was come up with a practical way of improving external collaboration and increase internal efficiency. Just publishing theories about it won’t help as there are literally hundreds of research articles available and they don’t seem to help.

Approach

Siddharth Gautama’s ingenious way of approaching this problem was “Lets use the system you want to observe and improve as the tool of measurement“, read that again – that’s pretty amazing & then further more – “Since, I’m one such system, I can use myself as a measurement and experimental tool” and so he did, he worked relentlessly on the problem for many years, incorporated methods from existing research articles and invented a new, novel and practical approach that any Dynamic System (human) could follow and yield the desired results – he called it “Vipassana”. The Pali word literally means “seeing the things as they are“. His manuscript was very simple and short but extremely difficult to practice (given the Connected Graph has way too many nodes and not well understood storage and retrieval algorithm!).

Excerpt

The research can be summarized as follows (Gautama, the Buddha, of course wrote eloquent volumes that people spend lifetimes studying, but here’s how I’d summarize it):

  1. There is no “one mind”, instead there’s a chain of processing units (mini-minds) for each signal, regardless of port the signal is received on and regardless if the signal was truly physical in nature or simulated by lower level minds. You could examine each “mind” and find a way to intervene at specific juncture to accomplish results you want. Based on the contents of these mini minds every signal will produce a sensation on the body – every single signal (regardless of real or simulated) – every single time, day or night, awake or sleeping will produce sensations – always on the body & you could observe these sensations as a feedback.
  2. Everything, literally everything, is impermanent. Every object is made up of tiny wavelets (Kalapas) that arise and vanish with great rapidity giving us feeling of solid-ness and continuity. There’s no point is feeling attachment to the impermanent structures as everything, everything changes – all the time.

Its rumored that Ashoka, the Emperor of Magadha (the largest land empire at the time), seeing the results people were getting from this technique got so impressed that he sent learned ambassadors (Dhamma-doot) to spread this technique to parts of then known world. Rest is history, what’s believed is somehow the technique was retained in a close-to-its-original form in Mynamar (Burma, Bramhadesh or Swarna-bhoomi as it was known at the time of Ashoka). The technique gained popularity around 1960s and 1970s because of S. N. Goenka, a successful Burmese businessman saw usefulness of it in treating his own chronic illnesses and observe other positive changes.

Logistics

Now that I had an understanding of the experiment, next step was to actually try it and try it on – myself. A Vipassana course was the way to go. There’s a global organization, Vipassana Research Institute (VRI) that oversees independent trusts/entities in over 90 countries & each trust/entity operates centers that teach Vipassana courses, there are over 200 such centers globally – each with varying levels of facilities. Each center teaches the same exact technique for over 40 years now. Given I live in MA, I had the privilege of going to a center in MA – Dhamma Dhara, this was first center outside of India, started in 1982. The center is simply amazing and has top-notch facilities and amenities. The instructions are delivered by S.N. Goenka, himself via audio and video recordings (S. N. Goenka passed away in 2013). The instructions are translated to many languages for understanding by local population.

Here are some key highlights about these centers/course:

Centers

  • Each center operates ONLY on the donations. You can NOT donate without doing at least one 10 day course at any center. (They literally turn down donations from anyone, including wealthy donors, charities. They do so in order to maintain independence, specificity and purity of the teaching)
  • There no solicitation or suggestions on how much and/or what you should donate. The idea is you will provide the gift to a future student if you find the technique useful to you – if you don’t, no pressure – just don’t donate.
  • Each center is operated entirely by volunteers, office, admin, cooking, cleaning, facilities maintenance – everything, there are no paid staff.
  • The application process is online, usually courses book 3-4 months in advance and they tend to get filled as soon as they open, within days. I’ll include a link to scheduling in “Resources” section at the end.
    • I applied on Dec 19th, 2023 for the April 17th, 2024 course.

Course

  • There is no tuition fee, the course is free. You don’t need to provide credit card, bank info – ever at all.
  • Each course is residential, the students MUST live on the center, effectively as monks/nuns.
  • You are NOT allowed to communicate during the course duration of 10 days – communication in ANY form is prohibited – verbal, visual, signaling, none of it. So no phones, reading, writing, journaling, chatting (you can chat with yourself all you want, silently).
  • Daily instructions are provided on the actual meditation – what to do, how to do etc. A local “assistant teacher” is available (one male, one female) to answer questions if you have and guide you along, but the teacher, really, is S.N. Goenka.
  • Male and female student are separated, not for religious dogma – but to control the sensual pleasure signals received on the 5 signal ports! Special arrangements are possible for LGBTQ community.
  • You are served healthy vegetarian meals, a breakfast and a lunch. No dinner, instead tea/coffee/lime juice and a fruit are offered in the evening.
  • They teach humans! So any adult of any biological sex from any country, any race, any religion (or none) can apply.
  • Daily Schedule is very demanding and exhausting both physically and mentally. So don’t think this as a “retreat”, there’s no “feel good”, “pampering”, “goodie-goodie” anything about this. The whole course is conducted with academic rigor like a clockwork and you are expected to follow that rigor and discipline. Here’s how a typical day looks like:
    • 4:00 AM wake-up bell rings
    • 4:30 to 6:30 AM: meditate
    • 6:30 to 8:00 AM: Breakfast and break
    • 8:00 to 9:00 AM: Mandatory group meditation in hall
    • 9:00 to 11:00 AM: meditate
    • 11:00 to 11:45: Lunch
    • 11:45 to 1:00 PM: Break
    • 1:00 to 2:30 PM: meditate
    • 2:30 to 3:30 PM: mandatory group meditation in hall
    • 3:30 to 5:00 PM: meditate
    • 5:00 to 6:00 PM: Tea, fruit + break
    • 6:00 to 7:00 PM: mandatory group meditation in hall
    • 7:00 to 8:15 PM: Daily discourse to explain the days activities and rationale and thinking behind them. These are recorded video messages from S.N Goenka.
    • 8:15 to 9:00 PM: meditate
    • 9:00 PM : retire for the day

The technique

Meditation Mechanics

Here’s a quick listing of “mechanics” of the technique, I’ll try to best explain the thinking behind later, so for now – just read these are very precise steps-to-be-followed.

  • Day 1:
    • You commit yourself you learning and practicing this technique & suspend all your other practices, rituals for next 10 days. You commit yourself to “moral code of conduct” for next 10 days (at the end of 10 days you are “your own masters” & decide to continue to discard this technique)
    • You commit not to mix and match techniques, that means so mental words for breathing, no mantras, no chanting, no visualization of any kind, no rosary, no pooja, no nothing – just follow the prescribed steps precisely and exactly to the last letter.
    • You observe your breath, your natural breath, no artificial control, no “pranayama”, observe it as-it-is, not as you want it to be. If deep, let it be, if shallow, let it be, if going through one nostril or other – let it be.
    • Your mind will run away from “focus on breath” very, very often and very, very quickly to all sorts of thoughts, memories, plans and schemes – just gently bring it back to the breath (& then repeat the cycle as many times as needed)
  • Day 2 and 3:
    • Now that you can keep focus on breath for slightly longer duration than when you started, focus your attention on triangular area – base being your upper lips and vertex being your pineal gland (top of nose) and your nostrils – inside/outside. You are only observing sensations you feel on this area and completely ignore sensations anywhere else on the body. Yes, you’ll have pain in knees, lower back, joints, you may feel ticklish, hot/cold – whatever, wherever – you ignore and simply observe the sensations on this triangular area & remember you are only observing whatever is there, don’t imagine or suggest feelings or sensations – observe what-is-there and not what-you-would-like-to-be-there.
  • Day 3 & 3.5:
    • Now reduce the area of attention just on upper lips and outside of nostrils. Same instruction, just observe what appears there without craving or aversion for any. Sensations arise, they stay for a bit and then they are gone – ad infinitum.
  • Day 4: Until now you were practicing whats called “Anapana” meditation. “Anapana” is a Pali word meaning “breathing”. Now to “Vipassana”…
    • By this time, your mind is expected to be trained to detect sensations on a very small area of your body, now its time to use that focus and observe sensations all over the body – pleasant or unpleasant, pain or joy, you only need to be aware of them without reacting to them & this is very-very-very important, you observe them, observe the lifecycle of every sensation, pleasant or painful without reacting to any. Reaction is meant in literal terms – physical or mental, if you feel something enjoyable don’t feel or develop attachment to it & conversely, if something is resentful, don’t develop aversion to it, because every sensation follows same lifecycle of arise-stay-vanish (& on and on). e.g. if you feel like a itch on left arm – only observe, the itch will arise, get stronger and will vanish. You can only be aware of now, for the past, you have memories, records, documents – thats not awareness, similarly for future you have plans, ideas, schemes – not awareness, so awareness is only about now & only about things you – yourself can positively witness – your own breath and your own sensations.
  • Day 5 onwards:
    • You fine-tune your ability, both to feel the sensations and develop ability to remain equanimous to them. It can not be stressed enough you need to learn both – “awareness” and “equanimity”. You keep on scanning your body mentally and methodically for sensations – for hours together.
  • Day 10:
    • You try to project “feelings” of inner peace and harmony to all other beings (humans, animals, birds, reptiles, plants …)
  • & this is it! … as I said the manuscript of Gautama’s research was very short and simple, but practicing it is very-very-very hard.

The Theory

What Gautama discovered was, though we think of a mind as “one”, its actually made up of many, many sub-minds – he named about 100+, but for the purpose of better understanding by common people, he specifically clarified 4:

  1. Cognition Mind (Sañña): This is simply “detector” mind, it detects a signal has arrived on the input port or an internal signal from the Connected Graph (part of lower level mind) & passes on the context to next processor.
  2. Measuring mind: This processor mind only detects the strength, rate of change & other attributes of the signal & passes on this information with context to next processing mind.
  3. Registering Mind: This mind actually evaluates and registers the signal along with the context & gives it an effective boolean rating of “oh! this is good” or “no! this is not good”. Reason, I called it “effective” is there are shades within each classification but overall, its either “i want more” (craving) or “do whatever you can but avoid this” (aversion)
  4. Reacting Mind: This part of the mind is responsible for “react” phase, where the evaluated and stored sensation is used to form a response based on earlier learned patterns. The response is formulated and issued to appropriate part of the system – it could be perspiration, it could the punch-in-the-gut feeling or the dilated pupils when you are aroused, literally anything, but physically manifested somewhere on the body – always! no exceptions.

The interesting part is the signal may not be real, it may be just an internal state update or recall on the Connected Graph (mind) – this chain reaction happens all the time, every single moment of life. We form these “sankhara” (in Pali or “Sanskar” in Sanskrit) every single moment of living. Today’s scientific literature refers to this as “neurons that fire together wire together” (& vice-a-versa).

Next Gautama postulated that the trouble is not with the first 3 minds, its the last one that is root of the problems. So even seeing someone who might have insulted you years ago, gets reacting mind in action & triggers a physical response & unfortunately, the cycle feeds on itself – giving rise to all kinds of negative behavior or system characteristics such as stress, anxiety, animosity, hatred, physical bullying etc.

So what you are doing by only observing the sensations and not reacting (physically or mentally) is letting the “mechanical” part of the system do its job, but you are short-circuiting the response triggers, so are stopping new neural bindings from forming (no new “sankaras”). If you are successfully able to do this, your mind will still need some activity, so it’ll revisit, resurface older information/behavior patterns and kick the system in action – if you continue to only observe but refuse to react, you’ll start to unwind the learned-over-lifetime behavior patterns and there by free lot of resources on the Connected Graph (mind) and in the process slow the system down so it becomes more efficient with priority handling, fine-tuning the calibrations etc. But forcing a part that grew naturally with you not do its thing is very-very-very hard & hence implementing this techniques takes a lot of time, perseverance, patience, practice, grit.

Gautama concluded, if you are able to do this successfully you will notice increased capacity to do things/activities/tasks, keep your attention on a given task for longer duration, context-switch quickly and be able to deeply grasp new task to be solved, increase senses sharpness, increased internal energy, life-force, vitality (whichever word you prefer!) & as a side effect you develop more empathy, compassion & better appreciation of other humans and their internal struggles and will be kind-er to them. (In all likelihood, he might have started with this goal of empathy, love, compassion etc. in mind first, but me being me – understood it in reverse :)) He gave himself as a “case study” & thousands of subjects followed during his lifetime and then for last 2500 years each claiming to either have mastered the ability to observe without reacting to every-single-signal/sensation (thus become “liberated” from the cycle of signal –> response –> signal loop) or having in general “better lives” for themselves & thus Siddharth Gautama became Gautama, the Buddha – the learned one.

He also discovered there’s no solidity to anything – literally anything, including your body, animate, inanimate objects, metals – everything. Instead everything is made up of tiny waveforms – he called them “Kalapas”, Kalapas arise and vanish with such rapidity that give us a ‘feeling’ of solidity or continuity. Thus even at the core of it all – there’s only impermanence, tiny waveforms arise and vanish & we cling to it all – he termed it “Anicca” (or “Anitya” in Sanskrit) and warned us to be aware of Anicca – at all times and of everything. Anicca was a main theme throughout the meditation instruction.

My Own Findings/Experiences

  1. Physical pain: I practiced daily sitting cross-legged for 1 hour about 2 weeks prior to the course, that definitely helped manage the pain. Even with hours of sitting, I was able to comfortably walk during breaks and maintain pace. No matter how much you prepare for the physical ability for this course, you will still struggle. I alternated between using the sitting chair (still on the floor, cross legged), using a meditation bench (sit like “vajrasan”) and using a slightly taller cushion to let my crossed legs use the extra height.
  2. Focus: Focusing on breath & staying with it for longer duration was harder than I imagined. But when you get there, you enjoy a very silky, smooth breath-in-breath-out cycle, its very effortless and enjoyable state. You’ll feel the cool-ness of incoming breath at the back of throat and warmth of outgoing breath towards end of nostrils. The lowest continuous hart-rate I clocked was 38 & it lasted for 30-45 mins out of the hour. This is the time when you have slowed down the velocity of thought generation and rapid context switching of the mind. This is also the time when you may notice lot more sensations on your body that you otherwise don’t register such as short bursts of tickles, bubbles, feeling of crawling ants, bubbles moving about, intense pain from your legs, joints, lower back.
  3. Body scans: Scanning body to detect sensations part-by-part was hardest part for me! I’d lose track of what parts have I mentally scanned or for how long I was scanning. If you have accomplished the ‘smooth breath’ state in # 2 above, you may sense mind-games such as “I don’t feel my hands anymore, I know they are there, but can’t feel them”, “I think rest of my body is located all the way to right side & ‘I’ am here”, “I don’t feel my head at all”, “‘I’ see the breathing process as if I got minified and placed near my rib-cage” & so on. You’d may also start sensing that the “heavy” sensations are giving way to more subtle sensation as if you started noticing “oh, this large ant colony is made up of small clusters & each cluster is made up of tiny grain clusters & so on)
  4. Feeling awareness: Not being able to visualize body parts during scanning turned out to be advantageous for me as I had no trouble “mentally” scanning body, other students reported they ended up visualizing their body parts, something the Vipassana technique expressly prohibits.
  5. Experiences: It was very well emphasized that every individual will have different responses, reactions, sensations so there’s no one yardstick to measure. While some students reported many experiences, mine were pretty earthly and non-exotic such as seeing past or future lives, floating in eternal bliss. I was able to slow down mental activity while still remaining alert and awake, I was able to feel subtler sensations on head, face, hands and legs but torso remained stubbornly wooden.
  6. Sharpened senses: The plants at the Center appeared more intense in color, more beautiful, the edges of objects appear sharper, I could spot birds (still no good with identifying most!) on top of large tress on a hill, listen to gently flowing stream from afar, on clear days – it felt like the sky is ‘fake’, it was so pristine, so blue – so unreal as if someone placed a giant, brilliantly colored dome over. I could smell smells from great distance and feel air moving about head and face that normally I’d not register. I think this is all explainable as we were depriving the senses (eyes closed for good 10-11 hours of the day), no sounds, fragrances were discouraged (so no deodorants, intense soaps – if someone used it – you could smell from 100s of yards away!) & no physical contact with any other being, just inanimate objects. Today, its still Day 1 after the camp & colors are still extremely vibrant and brighter than usual, so I’ll see how long this effect lasts.
  7. Food: The food was nutritious, plentiful and varied in menu. I never missed the dinner, only overate for 1 breakfast (& suffered inability to breathe well on next meditation session), all in all, I had no complaints about food.
  8. Course content/teaching: Goenka-ji is an absolute master story-teller, he delivers his message in a funny, witty way using stories from life of Gautama, made up stories and one-liners. The teaching specifically is:
    • Focused on self-experience Vs intellectual circus, word-play, hypotheticals & assertions about theories. Large emphasis on “don’t take anything from anyone – be it founder of a religion, a saint, a Buddha, be it God unless you can reason with it & most important, you can experience it yourself while not harming other beings in the process and all of this within framework of your own mind and body. This message of “experience” Vs “theory” is something I’m drawn towards naturally.
    • Is non sectarian, “if the human condition is universal, the solutions must be universal”, “there’s no Hindu solution or Muslim or Christian or Jew or any other specific solution, anger is anger, killing is killing – there’s no Christian anger or Muslim anger or a jew death is no different than jain death!”, so treat humans as humans, let them believe what they want to believe but provide solution that works for everyone. Again something resonates very much with me.
    • Contains traces at times about re-birth, re-incarnation, carry-over Karma etc. & what may appear to tilt in a religious way – but Goenka-ji is very clear, don’t take rest of it if you don’t like it – but take the meditation technique in it entirety – only if you find it useful, as everything in technique is universal. So I left behind those religious-ish aspects as they don’t resonate with me.

Post Course Impressions and Conclusion

Post Course Impressions

It has been 1 day since I’m back and …

  • My internal state feels more happier, more optimistic
  • I was able to sleep for about 4 hours and was able to get up feeling energized
  • I feel more energetic to do my company work, house work without feeling a sense of drag.
  • Colors are still brighter, I’m able to notice more things around me that I knew existed but never registered.
  • After 4 hour sleep, I practiced meditation for 1 hour in morning, followed by resistance training at gym and working on company and the blog since coming back, well over 6 hours – but not feeling tired yet

Of course this is Day 1, I’ve been away from work & things I care deeply for 10 days and some amount “catch up” & “after glow” effects are bound to be there, so I’m not sure how long observations above will hold true, but I’ll keep on monitoring & now I have new tools to get back this state, so even if things wear off, I should be able to put a shine on.

Conclusion

To conclude, these 10 days were very well spent. I learned something new, gained “Experienced Wisdom” termed as “Bhavanamaya Pannya” in Pali (Vs “hearing” from others, “Suttamaya Pannya” or intellectual thoughts, “Chetana-maya Pannya”)

Next obvious question is do I recommend you do it? & the answer is absolutely, yes! At-least-once-in-your-life. It takes commitment both from yourself & your family – to be totally detached from world for 10 days that too in a physically and emotionally demanding environment. I am “the lucky-idiot” who can afford to skip work and suspend life for 10 days & my wife, kids, family and friends supported me going away whole-heartedly. At the course, you get to meet people from different backgrounds, different age groups, different belief systems, different in-course experiences (we are allowed to talk and share on 10th day, thats when you meet, hear, learn about others), you get sobered up on your views of “right Vs wrong”, “outlandish Vs reasonable”. Your ego gets questioned seriously and hopefully you walk away a better person able to view and reason from other people’s perspectives.

However, if you have some trauma, a chronic situation thats more emotional such insomnia, stress, anxiety, fear – I’d suggest this as a therapeutic measure & hence do it asap.

Resources

  1. Scheduling course: link
  2. S.N. Goenka discourses for all days are available on YouTube: link