Suramya's Blog : Welcome to my crazy life…

May 14, 2022

Using algae sealed in a AA battery to generate enough electricity to run a microprocessor for 6 months

Filed under: Computer Hardware,Emerging Tech,My Thoughts,Science Related — Suramya @ 11:59 PM

Powering computers and all our devices requires us to use batteries if they can’t be connected to a power source/electrical socket. For the most part this means that we use NiCa or Lithium batteries. The problem with this is that they require us to use rare earth metals that are hard to find and process, which makes them expensive and mining the metals are potentially bad for the environment. The other problem is that they need frequent replacement and create a lot of waste. Due to this a lot of effort is going on to find better ways of generating power.

Now, Christopher Howe and other researchers from the University of Cambridge have managed create a power source using blue-green algae to generate enough electricity to power a processor performing calculations (to simulate load). Using a type of cyanobacteria called Synechocystis sp. PCC 6803 sealed in a container about the size of an AA battery, made of aluminum and clear plastic they were able to generate the 0.3 microwatts of power to run the CPU for 45 minutes followed by 15 minutes of standby, which required 0.24 microwatts of power.

The system ran without additional intervention for 6 months and the computer was placed on a windowsill at one of the researchers’ houses during the test and the ambient light was enough to power the processor. There are indications that this can be scaled up to generate more power for more resource intensive applications but even if that doesn’t work out, the current setup could potentially be used to power IoT devices that don’t require that much power to run such as sensors/monitors deployed in the forests/cities for monitoring.

Sustainable, affordable and decentralised sources of electrical energy are required to power the network of electronic devices known as the Internet of Things. Power consumption for a single Internet of Things device is modest, ranging from μW to mW, but the number of Internet of Things devices has already reached many billions and is expected to grow to one trillion by 2035, requiring a vast number of portable energy sources (e.g., a battery or an energy harvester). Batteries rely largely on expensive and unsustainable materials (e.g., rare earth elements) and their charge eventually runs out. Existing energy harvesters (e.g., solar, temperature, vibration) are longer lasting but may have adverse effects on the environment (e.g., hazardous materials are used in the production of photovoltaics). Here, we describe a bio-photovoltaic energy harvester system using photosynthetic microorganisms on an aluminium anode that can power an Arm Cortex M0+, a microprocessor widely used in Internet of Things applications. The proposed energy harvester has operated the Arm Cortex M0+ for over six months in a domestic environment under ambient light. It is comparable in size to an AA battery, and is built using common, durable, inexpensive and largely recyclable materials.

Their research has been published in the Energy & Environmental Science journal and work is ongoing to build on top of it to look at commercial applications.

Source: A colony of blue-green algae can power a computer for six months

– Suramya

May 9, 2022

Researchers have created the first one-way superconductor which could lower energy used by computers

Filed under: Computer Hardware,Emerging Tech,Science Related — Suramya @ 6:58 PM

Computers use massive amounts of energy worldwide and with the increasing dependence on computers in our life the energy utilization is only going to go up. To give you an idea, the International Energy Agency estimates that 1% of all global electricity is used by data centers. There are multiple efforts ongoing to reduce the power consumption and the recent advances by Mazhar Ali from Delft University of Technology in the Netherlands and his colleagues are a great step forward in this direction.

Mazhar and team have successfully demonstrated a working superconducting diode by sandwiching a 2D layer of a material called niobium-3 bromine-8, which is thought to have a built-in electric field, between two 2D superconducting layers. When electrons travel through the structure in one direction, they don’t encounter resistance, but in the other direction they do. This is unique because till now we had only gotten a diode working with non-superconducting metals (as they would not give any resistance in either direction).

The superconducting analogue to the semiconducting diode, the Josephson diode, has long been sought with multiple avenues to realization being proposed by theorists1,2,3. Showing magnetic-field-free, single-directional superconductivity with Josephson coupling, it would serve as the building block for next-generation superconducting circuit technology. Here we realized the Josephson diode by fabricating an inversion symmetry breaking van der Waals heterostructure of NbSe2/Nb3Br8/NbSe2. We demonstrate that even without a magnetic field, the junction can be superconducting with a positive current while being resistive with a negative current. The ΔIc behaviour (the difference between positive and negative critical currents) with magnetic field is symmetric and Josephson coupling is proved through the Fraunhofer pattern. Also, stable half-wave rectification of a square-wave excitation was achieved with a very low switching current density, high rectification ratio and high robustness. This non-reciprocal behaviour strongly violates the known Josephson relations and opens the door to discover new mechanisms and physical phenomena through integration of quantum materials with Josephson junctions, and provides new avenues for superconducting quantum devices.

The next step is to create a superconducting transistor, but there are multiple challenges ahead that need to be overcome before this can be commercially released. The first problem is that the diode only works when it’s temperature is at 2 kelvin, or -271°C which uses more energy than the diode saves. So the team is looking at alternative materials so that they can get it to work at 77 Kelvin (which is when nitrogen is liquid) so the energy used would be less and we would have an energy-saving diode.

Another issue to be sorted is that the current process of making the diode is manual and would need to be automated for large scale production. But that is a future problem as they first need to find a combination of materials that works at a reasonable energy cost.

Source: First one-way superconductor could slash energy used by computers
Paper: The field-free Josephson diode in a van der Waals heterostructure

– Suramya

April 27, 2022

MIT’s Ultra-thin speakers can be used to make any surface into a low-power, high-quality audio source

Filed under: Computer Hardware,Emerging Tech — Suramya @ 9:51 PM

Noise Cancellation is one of those things that initially we think that we don’t need but once you start using it, it becomes indispensable. I got my first set of noise canceling headsets back in 2002-2003 when I had a coworker who was extremely loud and would insist on sharing their thoughts in a very loud voice. The cherry on top was that a lot of what they said was wrong and it would grab my attention. I would be peacefully working then I would hear something and be like did they just make this statement? In short it was very distracting. So I got a noise canceling headset and was able to ignore them. Since then I have ensured that I always have my noise canceling headsets handy both at work and while traveling.

But you can’t install noise canceling everywhere (at least not cheaply). I have been fortunate that most of the places I have stayed at I didn’t have the problem of loud neighbors but others are not as fortunate. Loud neighbors are one of the major problems in urban life. Which is why I love this new invention by the folks over at MIT that allows you to convert your entire wall into a noise cancelling surface by putting ultra-thin speakers as a wallpaper in your room. These speakers are very thin & use very little power (100 milliwatts of electricity to power a single square meter).

their design relies on tiny domes on a thin layer of piezoelectric material which each vibrate individually. These domes, each only a few hair-widths across, are surrounded by spacer layers on the top and bottom of the film that protect them from the mounting surface while still enabling them to vibrate freely. The same spacer layers protect the domes from abrasion and impact during day-to-day handling, enhancing the loudspeaker’s durability.

To build the loudspeaker, the researchers used a laser to cut tiny holes into a thin sheet of PET, which is a type of lightweight plastic. They laminated the underside of that perforated PET layer with a very thin film (as thin as 8 microns) of piezoelectric material, called PVDF. Then they applied vacuum above the bonded sheets and a heat source, at 80 degrees Celsius, underneath them.

Because the PVDF layer is so thin, the pressure difference created by the vacuum and heat source caused it to bulge. The PVDF can’t force its way through the PET layer, so tiny domes protrude in areas where they aren’t blocked by PET. These protrusions self-align with the holes in the PET layer. The researchers then laminate the other side of the PVDF with another PET layer to act as a spacer between the domes and the bonding surface.

The applications are endless for this technology. They can be used to soundproof apartments, planes, cars etc. They can be used to create 3D immersive experiences cheaply without having to install gigantic speakers. They could also be used in phones and other devices to play sound/music. Since they are paper-thin, we can apply them as a wallpaper in a room that can be removed when moving out, which would allow renters to install them in the apartments.

The work is still in its early stages but it looks very promising.

Source: Gizmodo: Cover Your Wall in MIT’s New Paper Thin Speakers to Turn Your Bedroom Into a Noise Cancelling Oasis

– Suramya

June 14, 2021

New technique Lets Users Preview Files Stored in DNA Data Storage

Filed under: Computer Hardware,Emerging Tech,Science Related — Suramya @ 7:45 AM

Using DNA for storage is an idea that has been around for a while with the initial idea of DNA storage being postulated by Richard P. Feynman in 1959. It was mostly a theoretical exercise till 1988, when researchers from Harvard and the artist Joe Davis stored an image of an ancient Germanic rune representing life and the female Earth in the DNA sequence of E.coli. After that In November 2016 (Lot more stuff happened between the two dates and you can read it all on the Wiki page), a company called Catalog encoded 144 words from Robert Frost’s famous poem, “The Road Not Taken” into strands of DNA. Pretty soon after that in June 2019, scientists reported that all 16 GB of text from Wikipedia’s English-language version have been encoded into synthetic DNA.

DNA storage has been becoming easier and cheaper as time goes on with more and more companies getting on the bandwagon. Even Microsoft has a DNA Storage Research project. However, even with all the advances so far there is a lot more work required before this becomes stable, cheap and reliable enough to be a commercial product. One of the problems that we faced with the storage in the past was that it wasn’t possible to preview the data stored in DNA. You had to open the entire file if you wanted to know what was in it. Think of trying to browse an image gallery without thumbnails, you would have to open each file to see what it was when trying to find a particular file.

Researchers from North Carolina State University have developed a way to provide previews of a stored data file similar to how a thumbnail works for image files. Basically they used the fact that when files have similar file names then the system will copy pieces of multiple data files. Till now this was a problem but the researchers figured out how to use this behavior to allow them to either open the entire file or a subset.

“The advantage to our technique is that it is more efficient in terms of time and money,” says Kyle Tomek, lead author of a paper on the work and a Ph.D. student at NC State. “If you are not sure which file has the data you want, you don’t have to sequence all of the DNA in all of the potential files. Instead, you can sequence much smaller portions of the DNA files to serve as previews.”

Here’s a quick overview of how this works.

Users “name” their data files by attaching sequences of DNA called primer-binding sequences to the ends of DNA strands that are storing information. To identify and extract a given file, most systems use polymerase chain reaction (PCR). Specifically, they use a small DNA primer that matches the corresponding primer-binding sequence to identify the DNA strands containing the file you want. The system then uses PCR to make lots of copies of the relevant DNA strands, then sequences the entire sample. Because the process makes numerous copies of the targeted DNA strands, the signal of the targeted strands is stronger than the rest of the sample, making it possible to identify the targeted DNA sequence and read the file.

However, one challenge that DNA data storage researchers have grappled with is that if two or more files have similar file names, the PCR will inadvertently copy pieces of multiple data files. As a result, users have to give files very distinct names to avoid getting messy data.

“At some point it occurred to us that we might be able to use these non-specific interactions as a tool, rather than viewing it as a problem,” says Albert Keung, co-corresponding author of a paper on the work and an assistant professor of chemical and biomolecular engineering at NC State.

Specifically, the researchers developed a technique that makes use of similar file names to let them open either an entire file or a specific subset of that file. This works by using a specific naming convention when naming a file and a given subset of the file. They can choose whether to open the entire file, or just the “preview” version, by manipulating several parameters of the PCR process: the temperature, the concentration of DNA in the sample, and the types and concentrations of reagents in the sample.

The new technique is compatible with the DNA Enrichment and Nested Separation (DENSe) system that enables us to make DNA storage systems more scalable. The researchers are looking for industry partners to explore commercial viability. If things work out then maybe in the near future we could start storing data in biological samples (like spit). Although, it does sound gross to be handling spit and other bio matter when searching for saved data.

Source: New Twist on DNA Data Storage Lets Users Preview Stored Files
Paper: Nature.com: Promiscuous molecules for smarter file operations in DNA-based data storage

– Suramya

June 10, 2021

Using Graphene layers to store 10 times more data in Hard Disks

Filed under: Computer Hardware,Emerging Tech — Suramya @ 5:39 PM

The requirement for data storage has been going up exponentially over the past few years. At the start of 2020 it was estimated that the amount of data in the world was approximately 44 zettabytes (44,000,000,000,000,000,000,000 bytes), by 2025 this number will have grown to 175 zettabytes of data (Source). This means that we need better storage media to store all the information being generated. Imagine having to store this much data on floppy disks with their 1.4MB of storage or the early hard-disks that stored 10MB of data.

New research carried out in collaboration with teams at the University of Exeter, India, Switzerland, Singapore, and the US have replaced the carbon-based overcoats (COCs) which are basically layers on top of hard disk platters to protect them from mechanical damage with 2-4 layers of Graphene. Since we have reduced the thickness of the COC layer the platters can be placed closer together allowing us to have a greater storage density per inch and basically multiply the storage capacity by a factor of ten. Another advantage of using Graphene is that it reduces the corrosion of the platters by 2.5 times thereby making drives more reliable and increasing their lives.

HDDs contain two major components: platters and a head. Data are written on the platters using a magnetic head, which moves rapidly above them as they spin. The space between head and platter is continually decreasing to enable higher densities. Currently, carbon-based overcoats (COCs) — layers used to protect platters from mechanical damages and corrosion — occupy a significant part of this spacing. The data density of HDDs has quadrupled since 1990, and the COC thickness has reduced from 12.5nm to around 3nm, which corresponds to one terabyte per square inch. Now, graphene has enabled researchers to multiply this by ten.

The Cambridge researchers have replaced commercial COCs with one to four layers of graphene, and tested friction, wear, corrosion, thermal stability, and lubricant compatibility. Beyond its unbeatable thinness, graphene fulfills all the ideal properties of an HDD overcoat in terms of corrosion protection, low friction, wear resistance, hardness, lubricant compatibility, and surface smoothness. Graphene enables two-fold reduction in friction and provides better corrosion and wear than state-of-the-art solutions. In fact, one single graphene layer reduces corrosion by 2.5 times. Cambridge scientists transferred graphene onto hard disks made of iron-platinum as the magnetic recording layer, and tested Heat-Assisted Magnetic Recording (HAMR) — a new technology that enables an increase in storage density by heating the recording layer to high temperatures. Current COCs do not perform at these high temperatures, but graphene does. Thus, graphene, coupled with HAMR, can outperform current HDDs, providing an unprecedented data density, higher than 10 terabytes per square inch.

The research was published in Nature: Graphene overcoats for ultra-high storage density magnetic media and has a lot of promise but is still in research phase so it might be a little while before we see consumer products with Graphene layers. A more userfriendly / less technical overview is available at: Phys.org: Ultra-high-density hard drives made with graphene store ten times more data

– Suramya

May 23, 2021

Rapid Prototyping by Printing circuits using an Inkjet Printer

Filed under: Computer Hardware,Emerging Tech — Suramya @ 10:50 PM

Printing circuits using commercial inkject printers is something that is becoming more and more convenient and affordable day by day. In their 2014 paper Instant inkjet circuits: lab-based inkjet printing to support rapid prototyping of UbiComp devices Prof. Kawahara and others showcased several applications from touch sensors to capacitive liquid level sensors. If you are interested in trying this out (I am sorely tempted), then checkout this Instructable.com: Print Conductive Circuits With an Inkjet Printer post that walks you through how to modify your printer.

The Ink to print these circuits is available for purchase online at novacentrix.com. You need the following to start printing circuits:

  • A low-cost printer such as EPSON WF 2010
  • Printing substrates like PET and glossy paper
  • Oven or hot plate for sintering & drying the ink
  • Empty refillable cartridges

A good area for experimentation would be for wearable circuits on clothing and other such places. But there are a ton of other applications especially in the embedded electronics market.

Well this is all for now. Will write more later.

Thanks to Hackernews: Rapid Prototyping with a $100 Inkjet Printer for the link.

– Suramya

October 14, 2020

Walking around in a Cell using Virtual Reality

Filed under: Computer Hardware,Emerging Tech,Techie Stuff — Suramya @ 11:59 PM

It’s hard to view 3D data on a 2D screen efficiently which is why Virtual Reality (VR) & Augmented Reality (AR) have so many fans as they allow us to interact with data in 3D, making it more intuitive and easier to process (for some use cases). Now there is another application for VR that actually makes sense and is not just hype. Researchers at University of Cambridge & Lume VR Ltd have managed to convert super-high resolution microscopy data into a format that can be visualized in VR.

Till 2014 it was assumed that we could never obtain a better resolution than half the wavelength of light. The Nobel Laureates in Chemistry 2014 managed to work around this limitation creating a new field called Super-resolution microscopy that allows us to obtain images at nanoscale. This enables us to see the individual molecules inside cells to track proteins involved in various diseases or watch fertilized eggs as they divide into embryos. Combining this with the technology from Lume VR allows us to visualize and interact with the biological data in real time.

Walking through the cells gives you a different perspective and since the data is near real time it allows us to literally watch the cell’s reaction to a particular stimuli. This will have massive implications for the Biomed/BioTech fields. Maybe we can use it to figure out why organ rejections happen or what causes Alzheimer’s.

“Data generated from super-resolution microscopy is extremely complex,” said Kitching. “For scientists, running analysis on this data can be very time-consuming. With vLUME, we have managed to vastly reduce that wait time allowing for more rapid testing and analysis.”

The team is mostly using vLUME with biological datasets, such as neurons, immune cells or cancer cells. For example, Lee’s group has been studying how antigen cells trigger an immune response in the body. “Through segmenting and viewing the data in vLUME, we’ve quickly been able to rule out certain hypotheses and propose new ones,” said Lee. This software allows researchers to explore, analyse, segment and share their data in new ways. All you need is a VR headset.”

Interestingly vLUME is available for download as an Open Source program from their Git repository. The program is free free-for-academic-use. Check it out if you are interested in how it works.

Source: New virtual reality software allows scientists to ‘walk’ inside cells

– Suramya

September 3, 2018

Software hack to keep my speaker powered on

Filed under: Computer Hardware,Linux/Unix Related,Techie Stuff,Tutorials — Suramya @ 6:37 PM

A little while ago I bought a new klipsch speaker as my previous one was starting to die and I love it except for a minor irritation. The speaker has builtin power saving tech that powers it off if its not used for a certain period of time and that means that I have to physically power it on every time I wanted to listen to music which was annoying. As I would invariably be comfortably seated and start the music before remembering that I needed to power it on. Also, I could not start the music from my phone whenever I felt like as the speaker was powered off and I would have to walk to the room to power it on.

After living with the irritation for a while I finally decided to do something about it and whipped up a small script that checks if any music/audio is already playing on the system and if not it plays a 1 second mp3 of an ultrasonic beep. This forces the system to keep the speaker on and I love it as now I can start the music first thing in the morning while lazing in bed. 🙂

The script requires the mpg123 to be installed and you can install it on a Debian system by issuing the following command:

apt-get install mpg123

The Script itself is only 4 lines long:

#!/bin/bash

if ! grep RUNNING /proc/asound/card*/pcm*/sub*/status &> /dev/null ; then
    /usr/bin/mpg123 -q /home/suramya/bin/KeepSpeakerOn.mp3 &> /dev/null
fi

What it does is to check if any of the PCM soundcards have a status of RUNNING and if not it plays the mp3. I have a cron job scheduled to run the script every one min:

XDG_RUNTIME_DIR=/run/user/1000

* * * * * /home/suramya/bin/KeepSpeakerOn.sh 

One interesting issue I hit during the initial testing was that the mpg123 application kept segfaulting whenever I initiated it from the Cron but it would work fine if I ran the same command from the command prompt. The error I got in the logs was:

High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
        version 1.25.10; written and copyright by Michael Hipp and others
        free software (LGPL) without any warranty but with best wishes
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
/home/suramya/bin/KeepSpeakerOn.sh: line 5: 10993 Segmentation fault      /usr/bin/mpg123 /home/suramya/bin/KeepSpeakerOn.mp3 -v

Spent a while trying to debug and finally figured out that the fix for this issue was to add XDG_RUNTIME_DIR=/run/user/<userid> to the cron where you can get the value of <userid> by running the following command and taking the value of uid:

id <username_the_cronjob_is_running_under> 

e.g.

suramya@StarKnight:~/bin$ id suramya
uid=1000(suramya) gid=1000(suramya) groups=1000(suramya),24(cdrom)....

Putting that line in the cron entry resolved the issue. Not sure why but it works so…

Well this is all for now. Will write more later.

– Suramya

December 14, 2017

My primary desktop is dead

Filed under: Computer Hardware,My Life,Techie Stuff — Suramya @ 12:00 AM

The fan on my computer was giving me some problem (it sounded like an aircraft taking off) so I thought I’ll replace it with a new one. The new fan/heatsink arrived earlier this week and today I finally had the time to try installing it.

First I had to remove the old fan and heat sink so I looked at the video online on how to remove the fan and followed the instructions exactly. But unfortunately the Glue used to stick the CPU to the heat sink was a little too strong and while I was trying to remove the heat sink I managed to get the top half the CPU separated from the bottom half. So now my computer is a very expensive paper weight still I get a new CPU. 

Looking online I found that the AM3+ socket that my motherboard uses has been phased out and even though there are processors that will work with it for the same cost or slightly cheaper I can get a new more powerful CPU and motherboard. So obviously I am going for the latter option.

I have selected a new board and CPU on Amazon but didn’t order it yet because I want to check the cost at some of the local shops before I order. Plus the Amazon order will take a couple of days to get here and I want to avoid the delay.

Its not that I don’t have a machine right now as I have two laptops but the desktop was my primary machine configured to be exactly the way I like it and it’s annoying to have to use a laptop which is not configured exactly the same as the desktop. 

I am dictating this blog post on my phone using the Google voice type and it’s about 99% accurate which is pretty cool. I still can’t figure out how to put punctuation during the dictation but other than that it works perfectly.

Well this is all for now will write more later hopefully on my new desktop.

– Suramya

December 12, 2014

My new toy: the Moto 360 smart watch

So I have a new toy that I am super excited about and It is a birthday gift from me to myself. 🙂 I have been wanting to get a smartwatch since last year when the Samsung gear came out but when I saw the gear I didn’t like the way it looked so ended up not buying it. Now that I have bought the Moto 360, I am glad I didn’t buy the gear because it beats the Gear hands down, no questions asked. I have been using it for 3 days now and I love it.


The Moto 360 with the default Face

The initial setup of the watch was easy, I just had to download an app on my phone and follow the prompts, took me about 2 mins (excluding the time to download the app) to complete the pairing and setup. Once the app was installed the watch downloaded the latest firmware and upgraded automatically after I charged the battery which was surprisingly very fast. Once the upgrade completed it was connected to my S5 and has been working like a charm.

The default apps on the 360 are the Fitness apps, ability to receive any notifications on the watch and control the music app and the Google camera app from the watch. It has built in voice recognition which works fantastically great and is integrated with Google Now. Tonight we tried it out in a restaurant where we had gone out for a team outing and it had no trouble with the voice recognition even with the background noise. In addition to the default apps so far I have also installed a flashlight app, a dictation app and another camera app that lets me use the watch as a viewfinder for the camera on my phone. I keep finding cool new apps for the watch every day so will probably be installing a lot more stuff on it in the near future.

As I said earlier Voice recognition works for most of the things I would want to do on the watch, like use to to initiate a call or dictate a reply to an SMS, start an app etc. For the rest the touch screen works fine. Took me a bit of time to figure out how to run the new apps I installed because that isn’t really intuitive initially (or maybe I was just sleep deprived) but once I figured that out I was good to go. I think it would have made sense for them to put this in the help section.

The watch is not bulky at all and is lighter than my other watch. Lots of folks have complained about its size online but I didn’t find that to be an issue. However the battery life could have been better. In my daily use I am down to about 35% charge by the time I am ready to sleep after starting with a full charge in the morning. The charger looks nice and the charging is fast, however since the watch has a custom charger it means that I have to make sure that I carry it with me when I am traveling because none of my other chargers work with it. Sure, I can buy another charger for the office but it’s a pain.

The other issue that I noticed with it is that the heart rate sensor is crap. Every single time I have tried to check my heart rate (using both fit and the Moto software) it has failed with a sensor time out message, although Vinit did manage to get it to work once so I know the sensor works.

For the most part I have been using the watch to read my SMS/Whatsapp/Email messages without having to pull out my phone and monitoring my step count. Apparently I walk around a lot more than I thought which is good. 🙂 Also the ability to decline calls with a message from the watch is very handy when your phone is at your desk and you are at another desk working on something or in a meeting.

I am planning on installing the Analog keyboard for Android that I blogged about earlier but that will be over the weekend when I have some breathing room to experiment. I will share my findings and experiences going forward so if you are interested do keep an eye on the blog for new posts.

Well, this is all for now. It’s time for me to crash for the night. Will post more later.

– Suramya

Older Posts »

Powered by WordPress