20 April 2024

How to plan your Samudram Lakshadweep trip


The Indian government's Society for Promotion of Nature Tourism and Sports (SPORTS) organizes a visit to three islands of Lakshadweep via ship. This is the Samudram package, which does not require you to obtain a permit or police clearance certificate, because you'll be spending your nights on the ship.

When preparing for the trip, many questions come to mind, which aren't really answered properly anywhere, so this blog post hopes to clarify the points.

Booking the trip

You can visit this page, and if you see dates of travel and available seats displayed, you can create an account on the website and do the booking yourself. I've been told that once the booking is done, there's no separate email or SMS confirmation. If that page does not show any info, or if there are no general seats available, contact the authorised travel agents. If there are any unused seats in the emergency category, they'd be able to get you a seat. You can request the travel agent to notify you when there's an availability too. They don't charge any extra commission. I contacted Gol Travels. The advantage being that their office is close to the Lakshadweep wharf, so their representative was physically present on the date of travel, to help us. Once I paid the amount to their bank account (they sent me a payment receipt), shared a copy of my mAadhaar (it's safer to share mAadhaar instead of the actual Aadhaar) and stated my food preference (veg/non-veg), it took many days until I was emailed a 13 character long tourist passenger id which confirmed my booking. I did find it odd that there's no immediate PNR number generation or email/SMS confirmation like a railway or airline ticket.

Cancellation

10% cancellation charge will be deducted if the booking is cancelled 30 days before departure. 25% cancellation charge will be deducted if the booking is cancelled between 29th to 7th days before departure. No refund if cancelled within 7 days before the departure. The refund will be directly paid to the customers bank account through which the customer booked the ticket online, within 7 days cancellation of the booking. However, the transaction charges levied by the bank/payment gateway will not be refunded.

Documents to carry

To get your boarding pass, you need to carry a black and white printout of your id card and either the passenger id you were emailed or the travel agency's payment receipt. I was told that a soft-copy would also suffice, but whatever id card you carry, needs to be in original.

Travel insurance

I contacted many companies, but none of them covered travel insurance for ship travel. So if a family member gets hospitalized and you need to cancel the trip, I guess you end up losing the money.

Arrival and departure flight/train

Once your ship booking is confirmed, you can book your flight or train, but make sure you book tickets that can be rescheduled or canceled. A person I know, had to reschedule his ticket because the ship which was set to sail on the 11th, got rescheduled to sail on the 10th, and one island visit was canceled and 1/3rd of the money was refunded. Although rare, there can be worker strikes, engine repair, changes in weather, etc. which can alter plans. The airport is far from the port, and there could be a significant amount of traffic, so plan accordingly. You always have the option of staying in Kochi for a night. When searching for rooms, make sure you look at the Google reviews of the hotel or homestay, and sort the reviews by ones with the lowest ratings. Avoid places where they mention the owner/staff is arrogant or there are pests or a lack of cleanliness.

Order of island visit

The reason the Samudram brochure mentions only the island names and not the order of visiting them, is because the ship has different schedules for visiting the islands. It's available here. After the ship drops you off at an island, there's a good chance it'll sail off to another island to pick/drop the local passengers, and then return by evening to pick you up.

Sample of an old schedule with inaccurate timings. Click to see it bigger.

Weather

The true beauty of the islands shows itself when there's sunny weather. The following websites offered a reasonably good prediction: https://www.meteoblue.com, https://www.meteoconsult.co.uk/, https://weather.com, https://www.weatheravenue.com/en/, https://www.weathercrave.com, https://www.bbc.com/weather.

These websites predicted rain on my travel dates, but it didn't rain: https://www.weathertab.com/en/, https://www.timeanddate.com/.

The incorrect predictions from weathertab and timeanddate

There are also websites like https://www.tide-forecast.com/ for estimating the tides and https://windy.app/ which graphically depicts wind directions and intensity on a map. There are also websites like https://www.earthcam.com/ which show you live camera views of places, which will give you an estimate of the weather (not available for Lakshadweep yet).

Luggage safety

In the ship

When traveling alone, it does help keep one's luggage under lock and key, for peace of mind. For this, a piece of metal has been engineered into the cupboard door. A lock will not be provided for free. You need to either bring your own padlock or buy one from a little shop in the ship, opposite cabin 415. I'd suggest bringing your own number-combination padlock.

The mechanism available to lock the cupboard door

You won't be provided keys to lock your cabin door from the outside. However, you can lock the door from the inside. When you go onto the island, a crew member will lock all cabin doors. When you return, the crew member will unlock all cabin doors.

After you get your boarding pass, you'll be transported to the port by bus. Before that, your luggage will be loaded onto a truck. If you have a small piece of luggage, you can carry it on the bus. Once you reach the ship, the luggage will be unloaded from the truck and will be taken to your cabin. I believe it'll be left at the corridor in front of your cabin door. You also have the option of carrying the luggage to your cabin yourself. When disembarking, if you aren't in a hurry, you can leave your luggage at the corridor, and it'll be taken down. Again, you have the option of carrying it down yourself.

At the islands

You'll be advised to take only a small bag or satchel containing your swim-wear or anything else you need. You'll also have to take along the yellow life-jacket provided in your cabin. At the resort, there will be multiple tables and chairs, where you can keep your mini-luggage. You'll be promised that nobody will steal your luggage. No lockers will be provided there. During my trip although this arrangement seemed trustworthy, if you can't trust your luggage simply being left on a table while you swim or go for the village visit etc, you can carry a small bag which has some kind of a combination lock.

Clothes washing and drying

As of April 2024, there's no laundry service for the passengers. There's no dryer either, and there's no place on the ship exclusively meant for hanging the clothes for drying. A suggestion was put forward for making a dryer available. Until then, you can hang wet clothes on the fixtures provided in the bathrooms. The air-conditioner circulates air in the bathroom too, so there's some chance of the clothes drying there. There's no bucket or mug in the bathroom, so don't bother bringing washing powder to wash clothes. At each island resort, there will be ropes provided to hang your swimwear to dry. Clothes clips will also be provided, but I recommend bringing your own clips, in-case the existing clips aren't sufficient. If the swimwear isn't dry by evening, you'll need a plastic cover to carry your damp clothes back to the ship.

Food

At 6am, tea, coffee and biscuits are served at the canteen. There's sugar-free tea and coffee too. At 7am breakfast is served. There's a good variety. Cornflakes with milk and sugar, bread with butter and jam, omlette, boiled egg, and some unique breakfast like upma or idli with sambar and chutney. It could also be noodles. Except for the first day, where lunch is served on the ship, you'll be having your lunch and evening snacks at the island resorts. There's a great variety of north Indian and south Indian curries available. You'll also be served a dessert like paysam. During dinner, you need to wait. To avoid overcrowding, sometimes the passengers of the 5th deck are called first to dine. Sometimes the passengers of the 3rd and 4th deck are called. Bunk-class passengers have a separate canteen.

In the non-veg section, it's primarily chicken, egg and fish that's the non-veg portion. I asked if food could be cooked separately for anyone who has a special dietary requirement, but the answer was a polite "no", since they have limited staff.

Medical treatment

Medical treatment is free of charge. There's a doctor onboard, and even after hospital timings, a male nurse will be present to help. If nobody is at the hospital or ward when you go there, simply go to the information desk, and they'll make an announcement for the nurse.

What's provided

A towel and soap will be provided in your cabin. You don't have to take it along to the resort. At the resort, towels, soap, shampoo and sometimes a conditioner will be provided. You'll be given a complimentary shirt (you can specify the size at the time of collecting your boarding pass). The cap that used to be given earlier, is no longer there.

Drinking water

Twelve bottles of drinking water will be kept in your cabin on the first day. If you need more, you can ask at the canteen. There is also a water dispenser available at some corridors. 

ATM/UPI at the islands

UPI worked fine at Kavaratti, for people who made payments for their scuba dive. There are ATM's at all three islands, and I believe it works fine.

Network at the islands

BSNL seemed to work fine. Airtel was available only at Kavaratti, and when I measured it, the download speed was 8Mbps, but the upload speed was just 0.5Mbps.

SCUBA

For discover scuba dive (DSD) of upto a depth of three meters, I didn't have to show any doctor's certificate. However, I was required to answer a standard medical questionnaire. We didn't even have to wear any special scuba suit. Our normal swimwear was enough. If you are myopic, it's recommended that you learn how to use contact lenses and carry disposable contact lenses. It's necessary to see clearly to truly appreciate the beauty of what you see underwater. At Rs.2950, it was among the most cost-effective dives in India. Just make sure you practice breathing through your mouth. You don't even need to know how to swim. Also, take your camera along, since although we were told we'd be given a video of the dive, we were given only 1 minute's worth of footage. The whole dive was around 10 minutes or more, of exquisite beauty, which we now only have as a memory in our mind.

Ship's return to Kochi

Normally, the ship reaches by 10am. I'm told the maximum delay may be upto 2pm, but it never goes beyond that. If you are in a hurry to catch a flight or other transport, you will be allowed via a special line, to leave early.


Precautions

Top bed ladder placement

If the ladder is placed at the topmost position, it'll be very unstable when climbing, and can injure your hand too. The right way is to place it as shown in the image below. This also ensures it rests properly on the floor.



10 March 2024

Websites offering ChatGPT-like functionality without needing to login

Being able to use ChatGPT for free is cool. It does get annoying that one has to login to use it. When you are in a hurry, and want to ask something to an LLM, there are some websites you can quickly access by keeping them bookmarked.

Vercel's AI playground

https://sdk.vercel.ai/

This is my favourite. It not only uses ChatGPT, it simultaneously generates an output with Llama too.

 

HuggingChat and HuggingFaces Spaces

 

https://huggingface.co/chat/ and https://huggingface.co/spaces/olivierdehaene/chat-llm-streaming

HuggingChat is a page that opens without much of a hassle, but it allows only 3 prompts. In settings you can choose from various models.

HuggingFaces spaces allows typing more prompts and even allows you to easily change the "p mass", which appears to be the temperature, but might be top p.

 

Talk AI

 

https://talkai.info/chat/

This begins with a slightly irritating human verification that needs a manual input, and has a 30 prompt limit, but the chat interface is ok.


Chat AI GPT

https://chataigpt.org/

Even this begins with a human verification, but it automatically disappears. The chat interface is ok.


LM Sys

https://chat.lmsys.org/

This site has the annoying human verification delay and needs you to click on a usage terms agreement. The good part is that it allows you to compare models and allows changing various parameters like temperature, top P and max output tokens.

28 February 2024

Use a free, local LLM instead of GitHub CoPilot

There was a time when Google and StackOverflow replaced the need to buy books to refer documentation. Now we have entered the era of LLM's (Large Language Models) replacing Google and StackOverflow for coding. We've also entered the era of frameworks like SkyPilot assisting with batch jobs on the cloud. Choosing an LLM itself is like choosing an ice cream in a buffet of ice creams. To ease my programming, I decided to try a few VS Code extensions similar to GitHub CoPilot. The objective was to find extensions that worked locally without sending any of my data to an external server, and were free to use. 

CAUTION: VSCode extensions aren't checked by anyone for safety, so install it only if you really trust the creator of the extension. Even for the ones mentioned below, check first.

There's a leaderboard of how well models can write code. 

Instruct model versus base model

  • Base models: These aren't designed for answering questions. These are meant to provide completions. If you prompt it with "What is the capital of India", it'll respond with "?indiacapitalisdelhi#code ends here". Notice how it outputs the question mark. It only generates a completion based on the data it was trained with. Base models are used to generate code while you type.
  • Instruct models: The instruction tuned models are designed to answer questions. Asking it for the capital of India would return something like "The capital of India is New Delhi. It serves as the center of government for the country and...". The instruct models are used for question-answer type of interaction with the LLM.

 

Using Ollama for the local LLM instead of OpenAI's API

Download and install Ollama using `curl -fsSL https://ollama.com/install.sh | sh`. It installs to `/usr/local/bin` and creates a systemd service. You can also build ollama and take advantage of ROCm for AMD inbuilt GPUs. There are some ways to stop the service. Downloaded models get stored in `usr/share/ollama/.ollama/models/blobs`, and you can change the directory by changing the OLLAMA_MODELS environment variable. You can access it on localhost via port 11434. Some other commands:

  • systemctl list-unit-files | grep ollama will show you if it's running.
  • systemctl status ollama will show you more info about the process.
  • sudo systemctl stop ollama.service will stop the process.
  • sudo systemctl disable ollama.service will disable auto-startup.
  • sudo systemctl start ollama.service to start the process.
  • sudo systemctl enable ollama.service will enable auto-startup.
  • ollama list will show a list of the downloaded models.
  • ollama pull <modelname> will download any model listed here. Remember to use a smaller model for getting a faster response. This is especially important when you are using only CPU.
  • ollama rm <modelname> will delete a downloaded model.

 

Twinny 

So far, Twinny has been the only local LLM that has worked fine, is well designed and supports multiple models. You can open Twinny's sidebar by pressing Ctrl+Shift+t. You can use the Alt+\ key combo to generate code completions. You can stop the code generation using Ctrl+Shift+/. The code completions are called FIM (Fill In Middle). Do take note that to generate code completions, you need to use models called "base models". Don't use "instruct models" for code completions. To make the suggested code in grey become actual code, you need to press Tab.

Here, the stable-code model is used for fill-in-middle code suggestions

You can also use the Twinny sidebar to chat with it, similar to how you chat with ChatGPT. For this, you need to use "instruct models". You can even highlight code in the main editor and ask Twinny to explain the code or generate code based on the highlighted code. For this functionality, the model specified in Chat is used. Chat can sometimes not understand the User or it produces incomplete outputs. This depends on how the model is prompted, which model is used and how much processing power is available. I'll update this section if I find out more.

For this chat, the `codellama:latest` model was used.

 

There is also a way to use models from HuggingFace.


Continue

The other almost-good extension I found was this. It can work by connecting to one of Continue's servers, or you can configure it to work with a local LLM too. Continue sends telemetry data to its server, so you need to go into the settings to disable it.

Continue didn't account for the entire code when adding new code

As shown in the screenshot above, I selected a function and asked Continue to add an error message if a file was not found. It did a poor job of adding new code. The entire code barely had 30 lines. This showed me that Continue was poorly programmed. There is of course a sidebar where you can type prompts and have code explained or generated, but I uninstalled Continue.

It connects to this server:

Running `nslookup node-proxy-server-blue-l6vsfbzhba-uw.a.run.app` showed the server it connected to


Continue still has many bugs that need to be resolved. Also, I couldn't fully trust it to run entirely locally, so I uninstalled it.


Other local LLM extensions

  • Wingman-AI: It's good, but it didn't support the `stable-code` model, so I uninstalled it.
  • Backseat pilot: Poorly explained on how to use. Meant to use llama cpp python. Uninstalled it immediately
  • Open copilot: Needs cody and llama cpp. Uninstalled it.
  • Local pilot: Requires a Github copilot account.
  • llama coder: Didn't generate anything. No interface to work with.
  • Tabby: Needs Docker Tabby server. Works on CPU and CUDA.
  • Your copilot: Doesn't work out-of-the-box. Meant for OpenAI API. Giving it Ollama's URLs didn't work.
  • Ollama autocoder: No interface. Not straightforward to use. Auto completion didn't work with the default space+pause or ctrl+space.
  • Wingman: Uses LM Studio or Openai APIs. Can't use at work without their permission. Likely uses telemetery. Has a nice set of prompt UIs for mode, prompt, placeholders. caters to general programming, creative writing and technical writing. The appimage didn't work on Linux.
  • Ollama copilot: Incompatible with latest vscode version.
  • Refact.ai: The local version needs docker with NVidia GPU.


If you don't want to pay for an OpenAI API but still want to use ChatGPT3.5's free chat, a person created Headless ChatGPT.


01 January 2024

Get rid of Google's annoying sign in popup

 


It's like a horror movie ghost giving you a jump-scare each time you open a website. Google somehow thinks it'd be a great idea to take away focus from whatever we are doing, and present us with the most annoying thing on the internet: The Popup!

Thankfully, it's possible to get rid of this. 

On Firefox:

1. Install the Adguard extension.

2. Enable Adguard to run even in private tabs (if you use private tabs).

3. In Adguard's preferences, select "Filters" and then enable the "Annoyances" toggle button.

4. Now click on the "Annoyances" section to view all the annoyances that are to be blocked, and enable any of the annoyances you want to get rid of (for example, the "AdGuard Popups filter").

When using Firefox on your mobile phone, you can use just the uBlockOrigin addon, and in the addon's settings, activate filters for uBlockOrigin annoyances and AdGuard annoyances. Both need to be on.

Some details on using uBlockOrigin instead, are given here.

On Google Chrome:

This of course works only if you are signed in. Direct link.

1. Go to "My Account" : "Security" ( https://myaccount.google.com/security ).
2. Click on "See all connections" link in "Your connections to third party apps & services".
3. Click on the gear at the top of the "Third party apps & services" page.
4. Disable the "Signing in with Google" prompt.

 

That's it. Enjoy your popup-free browsing! Some other people have given the same solutions here and here too.

08 November 2023

Ten minute email id

Ever been to a website that required you to enter your email id to sign up for even a short trial, and doing so, exposed you to their spammy newsletters and promotional emails? Well, 10minutemail is here to rescue you from that.

I came across this interesting concept https://10minutemail.com/ (there's also https://10minutemail.net/), which allows you to keep extending the 10 minute limit. If you refresh the page, you won't lose that email id until the 10 minutes expires. 

I tried sending an email from my real email id to the address shown, and sure enough, within a minute, 10minutemail showed the test email in its inbox. You'll have to scroll down for it.

It's interesting that people actually created such a concept.

Tips: 

  • Did you know that GMail ignores the dot in an email id? For example, if you have an email id as brad.pitt@gmail.com, you can write it as bradpitt@gmail.com, and the email will still reach the same person.
  • Did you know that you can add anything after a plus symbol, and those parts get ignored by GMail? For example, if you subscribe to a newsletter from vox, you can provide your email id to them as bradpitt+vox@gmail.com. The "+vox" will be ignored, but when you receive the email, the email id will be shown as "bradpitt+vox@gmail.com". This makes it much easier to filter emails and recognize where it's coming from.