diff --git a/404.html b/404.html new file mode 100644 index 0000000..6680b9e --- /dev/null +++ b/404.html @@ -0,0 +1 @@ +404 Page not found · Sid Verma

‹ Sid Verma

404: Page not found

Why are you here? Who sent you? It's probably your fault anyway. Go back!

\ No newline at end of file diff --git a/static/CNAME b/CNAME similarity index 100% rename from static/CNAME rename to CNAME diff --git a/static/SidVerma.Resume.pdf b/SidVerma.Resume.pdf similarity index 100% rename from static/SidVerma.Resume.pdf rename to SidVerma.Resume.pdf diff --git a/categories/index.html b/categories/index.html new file mode 100644 index 0000000..1dce2f9 --- /dev/null +++ b/categories/index.html @@ -0,0 +1 @@ +Categories · Sid Verma

‹ Sid Verma

Categories

\ No newline at end of file diff --git a/categories/index.xml b/categories/index.xml new file mode 100644 index 0000000..0faa882 --- /dev/null +++ b/categories/index.xml @@ -0,0 +1 @@ +Categories on Sid Vermahttps://sidverma.io/categories/Recent content in Categories on Sid VermaHugo -- gohugo.ioen-us \ No newline at end of file diff --git a/config.toml b/config.toml deleted file mode 100644 index 89038d6..0000000 --- a/config.toml +++ /dev/null @@ -1,62 +0,0 @@ -baseURL = "https://sidverma.io/" -languageCode = "en-us" -title = "Sid Verma" -theme = "rocinante-2" -paginate = 9999 -summaryLength = 0 - -[markup] - [markup.highlight] - tabWidth = 2 - noClasses = false - [markup.goldmark.renderer] - unsafe= true - -[params] - colorScheme = "auto" - customCSS = ["/css/style.css"] - favicon = "/icons/favicon.ico" - socialBanner = "/icons/banner.png" - mainSections = ["posts", "photos"] - specialEmail = "me@sidverma.io" - about = """ -Hey friend. I'm Sid. - -This is my home on the internet. Come, have a tour. Please leave your shoes at the door. - -I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I'm interested in filmmaking, tinkering with electronics, and building a decentralized internet. - -I also like trees. - -Email me if you'd like to work together. _Or if you just wanna chat._ -
-""" - - [[params.links]] - [[params.links.link]] - name = "Resume" - href = "/resume" - newTab = true - [[params.links.link]] - name = "Email" - href = "/contact" - specialEmailLink = true - [[params.links.link]] - name = "Github" - href = "https://github.com/mavidser" - newTab = true - [[params.links.link]] - name = "Instagram" - href = "https://instagram.com/mavidser" - newTab = true - - [[params.links]] - [[params.links.link]] - name = "All Posts" - href = "/posts" - [[params.links.link]] - name = "Photo albums" - href = "/photos" - [[params.links.link]] - name = "List of tags" - href = "/tags" diff --git a/contact/index.html b/contact/index.html new file mode 100644 index 0000000..79c2c0c --- /dev/null +++ b/contact/index.html @@ -0,0 +1 @@ +Contact · Sid Verma

‹ Sid Verma

Contact

You can reach me by email at me [at] [this-domain]

\ No newline at end of file diff --git a/content/contact.md b/content/contact.md deleted file mode 100644 index 7488782..0000000 --- a/content/contact.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Contact -hidden: true ---- -You can reach me by email at me [at] [this-domain] \ No newline at end of file diff --git a/content/games.md b/content/games.md deleted file mode 100644 index 2a0b8ac..0000000 --- a/content/games.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: What games have I ever played? -hidden: true ---- - -For reasons unknown, I'm compiling a list of all the games I've ever played. This list also includes outdoor games. - -### Nintendo -- Pacman -- Tetris -- Super Mario -- Super Contra -- Super Contra II -- Donkey Kong -- Duck Hunt -- Teenage Mutant Ninja Turtles -- Teenage Mutant Ninja Turtles II -- Teenage Mutant Ninja Turtles III -- Teenage Mutant Ninja Turtles Tournament Fighters -- Bastion - -### Arcades -- Tekken 2 -- Tekken 3 - -### PC -- Minesweeper -- Spider Solitare -- Hangman -- Dave -- Zork -- Zork II -- VirtuaCop 2 -- Delta Force -- Delta Force 2 -- Project IGI -- Jardinains -- Spider-Man: The Movie -- Spider-Man 2 -- Spider-Man 3 -- Spider-Man: Friend or Foe -- Spider-Man: Web of Shadows -- The Amazing Spider-Man -- GTA: Vice City -- GTA: San Andreas -- NFS: Most wanted -- NFS: Hot Persuit -- NFS: Most wanted 2 -- Machinarium -- Limbo -- Half Life 2 -- Counter Strike 1.6 -- COD: MW -- COD: MW3 -- Portal -- Portal 2 -- Halo -- Halo 2 -- Skyrim -- Dishonored -- Batman: Arkham City -- Batman: Arkham Origins -- Goat Simulator - -### Xbox -- Dance Central 3 - -### Playstation -- Spider-man -- Rocket League - -### Mobile -- Snake -- Space Impact -- Bounce -- Bounce Tales -- Fruit Ninja -- Angry Birds -- Angry Birds Space -- Angry Birds Bad piggies -- Temple Run -- Subway Surfer -- Cut the rope -- Super Hexagon -- Doodle Jump -- Hill Climb racing -- Daddy was a thief -- Asphalt 8 -- Asphalt Nitro -- Rush VR -- 2048 -- Voxel Rush -- Doodle Army 2 -- Alto's Adventure -- Ultraflow 2 -- Flow free -- Brain Dots -- Pokemon Go -- Logical Cell -- The Battle of Polytopia -- Flappy Bird - -### Facebook :| -- CityVille - -### Cards and Boards -- Ludo -- Snakes and Ladders -- Spider-man playing cards -- Some local Spider-man board games -- Bluff -- Ring of fire -- Ride the bus -- Fuck the dealer -- What the fuck -- Carrom -- Chess -- Go -- Mao -- Carda Against Humanity -- Social Humour -- Cards Against Sanskar -- Take 5 -- Exploding Kittens -- Powerhouse -- Photosynthesis -- Jaipur -- Clank! In! Space! -- The Settlers of Catan -- Gizmos -- Century: Spice Road \ No newline at end of file diff --git a/content/photos/andaman19/index.md b/content/photos/andaman19/index.md deleted file mode 100644 index a62a1a0..0000000 --- a/content/photos/andaman19/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Andaman Islands -date: 2019-06-01 -location: Port Blair, Andaman Islands, India -tags: ["Travel"] -footer: Shot on Nikon D5300 and Oneplus 3 -banner: DSC_0428.jpg ---- -Family took a few days off to spend some time in the Andaman Islands. - \ No newline at end of file diff --git a/content/photos/backpacking19/index.md b/content/photos/backpacking19/index.md deleted file mode 100644 index 61f18f9..0000000 --- a/content/photos/backpacking19/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Backpacking 2019 -date: 2019-12-01 -location: Some Places -tags: ["Travel"] -footer: Shot on Nikon D5300 and Oneplus 3 -banner: DSC_0024-Pano.jpeg ---- -Been backpacking for a few months, while severely reducing camera time. Here are some photos from Goa, Kolkata, Bangkok and Pai. - - \ No newline at end of file diff --git a/content/photos/goa19/index.md b/content/photos/goa19/index.md deleted file mode 100644 index 66dd4b1..0000000 --- a/content/photos/goa19/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Week in Goa -date: 2019-01-01 -location: Arambol, Goa, India -tags: ["Travel"] -footer: Shot on Nikon D5300 and Oneplus 3 -banner: DSC_0274.jpg ---- -The annual trip with a couple of close friends took us to Arambol, Goa this year. We did spend more time in the hills of Goa rather than the beaches this time around. - \ No newline at end of file diff --git a/content/photos/hackbeach17/index.md b/content/photos/hackbeach17/index.md deleted file mode 100644 index e10447e..0000000 --- a/content/photos/hackbeach17/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Hackbeach 2017 -date: 2017-11-01 -location: Gokarna, Karnataka, India -tags: ["Travel", "Conferences"] -footer: Shot on Oneplus 3 -banner: 06.jpg ---- -Hackbeach 2017 happened right at the main beach in Gokarna. - - \ No newline at end of file diff --git a/content/photos/hackbeach18/index.md b/content/photos/hackbeach18/index.md deleted file mode 100644 index 473e07f..0000000 --- a/content/photos/hackbeach18/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Hackbeach 2018 -date: 2018-11-01 -location: Gokarna, Karnataka, India -tags: ["Travel", "Conferences"] -footer: Shot on Nikon D5300 -banner: DSC_0327.jpg ---- -Hackbeach revisited the previous venue too in 2018. The water was way calmer, and almost every attendee learned to swim at least to a basic level in the ocean. - - \ No newline at end of file diff --git a/content/photos/hillhacks17/index.md b/content/photos/hillhacks17/index.md deleted file mode 100644 index d1977b2..0000000 --- a/content/photos/hillhacks17/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Hillhacks 2017 -date: 2017-05-01 -location: Bir, Himachal Pradesh, India -tags: ["Travel", "Conferences"] -footer: Shot on Oneplus 3 -banner: IMG_20170523_191423_01-Pano.jpg ---- -Some Hillhacks 2017 photos and even more from a stop at Dharamshala and some hills. - - \ No newline at end of file diff --git a/content/photos/hillhacks18/index.md b/content/photos/hillhacks18/index.md deleted file mode 100644 index 56a009c..0000000 --- a/content/photos/hillhacks18/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Hillhacks 2018 -date: 2018-05-01 -location: Bir, Himachal Pradesh, India -tags: ["Travel", "Conferences"] -footer: Shot on Nikon D5300 and Oneplus 3 -banner: DSC_0054.jpg ---- -Hillhacks repeats the venue in 2018, hence slightly easier to organise. - - \ No newline at end of file diff --git a/content/photos/hillhacks19/index.md b/content/photos/hillhacks19/index.md deleted file mode 100644 index e189666..0000000 --- a/content/photos/hillhacks19/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: (Hillhikes and) Hillhacks 2019 -date: 2019-05-01 -location: Himachal Pradesh, India -tags: ["Travel", "Conferences"] -footer: Shot on Nikon D5300 and Oneplus 3 -banner: DSC_0061.jpg ---- -It felt disingenuous to just call this album Hillhacks 2019, given the extreme lack of actual conference photos here. The main motive of venturing out was Hillhacks, but the hikes we padded it with were much more photogenic. - - \ No newline at end of file diff --git a/content/photos/house22/index.md b/content/photos/house22/index.md deleted file mode 100644 index 3d2444b..0000000 --- a/content/photos/house22/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: House tour -date: 2022-12-01 -location: Goa, India -tags: ["House"] -footer: Tried to buy nothing new except wires and electrical junctions. Please excuse the dust, I am not really bothered by it. -banner: 5-Pano.jpg ---- -I moved into a much older house in Goa earlier this year, and had a lot of fun these past months setting it up and wiring it down. It's very janky, dusty, and lovely. - - \ No newline at end of file diff --git a/content/photos/jaisalmer18/index.md b/content/photos/jaisalmer18/index.md deleted file mode 100644 index f5e201d..0000000 --- a/content/photos/jaisalmer18/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Road trip to Jaisalmer -date: 2018-01-01 -location: Rajasthan, India -tags: ["Travel"] -footer: Shot on Nikon D5300 -banner: DSC_0014.NEF.jpg ---- -Road trips aren't usually my thing, nor deserts. But this trip turned out to be fun anyway. - - \ No newline at end of file diff --git a/content/photos/leh18/index.md b/content/photos/leh18/index.md deleted file mode 100644 index 97ea2f0..0000000 --- a/content/photos/leh18/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Trip to Leh -date: 2018-06-01 -location: Ladakh, Jammu and Kashmir, India -tags: ["Travel"] -footer: Shot on Nikon D5300 -banner: 1.jpg ---- -Left hillhacks early to visit the Ladakh area with my family. - - \ No newline at end of file diff --git a/content/photos/ziro18/index.md b/content/photos/ziro18/index.md deleted file mode 100644 index 977d97d..0000000 --- a/content/photos/ziro18/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Ziro Festival 2018 -date: 2018-09-01 -location: Ziro, Arunachal Pradesh, India -tags: ["Travel"] -footer: Shot on Nikon D5300 -banner: DSC_0655.jpg ---- -Ziro Festival of Music is a music festival which takes place in the Ziro Valley (duh) every year. Probably one of the prettiest places to have a concert in the country. - - \ No newline at end of file diff --git a/content/photos/ziro19/index.md b/content/photos/ziro19/index.md deleted file mode 100644 index 2dfd05c..0000000 --- a/content/photos/ziro19/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Ziro Festival 2019 -date: 2019-09-26 -location: Ziro, Arunachal Pradesh, India -tags: ["Travel"] -footer: Shot on Nikon D5300 and Oneplus 3 -banner: DSC_0742.jpeg ---- -I was not planning to go to the Ziro Festival this year, but the dates coincided with a layover in Kolkata, and hence made the stop. - \ No newline at end of file diff --git a/content/posts/8-months-unemployment-traveling.md b/content/posts/8-months-unemployment-traveling.md deleted file mode 100644 index b46fd0a..0000000 --- a/content/posts/8-months-unemployment-traveling.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Eight months of unemployment and traveling -date: 2019-11-19 -tags: ["Travel"] ---- -In March 2019, I left my job at [Tower Research Capital][trc], to take a small break from work and live aimlessly for a while. My mental health had been declining steadily for the last few years, and going away for a while seemed like the only way out. - - -I spent a lot of this period making small changes to my lifestyle. I started sleeping well (7 hrs is apparently a good sleep for me), and now I'm at a state where I've completely stopped using an audible alarm to wake up. Instead I'm mostly able to wake up at will. For really tight naps though, a lightly vibrating smartwatch has proven to be enough. - -I think I've also made progress at becoming mildly competent at conversations, from being completely inept at it. I am reaching out to more friends now, and make sure to visit at least a few when I'm in their town. Dating, as a result is also much more easier and fun now. - -I tried to get physical exercise into my schedule, but so far have failed to keep it up. I did, however, improve my diet a lot. Largely cutting out sugar and snacking did make enormous differences. - -Most importantly, after a really long time though, I don't feel depressed and anxious anymore. I'm able to focus more, and in general be more creative. Being intoxicated has gone back to being a leisure activity rather than an escape. - -I've slowly incorporated back "work" into this lifestyle, and while it hasn't been very long, it seems to be going pretty well. I'm working on being better at scheduling, managing stress, and being more efficient — which might be something for a later post. - -A huge improvement, however, has been on how I travel. I spent the majority of the this time traveling around India and southeast Asia. While I was used to backpacking for long stretches, they were often localized to a smaller area. Leading a nomadic life on a budget for longer periods had other challenges. Things become expensive when you start covering large distances frequently. I started taking more items into consideration when traveling now. In no specific order, I'm just gonna list things I take into consideration now which I didn't really before: - -- **Location of the airport/station** - The ticket cost is only part of the cost of getting from city A to B. Most airports tend to be located far away from the inner city or where I'd probably intend to stay. Arriving at odd hours could mean that public transport might not be available at that time, and I'd have to spend a quite a bit on taxis to get to my ho(s)tel. Sometimes, I spent a day for cheap near the airport, to move to a better place the next day. -- **Frequent flier miles** - While budget airlines would often have cheaper tickets, sometimes you are able to spot cheap flights on full service airlines with rewards programs. If you fly frequently, factor in the value of miles you acquire too while making a decision. They can add up to quite a significant amount. -- **Wide open dates** - Having wide open dates allows you to be able to choose cheaper options of travel, as cost of stay might not vary a lot between cities. -- **Keep day-to-day schedule light** - Having too many things to do in a day can get a bit hectic, which might negate why you're traveling in the first place. Keep a light schedule. It also allows you to opt for slower but cheaper public transport than otherwise. -- **Work for stay** - I used [workaway][workaway] and [worldpackers][worldpackers] to find places where I can spend some amount of my time helping out small businesses or organizations in exchange for free stay/food. Worth checking out if you find something suitable. -- **Focus on your diet** - It's often easy to fuck up your diet while traveling. You want to try out the local food, dessert, beer, etc; and by all means - do, but keep track of your calories. If you've been planning on getting on a lighter diet, it can be a good time to start that too. I, personally feel a lot less hungry while I'm traveling, so I've been using that to my advantage. Eating less is cheaper too. -- **Fruits are your friend** - Complement your diet with fruits. They tend to be a lot cheaper, and pretty good for you. Also, note that these two points don't mean that you should be starving yourself. Use your brain and don't fuck yourself up. -- **Layer up in colder climates** - This is a popular advice which really helps in keeping your luggage light. On a snowy trail I was even able to get by with a thinner sleeping bag by sleeping in my layers. YMMV. -- **Invest in lighter/smaller items** - When going camping, a very good part of my luggage would be made up of a foam mattress, a cheap sleeping bag and a heavy tent. Investing in slightly expensive tiny inflatable mattresses, denser sleeping bags and a lighter tent reduced my luggage by half in volume. -- **Reduce your baggage** - A lighter bag allows you to move around in the city without massive pains. Sometimes, you can opt for leaving stuff you definitely won't need, at a friend's place, or in rented locker rooms (most airports, bus and railway stations would have them). Eg - work equipment, extra/unseasonal clothes, etc. Also, get into the habit of doing laundry and pack fewer clothes. -- **Embrace your laptop** - I had gotten far too comfortable with my home and office setup to be able to work on a chiclet keyboard with a single tiny screen again. It took me a lot longer than expected to adapt to this setup. I wish that I had a smaller machine too, as a 15-inch laptop can sometimes be too big to carry and fit in day-packs. If you really like multiple screens, there are many laptop-sized portable USB-C powered screens available in the market which you can try. -- **Smaller power banks** - It's far more advantageous to carry multiple tiny power banks instead of one huge one. They are easier to carry around while using the device, and you can charge all off them parallelly in a short period of time. -- **Keep track of your expenses** - At least weekly, go through your categorized expenses and check for anomalies. It's quite common for people to save a lot while living in cheap hostels, but spend a huge amount on their pub crawls. I use [Firefly III][firefly] which is really powerful at what it does. But, even a plaintext list would work for a start. -- **Work from cafes** - I tend to like working from cafes — all the white noise allows me to focus much more easily. On most last days in towns, when I check out in the morning and have to travel in the night, I'd just spend the whole day at a cafe, saving on the stay cost. Though, initially, quite a few times, I did burn myself by spending more at those cafes than I'd have if I'd just stayed at my hostel. So, do take that into consideration. -- **Break long journeys up** - If your next destination takes a lot of time to get there (I get really restless after spending 4+ hours awake in a closed vehicle), it might serve good to pick a point in between to split the journey at. - -[trc]: https://www.tower-research.com -[firefly]: https://github.com/firefly-iii/firefly-iii -[workaway]: https://www.workaway.info -[worldpackers]: https://www.worldpackers.com \ No newline at end of file diff --git a/content/posts/diary-of-a-new-employee.md b/content/posts/diary-of-a-new-employee.md deleted file mode 100644 index be7448c..0000000 --- a/content/posts/diary-of-a-new-employee.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: Diary of a new employee -date: 2020-05-04 -tags: ["humor"] ---- - -#### Monday - -Today was my first day at this stealth startup. The boss (CEO) is a dick, but we're building great stuff. The physical entertainment/tourism industry is a huge market, and it's very possible that we're going to be the next Disneyworld. - -#### Tuesday - -Surprisingly, I feel halfway through my induction already. Things happen at such a fast pace here that it's a bit exhilarating. Some areas definitely need much more oversight though. Just a few weeks ago, a field employee had an accident, which led to us getting sued for millions of $$. Thank fuck for insurance. - -In other news, I met the rest of the systems team today. I was expecting to go through some sort of imposter syndrome, working in such a lean team, but looks like that these guys aren't that much better than me. Except for Dennis, Dennis is the _GOAT_! - -#### Wednesday - -We got news that some outside "experts" would be coming in over the weekend for inspection. Most likely in response to the concerns of investors and the insurance company over the lawsuit. VCs are sending this mathematician who deals with risk-prediction models (I think?). On the other hand, John, our CEO, is also bringing in some famous academics who'd likely give us the required endorsement without much fuss. - -Got to know more of my team today. Ray's the cheif engineer. Good guy, heavy smoker. We really need a policy against smoking indoors here. This is not the 80s. Dennis turned out to be a bit of an ass though. There's a lot of misplaced ego in him for building the system foundation. - -#### Thursday - -Induction got over, and today's my first _real_ day at work. Now I have some clarity on how we've been doing things so fast. Systems seem to be well-built on the surface, but we have almost no testing protocols, no failover plans, and tons of single point of failures. And there don't seem to be a lot of access controls in place too. We have all this high-tech environment, and almost any employee can shut down the system if they know no where to do it from. - -On the plus side, the to-do list has points listing these problems. Though it's unlikely anyone's getting around to those anytime soon. - -#### Friday - -Today we spent most of the day preparing for the visitors tomorrow. Mostly maintenance work around the facility, tightening nuts and bolts and recalibrating power levels. Some things are buggy, but nothing deal-breaking. We're told that John's family is also visiting the facility this weekend, to sorta "beta-test" the rides along with the experts. - -#### Saturday - -My shift just ended, and it's been a smooth day so far. The family turned out to be little kids (John's grandchildren, I assume). John insists that they are just visiting him, but I suspect he brought them in to try and butter up the experts. A lot is riding on their endorsements, and seeing kids experience the rides might give them a more positive outlook. - -The tour had more kinks than we were expecting today. Ray's been counting every glitch that he comes across today, and was up to 151 the last time I checked. "We have all the problems of a major theme park and a major zoo and the computers aren't even on their feet yet", his exact words. - -To be very honest, I think he gives the system way less credit than its due. Sure, it's far from perfect, but given the timeline, the company really spared no expense in building this place. - -#### Sunday - -HOLY FUCK! **WHAT THE FUCK!** FUUUUUCK! - -I'm writing this entry in the morning itself, as I'm not sure if I'm gonna find the time again. There's a fair chance that we'd get shut down by tomorrow, if we don't get arrested or get eaten by a stray disnoaur. - -We don't have a complete clarity on what's happening. Power went out in most of the park yesterday, and is still out. Cage fences aren't working, and even the phone lines are down! Wireless seems to be fucked too because of a very coincidental storm. - -It appears that Dennis shut down the electrical grids yesterday and fled this island. No one knows why. We even seem to be locked out of the control systems. With no documentation, logs and system access, we're probably not gonna be fixing this anytime soon. - -Maybe a complete system restart throughout the park would work. Not ideal, but if there's one thing that anyone in the IT crowd knows - it's that turning computers off and on again is very magical. - -Hopefully it works. Fuck you Dennis Nedry, and fuck you John Hammond! - - \ No newline at end of file diff --git a/content/posts/dumb-smartphone.md b/content/posts/dumb-smartphone.md deleted file mode 100644 index 1c43b7e..0000000 --- a/content/posts/dumb-smartphone.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: Dumb smartphone is the best smartphone. -date: 2018-01-04 -tags: ["tech"] ---- - -Quick recap: I dropped my Oneplus 3 six months ago - didn't get it repaired for a month. Instead, carried this $10 phone with me for a while. - -{{< figure src="/images/dumbphone.jpg" caption="My interimn phone" >}} - - - -Eventually, I did go back to the smartphone - to order cabs, read important emails, and take photographs. - -But this really made me miss the bliss of not owning a smartphone. In the previous month, I used to look at the tiny screen for a maximum of 5 minutes every day. Now when I'm back on the smartphone, the screen-time is also back to a few hours - Reddit, Twitter, Telegram, Whatsapp, Instagram, Facebook, Kindle, Google Chrome. - -Also came with it, a lot of micro-interruptions throughout the day in the form of notifications - IMs, promotions, emails, etc. An average of 15 notifications every day. - -I have read accounts of people who don't use a smartphone, or even a phone anymore. Unfortunately, that is not the way for me, at least right now. I recognize, and enjoy some of the features my Android phone gives me. I have a relatively short memory, and a notes app is essential to my life. I can't drive, so I usually move around by walking, or through Uber. Also, I like charting the sky with the help of Stellarium. - -## Solutions - -- Uninstall social networks. Except for Instagram, which I post on once a few weeks - all social networks were uninstalled. Those which were not installed, were removed from the homescreen at the very least. - -- Next, remove the browser from the homescreen itself. - -{{< figure src="/images/phone-homescreens.jpg" caption="Phone homescreens - then and now" >}} - -- Disable notifications for all of the IM apps I use - SMS, Telegram, Whatsapp, Signal, Messenger, Hangouts, Personal E-mail. -This changed my consumption of messages from a push-based mechanism to a pull-based. Emails are checked every morning and evening. If any IM is important, people would find an alternate way to reach me, or just call me. - -- Over the next few days, continue to disable notifications for any app which ever sent a promotional notification - Amazon, Google maps, Flipkart, Myntra, Amazon Go, Grofers, Uber, Ola, Bookmyshow... - -- Start wearing a watch - I compulsively check the time whenever I get the chance to. This stops me from taking the phone out when I'm away from the computer. - -## Status, now. - -I've been using this setup for the past 6 months now. On an average, I stare at my phone for 15-45 minutes every day. 10 of those minutes would be on the shitter, where I am browsing reddit.com, and the 30 could be in commute, where I'd read some book or comic, or just listen to a podcast. - -The only notifications I've received in the past 6 months are work emails, meeting reminders, and reminders which I set myself. Every other weekend or so, I'd check one of the IM apps and see if I missed anything important. Luckily, nothing as of yet. - -I chat with people over slack and facebook messenger - exclusively on the desktop. - -If I do need to check a social post some people are talking about, I open the browser after and check it out there. - -My browser habits have changed too - I've stopped using tabs on phone. As a heavy tab user, this limit on multitasking really makes me not use the browser anymore than absolutely necessary. - -{{< figure src="/images/689-tabs-closed.jpg" >}} \ No newline at end of file diff --git a/content/posts/faceapp-much-ado-about-nothing.md b/content/posts/faceapp-much-ado-about-nothing.md deleted file mode 100644 index a8c743c..0000000 --- a/content/posts/faceapp-much-ado-about-nothing.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: Russians are harvesting our faces! -date: 2019-07-19 -tags: ["tech"] ---- - -
- - -[This Forbes article][forbes_article] says that Faceapp is evil because they are harvesting user-data: -> That (Faceapp's TOS) may not be dangerous and your likeness may stay on Amazon servers in America, as Forbes has determined, but they still own a license to do whatever they want with it. That doesn’t mean the app’s Russian parent company, Wireless Labs, will offer your face to the FSB, but it does have consequences, as PhoneArena’s Peter Kostadinov says: -> > You might end up on a billboard somewhere in Moscow, but your face will most likely end up training some AI facial-recognition algorithm. - - -For context, here's the lines from [FaceApp's Terms of Service][faceapp] which are been targeted: - -> You grant FaceApp a perpetual, irrevocable, nonexclusive, royalty-free, worldwide, fully-paid, transferable sub-licensable license to use, reproduce, modify, adapt, publish, translate, create derivative works from, distribute, publicly perform and display your User Content and any name, username or likeness provided in connection with your User Content in all media formats and channels now known or later developed, without compensation to you. When you post or otherwise share User Content on or through our Services, you understand that your User Content and any associated information (such as your [username], location or profile photo) will be visible to the public. - -In comparison, here are a few current (and one defunct) websites where users are known to share their faces quite a bit: - -[Facebook][facebook]: - -> When you share, post or upload content that is covered by intellectual property rights (e.g. photos or videos) on or in connection with our Products, you grant us a non-exclusive, transferable, sub-licensable, royalty-free and worldwide licence to host, use, distribute, modify, run, copy, publicly perform or display, translate and create derivative works of your content (consistent with your privacy and application settings). This means, for example, that if you share a photo on Facebook, you give us permission to store, copy and share it with others (again, consistent with your settings) such as service providers that support our service or other Facebook Products that you use. - -[Instagram][instagram]: - -> When you share, post, or upload content that is covered by intellectual property rights (like photos or videos) on or in connection with our Service, you hereby grant to us a non-exclusive, royalty-free, transferable, sub-licensable, worldwide license to host, use, distribute, modify, run, copy, publicly perform or display, translate, and create derivative works of your content (consistent with your privacy and application settings). You can end this license anytime by deleting your content or account. However, content will continue to appear if you shared it with others and they have not deleted it. - -[Snapchat][snapchat]: - -> For all content you submit to the Services other than Public Content, you grant Snap Inc. and our affiliates a worldwide, royalty-free, sublicensable, and transferable license to host, store, use, display, reproduce, modify, adapt, edit, publish, and distribute that content. This license is for the limited purpose of operating, developing, providing, promoting, and improving the Services and researching and developing new ones. -> -> Because Public Content is inherently public and chronicles matters of public interest, the license you grant us for this content is broader. In addition to granting us the rights mentioned in the previous paragraph, you also grant us a perpetual license to create derivative works from, promote, exhibit, broadcast, syndicate, sublicense, publicly perform, and publicly display Public Content in any form and in any and all media or distribution methods (now known or later developed). To the extent it’s necessary, when you appear in, create, upload, post, or send Public Content, you also grant Snap Inc., our affiliates, and our business partners the unrestricted, worldwide, perpetual right and license to use your name, likeness, and voice, including in connection with commercial or sponsored content. This means, among other things, that you will not be entitled to any compensation from Snap Inc., our affiliates, or our business partners if your name, likeness, or voice is conveyed through the Services, either on the Snapchat application or on one of our business partner’s platforms. - -[Twitter][twitter]: - -> By submitting, posting or displaying Content on or through the Services, you grant us a worldwide, non-exclusive, royalty-free license (with the right to sublicense) to use, copy, reproduce, process, adapt, modify, publish, transmit, display and distribute such Content in any and all media or distribution methods (now known or later developed). This license authorizes us to make your Content available to the rest of the world and to let others do the same. You agree that this license includes the right for Twitter to provide, promote, and improve the Services and to make Content submitted to or through the Services available to other companies, organizations or individuals for the syndication, broadcast, distribution, promotion or publication of such Content on other media and services, subject to our terms and conditions for such Content use. Such additional uses by Twitter, or other companies, organizations or individuals, may be made with no compensation paid to you with respect to the Content that you submit, post, transmit or otherwise make available through the Services. -> -> Twitter has an evolving set of rules for how ecosystem partners can interact with your Content on the Services. These rules exist to enable an open ecosystem with your rights in mind. You understand that we may modify or adapt your Content as it is distributed, syndicated, published, or broadcast by us and our partners and/or make changes to your Content in order to adapt the Content to different media. - -[Google][google]: - -> When you upload, submit, store, send or receive content to or through our Services, you give Google (and those we work with) a worldwide license to use, host, store, reproduce, modify, create derivative works (such as those resulting from translations, adaptations or other changes we make so that your content works better with our Services), communicate, publish, publicly perform, publicly display and distribute such content. The rights you grant in this license are for the limited purpose of operating, promoting, and improving our Services, and to develop new ones. This license continues even if you stop using our Services (for example, for a business listing you have added to Google Maps). Some Services may offer you ways to access and remove content that has been provided to that Service. Also, in some of our Services, there are terms or settings that narrow the scope of our use of the content submitted in those Services. Make sure you have the necessary rights to grant us this license for any content that you submit to our Services. -> -> Our automated systems analyze your content (including emails) to provide you personally relevant product features, such as customized search results, tailored advertising, and spam and malware detection. This analysis occurs as the content is sent, received, and when it is stored. - -[Youtube][youtube]: - -> By submitting Content to YouTube, you hereby grant YouTube a worldwide, non-exclusive, royalty-free, sublicenseable and transferable license to use, reproduce, distribute, prepare derivative works of, display, publish, adapt, make available online or electronically transmit, and perform the Content in connection with the Service and YouTube's (and its successors' and affiliates') business, including without limitation for promoting and redistributing part or all of the Service (and derivative works thereof) in any media formats and through any media channels. You also hereby grant each user of the Service a non-exclusive license to access your Content through the Service, and to use, reproduce, distribute, display, publish, make available online or electronically transmit, and perform such Content as permitted through the functionality of the Service and under these Terms of Service. - -[Vine][vine]: - -> You acknowledge that you have granted us a worldwide, non-exclusive, royalty-free license (with the right to sublicense) to use, copy, reproduce, process, adapt, modify, publish, transmit, display, and distribute such Content in any and all media or distribution methods (now known or later developed). We may modify or adapt your Content in order to transmit, display, or distribute it over computer networks and in various media and/or make changes to your Content as are necessary to conform and adapt that Content to any requirements or limitations of any networks, devices, services, or media. You are responsible for your use of the Vine Archive, for all Content you provided, and for any consequences thereof, including the use of your Content by other users and our third party partners. You understand that your Content may be syndicated, broadcast, distributed, or published by our partners and if you did not have the right to submit Content for such use, it may subject you to liability. - -I'm not telling you to go install this app and bombard social media with aged photos of yours, but if you do - that photo is now with FaceApp, and also almost every other platform you shared it on. - -The only difference would be that FaceApp has a [Russian][russian] developer, while the rest of the companies are [American][american]. - -[forbes_article]: https://www.forbes.com/sites/johnkoetsier/2019/07/17/viral-app-faceapp-now-owns-access-to-more-than-150-million-peoples-faces-and-names/amp/?__twitter_impression=true -[faceapp]: https://faceapp.com/terms -[facebook]: https://www.facebook.com/legal/terms -[instagram]: https://help.instagram.com/581066165581870 -[snapchat]: https://www.snap.com/en-US/terms/ -[twitter]: https://twitter.com/en/tos -[google]: https://policies.google.com/terms?hl=en -[youtube]: https://www.youtube.com/static?template=terms -[vine]: https://vine.co/terms -[russian]: https://en.wikipedia.org/wiki/List_of_government_mass_surveillance_projects#Russia -[american]: https://en.wikipedia.org/wiki/List_of_government_mass_surveillance_projects#United_States \ No newline at end of file diff --git a/content/posts/firefly-iii-ios-shortcuts.md b/content/posts/firefly-iii-ios-shortcuts.md deleted file mode 100644 index df1a415..0000000 --- a/content/posts/firefly-iii-ios-shortcuts.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: iOS Shortcuts for Firefly III -date: 2019-12-06 -tags: ["tech"] ---- - -I've been using the excellent [Firefly III][firefly] to manage my expenses for a while. As a result, I have developed a habit to actively monitor every transaction I do, which, in my opinion is a much better way than using other automated expense managers which can only track your non-cash expenses, without a lot of context. - -Android had an [unofficial app][android-app] which made it easier to interact with Firefly, but iOS doesn't seem to have one, and the web-ui is not a very mobile friendly one. - -While searching for solutions, I came across [this blog post by Jesse Dyck][jesse-blog] where they utilised iOS Shortcuts to create transactions in Firefly. Honestly, I was pretty surprised that Shortcuts is powerful enough to do this, given Apple's approach to customization. - -The shortcuts provided by Jesse didn't work for me (they were written for iOS 12, before Shortcuts were revamped for iOS 13), so I decided to build one for myself, with a UX more suited for my needs. - - -Here it is in action: -
-
- -
-
-To use these for yourself, you have to download the following three shortcuts from your iOS device. The first two are function-like dependencies of the third one, which is used to add a transaction. - -If you're not into categories, you'd probably have to edit the _Add Transaction_ shortcut and remove the steps where it deals with them. A fair bit of trial and error should probably give you what you want. - -- [List Accounts][list-accounts] ([screenshot][list-accounts-screenshot]) -- [List Categories][list-categories] ([screenshot][list-categories-screenshot]) -- [Add Transaction][add-transaction] ([screenshot][add-transaction-screenshot]) - -Note that, to be able to import shortcuts from outside the app gallery, you have to go to _Settings_ > _Shortcuts_ and enable _Allow Untrusted Shortcuts_. - -While adding these shortcuts, you'd be prompted to enter your firefly URL and Personal Access Token for each of the shortcut. The URL is where you've hosted the app, complete with the protocol and without a trailing slash (like `https://demo.firefly-iii.org`). You can generate the token from Firefly by going to _Options_ > _Profile_ > scroll down to _Personal Access Tokens_ and click on _Create New Token_. - -After spending 3 hours creating these 150-step shortcuts on a very tiny screen, I was wondering if it'd have been easier to create a basic iPhone app itself. Not really, I don't know Swift yet. - -[firefly]: https://firefly-iii.org/ -[android-app]: https://f-droid.org/en/packages/xyz.hisname.fireflyiii/ -[jesse-blog]: https://www.jessedyck.me/2019/03/ios-shortcuts-firefly-iii/ -[list-accounts]: https://www.icloud.com/shortcuts/aae6683ea5124212b3eebc10a187ba34 -[list-categories]: https://www.icloud.com/shortcuts/e03cc6c24f4e4f6092a4cea2cc35ded0 -[add-transaction]: https://www.icloud.com/shortcuts/876597bf952c44daaf01b3a28ca89512 -[list-accounts-screenshot]: /images/firefly-ios-shortcuts/list-accounts-screenshot.jpg -[list-categories-screenshot]: /images/firefly-ios-shortcuts/list-categories-screenshot.jpg -[add-transaction-screenshot]: /images/firefly-ios-shortcuts/add-transaction-screenshot.jpg diff --git a/content/posts/hillhacks-hackbeach.md b/content/posts/hillhacks-hackbeach.md deleted file mode 100644 index 5a802b7..0000000 --- a/content/posts/hillhacks-hackbeach.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Hillhacks and Hackbeach -date: 2017-10-10 -tags: ["tech", "Conferences", "Travel"] ---- - -Hillhacks, [as defined by the website][hillhacks]: -> hillhacks is held in the lap of the stunning Dhauladhar Himalayas every summer.
-> -> People from different places, walks of life and lines of thought come together to share, collaborate and learn.
-> -> Hackers talk code. Artists share their creativity. Students join in from schools and colleges to learn new skills. Locals and globals mix and mingle. We build things like tables, hula hoops, interactive art installations, and solar lanterns. We connect. We dance and sing. Ideas emerge. Collaborations form. Lives change.
-> -> In the hacking, we get hacked ourselves.
- -Hackbeach is the sister event of hillhacks, held in the winters, on one of India's coast. - -What we don't have: -- Sponsors -- Organizers -- Welcome packages -- Huge well-lit stage -- Chairs around the said stage -- Air conditioning -- Booths and banners -- T-Shirt and stickers table -- Catered lunch -- Coffee machine - -What we have: -- Space to camp -- Beautiful views -- A long unconference -- 2-4 day of main conference -- Setup and teardown of the said conference -- Talks and flash talks -- Opportunities to learn new skills -- Hackers - -What we might also have: -- Accountants, Anthropologist, Farmers, Activists, Geologists... -- School programs to teach young kids about science and technology -- Cooking -- Slacklining -- Hoola hoop lessons -- Board/card games -- Quiz nights -- Hiking in the hills -- All day swimming lessons -- Paragliding -- Sleeping on the sandy beaches -- Cartons of all you can grab stickers -- Open discusssions across a variety of subjects -- Demostration of cool projects - -[Hillhacks][1] \| [Hackbeach][2] - -[hillhacks]: https://hillhacks.in/about/ -[1]: https://hillhacks.in -[2]: https://hackbeach.in - \ No newline at end of file diff --git a/content/posts/homelab-mesh-vpn.md b/content/posts/homelab-mesh-vpn.md deleted file mode 100644 index 7a6bc1a..0000000 --- a/content/posts/homelab-mesh-vpn.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: Comparing tools to connect your devices in a mesh VPN -date: 2023-01-03 -tags: ["homelab", "tech"] ---- - -I have a nice little computer in my house which hosts a bunch of services I use. It sits behind a NAT, so I can't connect directly to it via my public IP address. Hence, I use a cheap cloud instance on DigitalOcean to act as the gateway for my home-server to the internet. - -My [previous setup][previous-setup] was basically a VPN tunnel between a cloud server and my home server, where the cloud server forwarded TCP traffic to my home server, which served all my services. - -Lately, I've been rebuilding this infrastructure, and one of the things I was due for, is to have all my devices (my cloud server, home server, laptop, phone, etc) connected to each other all the time. Also, it needed to be in a mesh instead of hub-and-spoke, as there was no need for data to go over the internet if I'm home, on the same physical network as my home-server. - -I spent a good amount of time trying out a bunch of methods, until settling on one. This post runs through all the options I found, and why I chose what I chose. I won't go into how to set it up - there should be plenty of articles and documentation on the internet. -TLDR: I now use tailscale with a headscale server. - - - ---- - -### Wireguard -There's a bunch of ways to do mesh VPN as of writing this. One obvious one is to use [Wireguard][wireguard], which is what I set up first. However, one drawback of it, for my use-case is that peers need an IP address to connect to. Since my IPv4-first ISP puts me behind a NAT, I was unable to do that. So, I had to choose between routing what-could-be local traffic over the internet, or have local peers and only connect to VPN when I'm at home. Neither were good solutions for me. - -[This wonderful post][wireguard-stun] by Jordan Whited uses a STUN mechanism to do IP discovery with wireguard, but I don't want to take on the burden on compiling CoreDNS every time I perform upgrades. If that's something you're okay with, I'd highly suggest giving it a try - it's exceptionally neat. - -### Netmaker - -[Netmaker][netmaker] is another wonderful tool, which is very performant and incredibly easy to set up. It even includes a web-app where you can manage all the nodes. I would recommend this if you don't want your phone to be a part of the mesh. Netmaker uses its own `netclient` to connect nodes, and there's no such client for Android/iOS, [as of writing this][netmaker-android]. You can technically add a phone as an 'external device' via wireguard, but then the phone always uses a specific ingress server to access the VPN, and won't connect directly to a node even when on the same physical network. - -### Tailscale/Headscale - -[Tailscale][tailscale] is one of the popular Mesh-VPN services providers. It's built on top of wireguard, and uses its own coordination servers to keep track of your devices (a very good write-up of how it does that [here][nat-traversal]). It has a very stable android client which has worked without issues for me. And more importantly, the official open-source clients support the third-party open-source coordination server, [headscale], which I use. The official tailscale server is not open-source, but headscale hasn't given me any issues yet. Tailscale isn't the most performant option out there, but it has been very reliable in maintaining a connection between devices even when they hop between networks (sometimes spotty LTE). I hear the performance is gonna [increase soon][tailscale-faster] too, so that's nice. - - -### Also: Nebula, ZeroTier - -Two more tools need to be mentioned here. - -[Nebula][nebula] is developed by Slack, and builds a similar mesh overlay network. It seems simpler in design, however I had a hard time with the Android client, which sometimes would just not form connections. It could have been just a momentary bug, or a configuration error, but I moved past it very quickly. YMMV. - -[Zerotier][zerotier] is very similar to Tailscale too. It uses its own custom protocol instead of wireguard, and works in a similar way. Zerotier's controller server is open source, and can be self-hosted. In my testing, it took longer to reconnect after a network change, and also took more time to figure out the optimal route to a peer, but otherwise it behaved quite the same. It was more performant than tailscale though, with lower ping-times and higher transfer speeds locally (albeit with more packet loss). I would have been happy with it too, and might try it again if tailscale fucks up at some point. So far, I went with tailscale mostly because of the trusted wireguard as base, and reliability of clients handling reconnections. - - - - - -[previous-setup]: /2020/01/11/personal-infrastructure-overview/#how-things-actually-connect -[wireguard]: https://www.wireguard.com/quickstart/ -[wireguard-stun]: https://www.jordanwhited.com/posts/wireguard-endpoint-discovery-nat-traversal/ -[netmaker]: https://www.netmaker.org/ -[netmaker-android]: https://github.com/gravitl/netmaker/discussions/631 -[tailscale]: https://tailscale.com/ -[nat-traversal]: https://tailscale.com/blog/how-nat-traversal-works/ -[headscale]: https://github.com/juanfont/headscale -[tailscale-faster]: https://tailscale.com/blog/throughput-improvements/ -[zerotier]: https://www.zerotier.com/ -[nebula]: https://github.com/slackhq/nebula \ No newline at end of file diff --git a/content/posts/inattentional-blindness.md b/content/posts/inattentional-blindness.md deleted file mode 100644 index baabb51..0000000 --- a/content/posts/inattentional-blindness.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: Kodi controllers -date: 2019-07-06 -tags: ["tech"] ---- -For the past five years, a Raspberry Pi, running [Kodi][kodi], has been attached to my TV. The Pi, TV and the software all get updated time to time, but the overall setup has been the same for most of it. - -``` -+----+ +----+ +-----+ -| TV |----(HDMI)----| Pi |--(USB/DLNA)--| HDD | -+----+ +----+ +-----+ -``` - -Controllers I've used for Kodi over the years - -- Desktop Keyboards (Wired/Wireless) -- Wireless Mouse -- Web Interface -- Tasker scenes utilizing the web interface API -- Kodi remote apps (for Android/iOS) -- Emulated keyboard over SSH -- VNC -- Arduino based bluetooth remote -- Game controllers - -Some of these were novelty ones, others were used because of circumstantial needs+availability. - -My primary controller is the excellent app [Yatse][yatse] (Lets you browse/play media on the phone itself - much faster than the TV UI). When the phone's not nearby, or there's a guest involved, I use a game controller (connected for retroPie anyway). - -Last week, I was setting up Kodi ([OSMC][osmc] to be exact) on my old roommate's Raspberry Pi. While I was installing Yatse on his phone, this other guy present there, who isn't familiar with the software, doesn't have any of the controller I know of, starts browsing movies on the TV. I look over, dumbfounded, and see him casually using the TV remote to play around in the UI. - -Five years of having a [CEC][cec]-compatible TV with a CEC-compatible SBC, and it never dawned on me to try the simplest UI possible - The TV remote. - -{{< youtube IGQmdoK_ZfY >}} - -
- -[yatse]: https://play.google.com/store/apps/details?id=org.leetzone.android.yatsewidgetfree -[osmc]: https://osmc.tv/ -[kodi]: https://kodi.tv/ -[cec]: https://en.wikipedia.org/wiki/Consumer_Electronics_Control - - \ No newline at end of file diff --git a/content/posts/indian-electrical-sockets-is1293.md b/content/posts/indian-electrical-sockets-is1293.md deleted file mode 100644 index 76b410b..0000000 --- a/content/posts/indian-electrical-sockets-is1293.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: "IS 1293 : What are the different kinds of Indian electrical sockets?" -date: 2023-03-07 -tags: ["tech"] ---- - -I spent a lot of time today reading the specifications of Indian electrical sockets, and since it took me way too long to find this information - here's a quick summary of what the different kinds of sockets mean. I hope at least one other person finds this useful. - - - -{{< figure src="/images/indian-sockets.png" caption="Common sockets found in India" >}} - -Indian electrical sockets are defined by the **IS 1293** specification, as defined by BIS (Bureau of Indian Standards). You can find the contents of the standard here: -- [IS 1293 : 2005][2005] - PDF of the third revision of the standard from 2005. This is not the latest version, but this is the only PDF I could find freely available. -- [IS 1293 : 2019][2019] - You'd have to create an account to access the latest version from 2019. It is a free download after, for personal use. - -The standard specifies the details of plugs and sockets used for household devices (devices which draw up to 16A current). The standard goes into details about almost every aspect of the plugs and sockets, but this article cares only about the different socket layouts. - -Plugs and sockets are rated for three current classes in India - 2.5A, 6A, and 16A. There used to be a 10A class as well, but that has since been removed in the 2019 revision (it shared the same socket layout as 6A). All these sockets operate at up to 250V. - -Now, onto the different sockets shown in the image above: - -- **Socket I** - This is a 2-pole socket, with no support for earthing. This kind of socket is only rated for up to 2.5A. Both the pins are 5.08mm wide, 15.9mm in length, and 19.10mm apart. - -- **Socket II** - This is a 3-pole socket, which is rated for up to 6A. It is basically the same socket layout as **I**, but with an additional earth pin, which is 7.06mm wide and 20.6mm long, at a distance of 22.2mm from the other two pins. - -- **Socket III** - This is an outdated socket. It is a combination of standard 6A **Socket II**, along with an old form of a 2.5A socket which had the pins 16.50mm apart. That latter one was removed from the standard in 2019, and should hardly have any supported devices nowadays. - -- **Socket IV** - This is a 3-pole socket, which is rated for up to 16A. All the dimensions are bigger for this socket - with the live and neutral pins being 7.06mm wide, 20.6mm long and 25.4mm apart. The earth pin is 8.71mm wide, 28.6mm long, at a distance of 28.6mm from the other two pins. - -- **Socket V** - This socket is a combination of **socket II** and **socket IV**. Both the plugs can be inserted in the socket, which is rated for 16A. - -- **Socket VI** - This is a common kind of socket found in some places, which conforms to no standard. It attempts to combine many different kinds of sockets from around the world. In India, most of these would be rated for 6A and will be compatible with **Socket II**. There are a lot of articles on the internet which explain why universal sockets can be unsafe, which you should look up for more info. - -And that's it. This is not my favorite kind of socket layout, but its the one we got. The best one, in my opinion is the British **BS 1363** system - which requires compulsory shutters in the sockets, and the plugs have fuses built into them, as well as mandatory insulation at the base of the pins. They are also impossible to plug in sideways due to the rectangular design. - -[2005]: https://archive.org/details/gov.in.is.1293.2005/page/n3/mode/2up -[2019]: https://standardsbis.bsbedge.com/BIS_SearchStandard.aspx?Standard_Number=IS%201293&id=4577 \ No newline at end of file diff --git a/content/posts/internet-kinda-sucks-nowadays.md b/content/posts/internet-kinda-sucks-nowadays.md deleted file mode 100644 index 5d94741..0000000 --- a/content/posts/internet-kinda-sucks-nowadays.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: The internet kind of sucks now. -date: 2018-04-10 -tags: ["tech"] ---- - -_This is mostly a rant, over my increasing frustration with how the internet works nowadays. Maybe it's just nostalgia with rose-colored glasses. I still want to shout this here in this void._ - -I wasn't there during the early days of internet. The first time I went online, was probably in 2005. That's only a little over a decade, but I remember it way too differently from what it is now. Now, it's way too... homogenized is probably the right word. - -__Chat sucks the most__. Probably the worst victim of the walled-garden approach. -Things I have installed right now - Facebook messenger, Whatsapp, Telegram, Signal, Threema, Hangouts, Slack, AndroIRC, Riot. - -_At some point last year, I got fed up and turned off notifications for all of these except Telegram on my phone. I still keep them installed, but everything is pull-based now, when someone asks me to look at something._ - -I am not new to being on loads of platforms. A decade ago, I used to have accounts on MSN and Yahoo messenger, Google talk, (even facebook too), IRC networks, and probably a dozen I can't remember. But at some point, I found out about XMPP and pidgin, and how open protocols are such great things. mIRC used to be the hangout app, and pidgin the IM app. Any platform, ultimately boiled down to one of these. Then, one by one, almost everyone started killing off their XMPP gateways. They cited low volume, and lack of support for their *exciting and new features*. It's always animated emojis or fucking stickers. Even slack shut down their IRC gateway earlier this year. - -_It's on my To-do list to configure bitlbee and libpurple and put everything on libpurple._ - -__Communities suck too__. Everything is a facebook group and a subreddit now. Forums are ghost towns in comparison. Forums, which had basic to extremely detailed information, queries, all sorted and tagged, categorized. The forums dedicated to Lost and Doctor Who were way more fun than the show itself. You go to [/r/startrek][0] now, and you're bombarded with memes, cosplay, news about the upcoming Discovery season, theories, past episode-appreciation posts, and general rants. Feel free to try to use the broken filter-by-flair. When you visited the phpBB forum for the same, there were so many subcategories, and years old active threads with lots of archived information. There's one for artwork, one for theories, one for episode discussions, another for character discussion, another for fan-fiction. Karma fishing and reposts wasn't even a problem. - -_I'm honestly surprised that XDA and DeviantArt, some of my oldest communities, have stuck around for so long._ - -__And then there're social networks__. My friends, at the very least, don't "share" things online anymore. Everything is a carefully worded, edited, instagram-filtered broadcast to the world. Nothing feels personal. I had better communication with my deviantArt friends than I have with my facebook friends now. If I [unblock my facebook news feed][1] right now, this is what I see: Random selfie #9 this week, anti-Trump news, anti-BJP news, anti-BJP posts, rants against patriarchy. Once in a while I find out something interesting about poeple: a new relationship, a new job, a new city. But everything else is just people shouting the same thing in an echo chamber. Or else, it's a whole lot of self-promotion. - -I remember this being way different in 2010: There was a group for post-class hangout, another for books present in our library, and countless others. News feed used to be people sharing opinions without fear, and way less fishing for 'likes'. People planned things using their status. Comments were more conversational than '👍🏼' and 'nice pic.'. All the things I despise right now did exist then, but in a far lesser amount. - -_I dread the day when [reddit finally turns into a social network][2]._ - -__I also miss RSS__. Nowadays, my RSS feed is just news and comics. At some point, people used to have blogspot and wordpress accounts, where they tagged posts. I subscribed to the 'travel' feed for someone, 'personal' of someone else, 'essays' of the other. Now everything is just there, flat on Facebook/Twitter. Even they used to offer RSS feeds, which they phased out. Fucking twitter, where you get just one feed, with people sharing memes, jokes, news, achievements, all floating in the same cesspool of diarrhea, just begging for retweets. - -[0]: https://reddit.com/r/startrek -[1]: https://chrome.google.com/webstore/detail/news-feed-eradicator-for/fjcldmjmjhkklehbacihaiopjklihlgg -[2]: https://np.reddit.com/r/announcements/comments/863xcj/new_addition_to_sitewide_rules_regarding_the_use/dw2rwy1/?context=3 - - \ No newline at end of file diff --git a/content/posts/iphone.md b/content/posts/iphone.md deleted file mode 100644 index d1feeb8..0000000 --- a/content/posts/iphone.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: Moving to an iPhone (for now) -date: 2019-12-04 -tags: ["tech"] ---- -I spent the last two days trying to switch from my three year old Oneplus 3, to a brand new iPhone 11. I thought I was probably done with expensive phones (I count Oneplus as an expensive purchase), but resigned to giving iOS a chance this time around. - -The Oneplus has served as my phone for 33 months now, and has had its fair share of rough usage. The screen broke twice (and got replaced once). Its battery had degraded so much that I didn't dare go out without carrying a small sling bag with a charger and a power bank in it. Screen-on time would have been somewhere between 50-90 mins. At least it charged fast. - -It wasn't a fast phone by any means anymore too, and I'd gotten used to waiting a few seconds for apps to launch. - -The iPhone, is a stark contrast to that. It's a recent phone with the latest and greatest Apple processor, and things are super fucking fast on it. I am almost in disbelief of how much the battery lasts on this thing. That carry bag isn't a necessity anymore (though I have gotten used to it - it came in handy a lot more times than it became a hindrance). - - -{{< figure src="/images/iphone/phones_front.jpg" caption="Shiny vs battered" alt="Comparing the front of iPhone and Oneplus phones" >}} - -{{< figure src="/images/iphone/phones_back.jpg" caption="I much prefer the back of the Oneplus. It looks interesting. That sticker is a washed out logo of the [34C3 F.U.C.K. assembly](https://events.ccc.de/congress/2018/wiki/index.php/Assembly:F.U.C.K.)" alt="Comparing the back of iPhone and Oneplus phones" >}} - -## Actually moving to iOS. - -The first thing was setting up contacts and calendar on the iPhone. I use [radicale][radicale] as the CardDAV and CalDAV server to store my contacts and calendar. On Android, I had to use an app called [DavX][davx] to synchronize the files, which didn't work perfectly. Rarely ever synced in the background for me. I had to frequently open the app and manually refresh it. I was very pleased to know that iOS supported these standards natively (much like MacOS). Syncing works quite smoothly now. - -Setting up Email was pretty easy too in the stock app. UI is really slick, and it sends plain-text emails by default. It's infuriating how many clients send HTML mails by default, even when not doing any sort of formatting. - -The next step would be reinstalling the iOS counterparts to all the apps I had on Android. Most of the popular apps had an iOS version themselves, which didn't really create many issues. I had to replace few apps with different ones when they weren't available in the App Store, but the real problem was with apps which had no replacement. This was my first frustration with the walled garden. - -### Replacement apps - -- *Moon+ Reader → Marvin 3* - This was basically a drop-in replacement. I needed an app which could access my OPDS server, and Marvin seems to handle that really well. -- *Readable → Reeder 3* - This was my replacement for an RSS reader. I use a [FreshRSS][freshrss] server as an aggregator and Reeder (I am using the older, free version which seems sufficient for my needs right now) has good support for Fever APIs. -- *Slide → Apollo* - Slide was probably my favorite Reddit client on Android. The gestures were smooth, and it looked pretty nice. Slide for iOS had much more whitespace and had a different design which I wasn't a big fan of. Apollo, on the other hand seemed like a much better alternative, and had a closer UX to Android's Slide than iOS' Slide itself. -- *Hyperlapse → Microsoft Pix* - Microsoft Hyperlapse, while not a very well-designed app, was a good enough one to convert standard videos into Hyperlapse one. There's a Hyperlapse app from Instagram on iOS, but it doesn't let you import videos from outside, and stabilization didn't seem to work in iPhone 11. Microsoft Pix is a complete camera app, but one of its features is converting videos to hyperlapse. That's probably the only use I'm gonna get out of this app. -- *Juice SSH → Blink* - This was also basically a drop-in (and probably better) replacement for a mosh-enabled shell. The App Store version is pretty expensive, but given that it's an open source app, one can build it from the source and install the app. -- *Solid Explorer → Files/Airdrop* - Solid explorer used to solve two problems for me. One was being a pretty solid file manager, and the other was the built-in FTP server. It was my preferred way of transferring files between my computer and phone wirelessly, without using the internet. I'm currently using the stock Files app for file management (There might be better apps out there - but this one works well for me right now), and Airdop for exchanging files with my computer. Airdrop is just so nice, man. -- *Sky map → SkyView Lite* - There doesn't seem to be a good free astronomy app for iOS, so this would have to make do for now. Stellarium is available for iPhone, but I'm putting off buying paid apps for now. -- *Revolution IRC → Lounge* - I was unable to find a free and good IRC client for iOS — so, for now, I'm using a web-based [Lounge][lounge] instance to connect to IRC. It works pretty well, except for the fact that iOS browsers don't support notifications yet. I'm not really bothered by that though, as I don't like to be perma-connected to channels on my phone anyway. -- *Jellyfin → Jellyfin (web)* - Jellyfin also didn't have an iOS app, but the web interface is so good that it almost makes up for it. - -These were the apps that were easy to replace. Now there were some which didn't seem to have any sort of replacement (at least not without jailbreaking the phone – which I'm not very keen on doing right now). - -- *Flud* - Flud is a torrent client I used to run on my phone. It was pretty convenient to be able to download torrents on the phone without any hiccup or afterthought. Apple doesn't seem to allow anything torrent related on their store. I, now have to use the web-ui of a torrent client hosted at my home. -- *Transdroid* - Speaking of managing a hosted torrent client - Transdroid is an app which can remotely control hosted torrent clients really easily. I now have to use a web-browser for that, and most torrent clients don't really have a mobile-friendly UI. -- *NewPipe* - NewPipe is a Youtube client on steroids. It doesn't have ads, can download videos as MP4s, can play in the background, and has an overall better interface than the official youtube app. No such replacement on iOS sadly. -- *Firefly III* - I use a self-hosted version of [Firefly III][firefly] for managing my expenses. The web interface is not a mobile friendly one, but there were some Android apps which could connect to the API and make changes. No such things on iOS. But I did find [this][firefly-shortcuts] blog by Jesse Dyck where they utilized iOS shortcuts to interact with the server. That's something I wanna give a try later on. -- *SMS Organizer* - I am so bummed that this app is not available on iOS. SMS seems like a medium for spam these days, and SMS Organizer did a very good job silencing those messages. I am now back to blocking senders as they come to reduce spam. I'd happily block all SMS messages (I don't really use SMS for personal communication anyway) but that doesn't seem to be an option on iOS. -- *Google Play Services* - Okay, not really sad about this. I wrote this because I'm glad to not be dependent on Google APIs anymore. There're literally zero google apps on my phone right now, and it's really nice. - -### The UX - -Some things about the iPhone are really amazing. And other things, quite awful. - -Right off the bat - I love the seamless clipboard syncing with macOS. Honestly, exchanging strings between the phone and computer was such a pain. My method was to use Signal's "Note to Self" feature for this. I've seen others using note-app synchronizations, self-emails, etc. This seamless copy-paste is basically my favorite thing about iOS right now. - -There're also other nice integrations with macOS - Airdrop is super-nice. You can use your phone as a Wifi-hotspot without touching the phone itself. Can even accept calls right from the computer. - -iOS Shortcuts seem to be pretty nice and well-integrated with Siri. Though not as powerful as Android's Tasker - they seem to be good enough for my needs as of now. - -Permissions also seem to be better managed. The ability to disallow location access in the background is something which Android should have implemented long back. I like that iOS also asks for notification permissions explicitly. Though I do miss the granular notifications permissions from Android. There, I could disable all promotional notifications, and only keep the important variety. iOS does all-or-none. And this has led to me disallowing notifications from a lot of apps. I refuse to ever receive any promotional anything ever – SMSs, emails, notifications - everything must go. - -And I really really miss the customizability of Android. There just seems to be no personality on iOS home screens. Even the widgets on iOS are vastly inferior to the android ones. Also, the status bar is worthless on iOS. On Android, I can see all the apps with notifications, current network speed, ringer status, VPN status, and so many other things. iOS has just the time, network, wifi and battery. - -{{< figure src="/images/iphone/screenshots.jpg" caption="I find the latter layout much better. Everything is reachable on the bottom. The icons are nice, and there's a play button for music right there." alt="Comparing iOS and Android home-screens" >}} - -### The hardware - -The "True Tone display" is quite nice. It matches the ambient light and temperature much better than any other phone I've seen. The speakers are actually great for a mobile phone. What sucks is that there is no headphone jack in this phone. This phone is thicker and heavier than my previous phone. It could have had a fucking headphone jack in it. I do use wireless headphones with my phone, but ever so often, they run out of battery, and then it's very convenient to attach a wire and use it with that instead. I'll probably have to buy the lightning-to-AUX dongle now - which I hear, at least has a pretty good DAC in it. Which reminds me - it sucks to move away from USB-C to the lightning port. I'd been getting closer to everything USB-C with every new hardware purchase since the past few years, and now I just took a step back due to this iPhone. - -And finally, it's laughable that Apple includes a 5W charger in the box. I hadn't seen a 5W charger in years lol. And this, when the phone actually supports 18W fast charging. I don't understand why they had to cheap out on this. - -{{< figure src="/images/iphone/chargers.jpg" caption="What the fuck, Apple?" alt="Comparing iPhone and Oneplus chargers" >}} - -I hope the good outweighs the bad in this move. It took way too much time to shift ecosystems, and I don't want to repeat that anytime soon. - -[radicale]: https://radicale.org/ -[davx]: https://f-droid.org/packages/at.bitfire.davdroid/ -[freshrss]: https://freshrss.org/ -[lounge]: https://thelounge.chat/ -[firefly]: https://github.com/firefly-iii/firefly-iii/ -[firefly-shortcuts]: https://www.jessedyck.me/2019/03/ios-shortcuts-firefly-iii/ -[screenshots]: /images/iphone/screenshots.jpg -[chargers]: /images/iphone/chargers.jpg \ No newline at end of file diff --git a/content/posts/javascript-mathematical-operations.md b/content/posts/javascript-mathematical-operations.md deleted file mode 100644 index cec3082..0000000 --- a/content/posts/javascript-mathematical-operations.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: Mathematical operations on objects in javascript. -date: 2018-08-11 -tags: ["tech"] ---- - -_All of these were executed on Node.js 6.9.1_ - -``` -> [] + [] -'' -``` -Obviously. - -``` -> [] + {} -'[object Object]' -``` -Less obvious, but okay. - -``` -> {} + [] -0 -``` -Huh? - -``` -> {} + {} -'[object Object][object Object]' -``` -Oh, fuck off. - -I'd rather just add strings to these from now on: - -``` -> [] + '' -'' -``` - -``` -> [] + '1' -'1' -``` - -``` -> [] + 'a' -'a' -``` - -``` -> {} + '' -0 -``` - -``` -> {} + '1' -1 -``` - -``` -> {} + 'a' -NaN -``` -Lol. - -Okay, subtraction maybe: - -``` -> [] - [] -0 -``` - -``` -> {} - {} -NaN -``` - -``` -> [] - '' -'' -``` - -``` -> [] - '1' --1 -``` - -``` -> [] - {} -NaN -``` - -FML. - -But, my favorite one is this: - -``` -> {} - [] --0 -``` - -Follow-up post: [Minimalistic javascript packages][follow-up-post] - -[follow-up-post]: /2018/08/16/minimal-npm-packages/ - - \ No newline at end of file diff --git a/content/posts/link-etiquettes.md b/content/posts/link-etiquettes.md deleted file mode 100644 index d6a048d..0000000 --- a/content/posts/link-etiquettes.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Link etiquettes for web developers. -date: 2017-08-02 -tags: ["tech"] ---- - -This post might seem like nitpicking, or unnecessary to a lot of people, but it's frustrating when links don't work how they're expected to. - -- DO NOT use `` or `
` tags and then proceed to handle their `click` events. Use proper `` tags. This breaks so many things! - - People can't use them if they have disabled javascript or it just failed to load. - - Ctrl-click will not open a new tab unless you explicitly handle the situation. (More on that below) - - Even then, you just dumbed down your users' context menus. No *Open link in new tab*, or *Copy link address*. - - The same situation on mobile. Long click will copy the text instead of showing helpful actions. - - The javascript might break, throw an unexpected error, or burn down your house, rendering that "link" useless. - -- Even when you are using `` tags: - - If possible, execute whatever JS you want, and then let the link do its job. Don't `preventDefault()` and open the link through javascript. - - If you really have to open it through JS, take care of Ctrl-clicks. And Cmd-clicks in case of macOs. [Old browsers might make this difficult][key-madness]. - -- Put `mailto:` links only where the email-id is the visible text too. [foo@bar.com][email-good] is so much better than [Contact Email][email-bad]. Not everyone has email clients configured, and opening bulky clients when clicking a link is just bad UX. Or people might just want to note down the address, to contact later. - -[key-madness]: http://unixpapa.com/js/key.html -[email-good]: mailto:foo@bar.com -[email-bad]: mailto:foo@bar.com - \ No newline at end of file diff --git a/content/posts/meta-programming-0.md b/content/posts/meta-programming-0.md deleted file mode 100644 index 043ac35..0000000 --- a/content/posts/meta-programming-0.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: "Meta:Programming - Notes about the nature of software development" -date: 2020-06-01T00:00:00 -tags: ["tech"] -hidden: true ---- - -I'm hoping to write a blog series for my younger self. He is someone who used to look at a service and say - "I could build that over a weekend". This is also someone who would look at a company with a small product, which rarely gets any new features, and wonder why that product needs 10 developers working fulltime on it. - -I don't plan on writing about the philosophical aspects of those questions. Maybe the weekend hack _would_ come out better. Maybe that company _is_ bad at resource utilization. Maybe capitalism _is_ the root of all evil. I am taking the current state and processes at face value, and try to commentate on how and why this usually comes to be. - -I hope that these posts don't require a lot of technical knowledge, and are easily readable by beginners, or maybe non-technical folk. - -1. [Decision making while writing software][1] - -Do keep in mind that these articles are restricted by my experience and perspective. If you feel that I might be wrong somewhere or am missing something important, feel free to suggest updates. The good thing about writing on the internet is that I can always update my old content. - -Next : [Decision making while writing software][1] - -[1]: /2020/06/01/meta-programming-1-making-decisions/ - \ No newline at end of file diff --git a/content/posts/meta-programming-1-making-decisions.md b/content/posts/meta-programming-1-making-decisions.md deleted file mode 100644 index b7fac18..0000000 --- a/content/posts/meta-programming-1-making-decisions.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: "Decision making while writing software" -date: 2020-06-01T01:00:00 -tags: ["tech"] ---- - -_Post #1 in the [Meta:Programming][meta-programming] series._ - - -Very often, a significant part of software development is making decisions between a couple of available options, over and over again. - -In some areas, you would just skip the decision-making process by picking a default, which can be dictated by your experience, social circle, current market trends, or personal preference. - -And conversely, sometimes you'd spent way too much time on deciding between the options, to the point of diminishing returns. This is called [bikeshedding][bikeshedding]. - -Consider a student, Alice, who's just starting out as a software developer. She wants to create an Android app, for a small idea that she had. She starts with her usual first step - creating a private repository on Github, the most popular code-sharing site. Next, she goes on her favorite web-search, looks up how to build Android apps, and goes with the recommended starting point - installing a software called Android Studio. - -While setting up a new project, the software offers her two choices: Which language do you want to use for writing this app - Java or Kotlin? Alice squints. - -Alice went through two semesters of Java during college but had never heard of Kotlin before. She can either choose Java right now because she wants to get on with the development process, or she can spend some amount of time researching the two and make a more educated choice. Both are valid options, with their own pros and cons. - -She fires up that browser again, goes through tons of search results, and decides to go with Kotlin – because she is no hurry to develop the app, and can take a small risk while using this opportunity to learn something new. - -{{< figure src="/images/alice-decisiontree.svg" caption="Alice's decision tree" >}} - -This was the first major choice she made in the life-cycle of this software. -This is not a choice that is easily reversible down the road, and is going to affect the project for a long time. There's a reason that developers are often seen spending large amounts of time exploring and researching different options, because the cost of changing that decision can be huge in the future. And when you do change such a decision, it leads to rewriting large chunks of code, which is best left to be discussed in a later post. - -Now, if you were to take a second look at Alice's actions so far, you'd see that this wasn't a single choice with a long-term outcome, these were a series of choices, each with an almost equally enormous impact. Alice spent time on researching some choices, sped through some without realizing they were choices, and sped through others because she straight up accepted the prevailing common choices without dwelling too long on them. There's a reason that some choices are so popular. This is also not something exclusive to software development, and can also be applied to life in general. Nevertheless, it certainly is something one should be actively aware of. - -Let's take another developer - Bob, who is at a different stage in his career with different sensibilities and priorities. He gets the same idea, but stops and considers a lot of different choices while arriving at the same final decision. - -{{< figure src="/images/bob-decisiontree.svg" caption="Bob's decision tree" >}} - -Bob researches different ways to build mobile apps, looks into different frameworks, their pros and cons, takes into consideration the prospect of a future iOS application, and after balancing his priorities and current state, ends up going the same route as Alice. - -But he could also have easily gone in a different direction if he had different priorities and timelines. Maybe he'd have gone with writing the app in Flutter if iOS application was a priority in the near future. Or if he was already familiar with React, and could've handle slight performance loss in favor of easier development, he'd have gone with React Native. - -Even after spending so much time on this, Bob took shortcuts (and he spent A LOT of time on this, during which Alice might've already written the app). There are some frameworks he never considered. He sped through the choice of the version control because Git seemed popular and good enough so far. A different developer might have had a completely different decision tree, and would judge on different merits. - -The ability to go through such a decision tree efficiently is often the difference between a junior developer and a senior one. Over time, you learn to set defaults for yourselves based on different requirements. You start to identify points that require more attention than others, and avoid bikeshedding. All this, while still being open to new options, because languages, paradigms and tools come and go at quite a fast rate. You start to compile and cache these procedures in your brain, or collaborate with other people who have gone through a similar process already. - -There's rarely is a catch-all universal answer to these choices. Some mature fields get dominated by a particular option, while others get swarmed by a number of choices, and then you start balancing the tradeoffs between them based on current requirements. - ---- - -An example of choices that a former team of mine faced, which consumed multiple weeks cumulatively – Which language to use - slow loosely-typed language which has tons of frameworks vs fast strongly-typed language with slow development speed? Old featureless stable framework or the new up-and-coming featureful one with a tiny community? Which reverse proxy should we use? Do we even need a reverse proxy? Cloud or colocate? Which cloud platform? Should we worry about vendor lock-in? Kubernetes - Too complicated at this stage, or is it good to set it up early and reduce friction in the future? Which database should we use? Should we use an ORM? Which one? Which pattern to follow for writing tests? REST or GraphQL? Which monitoring stack to use?... - -It is quite likely that we spent more time on making decisions than the time we'd have spent working around slightly worse choices. On the other hand, we did avoid any major revisions to the code during its lifetime, and the documentation of our research helped other teams shorten their decision-making process. It also helped newer members of our team to understand why some odd choices were made, and be more confident when making improvements to the code. - -Factors which affected the above choices: The team size. The skills of the said team. The appetite for experimentation. Timeline of product launch. Minimum acceptable development speed. Ease of development vs performance of product. Testing protocols. Philosophical beliefs. Stress levels. Sleep deprivation. Is this tech cool enough to get to the Hacker News front page? Et cetera. - -[meta-programming]: /2020/06/01/meta-programming-0/ -[bikeshedding]: https://en.wiktionary.org/wiki/bikeshedding \ No newline at end of file diff --git a/content/posts/minimal-npm-packages.md b/content/posts/minimal-npm-packages.md deleted file mode 100644 index a70504e..0000000 --- a/content/posts/minimal-npm-packages.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: Minimalistic npm packages. -date: 2018-08-16 -tags: ["tech"] ---- - -A follow up to [my previous post][prev-post], this time we look into some of the lesser known, but widely used javascript packages. - -Javascript's NPM package manager, is one of the [biggest and fastest growing][modulecounts] package manager out there. As of writing this: -- RubyGems - 145,675 (25 new packages/day) -- PyPI - 149,111 (104 new packages/day) -- Packagist - 191,577 (103 new packages/day) -- Maven Central - 244,143 (149 new packages/day) -- **npm - 679,009 (508 new packages/day)** - -Minimalism doesn't only apply to design, lifestyle and ownership, but also to code. Here are some of the most minimal packages in npm: - - -## [is-false][npm-is-false] -> Returns false if the value of a property is either strictly false, or it's inverse is strictly true. -> -> _**5 weekly downloads**_ - -Let's take a look at its github repository: - -{{< figure src="/images/javascript-packages/gh-is-false.png" >}} - -Pretty standard set of files. You've got your test cases, test runner config, editor config, lint config, and other necessary files. Let's look at the code: - -{{< figure src="/images/javascript-packages/gh-is-false-code.png" >}} - -Absolute minimalism. - -  - -## [is-even][npm-is-even] -> Return true if the given number is even. -> -> _**27,881 weekly downloads**_ - -{{< figure src="/images/javascript-packages/gh-is-even-code.png" >}} - -This was slightly more minimalistic. - -  - -## [is-positive-integer][npm-is-positive-integer] -> check if a number is a positive integer -> -> _**173 weekly downloads**_ - -{{< figure src="/images/javascript-packages/gh-is-positive-integer-code.png" >}} - -Oh, the beauty!* - -  - -More: -- [is-array](https://npmjs.com/package/is-array) (18,412 weekly downloads) -- [is-string](https://npmjs.com/package/is-string) (785,069 weekly downloads) -- [is-object](https://npmjs.com/package/is-object) (1,177,287 weekly downloads) -- [array-length](https://npmjs.com/package/array-length) (11 weekly downloads) -- [is-empty-array](https://npmjs.com/package/is-empty-array) (20 weekly downloads) -- [is-non-empty-array](https://npmjs.com/package/is-non-empty-array) (3 weekly downloads) - - -\* The author has updated the code to a very non-minimalistic monstrosity. But for the sake of this post, we are gonna pretend that the -initial commit is where it's at. - -[prev-post]: /2018/08/11/javascript-mathematical-operations/ -[modulecounts]: http://www.modulecounts.com/ -[npm-is-false]: https://www.npmjs.com/package/is-false -[npm-is-even]: https://www.npmjs.com/package/is-even -[npm-is-positive-integer]: https://www.npmjs.com/package/is-positive-integer \ No newline at end of file diff --git a/content/posts/personal-infrastructure-overview.md b/content/posts/personal-infrastructure-overview.md deleted file mode 100644 index 55c5451..0000000 --- a/content/posts/personal-infrastructure-overview.md +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: Personal infrastructure overview -date: 2020-01-11 -tags: ["homelab", "tech"] ---- - -Writing intros to posts is such a hard thing. I've spent more time on what to write in this paragraph than the rest of this article. You're supposed to start with a background and a motivation, and conclude with a sentence that you finally did it, and here is how. - -I have not _done it_ yet. This thing keeps evolving. As to why I started doing this: it's fun. It's fun and powerful to be in control of where your information resides. It's fun to build a system to manage this efficiently. There are also some benefits too: much more control over my data and the services. These are also all open-source so I can add missing features which I really really want, and I don't have to abide by the restrictive terms and limits of other platforms. And I don't lose everything if a platform wants to shut itself down or delete my account for using their product wrong. - - - -As for the disadvantages: Only a few services look as polished as their commercial counterparts. It costs money to host them yourself. Mobile apps are rare. You have to think about security yourself. And if things go wrong, you only have yourself to blame. - ---- - -Most of my services reside across two servers, which are named **HAL-9000** and **SAL-9000**. - -_HAL_ is a Raspberry Pi 4 connected to a single HDD, and acts as a tiny media server for personal use. It runs: -- A samba server (allows the HDD to be available as a Windows share) -- A DLNA server (most good media players can use this to get a media index off a server) -- A Calibre web server (for serving eBooks indexed by Calibre) -- Jellyfin (open source alternative to Plex, to organize media) -- A suite of services for downloading media (Radarr, Sonarr, Jackett, Transmission) -- Syncthing (a P2P file synchronization service) -- Tinc VPN (to make this server reachable over the internet) -- Some monitoring services (explained later). - -{{< figure src="/images/hal-9000.jpg" caption="HAL resides in a makeshift housing, connected to a cool status screen" >}} - -_SAL_ runs a lot more services, which I'll refrain from listing here, as I keep adding and removing them over time. The most used ones are: -- Mailman (for hosting a couple of private mailing lists) -- Lounge + ZNC (A web IRC client for non-primary machines, and a bouncer for everywhere else) -- Firefly III (Favorite expense manager) -- Dokuwiki (As a personal knowledge base, also used as an idea-book and journal) -- Wallabag (A self-hosted alternative to Pocket, the read-it-later thing) -- FreshRSS (RSS reader with a decent frontend and Fever API support) -- Radicale (A tiny cardDAV and calDAV server for syncing my contacts and calendars) -- Kanboard (Kanban boards) -- Tmate (an amazing tool which lets you share your current shell session with anyone else, over ssh) - -The complete list of services can be found in the terraform files [here][sal-terraform]. - -## Internal details -All of these services run in their own docker containers. This is a primary requirement for me, and I went to great lengths to make sure that nothing runs out of containers. Reasons are: -- _Easier management_: I can store every configuration as static files, which can spin up and configure containers that are ready to go. [I use terraform for this][tf-post]. Observing the state of my server becomes a breeze too. -- _Easier backups_: I have to backup only the mounted volumes, which greatly reduce the backup sizes, and can be backed up predictably too. -- _Easier Upgrades_: Upgrading services is as easy as updating the docker image tag. I don't have to worry of how things might break. And if they do, I can just go back to the earlier version without a hiccup. -- _Security_: Due to the isolated nature of containers, I feel much more safer running everything in containers, knowing that they don't speak to each other unless I want them to. -- _Reproducibility_: To set it up anew again, all I have to do is install and configure docker, make sure the OS itself is secure, and then my terraform files can take it from there. I rarely have to ever SSH into my host to make infrastructure changes. -- _Monitoring_: A linux system in use has tons of processes running, and to monitor your services, you have to filter through everything, identify which processes are used by which service/user, and so much more. Using containers, I can just look at the resources the container uses. - -{{< figure src="/images/sal-grafana.png" caption="Monitoring page of SAL-9000" >}} - - -### How things actually connect -My home network sits behind my ISP's NAT, so _HAL_ cannot be reached directly from the Internet. To make it accessible, I use a VPN connection (tinc) between _HAL_ and _SAL_ to bridge the two servers, making _HAL_ locally accessible from _SAL_. In this network, _HAL_ gets the IP `10.0.0.2` while _SAL_ is `10.0.0.1`. This allows me to directly tunnel traffic from _SAL_ to _HAL_, making it available over the internet. - -Tunneling all traffic, though, would mean that services on _SAL_ would be inaccessible. As it's not guaranteed that all traffic can be identified, I cannot do this selectively for services too. The solution was to get a Floating IP on DigitalOcean and attach it to _SAL_. Floating IPs are reassignable IP addresses, which can be attached to running instances. - -_SAL_, now has two public IP addresses, the floating IP and the instance's own public IP. The floating IP connects to _SAL_ through what DigitalOcean calls an Anchor IP, which is added as an alias to the default interface. Now, I can use two different IP addresses to reach my _SAL_. One by using the _SAL_'s public IP, and the other via the floating IP (anchor IP on the instance). - -``` - +-------------------+ - | SAL-9000 | - | +---------------+ | - | | eth0 | | - | | | | -Internet ------------>| 159.65.147.19 | | - | | | public IP | | - | | | | | - V | | | | -139.59.52.106 ------->| 10.47.0.5 | | -Floating IP | | anchor IP | | - | +---------------+ | - +-------------------+ -``` - -My DNS configuration says that `*.hal-9000` should point to the floating IP, while `*.sal-9000` should point to the _SAL_'s public IP. - -I use HAProxy to redirect traffic received on the anchor IP to _HAL_ at `10.0.0.2` over the VPN, and keep the rest on the instance itself. This could be easily done with iptables too, but I wanted all configurations to live in Terraform, hence HAProxy. I'll be switching to iptables as soon as I add support for them in the [Linux Provider][linux-provider]. - -Once this step is cleared on both servers, all the traffic is forwarded to their respective docker containers. HTTP and TLS traffic, though, all goes to traefik, a reverse proxy with amazing support for Docker (with discovery), ACME, and some capable middlewares. Any contanier which needs to listen to HTTP or decrypted TCP traffic, registers itself with traefik and is ready to go. My traefik config is using Let's Encrypt to get signed TLS certificates. - -### Monitoring - -The following five services make up the monitoring stack of these servers: -- _prometheus_ as the time-series database for storing all metrics -- _node-exporter_ to export system metrics to prometheus -- _cadvisor_ exports metrics of docker containers to prometheus -- _loki_ for storing logs of services -- _promtail_ to put docker logs from the filesystem into loki - -Data from both the servers' prometheus and loki is displayed on a Grafana instance running on _SAL_, which is also used for some rudimentary alerting. - -A friend once asked why I was using separate loki and prometheus to store data for different servers, when one could suffice. It's so that _HAL_ can continue to write metrics to its own databases even in case of internet disruption at my home. - -### Backups -I use restic to backup all my docker volumes to Backblaze. Restic is able to deduplicate blobs too, so the total capacity used for backups is less than the sum of all the backups. - -## Things I don't host myself -I am using Migadu as my email provider for now, but plan to try hosting it myself on a separate server later this year. -I also use PIA as my VPN provider instead of hosting my own VPN server, mostly because I switch between regions often, and it was cheaper to use PIA than run VPN instances in different regions. - -## How much does it cost me? - -
- -| Service | Cost | Notes | -|----------------|---------------|-------| -| Domain name | $30/year | Depending on the TLD, it can be $0 to $$$ | -| Cloud Server | $240/year | I have a DigitalOcean instance with 4GB memory. A 512MB one costs $60/year | -| Email | $48/year | I use migadu for my emails. It's a Swiss provider which allow you to have multiple custom domains as long as you don't send tons of emails everyday. I'd strongly recommend that you use your own domain for emails, to keep them migratory. But, if you don't wanna shell out, you can go with free email providers too (Fastmail is pretty good), or maybe what [Danny recommends][mailgun] if you really want that domain | -| Backup storage | $0/year | The 10GB free tier of Backblaze is able to store all my backups for now. It's still pretty cheap at 0.5c/GB when it exceeds that limit though | -| Electricity | $15/year | Raspberry Pi running at 135kWh/year at 10c/hr | -| VPN | $40/year | I use PIA as my VPN provider. Alternatively, you can setup a VPN server on your machine too, if it fits your threat model and you don't require all the different regions supported by PIA | -| **Total** | **$373/year** | *If you just go with a small cloud server, and a cheap domain, you can probably bring this down to $61/year. If your home IP is not behind a NAT (static IP, or dynamic DNS), you can host this at your home too, bringing it down to just the hardware and electricity costs.* | - -
- -Host things yourself. It's fun. - -[mailgun]: https://www.dannyguo.com/blog/using-mailgun-for-a-free-custom-domain-email-address/ -[sal-terraform]: https://github.com/mavidser/odyssey/tree/master/terraform/sal-9000 -[linux-provider]: https://github.com/mavidser/terraform-linux-provider -[tf-post]: /2019/11/15/sysadmin-terraform/ \ No newline at end of file diff --git a/content/posts/sublime-input.md b/content/posts/sublime-input.md deleted file mode 100644 index 9b3bc0d..0000000 --- a/content/posts/sublime-input.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: "STDIN inputs via Sublime Text (sort of)" -date: 2015-01-03 -tags: ["tech"] ---- - -I love Sublime Text. I really do. I can put a ring on it if it had any corporeal form. I've been using it so much, that trying to work on anything else is kind of a pain. And yet, when dealing with STDIN inputs, the magic falters. This method describes a workaround to give inputs without a prompt. - -Recently, I tried my hand on Competitive Programming, and though I didn't get really good at it, I did encounter a frustation. Entering the same input again and again after every change I make to the code. I wanted a simpler method. - -Here's what a friend of mine came up with: Enter the input in comments. - -{{< highlight cpp >}} -/*input -2 -foo -bar -*/ - -#include -int main() { - int n,i; - char s[10]; - scanf("%d",&n); - for(i=0;i}} - -gives the output: - -``` -foo -bar -``` - -I wrote up a [quick and really dirty plugin to do it](http://gist.github.com/mavidser/83d50803622ae70895ce) for Python, and though it was rather clunky, I had a rough idea of what I wanted, and how to do it. Pipes! Good ol' pipes! - -Now, what I had was a clunky implementation which just executes the following command: - -{{< highlight bash >}} -echo "input" | python program.py -{{< /highlight >}} - -I started jotting down a list of things I needed to add to the plugin. The first thing was to make the execution asynchronous. I couldn't let the whole editor hang when a program's under execution. Also, to be able to kill programs. And proper error reporting, platform independency, etc. - -It turns out all these things were already implemented, in the default build system of Sublime Text itself. I decided to merge my plugin it. - -Apart from things like input extraction, handling filenames, the behavious of things in Windows, etc, the main trick was changing - -{{< highlight python >}} -self.proc = subprocess.Popen(["/bin/bash", "-c", shell_cmd], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - startupinfo=startupinfo, - env=proc_env, - shell=False) -{{< /highlight >}} - -to - -{{< highlight python >}} -echo_input = subprocess.Popen('echo "' + user_input + '"', - stderr=subprocess.STDOUT, - stdout=subprocess.PIPE, - shell=True) - -self.proc = subprocess.Popen(["/bin/bash", "-c", shell_cmd], - stdin=echo_input.stdout, #Input - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - startupinfo=startupinfo, - env=proc_env, - shell=False) -{{< /highlight >}} - -A few other fixes, and the whole thing was running smooth as butter. No more rapid switching between the Console and Sublime Text to execute a program. - ---- - -The plugin has now been nicely packaged and uploaded. It can easily be installed via [Package Control](http://packagecontrol.io/packages/Sublime%20Input), and the source is available on [Github](http://github.com/mavidser/SublimeInput). - \ No newline at end of file diff --git a/content/posts/sysadmin-terraform.md b/content/posts/sysadmin-terraform.md deleted file mode 100644 index 0709c51..0000000 --- a/content/posts/sysadmin-terraform.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: Doing sysadmin things through Terraform -date: 2019-11-15 -tags: ["homelab", "tech"] ---- - -_Disclaimer: I have not worked as a sysadmin anywhere in my professional life, nor do I consider myself to be very good at it._ - -I've self-hosted a small part of my personal infrastructure (IRC bouncer, VPN server, torrent client, etc) for a while now. -These services were set up over the course of a week on the tiniest DigitalOcean instance five years ago, never to be touched again for the next three years. - -Two years ago, at [Hackbeach 2017][hackbeach], [Arun Singh][arun] gave a small talk on Infrastructure as code and [Terraform][terraform]. Around then, I had recently started frequenting [/r/selfhosted][/r/self-hosted], and decided to start self-hosting more of my services. Upon finally logging in into my server after three years, I couldn't understand anything about the way it was set up. Port 443 seemed to be occupied by OpenVPN (for punching through restrictive firewalls), which proxied HTTP traffic to HAProxy which proxied it to a web server, and so on. - - - -I didn't quite remember how I had set it up, which configurations should be where, and had to go through quite some documentation to get up to speed on navigating the system. - -This reminded me of the very similar problems that Arun had mentioned, which Terraform was trying to solve. I decided to give it a go, using the [Docker provider][docker-provider] to manage all the services. - -This led to me reworking my entire infrastructure, where every service was deployed via Docker, and managed by Terraform. This included monitoring infrastructure, an RSS reader, a VPN server, a mailing list, etc. Later on, I also started managing my home-server (mostly media related services) with Docker and Terraform, with the former server acting as the edge node of it. Even the DNS rules related to the infrastructure (domain names of the various services, mail-server related records, etc) are now managed by Terraform using the [Cloudflare provider][cloudflare-provider]. - -Even after all this, I noticed that I sometimes still had to SSH into my server to setup some new services. Upon identifying those, they mostly seemed to be creating users+groups, creating some folders with special permissions, modifying iptables rules, and cleaning up after the services I'd removed – deleting the associated users and files/folders they left behind on mounted volumes. - -This has led to me writing a provider, which I have crudely named [Linux Provider][linux-provider]. I am aware that this is not remotely accurate name. If you have a better but not restrictive name, feel free to
me. - - - -As I am currently the only user I know who uses it ⁠— It mostly utilizes commands found in some common linux distros. Mine are Ubuntu and Raspbian. - -I have now arrived at a state where I don't ever (_almost_) have to SSH into my server, to set up, modify, or completely remove a service. I can just delete `mailman.tf` and everything related to the setup of my mailserver will be removed from the system (_almost_ again - explanation below). And I can see everything about my configuration in just a single folder, while navigating around using simple grep commands. - -> Explanation for (almost): I am still working on adding more capabilities to the provider. I still have to sometimes login into the machine modify firewall rules, if dealing with a non-HTTP service. Also note that my motivation is not to never use SSH; it is to make the configuration powerful enough that it doesn't _need_ me to. - -Links to the code: -- __[Terraform Linux Provider][linux-provider]__ - As of writing this, it supports connecting to the client with SSH (key-based or password-based), and manage CRUD operations on files, folders, users and groups. Will keep working on improving this to add more resources. -- __[Terraform code of the infrastructure][odyssey]__ - This contains two terraform modules (folders, basically), HAL-9000 and SAL-9000. The former is my home-server, a Raspberry Pi 4, and the latter is a DigitalOcean instance (a basic 4GB RAM one, costs around $20 per month). The home-server runs services like Kodi for media browsing, samba server for sharing the media as a Windows Network Share with everyone connected on the Wi-Fi, monitoring infrastructure, etc. The cloud server would have much more services like a wiki server, IRC clients and bouncer, Finances and social management server, Kanban board, VSCode editor, Wallabag (Pocket alternative), CalDAV and CardDav servers, and some more. - -I have shown this to some of my DevOps friends, and not everyone seems to be a fan of it. Common complaints were "too much abstraction", which I somewhat agree with, but am fine with, as the pros outweigh the cons for me. - -Another complaint was that this was adding an unnecessary tool to a system which is usually pretty minimal (just SSH into a server, run a few commands, and log out). My take is that since this works in an agentless way, I can always move back if I ever needed to. This gives me an added benefit of using version control to see the system history (and revert changes), have all services+configs be reproducible and in a single folder, and be able to browse my system in a safe and easy way. - -If you too have some strong reasons about this should not be done, feel free to tell me through . - - - -[hackbeach]: https://hackbeach.in -[arun]: https://twitter.com/aruns89 -[terraform]: https://www.terraform.io -[/r/self-hosted]: https://old.reddit.com/r/selfhosted -[docker-provider]: https://www.terraform.io/docs/providers/docker/index.html -[cloudflare-provider]: https://www.terraform.io/docs/providers/cloudflare/index.html -[linux-provider]: https://github.com/mavidser/terraform-provider-linux -[odyssey]: https://github.com/mavidser/odyssey. - \ No newline at end of file diff --git a/content/posts/website-updates.md b/content/posts/website-updates.md deleted file mode 100644 index b6ab39a..0000000 --- a/content/posts/website-updates.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: "Website Updates" -date: 2020-03-07 -tags: ["tech"] ---- - -Every once in a while, I get into this productivity slump where I don't write code for weeks, and it gets hard to get back into the rhythm of working again. For me, the easiest way out of it is to redesign this website. It's low-effort (relatively), gets some creative juices flowing and has little risk of not panning out ultimately. - -And I guess it kinda worked. I spent two whole days on the redesign, and am pretty pleased with the results. Documenting the major decisions I took this time around in this post. - - - -{{< figure src="/images/website_iterations.gif" caption="This page (in spirit, anyway) throughout the years" >}} - -### Switching from Jekyll to Hugo - -The previous version of this blog was built using [Jekyll][jekyll], with a modified [Lanyon][lanyon] theme(I added support for photo albums to it). But I was slowly getting tired of Jekyll, where it was getting in the way more often than facilitating things. Perhaps the only reason I was using it was because Github Pages supported building Jekyll projects by default, and I didn't wanna run a CI server just for this. And I like not having to build and push the compiled HTML myself, as it removes some of the environment flexibility that I enjoy. - -This time I went with [Hugo][hugo] to generate the blog, and am definitely more comfortable in it than with Jekyll. Quick rundown of differences I encountered: -- Hugo is a magnitudes faster than Jekyll when building websites -- Hugo is written in golang, which I'm very comfortable with (unlike Jekyll's ruby), so I can browse through the code and patch bugs myself -- Hugo has better built-ins like support for image manipulation, third-party markup shortcuts, etc -- Hugo has a better directory structure than Jekyll, imo -- Hugo has as better documentation than Jekyll, but is still hard to browse. Almost every documentation should have a 'References' section where you can find every function of every type in a single webpage. Hugo doesn't have that. -- Hugo's templating language is slightly worse than Jekyll's liquid syntax though. Liquid feels more explicit, and has saner scoping of variables than Hugo's. -- Hugo is relatively newer and hence, doesn't have a very mature API. I often needed to do iffy hacks to get some things done (simple things like getting the current url in a paginated page) - -As for generating and hosting the blog, I am sticking with Github Pages behind Cloudflare SSL for now, while using [Github Actions][gh-actions] to generate the final HTML from source. With those 2,000 free minutes per month, and how quick Hugo is, that's almost 2,000 times I can compile this blog every month for free. - -### The theme - -Switching from Jekyll to Hugo didn't take a lot of time. They both take markdown files as a source, so it was just moving and renaming those files with some minor templating changes for Hugo's Goldmark renderer. - -Most of the time was spending on writing the website template, where I reconsidered all the extra standard junk content one puts in for SEO and general fanciness. Over the last few year, I've had a growing disdain for how complex and heavy simple webpages have become, with not much need or demand to do so. I really wanted to keep this theme very low on resources, and work perfectly with the simple [lynx browser][lynx]. - -This theme is built from the ground-up without any frameworks. It also has: - -- No excess of `` tags. Just the one to define the viewport for mobile devices. Search engines stopped caring much about your keywords and description tags long ago with SEO shops propping up on every corner of the street. - - No `og:` or `twitter:` meta tags either. Most social networks would pick up the title and an excerpt from the page itself. Twitter doesn't, but I'm okay with that. That's twitter's decision, and I am not comfortable with adding tags to "attract attention" to a tweet. -- No heavy `apple-touch-icon` images. For some reason, browsers do load the image without needing to. If it's not a web-app which someone would pin to their homescreen, that tag is almost unnecessary, and just additional weight. -- No essential javascript. I am not anti-javascript, but I do like to browse the web with javascript disabled by default. Most tracking, ads, popups and floating 'SUBSCRIBE TO OUR NEWSLETTER NOW PLEASE' banners go away without javascript. - - The only javascript I have is for a fancy link in the footer and on the homepage. If you click on that link, the text changes to display my email-id (with a standard mailto: link). If you have javascript disabled, it redirects the user to the [Contact][contact] page which has my email. Also, the email is loaded in the webpage as base64 encoded string, so simple bots shouldn't be able to extract it and spam you. The reason for this is in the last point [here][web-etiquette]. -- Minimal `@media` CSS rules. This keeps the style simpler and smaller. This webpage was responsive without those 9 lines of media queries, but I chose to decrease the font size a bit for tiny devices. Using `em` as the unit in most of the stylesheet changes margins and paddings proportionally for the rest of the page. -- No external fonts. System fonts are good enough on most devices. And a user is very used to seeing them everywhere anyway, so it's less of a jarring experience. -- Unicode symbols instead of [Font Awesome][font-awesome] symbols. Font Awesome is pretty nice, but I didn't feel the huge need to load external font-files or glyphs to display a tiny amount of basic symbols. Unicode has a lot of characters available, and even more as emojis. The "tag" icon at the bottom of the post is `U+1F3F7`. The left angle on this webpage's top-left corner is `U+2039`. For more complex shapes, I'm gonna still look at inline SVG symbols and CSS magic until I start getting diminishing returns. Also, writing 'Github' instead of displaying the Github logo can be cleaner. -- Minimal chrome. The website title stays in a corner, slightly smaller than the article title. From then on, front and center is the blog title, the date, and the content. The footer includes the 'about' content, which is displayed only on blog posts and not on any other page, except on the top of the homepage, well, because _it is_ the homepage. -- No trackers. I don't really need analytics on this personal blog, and not a lot of people do. So, enjoy a little more private web while you're here. - -The main goal of this theme was to design what I would personally like to browse on, rather than try to get the highest retention and the lowest bounce rates by using increasingly complex and heavy assets. As of writing this, the homepage of this website is `6.60 KB` gzipped. If you want to test this out, the hugo theme is called **Rocinante** and is available [here][rocinante]. - -[lanyon]: https://github.com/poole/lanyon -[jekyll]: https://jekyllrb.com -[hugo]: https://gohugo.io -[gh-actions]: https://github.com/features/actions -[lynx]: https://lynx.invisible-island.net -[contact]: /contact -[web-etiquette]: /2017/08/02/link-etiquettes -[font-awesome]: https://fontawesome.io -[rocinante]: https://github.com/mavidser/hugo-rocinante \ No newline at end of file diff --git a/content/posts/wifi-positioning.md b/content/posts/wifi-positioning.md deleted file mode 100644 index 6076f0f..0000000 --- a/content/posts/wifi-positioning.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: "Wi-Fi positioning woes" -date: 2017-07-12 -tags: ["tech"] ---- - -Alice lives in India. She has super-cheap cellular internet (less than $0.2/GB on some networks). Cheap enough for it to be her daily driver, using [a][0] [number][1] [of][2] [portable][3] Wi-Fi routers, which just sit on her desk. And since it is so cheap and portable and convenient and long-lasting, she just carries it everywhere in her purse, wherever she travels. - -Alice also faces an a peculiar amount of problems with her GPS. She could be at a crowded bus station, trying to get an Uber, or stuck in a storm, again trying to get a cab, her phone just fails to locate her correctly long enough for the app to work. Either it'll just be showing her previous location at the far away house, or it will keep fluctuating and jumping between her actual position, and her house. People around her sometimes get affected too. Maybe it's a curse. - - - -For most people, device positioning is synonymous with GPS. But these days, GPS is the last thing a smartphone checks when trying to locate itself. GPS takes some time to obtain a good fix, and drains a lot of battery. In contrasts, a lot of your phone radios are less power-hungry and always on. Mostly, it's a combination of cellular, bluetooth and Wi-Fi. Basically, the signal strength from different cell towers help triangulate your approximate location. Some BLE devices can also advertise their location to nearby devices. - -Apart from these, Companies like Google/Apple/Microsoft/Skyhook maintain a huge list of `(Wi-Fi SSID + MAC) => Location` combinations to find your location. You might have noticed your phone telling you to switch on Wi-Fi for more accurate positioning at some point. This is why. This method quite is power efficient, and quick. And in most cases, very accurate. - -_Note: This is one of the primary uses of [Google Location Service][google-location-service] on Android._ - -In our character's case though, Alice's wifi router normally always resides on her desk, at her home. The device has the MAC Address `AB:CD:EF:GH:IJ:KL`. It's boring SSID is `Alice's Wifi`. Now, a lot of smartphones around her will be reporting this MAC+SSID combination to some server, along with their location. Alice, her guests, her neighbours, almost everyone around her. They don't need to be connected to the network. Her router getting scanned is enough. - -So, when travelling with the said hotspot on in her purse, if she tries using some location-requiring app, her phone gets wrong/conflicting location data. Depending on the neighboring conditions (the GPS strength, other Wi-Fi networks nearby, etc), she may see her actual location, or her far-away home, or even jumping between the currnt position and her home. - -If you find yourself in such a situation and own the culprit router, just change the network name. This should solve the problem for you and people around you. Also, if you don't have control over the router, try switching your phone from from A-GPS to GPS-only temporarily. It might be slow and power-hungry, but is accurate. Disabling your Wi-Fi doesn't always prevent it from scanning for networks. - -{{< figure src="/images/location-settings.jpg" caption="Example of Android's location settings" >}} - -BTW, this is also how your PCs sometimes know their location. Eg— when you visit [Google Maps][maps] on the desktop. - -[0]: http://www.amazon.in/D-Link-DWR-720-HSPA-Mobile-Router/dp/B00PVD1RV2 -[1]: https://www.amazon.com/Hotspot-Unlocked-Worldwide-Huawei-E5220s-6/dp/B06XJ5NF8W/ -[2]: https://www.amazon.com/Verizon-Wireless-LTE-Prepaid-Smartphone/dp/B014RJJXUW/ -[3]: https://www.amazon.com/Hotspot-Unlocked-MF65-Router-Mobile/dp/B01KGCMUQ8/ -[maps]: https://maps.google.com -[google-location-service]: https://support.google.com/accounts/answer/6179507?hl=en \ No newline at end of file diff --git a/css/rocinante.css.map b/css/rocinante.css.map new file mode 100644 index 0000000..c573130 --- /dev/null +++ b/css/rocinante.css.map @@ -0,0 +1,23 @@ +{ + "version": 3, + "file": "rocinante.css", + "sourceRoot": "/home/runner/work/mavidser.github.io/mavidser.github.io", + "sources": [ + "themes/rocinante-2/assets/css/rocinante.scss", + "themes/rocinante-2/assets/css/includes.scss", + "themes/rocinante-2/assets/css/rocinante-light.scss", + "themes/rocinante-2/assets/css/monokai-light.scss", + "themes/rocinante-2/assets/css/rocinante-dark.scss", + "themes/rocinante-2/assets/css/monokai-dark.scss" + ], + "sourcesContent": [ + "@import 'includes';\n\n/* https://markdotto.com/2018/02/07/github-system-fonts/ */\n$fonts: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n\n\n @media (prefers-color-scheme: light) {\n @import 'rocinante-light';\n }\n @media (prefers-color-scheme: dark) {\n @import 'rocinante-dark';\n }\n\n:root {\n --footer-cursor: url(\"data:image/svg+xml;utf8,✌️\");\n}\n\nbody {\n background-color: var(--background-color);\n font-family: $fonts;\n color: var(--text-color);\n font-size: 16px;\n line-height: 1.6;\n}\n\np {\n margin: 1.25em 0;\n}\n\nem, i {\n font-style: italic;\n}\n\nstrong, b {\n font-weight: bold;\n}\n\nh1, h2, h3, h4, h5, h6 {\n font-weight: bold;\n margin: 1.5em 0 1em 0;\n line-height: 1em;\n}\n\nh1 {\n font-size: 1.625em;\n}\nh2 {\n font-size: 1.375em;\n}\nh3 {\n font-size: 1.125em;\n}\nh4 {\n font-size: 1em;\n}\nh5 {\n font-size: 0.875em;\n}\nh6 {\n font-size: 0.75em;\n}\n\nh4, h5, h6 {\n text-transform: uppercase;\n letter-spacing: 1px;\n margin-top: 2.5em;\n}\n\na {\n color: var(--link-color);\n transition: all 0.1s ease;\n\n &:hover {\n color: var(--link-hover-color);\n }\n}\n\nol li {\n list-style: decimal;\n margin-left: 1.25em;\n margin-bottom: 0.2em;\n}\n\nul li {\n list-style: disc;\n margin-left: 1.25em;\n margin-bottom: 0.2em;\n}\n\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 1.25em;\n}\n\nhr {\n margin: 2em 0;\n border: 0;\n border-top: 2px dotted var(--horizontal-link-border);\n}\n\npre, code {\n font-family: SFMono-Regular, Consolas, \"Liberation Mono\", Menlo, monospace;\n border-radius: 3px;\n}\ncode {\n background: var(--code-background);\n font-size: 0.9em;\n padding: 0.25em 0.5em;\n color: var(--code-color);\n}\npre code {\n background: var(--code-background);\n display: block;\n margin: 1em 0;\n padding: 0.75em 1em;\n color: inherit;\n overflow: auto;\n}\n\nimg, video {\n max-width: 100%;\n height: auto;\n border-radius: 3px;\n}\na > img:hover {\n opacity: 0.75;\n transition: 0.25s;\n}\nfigure {\n width: 100%;\n margin: 2em 0;\n text-align: center;\n}\nfigcaption {\n p {\n margin: 0;\n }\n text-align: center;\n font-size: 0.9em;\n color: var(--figcaption-color);\n}\n\nblockquote {\n padding-left: 1.25em;\n padding-right: 1.5em;\n border-left: .25em solid var(--blockquote-border);\n color: var(--blockquote-color);\n}\n\ntable {\n margin-bottom: 1em;\n width: 100%;\n border: 1px solid var(--table-border);\n}\n\ntd, th {\n vertical-align: middle;\n padding: .25rem .5rem;\n border: 1px solid var(--table-border);\n}\n\nth {\n font-weight: bold;\n}\n\ntbody tr:nth-child(2n+1) td, tbody tr:nth-child(2n+1) th {\n background-color: var(--table-alt-background);\n}\n\nsup, sub {\n font-size: 0.8em;\n}\nsup {\n vertical-align: super;\n}\n\nmain {\n max-width: 740px;\n padding: 0 20px;\n margin: 0 auto;\n}\n\n@keyframes shine {\n to {\n background-position: 200% center;\n }\n}\n\nheader h2 {\n margin: 1em;\n a {\n user-select: none;\n text-decoration: none;\n border: none;\n background: var(--gradient);\n background-clip: text;\n background-size: 200% auto;\n color: transparent !important;\n display: inline-block;\n animation: shine 1s linear 1;\n\n &:hover {\n animation: shine 1s linear infinite;\n // color: var(--header-link-hover) !important;\n }\n\n &:active {\n color: #00000055 !important;\n }\n }\n}\n\n.combined-title-pagination {\n margin-top: 2.5em;\n h1 {\n display: inline;\n a {\n text-decoration: none;\n border: none;\n }\n }\n h3 {\n display: inline;\n margin-left: 0.2em;\n }\n}\n\n.title-group {\n .title h1 {\n color: var(--title-color);\n margin-bottom: 0.5em;\n }\n .date h5 {\n color: var(--date-color);\n margin: 0;\n }\n margin-bottom: 1.5em;\n}\n\n.title-group-solo {\n a {\n color: var(--title-color);\n text-decoration: none;\n .title {\n margin-bottom: 0.5em;\n h3 {\n text-decoration: underline transparent;\n transition: all 0.1s ease;\n display: inline;\n font-size: 1.1em;\n // font-size: 1.0em;\n font-weight: 400;\n }\n }\n .date {\n text-decoration: none;\n transition: all 0.1s ease;\n color: var(--date-color);\n margin: 0;\n font-family: monospace;\n }\n\n &:hover {\n color: var(--title-color);\n .title {\n h3 {\n text-decoration: underline var(--title-color);\n }\n }\n .date {\n color: var(--title-color);\n }\n }\n }\n}\n\nfooter {\n margin-top: 3em;\n .content-container {\n background: var(--footer-background);\n padding: 2em 0;\n .content {\n max-width: 740px;\n padding: 0 20px;\n margin: 0 auto;\n }\n }\n}\n.footer-text {\n font-size: 1.5em;\n text-align: center;\n margin: 0 auto;\n margin-top: 1em;\n}\n.footer-text.index-page {\n margin-top: 0;\n margin-bottom: 1.5em;\n}\n.footer-emoji {\n cursor: var(--footer-cursor) 8 8, auto;\n user-select: none;\n margin: 0 auto;\n text-align: center;\n}\n\n.horizontal-links {\n width: 100%;\n margin-top: 0;\n margin-bottom: 0.25em;\n a {\n border-right: 2px solid var(--horizontal-link-border);\n padding-right: 0.5em;\n margin-right: 0.5em;\n }\n a:last-child {\n border: none;\n }\n &:last-child {\n margin-bottom: 1.25em;\n }\n}\n\n.post-list {\n h1 a {\n color: var(--title-color);\n text-decoration: none;\n border: none;\n\n &:hover {\n color: var(--post-list-hover);\n }\n }\n .read-more {\n margin-bottom: 1.25em;\n }\n\n padding-bottom: 1em;\n // border-bottom: 1px solid var(--horizontal-link-border);\n}\n\n.tags {\n user-select: none;\n font-size: 0.9em;\n .links {\n display: inline;\n a {\n border: 1px solid var(--tag-link-color);\n border-radius: 3px;\n padding: 0.2em 0.4em;\n color: var(--tag-link-color);\n text-decoration: none;\n margin: 0;\n margin-right: 0.5em;\n &:hover {\n color: var(--tag-link-hover);\n // text-decoration: underline;\n }\n }\n }\n}\n\n.paginator {\n margin: 2em 0;\n .disabled {\n color: var(--paginator-disabled);\n }\n .newer {\n float: right;\n clear: both;\n }\n}\n\n.current-page {\n color: var(--current-page-color);\n}\n\n.album {\n .date, .date h5, .location, .location h5 {\n display: inline;\n }\n .location {\n color: var(--location-color);\n border-left: solid 2px var(--location-border);\n padding-left: 1em;\n margin-left: 1em;\n }\n .photos {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 0.7em 0.7em;\n a {\n display: grid;\n }\n a.full-size {\n grid-column-start: 1;\n grid-column-end: 3;\n }\n }\n}\n\n@media (max-width:400px) {\n body {\n font-size: 14px;\n }\n .album .photos {\n grid-template-columns: 1fr;\n a {\n grid-column-start: 1;\n grid-column-end: 3;\n }\n }\n}\n\n// .list-content {\n// margin-right: 200px;\n// }\n.sidebar {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n // left: 800px;\n width: 200px;\n background: #777;\n float: right;\n overflow-y: scroll;\n}\n", + "/* http://meyerweb.com/eric/tools/css/reset/\n v2.0 | 20110126\n License: none (public domain)\n*/\n\nhtml, body, div, span, applet, object, iframe,\nh1, h2, h3, h4, h5, h6, p, blockquote, pre,\na, abbr, acronym, address, big, cite, code,\ndel, dfn, em, img, ins, kbd, q, s, samp,\nsmall, strike, strong, sub, sup, tt, var,\nb, u, i, center,\ndl, dt, dd, ol, ul, li,\nfieldset, form, label, legend,\ntable, caption, tbody, tfoot, thead, tr, th, td,\narticle, aside, canvas, details, embed,\nfigure, figcaption, footer, header, hgroup,\nmenu, nav, output, ruby, section, summary,\ntime, mark, audio, video {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font: inherit;\n vertical-align: baseline;\n}\n/* HTML5 display-role reset for older browsers */\narticle, aside, details, figcaption, figure,\nfooter, header, hgroup, menu, nav, section {\n display: block;\n}\nbody {\n line-height: 1;\n}\nol, ul {\n list-style: none;\n}\nblockquote, q {\n quotes: none;\n}\nblockquote:before, blockquote:after,\nq:before, q:after {\n content: '';\n content: none;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n/* https://www.paulirish.com/2012/box-sizing-border-box-ftw/ */\n/* apply a natural box layout model to all elements, but allowing components to change */\nhtml {\n box-sizing: border-box;\n}\n*, *:before, *:after {\n box-sizing: inherit;\n}", + ":root {\n --color-scheme: light;\n --background-color: #f2f2f2;\n --text-color: #333333;\n --title-color: #000000;\n --link-color: #2200CC;\n --link-hover-color: #5544FF;\n --code-background: #f9f9f9;\n --code-color: #9E525A;\n --figcaption-color: #666;\n --blockquote-color: #666;\n --blockquote-border: #eee;\n --table-border: #ddd;\n --table-alt-background: #f8f8f8;\n --header-link-color: #77f;\n --header-link-hover: #f77;\n --header-link-active: #2a2;\n --footer-background: #e2e2e2;\n --date-color: #888;\n --horizontal-link-border: #ccc;\n --post-list-hover: #5544FF;\n --tag-link-color: #aaa;\n --tag-link-hover: #888;\n --paginator-disabled: #aaa;\n --current-page-color: #aaa;\n --location-color: #888;\n --location-border: #ccc;\n --gradient: linear-gradient(to right, #2c50df, #bc12d5, #e43535, #bc12d5, #2c50df);\n }\n\n@import 'monokai-light'", + "/* Background */ .bg { color:#272822;background-color:#fafafa; }\n/* PreWrapper */ .chroma { color:#272822;background-color:#fafafa; }\n/* Other */ .chroma .x { }\n/* Error */ .chroma .err { color:#960050;background-color:#1e0010 }\n/* CodeLine */ .chroma .cl { }\n/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }\n/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }\n/* LineTable */ .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; }\n/* LineHighlight */ .chroma .hl { background-color:#e1e1e1 }\n/* LineNumbersTable */ .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }\n/* LineNumbers */ .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }\n/* Line */ .chroma .line { display:flex; }\n/* Keyword */ .chroma .k { color:#00a8c8 }\n/* KeywordConstant */ .chroma .kc { color:#00a8c8 }\n/* KeywordDeclaration */ .chroma .kd { color:#00a8c8 }\n/* KeywordNamespace */ .chroma .kn { color:#f92672 }\n/* KeywordPseudo */ .chroma .kp { color:#00a8c8 }\n/* KeywordReserved */ .chroma .kr { color:#00a8c8 }\n/* KeywordType */ .chroma .kt { color:#00a8c8 }\n/* Name */ .chroma .n { color:#111 }\n/* NameAttribute */ .chroma .na { color:#75af00 }\n/* NameBuiltin */ .chroma .nb { color:#111 }\n/* NameBuiltinPseudo */ .chroma .bp { color:#111 }\n/* NameClass */ .chroma .nc { color:#75af00 }\n/* NameConstant */ .chroma .no { color:#00a8c8 }\n/* NameDecorator */ .chroma .nd { color:#75af00 }\n/* NameEntity */ .chroma .ni { color:#111 }\n/* NameException */ .chroma .ne { color:#75af00 }\n/* NameFunction */ .chroma .nf { color:#75af00 }\n/* NameFunctionMagic */ .chroma .fm { color:#111 }\n/* NameLabel */ .chroma .nl { color:#111 }\n/* NameNamespace */ .chroma .nn { color:#111 }\n/* NameOther */ .chroma .nx { color:#75af00 }\n/* NameProperty */ .chroma .py { color:#111 }\n/* NameTag */ .chroma .nt { color:#f92672 }\n/* NameVariable */ .chroma .nv { color:#111 }\n/* NameVariableClass */ .chroma .vc { color:#111 }\n/* NameVariableGlobal */ .chroma .vg { color:#111 }\n/* NameVariableInstance */ .chroma .vi { color:#111 }\n/* NameVariableMagic */ .chroma .vm { color:#111 }\n/* Literal */ .chroma .l { color:#ae81ff }\n/* LiteralDate */ .chroma .ld { color:#d88200 }\n/* LiteralString */ .chroma .s { color:#d88200 }\n/* LiteralStringAffix */ .chroma .sa { color:#d88200 }\n/* LiteralStringBacktick */ .chroma .sb { color:#d88200 }\n/* LiteralStringChar */ .chroma .sc { color:#d88200 }\n/* LiteralStringDelimiter */ .chroma .dl { color:#d88200 }\n/* LiteralStringDoc */ .chroma .sd { color:#d88200 }\n/* LiteralStringDouble */ .chroma .s2 { color:#d88200 }\n/* LiteralStringEscape */ .chroma .se { color:#8045ff }\n/* LiteralStringHeredoc */ .chroma .sh { color:#d88200 }\n/* LiteralStringInterpol */ .chroma .si { color:#d88200 }\n/* LiteralStringOther */ .chroma .sx { color:#d88200 }\n/* LiteralStringRegex */ .chroma .sr { color:#d88200 }\n/* LiteralStringSingle */ .chroma .s1 { color:#d88200 }\n/* LiteralStringSymbol */ .chroma .ss { color:#d88200 }\n/* LiteralNumber */ .chroma .m { color:#ae81ff }\n/* LiteralNumberBin */ .chroma .mb { color:#ae81ff }\n/* LiteralNumberFloat */ .chroma .mf { color:#ae81ff }\n/* LiteralNumberHex */ .chroma .mh { color:#ae81ff }\n/* LiteralNumberInteger */ .chroma .mi { color:#ae81ff }\n/* LiteralNumberIntegerLong */ .chroma .il { color:#ae81ff }\n/* LiteralNumberOct */ .chroma .mo { color:#ae81ff }\n/* Operator */ .chroma .o { color:#f92672 }\n/* OperatorWord */ .chroma .ow { color:#f92672 }\n/* Punctuation */ .chroma .p { color:#111 }\n/* Comment */ .chroma .c { color:#75715e }\n/* CommentHashbang */ .chroma .ch { color:#75715e }\n/* CommentMultiline */ .chroma .cm { color:#75715e }\n/* CommentSingle */ .chroma .c1 { color:#75715e }\n/* CommentSpecial */ .chroma .cs { color:#75715e }\n/* CommentPreproc */ .chroma .cp { color:#75715e }\n/* CommentPreprocFile */ .chroma .cpf { color:#75715e }\n/* Generic */ .chroma .g { }\n/* GenericDeleted */ .chroma .gd { }\n/* GenericEmph */ .chroma .ge { font-style:italic }\n/* GenericError */ .chroma .gr { }\n/* GenericHeading */ .chroma .gh { }\n/* GenericInserted */ .chroma .gi { }\n/* GenericOutput */ .chroma .go { }\n/* GenericPrompt */ .chroma .gp { }\n/* GenericStrong */ .chroma .gs { font-weight:bold }\n/* GenericSubheading */ .chroma .gu { }\n/* GenericTraceback */ .chroma .gt { }\n/* GenericUnderline */ .chroma .gl { }\n/* TextWhitespace */ .chroma .w { }\n", + ":root {\n --color-scheme: dark;\n --background-color: #1a1a1a;\n --text-color: #e0e0e0;\n --title-color: #efefef;\n --link-color: #88aaff;\n --link-hover-color: #aaccff;\n --code-background: #2a2a2a;\n --code-color: #e6a0a7;\n --figcaption-color: #999;\n --blockquote-color: #999;\n --blockquote-border: #333;\n --table-border: #444;\n --table-alt-background: #2a2a2a;\n --header-link-color: #99f;\n --header-link-hover: #f99;\n --header-link-active: #4c4;\n --footer-background: #222;\n --date-color: #777;\n --horizontal-link-border: #444;\n --post-list-hover: #aaccff;\n --tag-link-color: #666;\n --tag-link-hover: #999;\n --paginator-disabled: #666;\n --current-page-color: #666;\n --location-color: #777;\n --location-border: #555;\n --gradient: linear-gradient(to right, #797cff, #ee7fff, #f79662, #ee7fff, #797cff);\n}\n\n@import 'monokai-dark';", + "/* Background */ .bg { color:#f8f8f2;background-color:#272822; }\n/* PreWrapper */ .chroma { color:#f8f8f2;background-color:#272822; }\n/* Other */ .chroma .x { }\n/* Error */ .chroma .err { color:#960050;background-color:#1e0010 }\n/* CodeLine */ .chroma .cl { }\n/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }\n/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }\n/* LineTable */ .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; }\n/* LineHighlight */ .chroma .hl { background-color:#3c3d38 }\n/* LineNumbersTable */ .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }\n/* LineNumbers */ .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }\n/* Line */ .chroma .line { display:flex; }\n/* Keyword */ .chroma .k { color:#66d9ef }\n/* KeywordConstant */ .chroma .kc { color:#66d9ef }\n/* KeywordDeclaration */ .chroma .kd { color:#66d9ef }\n/* KeywordNamespace */ .chroma .kn { color:#f92672 }\n/* KeywordPseudo */ .chroma .kp { color:#66d9ef }\n/* KeywordReserved */ .chroma .kr { color:#66d9ef }\n/* KeywordType */ .chroma .kt { color:#66d9ef }\n/* Name */ .chroma .n { }\n/* NameAttribute */ .chroma .na { color:#a6e22e }\n/* NameBuiltin */ .chroma .nb { }\n/* NameBuiltinPseudo */ .chroma .bp { }\n/* NameClass */ .chroma .nc { color:#a6e22e }\n/* NameConstant */ .chroma .no { color:#66d9ef }\n/* NameDecorator */ .chroma .nd { color:#a6e22e }\n/* NameEntity */ .chroma .ni { }\n/* NameException */ .chroma .ne { color:#a6e22e }\n/* NameFunction */ .chroma .nf { color:#a6e22e }\n/* NameFunctionMagic */ .chroma .fm { }\n/* NameLabel */ .chroma .nl { }\n/* NameNamespace */ .chroma .nn { }\n/* NameOther */ .chroma .nx { color:#a6e22e }\n/* NameProperty */ .chroma .py { }\n/* NameTag */ .chroma .nt { color:#f92672 }\n/* NameVariable */ .chroma .nv { }\n/* NameVariableClass */ .chroma .vc { }\n/* NameVariableGlobal */ .chroma .vg { }\n/* NameVariableInstance */ .chroma .vi { }\n/* NameVariableMagic */ .chroma .vm { }\n/* Literal */ .chroma .l { color:#ae81ff }\n/* LiteralDate */ .chroma .ld { color:#e6db74 }\n/* LiteralString */ .chroma .s { color:#e6db74 }\n/* LiteralStringAffix */ .chroma .sa { color:#e6db74 }\n/* LiteralStringBacktick */ .chroma .sb { color:#e6db74 }\n/* LiteralStringChar */ .chroma .sc { color:#e6db74 }\n/* LiteralStringDelimiter */ .chroma .dl { color:#e6db74 }\n/* LiteralStringDoc */ .chroma .sd { color:#e6db74 }\n/* LiteralStringDouble */ .chroma .s2 { color:#e6db74 }\n/* LiteralStringEscape */ .chroma .se { color:#ae81ff }\n/* LiteralStringHeredoc */ .chroma .sh { color:#e6db74 }\n/* LiteralStringInterpol */ .chroma .si { color:#e6db74 }\n/* LiteralStringOther */ .chroma .sx { color:#e6db74 }\n/* LiteralStringRegex */ .chroma .sr { color:#e6db74 }\n/* LiteralStringSingle */ .chroma .s1 { color:#e6db74 }\n/* LiteralStringSymbol */ .chroma .ss { color:#e6db74 }\n/* LiteralNumber */ .chroma .m { color:#ae81ff }\n/* LiteralNumberBin */ .chroma .mb { color:#ae81ff }\n/* LiteralNumberFloat */ .chroma .mf { color:#ae81ff }\n/* LiteralNumberHex */ .chroma .mh { color:#ae81ff }\n/* LiteralNumberInteger */ .chroma .mi { color:#ae81ff }\n/* LiteralNumberIntegerLong */ .chroma .il { color:#ae81ff }\n/* LiteralNumberOct */ .chroma .mo { color:#ae81ff }\n/* Operator */ .chroma .o { color:#f92672 }\n/* OperatorWord */ .chroma .ow { color:#f92672 }\n/* Punctuation */ .chroma .p { }\n/* Comment */ .chroma .c { color:#75715e }\n/* CommentHashbang */ .chroma .ch { color:#75715e }\n/* CommentMultiline */ .chroma .cm { color:#75715e }\n/* CommentSingle */ .chroma .c1 { color:#75715e }\n/* CommentSpecial */ .chroma .cs { color:#75715e }\n/* CommentPreproc */ .chroma .cp { color:#75715e }\n/* CommentPreprocFile */ .chroma .cpf { color:#75715e }\n/* Generic */ .chroma .g { }\n/* GenericDeleted */ .chroma .gd { color:#f92672 }\n/* GenericEmph */ .chroma .ge { font-style:italic }\n/* GenericError */ .chroma .gr { }\n/* GenericHeading */ .chroma .gh { }\n/* GenericInserted */ .chroma .gi { color:#a6e22e }\n/* GenericOutput */ .chroma .go { }\n/* GenericPrompt */ .chroma .gp { }\n/* GenericStrong */ .chroma .gs { font-weight:bold }\n/* GenericSubheading */ .chroma .gu { color:#75715e }\n/* GenericTraceback */ .chroma .gt { }\n/* GenericUnderline */ .chroma .gl { }\n/* TextWhitespace */ .chroma .w { }\n" + ], + "names": [], + "mappings": "ACKA,AAAA,IAAI,CAAE,IAAI,CAAE,GAAG,CAAE,IAAI,CAAE,MAAM,CAAE,MAAM,CAAE,MAAM,CAC7C,EAAE,CAAE,EAAE,CAAE,EAAE,CAAE,EAAE,CAAE,EAAE,CAAE,EAAE,CAAE,CAAC,CAAE,UAAU,CAAE,GAAG,CAC1C,CAAC,CAAE,IAAI,CAAE,OAAO,CAAE,OAAO,CAAE,GAAG,CAAE,IAAI,CAAE,IAAI,CAC1C,GAAG,CAAE,GAAG,CAAE,EAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,CAAC,CAAE,CAAC,CAAE,IAAI,CACvC,KAAK,CAAE,MAAM,CAAE,MAAM,CAAE,GAAG,CAAE,GAAG,CAAE,EAAE,CAAE,GAAG,CACxC,CAAC,CAAE,CAAC,CAAE,CAAC,CAAE,MAAM,CACf,EAAE,CAAE,EAAE,CAAE,EAAE,CAAE,EAAE,CAAE,EAAE,CAAE,EAAE,CACtB,QAAQ,CAAE,IAAI,CAAE,KAAK,CAAE,MAAM,CAC7B,KAAK,CAAE,OAAO,CAAE,KAAK,CAAE,KAAK,CAAE,KAAK,CAAE,EAAE,CAAE,EAAE,CAAE,EAAE,CAC/C,OAAO,CAAE,KAAK,CAAE,MAAM,CAAE,OAAO,CAAE,KAAK,CACtC,MAAM,CAAE,UAAU,CAAE,MAAM,CAAE,MAAM,CAAE,MAAM,CAC1C,IAAI,CAAE,GAAG,CAAE,MAAM,CAAE,IAAI,CAAE,OAAO,CAAE,OAAO,CACzC,IAAI,CAAE,IAAI,CAAE,KAAK,CAAE,KAAK,AAAC,CACvB,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,CAAC,CACT,SAAS,CAAE,IAAI,CACf,IAAI,CAAE,OAAO,CACb,cAAc,CAAE,QAAQ,CACzB,AAED,AAAA,OAAO,CAAE,KAAK,CAAE,OAAO,CAAE,UAAU,CAAE,MAAM,CAC3C,MAAM,CAAE,MAAM,CAAE,MAAM,CAAE,IAAI,CAAE,GAAG,CAAE,OAAO,AAAC,CACzC,OAAO,CAAE,KAAK,CACf,AACD,AAAA,IAAI,AAAC,CACH,WAAW,CAAE,CAAC,CACf,AACD,AAAA,EAAE,CAAE,EAAE,AAAC,CACL,UAAU,CAAE,IAAI,CACjB,AACD,AAAA,UAAU,CAAE,CAAC,AAAC,CACZ,MAAM,CAAE,IAAI,CACb,AACD,AAAA,UAAU,CAAC,MAAM,CAAE,UAAU,CAAC,KAAK,CACnC,CAAC,CAAC,MAAM,CAAE,CAAC,CAAC,KAAK,AAAC,CAChB,OAAO,CAAE,EAAE,CACX,OAAO,CAAE,IAAI,CACd,AACD,AAAA,KAAK,AAAC,CACJ,eAAe,CAAE,QAAQ,CACzB,cAAc,CAAE,CAAC,CAClB,AAID,AAAA,IAAI,AAAC,CACH,UAAU,CAAE,UAAU,CACvB,AACD,AAAA,CAAC,CAAE,CAAC,CAAC,MAAM,CAAE,CAAC,CAAC,KAAK,AAAC,CACnB,UAAU,CAAE,OAAO,CACpB,ADlDC,MAAM,8BENR,EAAC,AAAD,IAAK,AAAC,CACF,cAAc,CAAA,MAAC,CACf,kBAAkB,CAAA,QAAC,CACnB,YAAY,CAAA,QAAC,CACb,aAAa,CAAA,QAAC,CACd,YAAY,CAAA,QAAC,CACb,kBAAkB,CAAA,QAAC,CACnB,iBAAiB,CAAA,QAAC,CAClB,YAAY,CAAA,QAAC,CACb,kBAAkB,CAAA,KAAC,CACnB,kBAAkB,CAAA,KAAC,CACnB,mBAAmB,CAAA,KAAC,CACpB,cAAc,CAAA,KAAC,CACf,sBAAsB,CAAA,QAAC,CACvB,mBAAmB,CAAA,KAAC,CACpB,mBAAmB,CAAA,KAAC,CACpB,oBAAoB,CAAA,KAAC,CACrB,mBAAmB,CAAA,QAAC,CACpB,YAAY,CAAA,KAAC,CACb,wBAAwB,CAAA,KAAC,CACzB,iBAAiB,CAAA,QAAC,CAClB,gBAAgB,CAAA,KAAC,CACjB,gBAAgB,CAAA,KAAC,CACjB,oBAAoB,CAAA,KAAC,CACrB,oBAAoB,CAAA,KAAC,CACrB,gBAAgB,CAAA,KAAC,CACjB,iBAAiB,CAAA,KAAC,CAClB,UAAU,CAAA,uEAAC,CACZ,AC5Bc,AAAA,GAAG,AAAC,CAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAI,AAChD,AAAA,OAAO,AAAC,CAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAI,AAEzD,AAAA,OAAO,CAAC,IAAI,AAAC,CAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAQ,CAAE,AAErD,AAAA,OAAO,CAAC,QAAQ,AAAC,CAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAQ,CAAE,AAClE,AAAA,OAAO,CAAC,KAAK,AAAC,CAAE,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAI,AACpE,AAAA,OAAO,CAAC,QAAQ,AAAC,CAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAI,AAC/D,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,gBAAgB,CAAC,OAAQ,CAAE,AACtC,AAAA,OAAO,CAAC,IAAI,AAAC,CAAE,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,OAAQ,CAAE,AACzI,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,OAAQ,CAAE,AAC1I,AAAA,OAAO,CAAC,KAAK,AAAC,CAAE,OAAO,CAAC,IAAI,CAAI,AAC7B,AAAA,OAAO,CAAC,EAAE,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACrB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC3B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAChC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACjC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC5B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAClC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACrC,AAAA,OAAO,CAAC,EAAE,AAAC,CAAE,KAAK,CAAC,IAAK,CAAE,AACjB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAChC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,IAAK,CAAE,AACrB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,IAAK,CAAE,AACnC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC3B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC7B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACjC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,IAAK,CAAE,AACxB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC/B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACzB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,IAAK,CAAE,AACnC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,IAAK,CAAE,AACvB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,IAAK,CAAE,AAC/B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC3B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,IAAK,CAAE,AAChC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACzB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,IAAK,CAAE,AACtB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,IAAK,CAAE,AAC1B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,IAAK,CAAE,AACzB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,IAAK,CAAE,AAC9B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,IAAK,CAAE,AACrC,AAAA,OAAO,CAAC,EAAE,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACzB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC5B,AAAA,OAAO,CAAC,EAAE,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACxB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC3B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAClC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACzB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACpC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC3B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC9B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC7B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC7B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACjC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC9B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC7B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC9B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACpC,AAAA,OAAO,CAAC,EAAE,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC1B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC5B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAChC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC1B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC1B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACtC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACtC,AAAA,OAAO,CAAC,EAAE,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACzB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC/B,AAAA,OAAO,CAAC,EAAE,AAAC,CAAE,KAAK,CAAC,IAAK,CAAE,AAC9B,AAAA,OAAO,CAAC,EAAE,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACrB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC7B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACjC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC7B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC9B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC1B,AAAA,OAAO,CAAC,IAAI,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAGtC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,UAAU,CAAC,MAAO,CAAE,AAMhC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,WAAW,CAAC,IAAK,CAAE,CDrDlD,AFnBD,MAAM,6BITR,EAAC,AAAD,IAAK,AAAC,CACF,cAAc,CAAA,KAAC,CACf,kBAAkB,CAAA,QAAC,CACnB,YAAY,CAAA,QAAC,CACb,aAAa,CAAA,QAAC,CACd,YAAY,CAAA,QAAC,CACb,kBAAkB,CAAA,QAAC,CACnB,iBAAiB,CAAA,QAAC,CAClB,YAAY,CAAA,QAAC,CACb,kBAAkB,CAAA,KAAC,CACnB,kBAAkB,CAAA,KAAC,CACnB,mBAAmB,CAAA,KAAC,CACpB,cAAc,CAAA,KAAC,CACf,sBAAsB,CAAA,QAAC,CACvB,mBAAmB,CAAA,KAAC,CACpB,mBAAmB,CAAA,KAAC,CACpB,oBAAoB,CAAA,KAAC,CACrB,mBAAmB,CAAA,KAAC,CACpB,YAAY,CAAA,KAAC,CACb,wBAAwB,CAAA,KAAC,CACzB,iBAAiB,CAAA,QAAC,CAClB,gBAAgB,CAAA,KAAC,CACjB,gBAAgB,CAAA,KAAC,CACjB,oBAAoB,CAAA,KAAC,CACrB,oBAAoB,CAAA,KAAC,CACrB,gBAAgB,CAAA,KAAC,CACjB,iBAAiB,CAAA,KAAC,CAClB,UAAU,CAAA,uEAAC,CACd,AC5BgB,AAAA,GAAG,AAAC,CAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAI,AAChD,AAAA,OAAO,AAAC,CAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAI,AAEzD,AAAA,OAAO,CAAC,IAAI,AAAC,CAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAQ,CAAE,AAErD,AAAA,OAAO,CAAC,QAAQ,AAAC,CAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAQ,CAAE,AAClE,AAAA,OAAO,CAAC,KAAK,AAAC,CAAE,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAI,AACpE,AAAA,OAAO,CAAC,QAAQ,AAAC,CAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAI,AAC/D,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,gBAAgB,CAAC,OAAQ,CAAE,AACtC,AAAA,OAAO,CAAC,IAAI,AAAC,CAAE,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,OAAQ,CAAE,AACzI,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,OAAQ,CAAE,AAC1I,AAAA,OAAO,CAAC,KAAK,AAAC,CAAE,OAAO,CAAC,IAAI,CAAI,AAC7B,AAAA,OAAO,CAAC,EAAE,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACrB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC3B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAChC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACjC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC5B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAClC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAE5B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAGlC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC3B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC7B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAE9B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC/B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAIjC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAEhC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAM9B,AAAA,OAAO,CAAC,EAAE,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACzB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC5B,AAAA,OAAO,CAAC,EAAE,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACxB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC3B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAClC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACzB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACpC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC3B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC9B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC7B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC7B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACjC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC9B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC7B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC9B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACpC,AAAA,OAAO,CAAC,EAAE,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC1B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC5B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAChC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC1B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC1B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACtC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACtC,AAAA,OAAO,CAAC,EAAE,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACzB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAEnC,AAAA,OAAO,CAAC,EAAE,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACrB,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC7B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACjC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC7B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC9B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAC1B,AAAA,OAAO,CAAC,IAAI,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAEnC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AACjC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,UAAU,CAAC,MAAO,CAAE,AAG9B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,AAGhC,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,WAAW,CAAC,IAAK,CAAE,AAC7B,AAAA,OAAO,CAAC,GAAG,AAAC,CAAE,KAAK,CAAC,OAAQ,CAAE,CDtDrD,CJfA,AAAD,IAAK,AAAC,CACJ,eAAe,CAAA,wLAAC,CACjB,AAED,AAAA,IAAI,AAAC,CACH,gBAAgB,CAAE,uBAAuB,CACzC,WAAW,CAhBL,aAAa,CAAE,kBAAkB,CAAE,UAAU,CAAE,SAAS,CAAE,KAAK,CAAE,UAAU,CAAE,mBAAmB,CAAE,gBAAgB,CAAE,iBAAiB,CAiB3I,KAAK,CAAE,iBAAiB,CACxB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,CAAC,AAAC,CACA,MAAM,CAAE,QAAQ,CACjB,AAED,AAAA,EAAE,CAAE,CAAC,AAAC,CACJ,UAAU,CAAE,MAAM,CACnB,AAED,AAAA,MAAM,CAAE,CAAC,AAAC,CACR,WAAW,CAAE,IAAI,CAClB,AAED,AAAA,EAAE,CAAE,EAAE,CAAE,EAAE,CAAE,EAAE,CAAE,EAAE,CAAE,EAAE,AAAC,CACrB,WAAW,CAAE,IAAI,CACjB,MAAM,CAAE,aAAa,CACrB,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,EAAE,AAAC,CACD,SAAS,CAAE,OAAO,CACnB,AACD,AAAA,EAAE,AAAC,CACD,SAAS,CAAE,OAAO,CACnB,AACD,AAAA,EAAE,AAAC,CACD,SAAS,CAAE,OAAO,CACnB,AACD,AAAA,EAAE,AAAC,CACD,SAAS,CAAE,GAAG,CACf,AACD,AAAA,EAAE,AAAC,CACD,SAAS,CAAE,OAAO,CACnB,AACD,AAAA,EAAE,AAAC,CACD,SAAS,CAAE,MAAM,CAClB,AAED,AAAA,EAAE,CAAE,EAAE,CAAE,EAAE,AAAC,CACT,cAAc,CAAE,SAAS,CACzB,cAAc,CAAE,GAAG,CACnB,UAAU,CAAE,KAAK,CAClB,AAED,AAAA,CAAC,AAAC,CACA,KAAK,CAAE,iBAAiB,CACxB,UAAU,CAAE,aAAa,CAK1B,AAPD,AAIE,CAJD,CAIG,KAAK,AAAC,CACN,KAAK,CAAE,uBAAuB,CAC/B,AAGH,AAAA,EAAE,CAAC,EAAE,AAAC,CACJ,UAAU,CAAE,OAAO,CACnB,WAAW,CAAE,MAAM,CACnB,aAAa,CAAE,KAAK,CACrB,AAED,AAAA,EAAE,CAAC,EAAE,AAAC,CACJ,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,MAAM,CACnB,aAAa,CAAE,KAAK,CACrB,AAED,AAAA,EAAE,AAAC,CACD,WAAW,CAAE,IAAI,CAClB,AACD,AAAA,EAAE,AAAC,CACD,WAAW,CAAE,MAAM,CACpB,AAED,AAAA,EAAE,AAAC,CACD,MAAM,CAAE,KAAK,CACb,MAAM,CAAE,CAAC,CACT,UAAU,CAAE,GAAG,CAAC,MAAM,CAAC,6BAA6B,CACrD,AAED,AAAA,GAAG,CAAE,IAAI,AAAC,CACR,WAAW,CAAE,6DAA6D,CAC1E,aAAa,CAAE,GAAG,CACnB,AACD,AAAA,IAAI,AAAC,CACH,UAAU,CAAE,sBAAsB,CAClC,SAAS,CAAE,KAAK,CAChB,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,iBAAiB,CACzB,AACD,AAAA,GAAG,CAAC,IAAI,AAAC,CACP,UAAU,CAAE,sBAAsB,CAClC,OAAO,CAAE,KAAK,CACd,MAAM,CAAE,KAAK,CACb,OAAO,CAAE,UAAU,CACnB,KAAK,CAAE,OAAO,CACd,QAAQ,CAAE,IAAI,CACf,AAED,AAAA,GAAG,CAAE,KAAK,AAAC,CACT,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,IAAI,CACZ,aAAa,CAAE,GAAG,CACnB,AACD,AAAA,CAAC,CAAG,GAAG,CAAC,KAAK,AAAC,CACZ,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,KAAK,CAClB,AACD,AAAA,MAAM,AAAC,CACL,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,KAAK,CACb,UAAU,CAAE,MAAM,CACnB,AACD,AAAA,UAAU,AAAC,CAIT,UAAU,CAAE,MAAM,CAClB,SAAS,CAAE,KAAK,CAChB,KAAK,CAAE,uBAAuB,CAC/B,AAPD,AACE,UADQ,CACR,CAAC,AAAC,CACA,MAAM,CAAE,CAAC,CACV,AAMH,AAAA,UAAU,AAAC,CACT,YAAY,CAAE,MAAM,CACpB,aAAa,CAAE,KAAK,CACpB,WAAW,CAAE,MAAK,CAAC,KAAK,CAAC,wBAAwB,CACjD,KAAK,CAAE,uBAAuB,CAC/B,AAED,AAAA,KAAK,AAAC,CACJ,aAAa,CAAE,GAAG,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,GAAG,CAAC,KAAK,CAAC,mBAAmB,CACtC,AAED,AAAA,EAAE,CAAE,EAAE,AAAC,CACL,cAAc,CAAE,MAAM,CACtB,OAAO,CAAE,YAAY,CACrB,MAAM,CAAE,GAAG,CAAC,KAAK,CAAC,mBAAmB,CACtC,AAED,AAAA,EAAE,AAAC,CACD,WAAW,CAAE,IAAI,CAClB,AAED,AAAA,KAAK,CAAC,EAAE,CAAC,SAAU,CAAA,IAAI,EAAE,EAAE,CAAE,KAAK,CAAC,EAAE,CAAC,SAAU,CAAA,IAAI,EAAE,EAAE,AAAC,CACvD,gBAAgB,CAAE,2BAA2B,CAC9C,AAED,AAAA,GAAG,CAAE,GAAG,AAAC,CACP,SAAS,CAAE,KAAK,CACjB,AACD,AAAA,GAAG,AAAC,CACF,cAAc,CAAE,KAAK,CACtB,AAED,AAAA,IAAI,AAAC,CACH,SAAS,CAAE,KAAK,CAChB,OAAO,CAAE,MAAM,CACf,MAAM,CAAE,MAAM,CACf,AAED,UAAU,CAAV,KAAU,CACN,EAAE,CACE,mBAAmB,CAAE,WAAW,EAIxC,AAAA,MAAM,CAAC,EAAE,AAAC,CACR,MAAM,CAAE,GAAG,CAqBZ,AAtBD,AAEE,MAFI,CAAC,EAAE,CAEP,CAAC,AAAC,CACA,WAAW,CAAE,IAAI,CACjB,eAAe,CAAE,IAAI,CACrB,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,eAAe,CAC3B,eAAe,CAAE,IAAI,CACrB,eAAe,CAAE,SAAS,CAC1B,KAAK,CAAE,sBAAsB,CAC7B,OAAO,CAAE,YAAY,CACrB,SAAS,CAAE,iBAAiB,CAU7B,AArBH,AAaI,MAbE,CAAC,EAAE,CAEP,CAAC,CAWG,KAAK,AAAC,CACN,SAAS,CAAE,wBAAwB,CAEpC,AAhBL,AAkBI,MAlBE,CAAC,EAAE,CAEP,CAAC,CAgBG,MAAM,AAAC,CACP,KAAK,CAAE,oBAAoB,CAC5B,AAIL,AAAA,0BAA0B,AAAC,CACzB,UAAU,CAAE,KAAK,CAYlB,AAbD,AAEE,0BAFwB,CAExB,EAAE,AAAC,CACD,OAAO,CAAE,MAAM,CAKhB,AARH,AAII,0BAJsB,CAExB,EAAE,CAEA,CAAC,AAAC,CACA,eAAe,CAAE,IAAI,CACrB,MAAM,CAAE,IAAI,CACb,AAPL,AASE,0BATwB,CASxB,EAAE,AAAC,CACD,OAAO,CAAE,MAAM,CACf,WAAW,CAAE,KAAK,CACnB,AAGH,AAAA,YAAY,AAAC,CASX,aAAa,CAAE,KAAK,CACrB,AAVD,AACE,YADU,CACV,MAAM,CAAC,EAAE,AAAC,CACR,KAAK,CAAE,kBAAkB,CACzB,aAAa,CAAE,KAAK,CACrB,AAJH,AAKE,YALU,CAKV,KAAK,CAAC,EAAE,AAAC,CACP,KAAK,CAAE,iBAAiB,CACxB,MAAM,CAAE,CAAC,CACV,AAIH,AACE,iBADe,CACf,CAAC,AAAC,CACA,KAAK,CAAE,kBAAkB,CACzB,eAAe,CAAE,IAAI,CA+BtB,AAlCH,AAII,iBAJa,CACf,CAAC,CAGC,MAAM,AAAC,CACL,aAAa,CAAE,KAAK,CASrB,AAdL,AAMM,iBANW,CACf,CAAC,CAGC,MAAM,CAEJ,EAAE,AAAC,CACD,eAAe,CAAE,qBAAqB,CACtC,UAAU,CAAE,aAAa,CACzB,OAAO,CAAE,MAAM,CACf,SAAS,CAAE,KAAK,CAEhB,WAAW,CAAE,GAAG,CACjB,AAbP,AAeI,iBAfa,CACf,CAAC,CAcC,KAAK,AAAC,CACJ,eAAe,CAAE,IAAI,CACrB,UAAU,CAAE,aAAa,CACzB,KAAK,CAAE,iBAAiB,CACxB,MAAM,CAAE,CAAC,CACT,WAAW,CAAE,SAAS,CACvB,AArBL,AAuBI,iBAvBa,CACf,CAAC,CAsBG,KAAK,AAAC,CACN,KAAK,CAAE,kBAAkB,CAS1B,AAjCL,AA0BQ,iBA1BS,CACf,CAAC,CAsBG,KAAK,CAEL,MAAM,CACJ,EAAE,AAAC,CACD,eAAe,CAAE,SAAS,CAAC,kBAAkB,CAC9C,AA5BT,AA8BM,iBA9BW,CACf,CAAC,CAsBG,KAAK,CAOL,KAAK,AAAC,CACJ,KAAK,CAAE,kBAAkB,CAC1B,AAKP,AAAA,MAAM,AAAC,CACL,UAAU,CAAE,GAAG,CAUhB,AAXD,AAEE,MAFI,CAEJ,kBAAkB,AAAC,CACjB,UAAU,CAAE,wBAAwB,CACpC,OAAO,CAAE,KAAK,CAMf,AAVH,AAKI,MALE,CAEJ,kBAAkB,CAGhB,QAAQ,AAAC,CACP,SAAS,CAAE,KAAK,CAChB,OAAO,CAAE,MAAM,CACf,MAAM,CAAE,MAAM,CACf,AAGL,AAAA,YAAY,AAAC,CACT,SAAS,CAAE,KAAK,CAChB,UAAU,CAAE,MAAM,CAClB,MAAM,CAAE,MAAM,CACd,UAAU,CAAE,GAAG,CAClB,AACD,AAAA,YAAY,AAAA,WAAW,AAAC,CACpB,UAAU,CAAE,CAAC,CACb,aAAa,CAAE,KAAK,CACvB,AACD,AAAA,aAAa,AAAC,CACV,MAAM,CAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAE,IAAI,CACtC,WAAW,CAAE,IAAI,CACjB,MAAM,CAAE,MAAM,CACd,UAAU,CAAE,MAAM,CACrB,AAED,AAAA,iBAAiB,AAAC,CAChB,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,CAAC,CACb,aAAa,CAAE,MAAM,CAYtB,AAfD,AAIE,iBAJe,CAIf,CAAC,AAAC,CACA,YAAY,CAAE,GAAG,CAAC,KAAK,CAAC,6BAA6B,CACrD,aAAa,CAAE,KAAK,CACpB,YAAY,CAAE,KAAK,CACpB,AARH,AASE,iBATe,CASf,CAAC,CAAC,UAAU,AAAC,CACX,MAAM,CAAE,IAAI,CACb,AAXH,AAYE,iBAZe,CAYb,UAAU,AAAC,CACX,aAAa,CAAE,MAAM,CACtB,AAGH,AAAA,UAAU,AAAC,CAcT,cAAc,CAAE,GAAG,CAEpB,AAhBD,AACE,UADQ,CACR,EAAE,CAAC,CAAC,AAAC,CACH,KAAK,CAAE,kBAAkB,CACzB,eAAe,CAAE,IAAI,CACrB,MAAM,CAAE,IAAI,CAKb,AATH,AAMI,UANM,CACR,EAAE,CAAC,CAAC,CAKA,KAAK,AAAC,CACN,KAAK,CAAE,sBAAsB,CAC9B,AARL,AAUE,UAVQ,CAUR,UAAU,AAAC,CACT,aAAa,CAAE,MAAM,CACtB,AAMH,AAAA,KAAK,AAAC,CACJ,WAAW,CAAE,IAAI,CACjB,SAAS,CAAE,KAAK,CAiBjB,AAnBD,AAGE,KAHG,CAGH,MAAM,AAAC,CACL,OAAO,CAAE,MAAM,CAchB,AAlBH,AAKI,KALC,CAGH,MAAM,CAEJ,CAAC,AAAC,CACA,MAAM,CAAE,GAAG,CAAC,KAAK,CAAC,qBAAqB,CACvC,aAAa,CAAE,GAAG,CAClB,OAAO,CAAE,WAAW,CACpB,KAAK,CAAE,qBAAqB,CAC5B,eAAe,CAAE,IAAI,CACrB,MAAM,CAAE,CAAC,CACT,YAAY,CAAE,KAAK,CAKpB,AAjBL,AAaM,KAbD,CAGH,MAAM,CAEJ,CAAC,CAQG,KAAK,AAAC,CACN,KAAK,CAAE,qBAAqB,CAE7B,AAKP,AAAA,UAAU,AAAC,CACT,MAAM,CAAE,KAAK,CAQd,AATD,AAEE,UAFQ,CAER,SAAS,AAAC,CACR,KAAK,CAAE,yBAAyB,CACjC,AAJH,AAKE,UALQ,CAKR,MAAM,AAAC,CACL,KAAK,CAAE,KAAK,CACZ,KAAK,CAAE,IAAI,CACZ,AAGH,AAAA,aAAa,AAAC,CACZ,KAAK,CAAE,yBAAyB,CACjC,AAED,AACE,MADI,CACJ,KAAK,CADP,MAAM,CACG,KAAK,CAAC,EAAE,CADjB,MAAM,CACa,SAAS,CAD5B,MAAM,CACwB,SAAS,CAAC,EAAE,AAAC,CACvC,OAAO,CAAE,MAAM,CAChB,AAHH,AAIE,MAJI,CAIJ,SAAS,AAAC,CACR,KAAK,CAAE,qBAAqB,CAC5B,WAAW,CAAE,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAC7C,YAAY,CAAE,GAAG,CACjB,WAAW,CAAE,GAAG,CACjB,AATH,AAUE,MAVI,CAUJ,OAAO,AAAC,CACN,OAAO,CAAE,IAAI,CACb,qBAAqB,CAAE,cAAc,CACrC,GAAG,CAAE,WAAW,CAQjB,AArBH,AAcI,MAdE,CAUJ,OAAO,CAIL,CAAC,AAAC,CACA,OAAO,CAAE,IAAI,CACd,AAhBL,AAiBI,MAjBE,CAUJ,OAAO,CAOL,CAAC,AAAA,UAAU,AAAC,CACV,iBAAiB,CAAE,CAAC,CACpB,eAAe,CAAE,CAAC,CACnB,AAIL,MAAM,mBACJ,CAAA,AAAA,IAAI,AAAC,CACH,SAAS,CAAE,IAAI,CAChB,AACD,AAAA,MAAM,CAAC,OAAO,AAAC,CACb,qBAAqB,CAAE,GAAG,CAK3B,AAND,AAEE,MAFI,CAAC,OAAO,CAEZ,CAAC,AAAC,CACA,iBAAiB,CAAE,CAAC,CACpB,eAAe,CAAE,CAAC,CACnB,CANF,AAaH,AAAA,QAAQ,AAAC,CACP,QAAQ,CAAE,KAAK,CACf,GAAG,CAAE,CAAC,CACN,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CAET,KAAK,CAAE,KAAK,CACZ,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,KAAK,CACZ,UAAU,CAAE,MAAM,CACnB" +} \ No newline at end of file diff --git a/css/rocinante.min.css b/css/rocinante.min.css new file mode 100644 index 0000000..6ecd874 --- /dev/null +++ b/css/rocinante.min.css @@ -0,0 +1 @@ +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}@media(prefers-color-scheme:light){:root{--color-scheme: light;--background-color: #f2f2f2;--text-color: #333333;--title-color: #000000;--link-color: #2200CC;--link-hover-color: #5544FF;--code-background: #f9f9f9;--code-color: #9E525A;--figcaption-color: #666;--blockquote-color: #666;--blockquote-border: #eee;--table-border: #ddd;--table-alt-background: #f8f8f8;--header-link-color: #77f;--header-link-hover: #f77;--header-link-active: #2a2;--footer-background: #e2e2e2;--date-color: #888;--horizontal-link-border: #ccc;--post-list-hover: #5544FF;--tag-link-color: #aaa;--tag-link-hover: #888;--paginator-disabled: #aaa;--current-page-color: #aaa;--location-color: #888;--location-border: #ccc;--gradient: linear-gradient(to right, #2c50df, #bc12d5, #e43535, #bc12d5, #2c50df)}.bg{color:#272822;background-color:#fafafa}.chroma{color:#272822;background-color:#fafafa}.chroma .err{color:#960050;background-color:#1e0010}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#e1e1e1}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#00a8c8}.chroma .kc{color:#00a8c8}.chroma .kd{color:#00a8c8}.chroma .kn{color:#f92672}.chroma .kp{color:#00a8c8}.chroma .kr{color:#00a8c8}.chroma .kt{color:#00a8c8}.chroma .n{color:#111}.chroma .na{color:#75af00}.chroma .nb{color:#111}.chroma .bp{color:#111}.chroma .nc{color:#75af00}.chroma .no{color:#00a8c8}.chroma .nd{color:#75af00}.chroma .ni{color:#111}.chroma .ne{color:#75af00}.chroma .nf{color:#75af00}.chroma .fm{color:#111}.chroma .nl{color:#111}.chroma .nn{color:#111}.chroma .nx{color:#75af00}.chroma .py{color:#111}.chroma .nt{color:#f92672}.chroma .nv{color:#111}.chroma .vc{color:#111}.chroma .vg{color:#111}.chroma .vi{color:#111}.chroma .vm{color:#111}.chroma .l{color:#ae81ff}.chroma .ld{color:#d88200}.chroma .s{color:#d88200}.chroma .sa{color:#d88200}.chroma .sb{color:#d88200}.chroma .sc{color:#d88200}.chroma .dl{color:#d88200}.chroma .sd{color:#d88200}.chroma .s2{color:#d88200}.chroma .se{color:#8045ff}.chroma .sh{color:#d88200}.chroma .si{color:#d88200}.chroma .sx{color:#d88200}.chroma .sr{color:#d88200}.chroma .s1{color:#d88200}.chroma .ss{color:#d88200}.chroma .m{color:#ae81ff}.chroma .mb{color:#ae81ff}.chroma .mf{color:#ae81ff}.chroma .mh{color:#ae81ff}.chroma .mi{color:#ae81ff}.chroma .il{color:#ae81ff}.chroma .mo{color:#ae81ff}.chroma .o{color:#f92672}.chroma .ow{color:#f92672}.chroma .p{color:#111}.chroma .c{color:#75715e}.chroma .ch{color:#75715e}.chroma .cm{color:#75715e}.chroma .c1{color:#75715e}.chroma .cs{color:#75715e}.chroma .cp{color:#75715e}.chroma .cpf{color:#75715e}.chroma .ge{font-style:italic}.chroma .gs{font-weight:700}}@media(prefers-color-scheme:dark){:root{--color-scheme: dark;--background-color: #1a1a1a;--text-color: #e0e0e0;--title-color: #efefef;--link-color: #88aaff;--link-hover-color: #aaccff;--code-background: #2a2a2a;--code-color: #e6a0a7;--figcaption-color: #999;--blockquote-color: #999;--blockquote-border: #333;--table-border: #444;--table-alt-background: #2a2a2a;--header-link-color: #99f;--header-link-hover: #f99;--header-link-active: #4c4;--footer-background: #222;--date-color: #777;--horizontal-link-border: #444;--post-list-hover: #aaccff;--tag-link-color: #666;--tag-link-hover: #999;--paginator-disabled: #666;--current-page-color: #666;--location-color: #777;--location-border: #555;--gradient: linear-gradient(to right, #797cff, #ee7fff, #f79662, #ee7fff, #797cff)}.bg{color:#f8f8f2;background-color:#272822}.chroma{color:#f8f8f2;background-color:#272822}.chroma .err{color:#960050;background-color:#1e0010}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#3c3d38}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#66d9ef}.chroma .kc{color:#66d9ef}.chroma .kd{color:#66d9ef}.chroma .kn{color:#f92672}.chroma .kp{color:#66d9ef}.chroma .kr{color:#66d9ef}.chroma .kt{color:#66d9ef}.chroma .na{color:#a6e22e}.chroma .nc{color:#a6e22e}.chroma .no{color:#66d9ef}.chroma .nd{color:#a6e22e}.chroma .ne{color:#a6e22e}.chroma .nf{color:#a6e22e}.chroma .nx{color:#a6e22e}.chroma .nt{color:#f92672}.chroma .l{color:#ae81ff}.chroma .ld{color:#e6db74}.chroma .s{color:#e6db74}.chroma .sa{color:#e6db74}.chroma .sb{color:#e6db74}.chroma .sc{color:#e6db74}.chroma .dl{color:#e6db74}.chroma .sd{color:#e6db74}.chroma .s2{color:#e6db74}.chroma .se{color:#ae81ff}.chroma .sh{color:#e6db74}.chroma .si{color:#e6db74}.chroma .sx{color:#e6db74}.chroma .sr{color:#e6db74}.chroma .s1{color:#e6db74}.chroma .ss{color:#e6db74}.chroma .m{color:#ae81ff}.chroma .mb{color:#ae81ff}.chroma .mf{color:#ae81ff}.chroma .mh{color:#ae81ff}.chroma .mi{color:#ae81ff}.chroma .il{color:#ae81ff}.chroma .mo{color:#ae81ff}.chroma .o{color:#f92672}.chroma .ow{color:#f92672}.chroma .c{color:#75715e}.chroma .ch{color:#75715e}.chroma .cm{color:#75715e}.chroma .c1{color:#75715e}.chroma .cs{color:#75715e}.chroma .cp{color:#75715e}.chroma .cpf{color:#75715e}.chroma .gd{color:#f92672}.chroma .ge{font-style:italic}.chroma .gi{color:#a6e22e}.chroma .gs{font-weight:700}.chroma .gu{color:#75715e}}:root{--footer-cursor: url("data:image/svg+xml;utf8,✌️")}body{background-color:var(--background-color);font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol;color:var(--text-color);font-size:16px;line-height:1.6}p{margin:1.25em 0}em,i{font-style:italic}strong,b{font-weight:700}h1,h2,h3,h4,h5,h6{font-weight:700;margin:1.5em 0 1em;line-height:1em}h1{font-size:1.625em}h2{font-size:1.375em}h3{font-size:1.125em}h4{font-size:1em}h5{font-size:.875em}h6{font-size:.75em}h4,h5,h6{text-transform:uppercase;letter-spacing:1px;margin-top:2.5em}a{color:var(--link-color);transition:all .1s ease}a:hover{color:var(--link-hover-color)}ol li{list-style:decimal;margin-left:1.25em;margin-bottom:.2em}ul li{list-style:disc;margin-left:1.25em;margin-bottom:.2em}dt{font-weight:700}dd{margin-left:1.25em}hr{margin:2em 0;border:0;border-top:2px dotted var(--horizontal-link-border)}pre,code{font-family:SFMono-Regular,Consolas,liberation mono,Menlo,monospace;border-radius:3px}code{background:var(--code-background);font-size:.9em;padding:.25em .5em;color:var(--code-color)}pre code{background:var(--code-background);display:block;margin:1em 0;padding:.75em 1em;color:inherit;overflow:auto}img,video{max-width:100%;height:auto;border-radius:3px}a>img:hover{opacity:.75;transition:.25s}figure{width:100%;margin:2em 0;text-align:center}figcaption{text-align:center;font-size:.9em;color:var(--figcaption-color)}figcaption p{margin:0}blockquote{padding-left:1.25em;padding-right:1.5em;border-left:.25em solid var(--blockquote-border);color:var(--blockquote-color)}table{margin-bottom:1em;width:100%;border:1px solid var(--table-border)}td,th{vertical-align:middle;padding:.25rem .5rem;border:1px solid var(--table-border)}th{font-weight:700}tbody tr:nth-child(2n+1) td,tbody tr:nth-child(2n+1) th{background-color:var(--table-alt-background)}sup,sub{font-size:.8em}sup{vertical-align:super}main{max-width:740px;padding:0 20px;margin:0 auto}@keyframes shine{to{background-position:200%}}header h2{margin:1em}header h2 a{user-select:none;text-decoration:none;border:none;background:var(--gradient);background-clip:text;background-size:200%;color:transparent!important;display:inline-block;animation:shine 1s linear 1}header h2 a:hover{animation:shine 1s linear infinite}header h2 a:active{color:#0005!important}.combined-title-pagination{margin-top:2.5em}.combined-title-pagination h1{display:inline}.combined-title-pagination h1 a{text-decoration:none;border:none}.combined-title-pagination h3{display:inline;margin-left:.2em}.title-group{margin-bottom:1.5em}.title-group .title h1{color:var(--title-color);margin-bottom:.5em}.title-group .date h5{color:var(--date-color);margin:0}.title-group-solo a{color:var(--title-color);text-decoration:none}.title-group-solo a .title{margin-bottom:.5em}.title-group-solo a .title h3{text-decoration:underline transparent;transition:all .1s ease;display:inline;font-size:1.1em;font-weight:400}.title-group-solo a .date{text-decoration:none;transition:all .1s ease;color:var(--date-color);margin:0;font-family:monospace}.title-group-solo a:hover{color:var(--title-color)}.title-group-solo a:hover .title h3{text-decoration:underline var(--title-color)}.title-group-solo a:hover .date{color:var(--title-color)}footer{margin-top:3em}footer .content-container{background:var(--footer-background);padding:2em 0}footer .content-container .content{max-width:740px;padding:0 20px;margin:0 auto}.footer-text{font-size:1.5em;text-align:center;margin:0 auto;margin-top:1em}.footer-text.index-page{margin-top:0;margin-bottom:1.5em}.footer-emoji{cursor:var(--footer-cursor)8 8,auto;user-select:none;margin:0 auto;text-align:center}.horizontal-links{width:100%;margin-top:0;margin-bottom:.25em}.horizontal-links a{border-right:2px solid var(--horizontal-link-border);padding-right:.5em;margin-right:.5em}.horizontal-links a:last-child{border:none}.horizontal-links:last-child{margin-bottom:1.25em}.post-list{padding-bottom:1em}.post-list h1 a{color:var(--title-color);text-decoration:none;border:none}.post-list h1 a:hover{color:var(--post-list-hover)}.post-list .read-more{margin-bottom:1.25em}.tags{user-select:none;font-size:.9em}.tags .links{display:inline}.tags .links a{border:1px solid var(--tag-link-color);border-radius:3px;padding:.2em .4em;color:var(--tag-link-color);text-decoration:none;margin:0;margin-right:.5em}.tags .links a:hover{color:var(--tag-link-hover)}.paginator{margin:2em 0}.paginator .disabled{color:var(--paginator-disabled)}.paginator .newer{float:right;clear:both}.current-page{color:var(--current-page-color)}.album .date,.album .date h5,.album .location,.album .location h5{display:inline}.album .location{color:var(--location-color);border-left:solid 2px var(--location-border);padding-left:1em;margin-left:1em}.album .photos{display:grid;grid-template-columns:repeat(2,1fr);gap:.7em .7em}.album .photos a{display:grid}.album .photos a.full-size{grid-column-start:1;grid-column-end:3}@media(max-width:400px){body{font-size:14px}.album .photos{grid-template-columns:1fr}.album .photos a{grid-column-start:1;grid-column-end:3}}.sidebar{position:fixed;top:0;right:0;bottom:0;width:200px;background:#777;float:right;overflow-y:scroll} \ No newline at end of file diff --git a/assets/css/style.css b/css/style.43d9f1db361927f335592361b86ccbd6cfa942114cc7afe99c1a78eb7a648cb0.css similarity index 100% rename from assets/css/style.css rename to css/style.43d9f1db361927f335592361b86ccbd6cfa942114cc7afe99c1a78eb7a648cb0.css diff --git a/games/index.html b/games/index.html new file mode 100644 index 0000000..22cf814 --- /dev/null +++ b/games/index.html @@ -0,0 +1 @@ +What games have I ever played? · Sid Verma

‹ Sid Verma

What games have I ever played?

For reasons unknown, I’m compiling a list of all the games I’ve ever played. This list also includes outdoor games.

Nintendo

  • Pacman
  • Tetris
  • Super Mario
  • Super Contra
  • Super Contra II
  • Donkey Kong
  • Duck Hunt
  • Teenage Mutant Ninja Turtles
  • Teenage Mutant Ninja Turtles II
  • Teenage Mutant Ninja Turtles III
  • Teenage Mutant Ninja Turtles Tournament Fighters
  • Bastion

Arcades

  • Tekken 2
  • Tekken 3

PC

  • Minesweeper
  • Spider Solitare
  • Hangman
  • Dave
  • Zork
  • Zork II
  • VirtuaCop 2
  • Delta Force
  • Delta Force 2
  • Project IGI
  • Jardinains
  • Spider-Man: The Movie
  • Spider-Man 2
  • Spider-Man 3
  • Spider-Man: Friend or Foe
  • Spider-Man: Web of Shadows
  • The Amazing Spider-Man
  • GTA: Vice City
  • GTA: San Andreas
  • NFS: Most wanted
  • NFS: Hot Persuit
  • NFS: Most wanted 2
  • Machinarium
  • Limbo
  • Half Life 2
  • Counter Strike 1.6
  • COD: MW
  • COD: MW3
  • Portal
  • Portal 2
  • Halo
  • Halo 2
  • Skyrim
  • Dishonored
  • Batman: Arkham City
  • Batman: Arkham Origins
  • Goat Simulator

Xbox

  • Dance Central 3

Playstation

  • Spider-man
  • Rocket League

Mobile

  • Snake
  • Space Impact
  • Bounce
  • Bounce Tales
  • Fruit Ninja
  • Angry Birds
  • Angry Birds Space
  • Angry Birds Bad piggies
  • Temple Run
  • Subway Surfer
  • Cut the rope
  • Super Hexagon
  • Doodle Jump
  • Hill Climb racing
  • Daddy was a thief
  • Asphalt 8
  • Asphalt Nitro
  • Rush VR
  • 2048
  • Voxel Rush
  • Doodle Army 2
  • Alto’s Adventure
  • Ultraflow 2
  • Flow free
  • Brain Dots
  • Pokemon Go
  • Logical Cell
  • The Battle of Polytopia
  • Flappy Bird

Facebook :|

  • CityVille

Cards and Boards

  • Ludo
  • Snakes and Ladders
  • Spider-man playing cards
  • Some local Spider-man board games
  • Bluff
  • Ring of fire
  • Ride the bus
  • Fuck the dealer
  • What the fuck
  • Carrom
  • Chess
  • Go
  • Mao
  • Carda Against Humanity
  • Social Humour
  • Cards Against Sanskar
  • Take 5
  • Exploding Kittens
  • Powerhouse
  • Photosynthesis
  • Jaipur
  • Clank! In! Space!
  • The Settlers of Catan
  • Gizmos
  • Century: Spice Road

Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/static/icons/favicon.ico b/icons/favicon.ico similarity index 100% rename from static/icons/favicon.ico rename to icons/favicon.ico diff --git a/static/icons/favicon.png b/icons/favicon.png similarity index 100% rename from static/icons/favicon.png rename to icons/favicon.png diff --git a/static/images/689-tabs-closed.jpg b/images/689-tabs-closed.jpg similarity index 100% rename from static/images/689-tabs-closed.jpg rename to images/689-tabs-closed.jpg diff --git a/static/images/alice-decisiontree.svg b/images/alice-decisiontree.svg similarity index 100% rename from static/images/alice-decisiontree.svg rename to images/alice-decisiontree.svg diff --git a/static/images/bob-decisiontree.svg b/images/bob-decisiontree.svg similarity index 100% rename from static/images/bob-decisiontree.svg rename to images/bob-decisiontree.svg diff --git a/static/images/dumbphone.jpg b/images/dumbphone.jpg similarity index 100% rename from static/images/dumbphone.jpg rename to images/dumbphone.jpg diff --git a/static/images/faceapp_old.mp4 b/images/faceapp_old.mp4 similarity index 100% rename from static/images/faceapp_old.mp4 rename to images/faceapp_old.mp4 diff --git a/static/images/firefly-ios-shortcuts/add-transaction-screenshot.jpg b/images/firefly-ios-shortcuts/add-transaction-screenshot.jpg similarity index 100% rename from static/images/firefly-ios-shortcuts/add-transaction-screenshot.jpg rename to images/firefly-ios-shortcuts/add-transaction-screenshot.jpg diff --git a/static/images/firefly-ios-shortcuts/list-accounts-screenshot.jpg b/images/firefly-ios-shortcuts/list-accounts-screenshot.jpg similarity index 100% rename from static/images/firefly-ios-shortcuts/list-accounts-screenshot.jpg rename to images/firefly-ios-shortcuts/list-accounts-screenshot.jpg diff --git a/static/images/firefly-ios-shortcuts/list-categories-screenshot.jpg b/images/firefly-ios-shortcuts/list-categories-screenshot.jpg similarity index 100% rename from static/images/firefly-ios-shortcuts/list-categories-screenshot.jpg rename to images/firefly-ios-shortcuts/list-categories-screenshot.jpg diff --git a/static/images/firefly-ios-shortcuts/video.mp4 b/images/firefly-ios-shortcuts/video.mp4 similarity index 100% rename from static/images/firefly-ios-shortcuts/video.mp4 rename to images/firefly-ios-shortcuts/video.mp4 diff --git a/static/images/hal-9000.jpg b/images/hal-9000.jpg similarity index 100% rename from static/images/hal-9000.jpg rename to images/hal-9000.jpg diff --git a/static/images/indian-sockets.png b/images/indian-sockets.png similarity index 100% rename from static/images/indian-sockets.png rename to images/indian-sockets.png diff --git a/static/images/iphone/chargers.jpg b/images/iphone/chargers.jpg similarity index 100% rename from static/images/iphone/chargers.jpg rename to images/iphone/chargers.jpg diff --git a/static/images/iphone/phones_back.jpg b/images/iphone/phones_back.jpg similarity index 100% rename from static/images/iphone/phones_back.jpg rename to images/iphone/phones_back.jpg diff --git a/static/images/iphone/phones_front.jpg b/images/iphone/phones_front.jpg similarity index 100% rename from static/images/iphone/phones_front.jpg rename to images/iphone/phones_front.jpg diff --git a/static/images/iphone/screenshots.jpg b/images/iphone/screenshots.jpg similarity index 100% rename from static/images/iphone/screenshots.jpg rename to images/iphone/screenshots.jpg diff --git a/static/images/javascript-packages/gh-is-even-code.png b/images/javascript-packages/gh-is-even-code.png similarity index 100% rename from static/images/javascript-packages/gh-is-even-code.png rename to images/javascript-packages/gh-is-even-code.png diff --git a/static/images/javascript-packages/gh-is-false-code.png b/images/javascript-packages/gh-is-false-code.png similarity index 100% rename from static/images/javascript-packages/gh-is-false-code.png rename to images/javascript-packages/gh-is-false-code.png diff --git a/static/images/javascript-packages/gh-is-false.png b/images/javascript-packages/gh-is-false.png similarity index 100% rename from static/images/javascript-packages/gh-is-false.png rename to images/javascript-packages/gh-is-false.png diff --git a/static/images/javascript-packages/gh-is-positive-integer-code.png b/images/javascript-packages/gh-is-positive-integer-code.png similarity index 100% rename from static/images/javascript-packages/gh-is-positive-integer-code.png rename to images/javascript-packages/gh-is-positive-integer-code.png diff --git a/static/images/javascript-packages/npm-is-even.png b/images/javascript-packages/npm-is-even.png similarity index 100% rename from static/images/javascript-packages/npm-is-even.png rename to images/javascript-packages/npm-is-even.png diff --git a/static/images/javascript-packages/npm-is-false.png b/images/javascript-packages/npm-is-false.png similarity index 100% rename from static/images/javascript-packages/npm-is-false.png rename to images/javascript-packages/npm-is-false.png diff --git a/static/images/javascript-packages/npm-is-positive-integer.png b/images/javascript-packages/npm-is-positive-integer.png similarity index 100% rename from static/images/javascript-packages/npm-is-positive-integer.png rename to images/javascript-packages/npm-is-positive-integer.png diff --git a/static/images/location-settings.jpg b/images/location-settings.jpg similarity index 100% rename from static/images/location-settings.jpg rename to images/location-settings.jpg diff --git a/static/images/phone-homescreens.jpg b/images/phone-homescreens.jpg similarity index 100% rename from static/images/phone-homescreens.jpg rename to images/phone-homescreens.jpg diff --git a/static/images/sal-grafana.png b/images/sal-grafana.png similarity index 100% rename from static/images/sal-grafana.png rename to images/sal-grafana.png diff --git a/static/images/website_iterations.gif b/images/website_iterations.gif similarity index 100% rename from static/images/website_iterations.gif rename to images/website_iterations.gif diff --git a/index.html b/index.html new file mode 100644 index 0000000..bec85a9 --- /dev/null +++ b/index.html @@ -0,0 +1,47 @@ +Sid Verma

› Sid Verma

Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.


\ No newline at end of file diff --git a/index.xml b/index.xml new file mode 100644 index 0000000..aec402a --- /dev/null +++ b/index.xml @@ -0,0 +1,247 @@ +Sid Vermahttps://sidverma.io/Recent content on Sid VermaHugo -- gohugo.ioen-usTue, 07 Mar 2023 00:00:00 +0000IS 1293 : What are the different kinds of Indian electrical sockets?https://sidverma.io/posts/indian-electrical-sockets-is1293/Tue, 07 Mar 2023 00:00:00 +0000https://sidverma.io/posts/indian-electrical-sockets-is1293/<p>I spent a lot of time today reading the specifications of Indian electrical sockets, and since it took me way too long to find this information - here&rsquo;s a quick summary of what the different kinds of sockets mean. I hope at least one other person finds this useful.</p>Comparing tools to connect your devices in a mesh VPNhttps://sidverma.io/posts/homelab-mesh-vpn/Tue, 03 Jan 2023 00:00:00 +0000https://sidverma.io/posts/homelab-mesh-vpn/<p>I have a nice little computer in my house which hosts a bunch of services I use. It sits behind a NAT, so I can&rsquo;t connect directly to it via my public IP address. Hence, I use a cheap cloud instance on DigitalOcean to act as the gateway for my home-server to the internet.</p> +<p>My <a href="https://sidverma.io/2020/01/11/personal-infrastructure-overview/#how-things-actually-connect">previous setup</a> was basically a VPN tunnel between a cloud server and my home server, where the cloud server forwarded TCP traffic to my home server, which served all my services.</p> +<p>Lately, I&rsquo;ve been rebuilding this infrastructure, and one of the things I was due for, is to have all my devices (my cloud server, home server, laptop, phone, etc) connected to each other all the time. Also, it needed to be in a mesh instead of hub-and-spoke, as there was no need for data to go over the internet if I&rsquo;m home, on the same physical network as my home-server.</p> +<p>I spent a good amount of time trying out a bunch of methods, until settling on one. This post runs through all the options I found, and why I chose what I chose. I won&rsquo;t go into how to set it up - there should be plenty of articles and documentation on the internet. +TLDR: I now use tailscale with a headscale server.</p>House tourhttps://sidverma.io/photos/house22/Thu, 01 Dec 2022 00:00:00 +0000https://sidverma.io/photos/house22/<p>I moved into a much older house in Goa earlier this year, and had a lot of fun these past months setting it up and wiring it down. It&rsquo;s very janky, dusty, and lovely.</p>Decision making while writing softwarehttps://sidverma.io/posts/meta-programming-1-making-decisions/Mon, 01 Jun 2020 01:00:00 +0000https://sidverma.io/posts/meta-programming-1-making-decisions/<p><em>Post #1 in the <a href="https://sidverma.io/2020/06/01/meta-programming-0/">Meta:Programming</a> series.</em></p>Meta:Programming - Notes about the nature of software developmenthttps://sidverma.io/posts/meta-programming-0/Mon, 01 Jun 2020 00:00:00 +0000https://sidverma.io/posts/meta-programming-0/<p>I&rsquo;m hoping to write a blog series for my younger self. He is someone who used to look at a service and say - &ldquo;I could build that over a weekend&rdquo;. This is also someone who would look at a company with a small product, which rarely gets any new features, and wonder why that product needs 10 developers working fulltime on it.</p> +<p>I don&rsquo;t plan on writing about the philosophical aspects of those questions. Maybe the weekend hack <em>would</em> come out better. Maybe that company <em>is</em> bad at resource utilization. Maybe capitalism <em>is</em> the root of all evil. I am taking the current state and processes at face value, and try to commentate on how and why this usually comes to be.</p> +<p>I hope that these posts don&rsquo;t require a lot of technical knowledge, and are easily readable by beginners, or maybe non-technical folk.</p> +<ol> +<li><a href="https://sidverma.io/2020/06/01/meta-programming-1-making-decisions/">Decision making while writing software</a></li> +</ol> +<p>Do keep in mind that these articles are restricted by my experience and perspective. If you feel that I might be wrong somewhere or am missing something important, feel free to suggest updates. The good thing about writing on the internet is that I can always update my old content.</p> +<p>Next : <a href="https://sidverma.io/2020/06/01/meta-programming-1-making-decisions/">Decision making while writing software</a></p>Diary of a new employeehttps://sidverma.io/posts/diary-of-a-new-employee/Mon, 04 May 2020 00:00:00 +0000https://sidverma.io/posts/diary-of-a-new-employee/<h4 id="monday">Monday</h4> +<p>Today was my first day at this stealth startup. The boss (CEO) is a dick, but we&rsquo;re building great stuff. The physical entertainment/tourism industry is a huge market, and it&rsquo;s very possible that we&rsquo;re going to be the next Disneyworld.</p> +<h4 id="tuesday">Tuesday</h4> +<p>Surprisingly, I feel halfway through my induction already. Things happen at such a fast pace here that it&rsquo;s a bit exhilarating. Some areas definitely need much more oversight though. Just a few weeks ago, a field employee had an accident, which led to us getting sued for millions of $$. Thank fuck for insurance.</p> +<p>In other news, I met the rest of the systems team today. I was expecting to go through some sort of imposter syndrome, working in such a lean team, but looks like that these guys aren&rsquo;t that much better than me. Except for Dennis, Dennis is the <em>GOAT</em>!</p> +<h4 id="wednesday">Wednesday</h4> +<p>We got news that some outside &ldquo;experts&rdquo; would be coming in over the weekend for inspection. Most likely in response to the concerns of investors and the insurance company over the lawsuit. VCs are sending this mathematician who deals with risk-prediction models (I think?). On the other hand, John, our CEO, is also bringing in some famous academics who&rsquo;d likely give us the required endorsement without much fuss.</p> +<p>Got to know more of my team today. Ray&rsquo;s the cheif engineer. Good guy, heavy smoker. We really need a policy against smoking indoors here. This is not the 80s. Dennis turned out to be a bit of an ass though. There&rsquo;s a lot of misplaced ego in him for building the system foundation.</p> +<h4 id="thursday">Thursday</h4> +<p>Induction got over, and today&rsquo;s my first <em>real</em> day at work. Now I have some clarity on how we&rsquo;ve been doing things so fast. Systems seem to be well-built on the surface, but we have almost no testing protocols, no failover plans, and tons of single point of failures. And there don&rsquo;t seem to be a lot of access controls in place too. We have all this high-tech environment, and almost any employee can shut down the system if they know no where to do it from.</p> +<p>On the plus side, the to-do list has points listing these problems. Though it&rsquo;s unlikely anyone&rsquo;s getting around to those anytime soon.</p> +<h4 id="friday">Friday</h4> +<p>Today we spent most of the day preparing for the visitors tomorrow. Mostly maintenance work around the facility, tightening nuts and bolts and recalibrating power levels. Some things are buggy, but nothing deal-breaking. We&rsquo;re told that John&rsquo;s family is also visiting the facility this weekend, to sorta &ldquo;beta-test&rdquo; the rides along with the experts.</p> +<h4 id="saturday">Saturday</h4> +<p>My shift just ended, and it&rsquo;s been a smooth day so far. The family turned out to be little kids (John&rsquo;s grandchildren, I assume). John insists that they are just visiting him, but I suspect he brought them in to try and butter up the experts. A lot is riding on their endorsements, and seeing kids experience the rides might give them a more positive outlook.</p> +<p>The tour had more kinks than we were expecting today. Ray&rsquo;s been counting every glitch that he comes across today, and was up to 151 the last time I checked. &ldquo;We have all the problems of a major theme park and a major zoo and the computers aren&rsquo;t even on their feet yet&rdquo;, his exact words.</p> +<p>To be very honest, I think he gives the system way less credit than its due. Sure, it&rsquo;s far from perfect, but given the timeline, the company really spared no expense in building this place.</p> +<h4 id="sunday">Sunday</h4> +<p>HOLY FUCK! <strong>WHAT THE FUCK!</strong> FUUUUUCK!</p> +<p>I&rsquo;m writing this entry in the morning itself, as I&rsquo;m not sure if I&rsquo;m gonna find the time again. There&rsquo;s a fair chance that we&rsquo;d get shut down by tomorrow, if we don&rsquo;t get arrested or get eaten by a stray disnoaur.</p> +<p>We don&rsquo;t have a complete clarity on what&rsquo;s happening. Power went out in most of the park yesterday, and is still out. Cage fences aren&rsquo;t working, and even the phone lines are down! Wireless seems to be fucked too because of a very coincidental storm.</p> +<p>It appears that Dennis shut down the electrical grids yesterday and fled this island. No one knows why. We even seem to be locked out of the control systems. With no documentation, logs and system access, we&rsquo;re probably not gonna be fixing this anytime soon.</p> +<p>Maybe a complete system restart throughout the park would work. Not ideal, but if there&rsquo;s one thing that anyone in the IT crowd knows - it&rsquo;s that turning computers off and on again is very magical.</p> +<p>Hopefully it works. Fuck you Dennis Nedry, and fuck you John Hammond!</p>Website Updateshttps://sidverma.io/posts/website-updates/Sat, 07 Mar 2020 00:00:00 +0000https://sidverma.io/posts/website-updates/<p>Every once in a while, I get into this productivity slump where I don&rsquo;t write code for weeks, and it gets hard to get back into the rhythm of working again. For me, the easiest way out of it is to redesign this website. It&rsquo;s low-effort (relatively), gets some creative juices flowing and has little risk of not panning out ultimately.</p> +<p>And I guess it kinda worked. I spent two whole days on the redesign, and am pretty pleased with the results. Documenting the major decisions I took this time around in this post.</p>Personal infrastructure overviewhttps://sidverma.io/posts/personal-infrastructure-overview/Sat, 11 Jan 2020 00:00:00 +0000https://sidverma.io/posts/personal-infrastructure-overview/<p>Writing intros to posts is such a hard thing. I&rsquo;ve spent more time on what to write in this paragraph than the rest of this article. You&rsquo;re supposed to start with a background and a motivation, and conclude with a sentence that you finally did it, and here is how.</p> +<p>I have not <em>done it</em> yet. This thing keeps evolving. As to why I started doing this: it&rsquo;s fun. It&rsquo;s fun and powerful to be in control of where your information resides. It&rsquo;s fun to build a system to manage this efficiently. There are also some benefits too: much more control over my data and the services. These are also all open-source so I can add missing features which I really really want, and I don&rsquo;t have to abide by the restrictive terms and limits of other platforms. And I don&rsquo;t lose everything if a platform wants to shut itself down or delete my account for using their product wrong.</p>iOS Shortcuts for Firefly IIIhttps://sidverma.io/posts/firefly-iii-ios-shortcuts/Fri, 06 Dec 2019 00:00:00 +0000https://sidverma.io/posts/firefly-iii-ios-shortcuts/<p>I&rsquo;ve been using the excellent <a href="https://firefly-iii.org/" target="_blank">Firefly III</a> to manage my expenses for a while. As a result, I have developed a habit to actively monitor every transaction I do, which, in my opinion is a much better way than using other automated expense managers which can only track your non-cash expenses, without a lot of context.</p> +<p>Android had an <a href="https://f-droid.org/en/packages/xyz.hisname.fireflyiii/" target="_blank">unofficial app</a> which made it easier to interact with Firefly, but iOS doesn&rsquo;t seem to have one, and the web-ui is not a very mobile friendly one.</p> +<p>While searching for solutions, I came across <a href="https://www.jessedyck.me/2019/03/ios-shortcuts-firefly-iii/" target="_blank">this blog post by Jesse Dyck</a> where they utilised iOS Shortcuts to create transactions in Firefly. Honestly, I was pretty surprised that Shortcuts is powerful enough to do this, given Apple&rsquo;s approach to customization.</p> +<p>The shortcuts provided by Jesse didn&rsquo;t work for me (they were written for iOS 12, before Shortcuts were revamped for iOS 13), so I decided to build one for myself, with a UX more suited for my needs.</p>Moving to an iPhone (for now)https://sidverma.io/posts/iphone/Wed, 04 Dec 2019 00:00:00 +0000https://sidverma.io/posts/iphone/<p>I spent the last two days trying to switch from my three year old Oneplus 3, to a brand new iPhone 11. I thought I was probably done with expensive phones (I count Oneplus as an expensive purchase), but resigned to giving iOS a chance this time around.</p> +<p>The Oneplus has served as my phone for 33 months now, and has had its fair share of rough usage. The screen broke twice (and got replaced once). Its battery had degraded so much that I didn&rsquo;t dare go out without carrying a small sling bag with a charger and a power bank in it. Screen-on time would have been somewhere between 50-90 mins. At least it charged fast.</p> +<p>It wasn&rsquo;t a fast phone by any means anymore too, and I&rsquo;d gotten used to waiting a few seconds for apps to launch.</p> +<p>The iPhone, is a stark contrast to that. It&rsquo;s a recent phone with the latest and greatest Apple processor, and things are super fucking fast on it. I am almost in disbelief of how much the battery lasts on this thing. That carry bag isn&rsquo;t a necessity anymore (though I have gotten used to it - it came in handy a lot more times than it became a hindrance).</p>Backpacking 2019https://sidverma.io/photos/backpacking19/Sun, 01 Dec 2019 00:00:00 +0000https://sidverma.io/photos/backpacking19/<p>Been backpacking for a few months, while severely reducing camera time. Here are some photos from Goa, Kolkata, Bangkok and Pai.</p>Eight months of unemployment and travelinghttps://sidverma.io/posts/8-months-unemployment-traveling/Tue, 19 Nov 2019 00:00:00 +0000https://sidverma.io/posts/8-months-unemployment-traveling/<p>In March 2019, I left my job at <a href="https://www.tower-research.com" target="_blank">Tower Research Capital</a>, to take a small break from work and live aimlessly for a while. My mental health had been declining steadily for the last few years, and going away for a while seemed like the only way out.</p>Doing sysadmin things through Terraformhttps://sidverma.io/posts/sysadmin-terraform/Fri, 15 Nov 2019 00:00:00 +0000https://sidverma.io/posts/sysadmin-terraform/<p><em>Disclaimer: I have not worked as a sysadmin anywhere in my professional life, nor do I consider myself to be very good at it.</em></p> +<p>I&rsquo;ve self-hosted a small part of my personal infrastructure (IRC bouncer, VPN server, torrent client, etc) for a while now. +These services were set up over the course of a week on the tiniest DigitalOcean instance five years ago, never to be touched again for the next three years.</p> +<p>Two years ago, at <a href="https://hackbeach.in" target="_blank">Hackbeach 2017</a>, <a href="https://twitter.com/aruns89" target="_blank">Arun Singh</a> gave a small talk on Infrastructure as code and <a href="https://www.terraform.io" target="_blank">Terraform</a>. Around then, I had recently started frequenting <a href="https://old.reddit.com/r/selfhosted" target="_blank">/r/selfhosted</a>, and decided to start self-hosting more of my services. Upon finally logging in into my server after three years, I couldn&rsquo;t understand anything about the way it was set up. Port 443 seemed to be occupied by OpenVPN (for punching through restrictive firewalls), which proxied HTTP traffic to HAProxy which proxied it to a web server, and so on.</p>Ziro Festival 2019https://sidverma.io/photos/ziro19/Thu, 26 Sep 2019 00:00:00 +0000https://sidverma.io/photos/ziro19/<p>I was not planning to go to the Ziro Festival this year, but the dates coincided with a layover in Kolkata, and hence made the stop.</p>Russians are harvesting our faces!https://sidverma.io/posts/faceapp-much-ado-about-nothing/Fri, 19 Jul 2019 00:00:00 +0000https://sidverma.io/posts/faceapp-much-ado-about-nothing/<br> +<video autoplay="true" loop="true" width="100%"> +<source src="https://sidverma.io/images/faceapp_old.mp4" +type="video/mp4"> +</video> +<p><a href="https://www.forbes.com/sites/johnkoetsier/2019/07/17/viral-app-faceapp-now-owns-access-to-more-than-150-million-peoples-faces-and-names/amp/?__twitter_impression=true" target="_blank">This Forbes article</a> says that Faceapp is evil because they are harvesting user-data:</p> +<blockquote> +<p>That (Faceapp&rsquo;s TOS) may not be dangerous and your likeness may stay on Amazon servers in America, as Forbes has determined, but they still own a license to do whatever they want with it. That doesn’t mean the app’s Russian parent company, Wireless Labs, will offer your face to the FSB, but it does have consequences, as PhoneArena’s Peter Kostadinov says:</p> +<blockquote> +<p>You might end up on a billboard somewhere in Moscow, but your face will most likely end up training some AI facial-recognition algorithm.</p> +</blockquote> +</blockquote> +<p>For context, here&rsquo;s the lines from <a href="https://faceapp.com/terms" target="_blank">FaceApp&rsquo;s Terms of Service</a> which are been targeted:</p> +<blockquote> +<p><sub>You grant FaceApp a perpetual, irrevocable, nonexclusive, royalty-free, worldwide, fully-paid, transferable sub-licensable license to use, reproduce, modify, adapt, publish, translate, create derivative works from, distribute, publicly perform and display your User Content and any name, username or likeness provided in connection with your User Content in all media formats and channels now known or later developed, without compensation to you. When you post or otherwise share User Content on or through our Services, you understand that your User Content and any associated information (such as your [username], location or profile photo) will be visible to the public.</sub></p> +</blockquote> +<p>In comparison, here are a few current (and one defunct) websites where users are known to share their faces quite a bit:</p>Kodi controllershttps://sidverma.io/posts/inattentional-blindness/Sat, 06 Jul 2019 00:00:00 +0000https://sidverma.io/posts/inattentional-blindness/<p>For the past five years, a Raspberry Pi, running <a href="https://kodi.tv/" target="_blank">Kodi</a>, has been attached to my TV. The Pi, TV and the software all get updated time to time, but the overall setup has been the same for most of it.</p> +<pre><code>+----+ +----+ +-----+ +| TV |----(HDMI)----| Pi |--(USB/DLNA)--| HDD | ++----+ +----+ +-----+ +</code></pre><p>Controllers I&rsquo;ve used for Kodi over the years -</p> +<ul> +<li>Desktop Keyboards (Wired/Wireless)</li> +<li>Wireless Mouse</li> +<li>Web Interface</li> +<li>Tasker scenes utilizing the web interface API</li> +<li>Kodi remote apps (for Android/iOS)</li> +<li>Emulated keyboard over SSH</li> +<li>VNC</li> +<li>Arduino based bluetooth remote</li> +<li>Game controllers</li> +</ul> +<p>Some of these were novelty ones, others were used because of circumstantial needs+availability.</p> +<p>My primary controller is the excellent app <a href="https://play.google.com/store/apps/details?id=org.leetzone.android.yatsewidgetfree" target="_blank">Yatse</a> (Lets you browse/play media on the phone itself - much faster than the TV UI). When the phone&rsquo;s not nearby, or there&rsquo;s a guest involved, I use a game controller (connected for retroPie anyway).</p> +<p>Last week, I was setting up Kodi (<a href="https://osmc.tv/" target="_blank">OSMC</a> to be exact) on my old roommate&rsquo;s Raspberry Pi. While I was installing Yatse on his phone, this other guy present there, who isn&rsquo;t familiar with the software, doesn&rsquo;t have any of the controller I know of, starts browsing movies on the TV. I look over, dumbfounded, and see him casually using the TV remote to play around in the UI.</p> +<p>Five years of having a <a href="https://en.wikipedia.org/wiki/Consumer_Electronics_Control" target="_blank">CEC</a>-compatible TV with a CEC-compatible SBC, and it never dawned on me to try the simplest UI possible - The TV remote.</p> +<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> +<iframe src="https://www.youtube.com/embed/IGQmdoK_ZfY" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video"></iframe> +</div> +<br>Andaman Islandshttps://sidverma.io/photos/andaman19/Sat, 01 Jun 2019 00:00:00 +0000https://sidverma.io/photos/andaman19/<p>Family took a few days off to spend some time in the Andaman Islands.</p>(Hillhikes and) Hillhacks 2019https://sidverma.io/photos/hillhacks19/Wed, 01 May 2019 00:00:00 +0000https://sidverma.io/photos/hillhacks19/<p>It felt disingenuous to just call this album Hillhacks 2019, given the extreme lack of actual conference photos here. The main motive of venturing out was Hillhacks, but the hikes we padded it with were much more photogenic.</p>Week in Goahttps://sidverma.io/photos/goa19/Tue, 01 Jan 2019 00:00:00 +0000https://sidverma.io/photos/goa19/<p>The annual trip with a couple of close friends took us to Arambol, Goa this year. We did spend more time in the hills of Goa rather than the beaches this time around.</p>Hackbeach 2018https://sidverma.io/photos/hackbeach18/Thu, 01 Nov 2018 00:00:00 +0000https://sidverma.io/photos/hackbeach18/<p>Hackbeach revisited the previous venue too in 2018. The water was way calmer, and almost every attendee learned to swim at least to a basic level in the ocean.</p>Ziro Festival 2018https://sidverma.io/photos/ziro18/Sat, 01 Sep 2018 00:00:00 +0000https://sidverma.io/photos/ziro18/<p>Ziro Festival of Music is a music festival which takes place in the Ziro Valley (duh) every year. Probably one of the prettiest places to have a concert in the country.</p>Minimalistic npm packages.https://sidverma.io/posts/minimal-npm-packages/Thu, 16 Aug 2018 00:00:00 +0000https://sidverma.io/posts/minimal-npm-packages/<p>A follow up to <a href="https://sidverma.io/2018/08/11/javascript-mathematical-operations/">my previous post</a>, this time we look into some of the lesser known, but widely used javascript packages.</p> +<p>Javascript&rsquo;s NPM package manager, is one of the <a href="http://www.modulecounts.com/" target="_blank">biggest and fastest growing</a> package manager out there. As of writing this:</p> +<ul> +<li>RubyGems - 145,675 (25 new packages/day)</li> +<li>PyPI - 149,111 (104 new packages/day)</li> +<li>Packagist - 191,577 (103 new packages/day)</li> +<li>Maven Central - 244,143 (149 new packages/day)</li> +<li><strong>npm - 679,009 (508 new packages/day)</strong></li> +</ul> +<p>Minimalism doesn&rsquo;t only apply to design, lifestyle and ownership, but also to code. Here are some of the most minimal packages in npm:</p>Mathematical operations on objects in javascript.https://sidverma.io/posts/javascript-mathematical-operations/Sat, 11 Aug 2018 00:00:00 +0000https://sidverma.io/posts/javascript-mathematical-operations/<p><em>All of these were executed on Node.js 6.9.1</em></p> +<pre><code>&gt; [] + [] +'' +</code></pre><p>Obviously.</p> +<pre><code>&gt; [] + {} +'[object Object]' +</code></pre><p>Less obvious, but okay.</p> +<pre><code>&gt; {} + [] +0 +</code></pre><p>Huh?</p> +<pre><code>&gt; {} + {} +'[object Object][object Object]' +</code></pre><p>Oh, fuck off.</p> +<p>I&rsquo;d rather just add strings to these from now on:</p> +<pre><code>&gt; [] + '' +'' +</code></pre><pre><code>&gt; [] + '1' +'1' +</code></pre><pre><code>&gt; [] + 'a' +'a' +</code></pre><pre><code>&gt; {} + '' +0 +</code></pre><pre><code>&gt; {} + '1' +1 +</code></pre><pre><code>&gt; {} + 'a' +NaN +</code></pre><p>Lol.</p> +<p>Okay, subtraction maybe:</p> +<pre><code>&gt; [] - [] +0 +</code></pre><pre><code>&gt; {} - {} +NaN +</code></pre><pre><code>&gt; [] - '' +'' +</code></pre><pre><code>&gt; [] - '1' +-1 +</code></pre><pre><code>&gt; [] - {} +NaN +</code></pre><p>FML.</p> +<p>But, my favorite one is this:</p> +<pre><code>&gt; {} - [] +-0 +</code></pre><p>Follow-up post: <a href="https://sidverma.io/2018/08/16/minimal-npm-packages/">Minimalistic javascript packages</a></p>Trip to Lehhttps://sidverma.io/photos/leh18/Fri, 01 Jun 2018 00:00:00 +0000https://sidverma.io/photos/leh18/<p>Left hillhacks early to visit the Ladakh area with my family.</p>Hillhacks 2018https://sidverma.io/photos/hillhacks18/Tue, 01 May 2018 00:00:00 +0000https://sidverma.io/photos/hillhacks18/<p>Hillhacks repeats the venue in 2018, hence slightly easier to organise.</p>The internet kind of sucks now.https://sidverma.io/posts/internet-kinda-sucks-nowadays/Tue, 10 Apr 2018 00:00:00 +0000https://sidverma.io/posts/internet-kinda-sucks-nowadays/<p><em>This is mostly a rant, over my increasing frustration with how the internet works nowadays. Maybe it&rsquo;s just nostalgia with rose-colored glasses. I still want to shout this here in this void.</em></p> +<p>I wasn&rsquo;t there during the early days of internet. The first time I went online, was probably in 2005. That&rsquo;s only a little over a decade, but I remember it way too differently from what it is now. Now, it&rsquo;s way too&hellip; homogenized is probably the right word.</p> +<p><strong>Chat sucks the most</strong>. Probably the worst victim of the walled-garden approach. +Things I have installed right now - Facebook messenger, Whatsapp, Telegram, Signal, Threema, Hangouts, Slack, AndroIRC, Riot.</p> +<p><em>At some point last year, I got fed up and turned off notifications for all of these except Telegram on my phone. I still keep them installed, but everything is pull-based now, when someone asks me to look at something.</em></p> +<p>I am not new to being on loads of platforms. A decade ago, I used to have accounts on MSN and Yahoo messenger, Google talk, (even facebook too), IRC networks, and probably a dozen I can&rsquo;t remember. But at some point, I found out about XMPP and pidgin, and how open protocols are such great things. mIRC used to be the hangout app, and pidgin the IM app. Any platform, ultimately boiled down to one of these. Then, one by one, almost everyone started killing off their XMPP gateways. They cited low volume, and lack of support for their <em>exciting and new features</em>. It&rsquo;s always animated emojis or fucking stickers. Even slack shut down their IRC gateway earlier this year.</p> +<p><em>It&rsquo;s on my To-do list to configure bitlbee and libpurple and put everything on libpurple.</em></p> +<p><strong>Communities suck too</strong>. Everything is a facebook group and a subreddit now. Forums are ghost towns in comparison. Forums, which had basic to extremely detailed information, queries, all sorted and tagged, categorized. The forums dedicated to Lost and Doctor Who were way more fun than the show itself. You go to <a href="https://reddit.com/r/startrek" target="_blank">/r/startrek</a> now, and you&rsquo;re bombarded with memes, cosplay, news about the upcoming Discovery season, theories, past episode-appreciation posts, and general rants. Feel free to try to use the broken filter-by-flair. When you visited the phpBB forum for the same, there were so many subcategories, and years old active threads with lots of archived information. There&rsquo;s one for artwork, one for theories, one for episode discussions, another for character discussion, another for fan-fiction. Karma fishing and reposts wasn&rsquo;t even a problem.</p> +<p><em>I&rsquo;m honestly surprised that XDA and DeviantArt, some of my oldest communities, have stuck around for so long.</em></p> +<p><strong>And then there&rsquo;re social networks</strong>. My friends, at the very least, don&rsquo;t &ldquo;share&rdquo; things online anymore. Everything is a carefully worded, edited, instagram-filtered broadcast to the world. Nothing feels personal. I had better communication with my deviantArt friends than I have with my facebook friends now. If I <a href="https://chrome.google.com/webstore/detail/news-feed-eradicator-for/fjcldmjmjhkklehbacihaiopjklihlgg" target="_blank">unblock my facebook news feed</a> right now, this is what I see: Random selfie #9 this week, anti-Trump news, anti-BJP news, anti-BJP posts, rants against patriarchy. Once in a while I find out something interesting about poeple: a new relationship, a new job, a new city. But everything else is just people shouting the same thing in an echo chamber. Or else, it&rsquo;s a whole lot of self-promotion.</p> +<p>I remember this being way different in 2010: There was a group for post-class hangout, another for books present in our library, and countless others. News feed used to be people sharing opinions without fear, and way less fishing for &lsquo;likes&rsquo;. People planned things using their status. Comments were more conversational than &lsquo;👍🏼&rsquo; and &lsquo;nice pic.'. All the things I despise right now did exist then, but in a far lesser amount.</p> +<p><em>I dread the day when <a href="https://np.reddit.com/r/announcements/comments/863xcj/new_addition_to_sitewide_rules_regarding_the_use/dw2rwy1/?context=3" target="_blank">reddit finally turns into a social network</a>.</em></p> +<p><strong>I also miss RSS</strong>. Nowadays, my RSS feed is just news and comics. At some point, people used to have blogspot and wordpress accounts, where they tagged posts. I subscribed to the &lsquo;travel&rsquo; feed for someone, &lsquo;personal&rsquo; of someone else, &lsquo;essays&rsquo; of the other. Now everything is just there, flat on Facebook/Twitter. Even they used to offer RSS feeds, which they phased out. Fucking twitter, where you get just one feed, with people sharing memes, jokes, news, achievements, all floating in the same cesspool of diarrhea, just begging for retweets.</p>Dumb smartphone is the best smartphone.https://sidverma.io/posts/dumb-smartphone/Thu, 04 Jan 2018 00:00:00 +0000https://sidverma.io/posts/dumb-smartphone/<p>Quick recap: I dropped my Oneplus 3 six months ago - didn&rsquo;t get it repaired for a month. Instead, carried this $10 phone with me for a while.</p> +<figure> +<img src="https://sidverma.io/images/dumbphone.jpg" +alt="My interimn phone"/> <figcaption> +<p>My interimn phone</p> +</figcaption> +</figure>Road trip to Jaisalmerhttps://sidverma.io/photos/jaisalmer18/Mon, 01 Jan 2018 00:00:00 +0000https://sidverma.io/photos/jaisalmer18/<p>Road trips aren&rsquo;t usually my thing, nor deserts. But this trip turned out to be fun anyway.</p>Hackbeach 2017https://sidverma.io/photos/hackbeach17/Wed, 01 Nov 2017 00:00:00 +0000https://sidverma.io/photos/hackbeach17/<p>Hackbeach 2017 happened right at the main beach in Gokarna.</p>Hillhacks and Hackbeachhttps://sidverma.io/posts/hillhacks-hackbeach/Tue, 10 Oct 2017 00:00:00 +0000https://sidverma.io/posts/hillhacks-hackbeach/<p>Hillhacks, <a href="https://hillhacks.in/about/" target="_blank">as defined by the website</a>:</p> +<blockquote> +<p>hillhacks is held in the lap of the stunning Dhauladhar Himalayas every summer.<br></p> +<p>People from different places, walks of life and lines of thought come together to share, collaborate and learn.<br></p> +<p>Hackers talk code. Artists share their creativity. Students join in from schools and colleges to learn new skills. Locals and globals mix and mingle. We build things like tables, hula hoops, interactive art installations, and solar lanterns. We connect. We dance and sing. Ideas emerge. Collaborations form. Lives change.<br></p> +<p>In the hacking, we get hacked ourselves.<br></p> +</blockquote> +<p>Hackbeach is the sister event of hillhacks, held in the winters, on one of India&rsquo;s coast.</p> +<p>What we don&rsquo;t have:</p> +<ul> +<li>Sponsors</li> +<li>Organizers</li> +<li>Welcome packages</li> +<li>Huge well-lit stage</li> +<li>Chairs around the said stage</li> +<li>Air conditioning</li> +<li>Booths and banners</li> +<li>T-Shirt and stickers table</li> +<li>Catered lunch</li> +<li>Coffee machine</li> +</ul> +<p>What we have:</p> +<ul> +<li>Space to camp</li> +<li>Beautiful views</li> +<li>A long unconference</li> +<li>2-4 day of main conference</li> +<li>Setup and teardown of the said conference</li> +<li>Talks and flash talks</li> +<li>Opportunities to learn new skills</li> +<li>Hackers</li> +</ul> +<p>What we might also have:</p> +<ul> +<li>Accountants, Anthropologist, Farmers, Activists, Geologists&hellip;</li> +<li>School programs to teach young kids about science and technology</li> +<li>Cooking</li> +<li>Slacklining</li> +<li>Hoola hoop lessons</li> +<li>Board/card games</li> +<li>Quiz nights</li> +<li>Hiking in the hills</li> +<li>All day swimming lessons</li> +<li>Paragliding</li> +<li>Sleeping on the sandy beaches</li> +<li>Cartons of all you can grab stickers</li> +<li>Open discusssions across a variety of subjects</li> +<li>Demostration of cool projects</li> +</ul> +<p><a href="https://hillhacks.in" target="_blank">Hillhacks</a> | <a href="https://hackbeach.in" target="_blank">Hackbeach</a></p>Link etiquettes for web developers.https://sidverma.io/posts/link-etiquettes/Wed, 02 Aug 2017 00:00:00 +0000https://sidverma.io/posts/link-etiquettes/<p>This post might seem like nitpicking, or unnecessary to a lot of people, but it&rsquo;s frustrating when links don&rsquo;t work how they&rsquo;re expected to.</p> +<ul> +<li> +<p>DO NOT use <code>&lt;span&gt;</code> or <code>&lt;div&gt;</code> tags and then proceed to handle their <code>click</code> events. Use proper <code>&lt;a&gt;</code> tags. This breaks so many things!</p> +<ul> +<li>People can&rsquo;t use them if they have disabled javascript or it just failed to load.</li> +<li>Ctrl-click will not open a new tab unless you explicitly handle the situation. (More on that below)</li> +<li>Even then, you just dumbed down your users&rsquo; context menus. No <em>Open link in new tab</em>, or <em>Copy link address</em>.</li> +<li>The same situation on mobile. Long click will copy the text instead of showing helpful actions.</li> +<li>The javascript might break, throw an unexpected error, or burn down your house, rendering that &ldquo;link&rdquo; useless.</li> +</ul> +</li> +<li> +<p>Even when you are using <code>&lt;a&gt;</code> tags:</p> +<ul> +<li>If possible, execute whatever JS you want, and then let the link do its job. Don&rsquo;t <code>preventDefault()</code> and open the link through javascript.</li> +<li>If you really have to open it through JS, take care of Ctrl-clicks. And Cmd-clicks in case of macOs. <a href="http://unixpapa.com/js/key.html" target="_blank">Old browsers might make this difficult</a>.</li> +</ul> +</li> +<li> +<p>Put <code>mailto:</code> links only where the email-id is the visible text too. <a href="mailto:foo@bar.com">foo@bar.com</a> is so much better than <a href="mailto:foo@bar.com">Contact Email</a>. Not everyone has email clients configured, and opening bulky clients when clicking a link is just bad UX. Or people might just want to note down the address, to contact later.</p> +</li> +</ul>Wi-Fi positioning woeshttps://sidverma.io/posts/wifi-positioning/Wed, 12 Jul 2017 00:00:00 +0000https://sidverma.io/posts/wifi-positioning/<p>Alice lives in India. She has super-cheap cellular internet (less than $0.2/GB on some networks). Cheap enough for it to be her daily driver, using <a href="http://www.amazon.in/D-Link-DWR-720-HSPA-Mobile-Router/dp/B00PVD1RV2" target="_blank">a</a> <a href="https://www.amazon.com/Hotspot-Unlocked-Worldwide-Huawei-E5220s-6/dp/B06XJ5NF8W/" target="_blank">number</a> <a href="https://www.amazon.com/Verizon-Wireless-LTE-Prepaid-Smartphone/dp/B014RJJXUW/" target="_blank">of</a> <a href="https://www.amazon.com/Hotspot-Unlocked-MF65-Router-Mobile/dp/B01KGCMUQ8/" target="_blank">portable</a> Wi-Fi routers, which just sit on her desk. And since it is so cheap and portable and convenient and long-lasting, she just carries it everywhere in her purse, wherever she travels.</p> +<p>Alice also faces an a peculiar amount of problems with her GPS. She could be at a crowded bus station, trying to get an Uber, or stuck in a storm, again trying to get a cab, her phone just fails to locate her correctly long enough for the app to work. Either it&rsquo;ll just be showing her previous location at the far away house, or it will keep fluctuating and jumping between her actual position, and her house. People around her sometimes get affected too. Maybe it&rsquo;s a curse.</p>Hillhacks 2017https://sidverma.io/photos/hillhacks17/Mon, 01 May 2017 00:00:00 +0000https://sidverma.io/photos/hillhacks17/<p>Some Hillhacks 2017 photos and even more from a stop at Dharamshala and some hills.</p>STDIN inputs via Sublime Text (sort of)https://sidverma.io/posts/sublime-input/Sat, 03 Jan 2015 00:00:00 +0000https://sidverma.io/posts/sublime-input/<p>I love Sublime Text. I really do. I can put a ring on it if it had any corporeal form. I&rsquo;ve been using it so much, that trying to work on anything else is kind of a pain. And yet, when dealing with STDIN inputs, the magic falters. This method describes a workaround to give inputs without a prompt.</p> +<p>Recently, I tried my hand on Competitive Programming, and though I didn&rsquo;t get really good at it, I did encounter a frustation. Entering the same input again and again after every change I make to the code. I wanted a simpler method.</p> +<p>Here&rsquo;s what a friend of mine came up with: Enter the input in comments.</p> +<div class="highlight"><pre class="chroma"><code class="language-cpp" data-lang="cpp"><span class="cm">/*input +</span><span class="cm">2 +</span><span class="cm">foo +</span><span class="cm">bar +</span><span class="cm">*/</span> +<span class="cp">#include</span> <span class="cpf">&lt;stdio.h&gt;</span><span class="cp"> +</span><span class="cp"></span><span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span> +<span class="kt">int</span> <span class="n">n</span><span class="p">,</span><span class="n">i</span><span class="p">;</span> +<span class="kt">char</span> <span class="n">s</span><span class="p">[</span><span class="mi">10</span><span class="p">];</span> +<span class="n">scanf</span><span class="p">(</span><span class="s">&#34;%d&#34;</span><span class="p">,</span><span class="o">&amp;</span><span class="n">n</span><span class="p">);</span> +<span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o">&lt;</span><span class="n">n</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span> +<span class="n">scanf</span><span class="p">(</span><span class="s">&#34;%s&#34;</span><span class="p">,</span><span class="n">s</span><span class="p">);</span> +<span class="n">printf</span><span class="p">(</span><span class="s">&#34;%s</span><span class="se">\n</span><span class="s">&#34;</span><span class="p">,</span><span class="n">s</span><span class="p">);</span> +<span class="p">}</span> <span class="p">}</span> +</code></pre></div> +<p>gives the output:</p> +<pre><code>foo +bar +</code></pre>Contacthttps://sidverma.io/contact/Mon, 01 Jan 0001 00:00:00 +0000https://sidverma.io/contact/You can reach me by email at me [at] [this-domain]What games have I ever played?https://sidverma.io/games/Mon, 01 Jan 0001 00:00:00 +0000https://sidverma.io/games/For reasons unknown, I&rsquo;m compiling a list of all the games I&rsquo;ve ever played. \ No newline at end of file diff --git a/js/rocinante.min.js b/js/rocinante.min.js new file mode 100644 index 0000000..c17e3dd --- /dev/null +++ b/js/rocinante.min.js @@ -0,0 +1,7 @@ +(function(document){document.addEventListener('click',function(e){const target=e.target;const emailHooks=document.getElementsByClassName('email-hook');const emailText=document.querySelector(`#email-text-${target.id}`);if(emailHooks.namedItem(target.id)){if(emailText){if(emailText.innerHTML==emailId) +emailText.innerHTML='';else{emailText.innerHTML=emailId;emailText.href='mailto:'+emailId}}else{target.innerHTML=emailId;target.href='mailto:'+emailId +target.className=''} +e.preventDefault();}},false);var r=document.querySelector(':root');var rs=getComputedStyle(r);let enableEmojiBurst=false;const footerEmoji=document.querySelector('.footer-emoji');if(footerEmoji){footerEmoji.addEventListener('click',function(e){const colors=['✌️','✌🏻','✌🏼','✌🏽','✌🏾','✌🏿'];let currentIndex=colors.indexOf(this.textContent);currentIndex=(currentIndex+1)%colors.length;r.style.setProperty('--footer-cursor',rs.getPropertyValue('--footer-cursor').replace(this.textContent,colors[currentIndex]));this.textContent=colors[currentIndex];if(currentIndex===0){enableEmojiBurst=true;} +if(enableEmojiBurst){createEmojiBurst(e,colors[currentIndex]);}});} +function createEmojiBurst(e,burstEmoji){const burstCount=20;const container=document.body;for(let i=0;i0){requestAnimationFrame(animate);}else{container.removeChild(emoji);}} +requestAnimationFrame(animate);}}})(document); \ No newline at end of file diff --git a/page/1/index.html b/page/1/index.html new file mode 100644 index 0000000..e7870b7 --- /dev/null +++ b/page/1/index.html @@ -0,0 +1 @@ +https://sidverma.io/ \ No newline at end of file diff --git a/content/photos/andaman19/DSC_0025.JPG b/photos/andaman19/DSC_0025.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0025.JPG rename to photos/andaman19/DSC_0025.JPG diff --git a/photos/andaman19/DSC_0025_hu3a5ea53e83c86bb6f6edb82f66ef4861_887138_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0025_hu3a5ea53e83c86bb6f6edb82f66ef4861_887138_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..2a2d7c7 Binary files /dev/null and b/photos/andaman19/DSC_0025_hu3a5ea53e83c86bb6f6edb82f66ef4861_887138_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0026.JPG b/photos/andaman19/DSC_0026.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0026.JPG rename to photos/andaman19/DSC_0026.JPG diff --git a/photos/andaman19/DSC_0026_hu3a5ea53e83c86bb6f6edb82f66ef4861_887832_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0026_hu3a5ea53e83c86bb6f6edb82f66ef4861_887832_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..26087f8 Binary files /dev/null and b/photos/andaman19/DSC_0026_hu3a5ea53e83c86bb6f6edb82f66ef4861_887832_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0027.JPG b/photos/andaman19/DSC_0027.JPG similarity index 100% rename from content/photos/andaman19/DSC_0027.JPG rename to photos/andaman19/DSC_0027.JPG diff --git a/photos/andaman19/DSC_0027_hua0e310fc5bc842c8de576f92b98a0755_740611_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0027_hua0e310fc5bc842c8de576f92b98a0755_740611_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..dc65b41 Binary files /dev/null and b/photos/andaman19/DSC_0027_hua0e310fc5bc842c8de576f92b98a0755_740611_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0030.JPG b/photos/andaman19/DSC_0030.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0030.JPG rename to photos/andaman19/DSC_0030.JPG diff --git a/photos/andaman19/DSC_0030_hu3a5ea53e83c86bb6f6edb82f66ef4861_876607_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0030_hu3a5ea53e83c86bb6f6edb82f66ef4861_876607_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..0a5f373 Binary files /dev/null and b/photos/andaman19/DSC_0030_hu3a5ea53e83c86bb6f6edb82f66ef4861_876607_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0039.JPG b/photos/andaman19/DSC_0039.JPG similarity index 100% rename from content/photos/andaman19/DSC_0039.JPG rename to photos/andaman19/DSC_0039.JPG diff --git a/photos/andaman19/DSC_0039_hua0e310fc5bc842c8de576f92b98a0755_481640_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0039_hua0e310fc5bc842c8de576f92b98a0755_481640_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..713a7b4 Binary files /dev/null and b/photos/andaman19/DSC_0039_hua0e310fc5bc842c8de576f92b98a0755_481640_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0041.JPG b/photos/andaman19/DSC_0041.JPG similarity index 100% rename from content/photos/andaman19/DSC_0041.JPG rename to photos/andaman19/DSC_0041.JPG diff --git a/photos/andaman19/DSC_0041_hua0e310fc5bc842c8de576f92b98a0755_386610_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0041_hua0e310fc5bc842c8de576f92b98a0755_386610_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..2c5e0de Binary files /dev/null and b/photos/andaman19/DSC_0041_hua0e310fc5bc842c8de576f92b98a0755_386610_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0083.JPG b/photos/andaman19/DSC_0083.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0083.JPG rename to photos/andaman19/DSC_0083.JPG diff --git a/photos/andaman19/DSC_0083_hu3a5ea53e83c86bb6f6edb82f66ef4861_875003_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0083_hu3a5ea53e83c86bb6f6edb82f66ef4861_875003_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..1192183 Binary files /dev/null and b/photos/andaman19/DSC_0083_hu3a5ea53e83c86bb6f6edb82f66ef4861_875003_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0211.JPG b/photos/andaman19/DSC_0211.JPG similarity index 100% rename from content/photos/andaman19/DSC_0211.JPG rename to photos/andaman19/DSC_0211.JPG diff --git a/photos/andaman19/DSC_0211_hua0e310fc5bc842c8de576f92b98a0755_478055_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0211_hua0e310fc5bc842c8de576f92b98a0755_478055_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..42a6c18 Binary files /dev/null and b/photos/andaman19/DSC_0211_hua0e310fc5bc842c8de576f92b98a0755_478055_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0226.JPG b/photos/andaman19/DSC_0226.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0226.JPG rename to photos/andaman19/DSC_0226.JPG diff --git a/photos/andaman19/DSC_0226_hu3a5ea53e83c86bb6f6edb82f66ef4861_844591_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0226_hu3a5ea53e83c86bb6f6edb82f66ef4861_844591_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..4c160aa Binary files /dev/null and b/photos/andaman19/DSC_0226_hu3a5ea53e83c86bb6f6edb82f66ef4861_844591_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0236.JPG b/photos/andaman19/DSC_0236.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0236.JPG rename to photos/andaman19/DSC_0236.JPG diff --git a/photos/andaman19/DSC_0236_hu3a5ea53e83c86bb6f6edb82f66ef4861_877107_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0236_hu3a5ea53e83c86bb6f6edb82f66ef4861_877107_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..4977397 Binary files /dev/null and b/photos/andaman19/DSC_0236_hu3a5ea53e83c86bb6f6edb82f66ef4861_877107_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0255.JPG b/photos/andaman19/DSC_0255.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0255.JPG rename to photos/andaman19/DSC_0255.JPG diff --git a/photos/andaman19/DSC_0255_hu3a5ea53e83c86bb6f6edb82f66ef4861_845004_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0255_hu3a5ea53e83c86bb6f6edb82f66ef4861_845004_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..5c6785f Binary files /dev/null and b/photos/andaman19/DSC_0255_hu3a5ea53e83c86bb6f6edb82f66ef4861_845004_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0387.JPG b/photos/andaman19/DSC_0387.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0387.JPG rename to photos/andaman19/DSC_0387.JPG diff --git a/photos/andaman19/DSC_0387_hu3a5ea53e83c86bb6f6edb82f66ef4861_986511_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0387_hu3a5ea53e83c86bb6f6edb82f66ef4861_986511_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..041dc89 Binary files /dev/null and b/photos/andaman19/DSC_0387_hu3a5ea53e83c86bb6f6edb82f66ef4861_986511_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0428.JPG b/photos/andaman19/DSC_0428.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0428.JPG rename to photos/andaman19/DSC_0428.JPG diff --git a/photos/andaman19/DSC_0428_hu3a5ea53e83c86bb6f6edb82f66ef4861_989907_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0428_hu3a5ea53e83c86bb6f6edb82f66ef4861_989907_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..f88a559 Binary files /dev/null and b/photos/andaman19/DSC_0428_hu3a5ea53e83c86bb6f6edb82f66ef4861_989907_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0436.JPG b/photos/andaman19/DSC_0436.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0436.JPG rename to photos/andaman19/DSC_0436.JPG diff --git a/photos/andaman19/DSC_0436_hu3a5ea53e83c86bb6f6edb82f66ef4861_1156748_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0436_hu3a5ea53e83c86bb6f6edb82f66ef4861_1156748_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..42bf3bf Binary files /dev/null and b/photos/andaman19/DSC_0436_hu3a5ea53e83c86bb6f6edb82f66ef4861_1156748_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0442.JPG b/photos/andaman19/DSC_0442.JPG similarity index 100% rename from content/photos/andaman19/DSC_0442.JPG rename to photos/andaman19/DSC_0442.JPG diff --git a/photos/andaman19/DSC_0442_hua0e310fc5bc842c8de576f92b98a0755_884404_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0442_hua0e310fc5bc842c8de576f92b98a0755_884404_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..9a511ac Binary files /dev/null and b/photos/andaman19/DSC_0442_hua0e310fc5bc842c8de576f92b98a0755_884404_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0447.JPG b/photos/andaman19/DSC_0447.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0447.JPG rename to photos/andaman19/DSC_0447.JPG diff --git a/photos/andaman19/DSC_0447_hu3a5ea53e83c86bb6f6edb82f66ef4861_967475_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0447_hu3a5ea53e83c86bb6f6edb82f66ef4861_967475_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..5f56cf6 Binary files /dev/null and b/photos/andaman19/DSC_0447_hu3a5ea53e83c86bb6f6edb82f66ef4861_967475_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0451-Pano.jpg b/photos/andaman19/DSC_0451-Pano.jpg similarity index 100% rename from content/photos/andaman19/DSC_0451-Pano.jpg rename to photos/andaman19/DSC_0451-Pano.jpg diff --git a/photos/andaman19/DSC_0451-Pano_hu2bfda13c59ca12047761f4f5c38597e5_591183_700x0_resize_q100_box.jpg b/photos/andaman19/DSC_0451-Pano_hu2bfda13c59ca12047761f4f5c38597e5_591183_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..e19e00b Binary files /dev/null and b/photos/andaman19/DSC_0451-Pano_hu2bfda13c59ca12047761f4f5c38597e5_591183_700x0_resize_q100_box.jpg differ diff --git a/content/photos/andaman19/DSC_0497.JPG b/photos/andaman19/DSC_0497.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0497.JPG rename to photos/andaman19/DSC_0497.JPG diff --git a/photos/andaman19/DSC_0497_hu3a5ea53e83c86bb6f6edb82f66ef4861_1021924_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0497_hu3a5ea53e83c86bb6f6edb82f66ef4861_1021924_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..4c8539c Binary files /dev/null and b/photos/andaman19/DSC_0497_hu3a5ea53e83c86bb6f6edb82f66ef4861_1021924_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0505.JPG b/photos/andaman19/DSC_0505.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0505.JPG rename to photos/andaman19/DSC_0505.JPG diff --git a/photos/andaman19/DSC_0505_hu3a5ea53e83c86bb6f6edb82f66ef4861_1154643_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0505_hu3a5ea53e83c86bb6f6edb82f66ef4861_1154643_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..da50805 Binary files /dev/null and b/photos/andaman19/DSC_0505_hu3a5ea53e83c86bb6f6edb82f66ef4861_1154643_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0510.JPG b/photos/andaman19/DSC_0510.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0510.JPG rename to photos/andaman19/DSC_0510.JPG diff --git a/photos/andaman19/DSC_0510_hu3a5ea53e83c86bb6f6edb82f66ef4861_1190939_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0510_hu3a5ea53e83c86bb6f6edb82f66ef4861_1190939_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..564cae4 Binary files /dev/null and b/photos/andaman19/DSC_0510_hu3a5ea53e83c86bb6f6edb82f66ef4861_1190939_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0519.JPG b/photos/andaman19/DSC_0519.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0519.JPG rename to photos/andaman19/DSC_0519.JPG diff --git a/photos/andaman19/DSC_0519_hu3a5ea53e83c86bb6f6edb82f66ef4861_884055_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0519_hu3a5ea53e83c86bb6f6edb82f66ef4861_884055_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..6bd0b25 Binary files /dev/null and b/photos/andaman19/DSC_0519_hu3a5ea53e83c86bb6f6edb82f66ef4861_884055_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0556.JPG b/photos/andaman19/DSC_0556.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0556.JPG rename to photos/andaman19/DSC_0556.JPG diff --git a/photos/andaman19/DSC_0556_hu3a5ea53e83c86bb6f6edb82f66ef4861_1147287_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0556_hu3a5ea53e83c86bb6f6edb82f66ef4861_1147287_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..5024fc1 Binary files /dev/null and b/photos/andaman19/DSC_0556_hu3a5ea53e83c86bb6f6edb82f66ef4861_1147287_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0567.JPG b/photos/andaman19/DSC_0567.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0567.JPG rename to photos/andaman19/DSC_0567.JPG diff --git a/photos/andaman19/DSC_0567_hu3a5ea53e83c86bb6f6edb82f66ef4861_950886_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0567_hu3a5ea53e83c86bb6f6edb82f66ef4861_950886_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..e2864ef Binary files /dev/null and b/photos/andaman19/DSC_0567_hu3a5ea53e83c86bb6f6edb82f66ef4861_950886_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0576.JPG b/photos/andaman19/DSC_0576.JPG similarity index 100% rename from content/photos/andaman19/DSC_0576.JPG rename to photos/andaman19/DSC_0576.JPG diff --git a/photos/andaman19/DSC_0576_hua0e310fc5bc842c8de576f92b98a0755_570166_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0576_hua0e310fc5bc842c8de576f92b98a0755_570166_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..6e0e6ad Binary files /dev/null and b/photos/andaman19/DSC_0576_hua0e310fc5bc842c8de576f92b98a0755_570166_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0614.JPG b/photos/andaman19/DSC_0614.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0614.JPG rename to photos/andaman19/DSC_0614.JPG diff --git a/photos/andaman19/DSC_0614_hu3a5ea53e83c86bb6f6edb82f66ef4861_1001251_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0614_hu3a5ea53e83c86bb6f6edb82f66ef4861_1001251_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..2b154b6 Binary files /dev/null and b/photos/andaman19/DSC_0614_hu3a5ea53e83c86bb6f6edb82f66ef4861_1001251_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0629-Pano.JPG b/photos/andaman19/DSC_0629-Pano.JPG similarity index 100% rename from content/photos/andaman19/DSC_0629-Pano.JPG rename to photos/andaman19/DSC_0629-Pano.JPG diff --git a/photos/andaman19/DSC_0629-Pano_hua0e310fc5bc842c8de576f92b98a0755_800245_700x0_resize_q100_box.JPG b/photos/andaman19/DSC_0629-Pano_hua0e310fc5bc842c8de576f92b98a0755_800245_700x0_resize_q100_box.JPG new file mode 100644 index 0000000..071bd82 Binary files /dev/null and b/photos/andaman19/DSC_0629-Pano_hua0e310fc5bc842c8de576f92b98a0755_800245_700x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0647.JPG b/photos/andaman19/DSC_0647.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0647.JPG rename to photos/andaman19/DSC_0647.JPG diff --git a/photos/andaman19/DSC_0647_hu3a5ea53e83c86bb6f6edb82f66ef4861_1055473_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0647_hu3a5ea53e83c86bb6f6edb82f66ef4861_1055473_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..f6927dd Binary files /dev/null and b/photos/andaman19/DSC_0647_hu3a5ea53e83c86bb6f6edb82f66ef4861_1055473_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0649.JPG b/photos/andaman19/DSC_0649.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0649.JPG rename to photos/andaman19/DSC_0649.JPG diff --git a/photos/andaman19/DSC_0649_hu3a5ea53e83c86bb6f6edb82f66ef4861_1074913_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0649_hu3a5ea53e83c86bb6f6edb82f66ef4861_1074913_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..1780be8 Binary files /dev/null and b/photos/andaman19/DSC_0649_hu3a5ea53e83c86bb6f6edb82f66ef4861_1074913_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0657.JPG b/photos/andaman19/DSC_0657.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0657.JPG rename to photos/andaman19/DSC_0657.JPG diff --git a/photos/andaman19/DSC_0657_hu3a5ea53e83c86bb6f6edb82f66ef4861_793600_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0657_hu3a5ea53e83c86bb6f6edb82f66ef4861_793600_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..9122bcd Binary files /dev/null and b/photos/andaman19/DSC_0657_hu3a5ea53e83c86bb6f6edb82f66ef4861_793600_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0667.JPG b/photos/andaman19/DSC_0667.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0667.JPG rename to photos/andaman19/DSC_0667.JPG diff --git a/photos/andaman19/DSC_0667_hu3a5ea53e83c86bb6f6edb82f66ef4861_666193_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0667_hu3a5ea53e83c86bb6f6edb82f66ef4861_666193_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..8499897 Binary files /dev/null and b/photos/andaman19/DSC_0667_hu3a5ea53e83c86bb6f6edb82f66ef4861_666193_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0689.JPG b/photos/andaman19/DSC_0689.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0689.JPG rename to photos/andaman19/DSC_0689.JPG diff --git a/photos/andaman19/DSC_0689_hu3a5ea53e83c86bb6f6edb82f66ef4861_856007_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0689_hu3a5ea53e83c86bb6f6edb82f66ef4861_856007_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..1ff8d21 Binary files /dev/null and b/photos/andaman19/DSC_0689_hu3a5ea53e83c86bb6f6edb82f66ef4861_856007_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0692.JPG b/photos/andaman19/DSC_0692.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0692.JPG rename to photos/andaman19/DSC_0692.JPG diff --git a/photos/andaman19/DSC_0692_hu3a5ea53e83c86bb6f6edb82f66ef4861_1051674_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0692_hu3a5ea53e83c86bb6f6edb82f66ef4861_1051674_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..ac3d496 Binary files /dev/null and b/photos/andaman19/DSC_0692_hu3a5ea53e83c86bb6f6edb82f66ef4861_1051674_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0693.JPG b/photos/andaman19/DSC_0693.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0693.JPG rename to photos/andaman19/DSC_0693.JPG diff --git a/photos/andaman19/DSC_0693_hu3a5ea53e83c86bb6f6edb82f66ef4861_936728_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0693_hu3a5ea53e83c86bb6f6edb82f66ef4861_936728_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..41a0872 Binary files /dev/null and b/photos/andaman19/DSC_0693_hu3a5ea53e83c86bb6f6edb82f66ef4861_936728_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0697.JPG b/photos/andaman19/DSC_0697.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0697.JPG rename to photos/andaman19/DSC_0697.JPG diff --git a/photos/andaman19/DSC_0697_hu3a5ea53e83c86bb6f6edb82f66ef4861_1275538_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0697_hu3a5ea53e83c86bb6f6edb82f66ef4861_1275538_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..64ab56c Binary files /dev/null and b/photos/andaman19/DSC_0697_hu3a5ea53e83c86bb6f6edb82f66ef4861_1275538_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0768.JPG b/photos/andaman19/DSC_0768.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0768.JPG rename to photos/andaman19/DSC_0768.JPG diff --git a/photos/andaman19/DSC_0768_hu3a5ea53e83c86bb6f6edb82f66ef4861_722307_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0768_hu3a5ea53e83c86bb6f6edb82f66ef4861_722307_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..4bc7646 Binary files /dev/null and b/photos/andaman19/DSC_0768_hu3a5ea53e83c86bb6f6edb82f66ef4861_722307_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0772.JPG b/photos/andaman19/DSC_0772.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0772.JPG rename to photos/andaman19/DSC_0772.JPG diff --git a/photos/andaman19/DSC_0772_hu3a5ea53e83c86bb6f6edb82f66ef4861_1099149_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0772_hu3a5ea53e83c86bb6f6edb82f66ef4861_1099149_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..690dbeb Binary files /dev/null and b/photos/andaman19/DSC_0772_hu3a5ea53e83c86bb6f6edb82f66ef4861_1099149_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0773.JPG b/photos/andaman19/DSC_0773.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0773.JPG rename to photos/andaman19/DSC_0773.JPG diff --git a/photos/andaman19/DSC_0773_hu3a5ea53e83c86bb6f6edb82f66ef4861_788422_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0773_hu3a5ea53e83c86bb6f6edb82f66ef4861_788422_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..639ef36 Binary files /dev/null and b/photos/andaman19/DSC_0773_hu3a5ea53e83c86bb6f6edb82f66ef4861_788422_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0775.JPG b/photos/andaman19/DSC_0775.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0775.JPG rename to photos/andaman19/DSC_0775.JPG diff --git a/photos/andaman19/DSC_0775_hu3a5ea53e83c86bb6f6edb82f66ef4861_726495_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0775_hu3a5ea53e83c86bb6f6edb82f66ef4861_726495_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..3cef990 Binary files /dev/null and b/photos/andaman19/DSC_0775_hu3a5ea53e83c86bb6f6edb82f66ef4861_726495_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0787.JPG b/photos/andaman19/DSC_0787.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0787.JPG rename to photos/andaman19/DSC_0787.JPG diff --git a/photos/andaman19/DSC_0787_hu3a5ea53e83c86bb6f6edb82f66ef4861_806110_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0787_hu3a5ea53e83c86bb6f6edb82f66ef4861_806110_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..f7fbef3 Binary files /dev/null and b/photos/andaman19/DSC_0787_hu3a5ea53e83c86bb6f6edb82f66ef4861_806110_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_0808.JPG b/photos/andaman19/DSC_0808.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_0808.JPG rename to photos/andaman19/DSC_0808.JPG diff --git a/photos/andaman19/DSC_0808_hu3a5ea53e83c86bb6f6edb82f66ef4861_799787_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_0808_hu3a5ea53e83c86bb6f6edb82f66ef4861_799787_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..d55987e Binary files /dev/null and b/photos/andaman19/DSC_0808_hu3a5ea53e83c86bb6f6edb82f66ef4861_799787_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_1002.JPG b/photos/andaman19/DSC_1002.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_1002.JPG rename to photos/andaman19/DSC_1002.JPG diff --git a/photos/andaman19/DSC_1002_hu3a5ea53e83c86bb6f6edb82f66ef4861_1013867_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_1002_hu3a5ea53e83c86bb6f6edb82f66ef4861_1013867_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..ad8f175 Binary files /dev/null and b/photos/andaman19/DSC_1002_hu3a5ea53e83c86bb6f6edb82f66ef4861_1013867_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_1005.JPG b/photos/andaman19/DSC_1005.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_1005.JPG rename to photos/andaman19/DSC_1005.JPG diff --git a/photos/andaman19/DSC_1005_hu3a5ea53e83c86bb6f6edb82f66ef4861_919632_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_1005_hu3a5ea53e83c86bb6f6edb82f66ef4861_919632_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..fe4548f Binary files /dev/null and b/photos/andaman19/DSC_1005_hu3a5ea53e83c86bb6f6edb82f66ef4861_919632_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_1087.JPG b/photos/andaman19/DSC_1087.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_1087.JPG rename to photos/andaman19/DSC_1087.JPG diff --git a/photos/andaman19/DSC_1087_hu3a5ea53e83c86bb6f6edb82f66ef4861_553197_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_1087_hu3a5ea53e83c86bb6f6edb82f66ef4861_553197_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..8e646bf Binary files /dev/null and b/photos/andaman19/DSC_1087_hu3a5ea53e83c86bb6f6edb82f66ef4861_553197_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_1119.JPG b/photos/andaman19/DSC_1119.JPG similarity index 100% rename from content/photos/andaman19/DSC_1119.JPG rename to photos/andaman19/DSC_1119.JPG diff --git a/photos/andaman19/DSC_1119_hua0e310fc5bc842c8de576f92b98a0755_441803_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_1119_hua0e310fc5bc842c8de576f92b98a0755_441803_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..764d75d Binary files /dev/null and b/photos/andaman19/DSC_1119_hua0e310fc5bc842c8de576f92b98a0755_441803_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_1169.JPG b/photos/andaman19/DSC_1169.JPG similarity index 100% rename from content/photos/andaman19/DSC_1169.JPG rename to photos/andaman19/DSC_1169.JPG diff --git a/photos/andaman19/DSC_1169_hua0e310fc5bc842c8de576f92b98a0755_613700_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_1169_hua0e310fc5bc842c8de576f92b98a0755_613700_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..d799df6 Binary files /dev/null and b/photos/andaman19/DSC_1169_hua0e310fc5bc842c8de576f92b98a0755_613700_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_1191.JPG b/photos/andaman19/DSC_1191.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_1191.JPG rename to photos/andaman19/DSC_1191.JPG diff --git a/photos/andaman19/DSC_1191_hu3a5ea53e83c86bb6f6edb82f66ef4861_803415_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_1191_hu3a5ea53e83c86bb6f6edb82f66ef4861_803415_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..440ccbc Binary files /dev/null and b/photos/andaman19/DSC_1191_hu3a5ea53e83c86bb6f6edb82f66ef4861_803415_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_1215.JPG b/photos/andaman19/DSC_1215.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_1215.JPG rename to photos/andaman19/DSC_1215.JPG diff --git a/photos/andaman19/DSC_1215_hu3a5ea53e83c86bb6f6edb82f66ef4861_750136_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_1215_hu3a5ea53e83c86bb6f6edb82f66ef4861_750136_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..b3bb4aa Binary files /dev/null and b/photos/andaman19/DSC_1215_hu3a5ea53e83c86bb6f6edb82f66ef4861_750136_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_1227.JPG b/photos/andaman19/DSC_1227.JPG similarity index 100% rename from content/photos/andaman19/DSC_1227.JPG rename to photos/andaman19/DSC_1227.JPG diff --git a/photos/andaman19/DSC_1227_hua0e310fc5bc842c8de576f92b98a0755_740217_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_1227_hua0e310fc5bc842c8de576f92b98a0755_740217_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..80f7d8d Binary files /dev/null and b/photos/andaman19/DSC_1227_hua0e310fc5bc842c8de576f92b98a0755_740217_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_1233.JPG b/photos/andaman19/DSC_1233.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_1233.JPG rename to photos/andaman19/DSC_1233.JPG diff --git a/photos/andaman19/DSC_1233_hu3a5ea53e83c86bb6f6edb82f66ef4861_958459_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_1233_hu3a5ea53e83c86bb6f6edb82f66ef4861_958459_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..adc6331 Binary files /dev/null and b/photos/andaman19/DSC_1233_hu3a5ea53e83c86bb6f6edb82f66ef4861_958459_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_1257.JPG b/photos/andaman19/DSC_1257.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_1257.JPG rename to photos/andaman19/DSC_1257.JPG diff --git a/photos/andaman19/DSC_1257_hu3a5ea53e83c86bb6f6edb82f66ef4861_1066782_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_1257_hu3a5ea53e83c86bb6f6edb82f66ef4861_1066782_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..8501da0 Binary files /dev/null and b/photos/andaman19/DSC_1257_hu3a5ea53e83c86bb6f6edb82f66ef4861_1066782_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_1285.JPG b/photos/andaman19/DSC_1285.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_1285.JPG rename to photos/andaman19/DSC_1285.JPG diff --git a/photos/andaman19/DSC_1285_hu3a5ea53e83c86bb6f6edb82f66ef4861_1050818_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_1285_hu3a5ea53e83c86bb6f6edb82f66ef4861_1050818_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..0582ed8 Binary files /dev/null and b/photos/andaman19/DSC_1285_hu3a5ea53e83c86bb6f6edb82f66ef4861_1050818_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_1310.JPG b/photos/andaman19/DSC_1310.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_1310.JPG rename to photos/andaman19/DSC_1310.JPG diff --git a/photos/andaman19/DSC_1310_hu3a5ea53e83c86bb6f6edb82f66ef4861_1016458_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_1310_hu3a5ea53e83c86bb6f6edb82f66ef4861_1016458_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..1697179 Binary files /dev/null and b/photos/andaman19/DSC_1310_hu3a5ea53e83c86bb6f6edb82f66ef4861_1016458_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_1315.JPG b/photos/andaman19/DSC_1315.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_1315.JPG rename to photos/andaman19/DSC_1315.JPG diff --git a/photos/andaman19/DSC_1315_hu3a5ea53e83c86bb6f6edb82f66ef4861_1170946_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_1315_hu3a5ea53e83c86bb6f6edb82f66ef4861_1170946_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..39a94d4 Binary files /dev/null and b/photos/andaman19/DSC_1315_hu3a5ea53e83c86bb6f6edb82f66ef4861_1170946_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_1373.JPG b/photos/andaman19/DSC_1373.JPG similarity index 100% rename from content/photos/andaman19/DSC_1373.JPG rename to photos/andaman19/DSC_1373.JPG diff --git a/photos/andaman19/DSC_1373_hua0e310fc5bc842c8de576f92b98a0755_734515_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_1373_hua0e310fc5bc842c8de576f92b98a0755_734515_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..563a423 Binary files /dev/null and b/photos/andaman19/DSC_1373_hua0e310fc5bc842c8de576f92b98a0755_734515_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_1391.JPG b/photos/andaman19/DSC_1391.JPG similarity index 100% rename from content/photos/andaman19/DSC_1391.JPG rename to photos/andaman19/DSC_1391.JPG diff --git a/photos/andaman19/DSC_1391_hua0e310fc5bc842c8de576f92b98a0755_492039_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_1391_hua0e310fc5bc842c8de576f92b98a0755_492039_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..4b9a0d7 Binary files /dev/null and b/photos/andaman19/DSC_1391_hua0e310fc5bc842c8de576f92b98a0755_492039_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/DSC_1423.JPG b/photos/andaman19/DSC_1423.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/DSC_1423.JPG rename to photos/andaman19/DSC_1423.JPG diff --git a/photos/andaman19/DSC_1423_hu3a5ea53e83c86bb6f6edb82f66ef4861_771960_350x0_resize_q100_box.JPG b/photos/andaman19/DSC_1423_hu3a5ea53e83c86bb6f6edb82f66ef4861_771960_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..86e2676 Binary files /dev/null and b/photos/andaman19/DSC_1423_hu3a5ea53e83c86bb6f6edb82f66ef4861_771960_350x0_resize_q100_box.JPG differ diff --git a/content/photos/andaman19/IMG_20190609_085728-Pano.jpg b/photos/andaman19/IMG_20190609_085728-Pano.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/andaman19/IMG_20190609_085728-Pano.jpg rename to photos/andaman19/IMG_20190609_085728-Pano.jpg diff --git a/photos/andaman19/IMG_20190609_085728-Pano_hu0c711fd57ec9810c8019892b81cf51ba_1081326_700x0_resize_q100_box.jpg b/photos/andaman19/IMG_20190609_085728-Pano_hu0c711fd57ec9810c8019892b81cf51ba_1081326_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..f3c07d9 Binary files /dev/null and b/photos/andaman19/IMG_20190609_085728-Pano_hu0c711fd57ec9810c8019892b81cf51ba_1081326_700x0_resize_q100_box.jpg differ diff --git a/photos/andaman19/index.html b/photos/andaman19/index.html new file mode 100644 index 0000000..0561613 --- /dev/null +++ b/photos/andaman19/index.html @@ -0,0 +1,57 @@ +Andaman Islands · Sid Verma

‹ Sid Verma

Andaman Islands

2019 Jun
Port Blair, Andaman Islands, India

Family took a few days off to spend some time in the Andaman Islands.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Shot on Nikon D5300 and Oneplus 3


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/content/photos/backpacking19/DSC_0000.jpeg b/photos/backpacking19/DSC_0000.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0000.jpeg rename to photos/backpacking19/DSC_0000.jpeg diff --git a/photos/backpacking19/DSC_0000_hu3a5ea53e83c86bb6f6edb82f66ef4861_663242_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0000_hu3a5ea53e83c86bb6f6edb82f66ef4861_663242_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..2a0f340 Binary files /dev/null and b/photos/backpacking19/DSC_0000_hu3a5ea53e83c86bb6f6edb82f66ef4861_663242_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0001.jpeg b/photos/backpacking19/DSC_0001.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0001.jpeg rename to photos/backpacking19/DSC_0001.jpeg diff --git a/photos/backpacking19/DSC_0001_hu329d4859f176d756f3e20d1867904c1a_4412296_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0001_hu329d4859f176d756f3e20d1867904c1a_4412296_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..25f6af1 Binary files /dev/null and b/photos/backpacking19/DSC_0001_hu329d4859f176d756f3e20d1867904c1a_4412296_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0003-Pano.jpeg b/photos/backpacking19/DSC_0003-Pano.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0003-Pano.jpeg rename to photos/backpacking19/DSC_0003-Pano.jpeg diff --git a/photos/backpacking19/DSC_0003-Pano_hued7e8dd8dd23130b60091eda85c56867_6846242_700x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0003-Pano_hued7e8dd8dd23130b60091eda85c56867_6846242_700x0_resize_q100_box.jpeg new file mode 100644 index 0000000..be15c3e Binary files /dev/null and b/photos/backpacking19/DSC_0003-Pano_hued7e8dd8dd23130b60091eda85c56867_6846242_700x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0005.jpeg b/photos/backpacking19/DSC_0005.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0005.jpeg rename to photos/backpacking19/DSC_0005.jpeg diff --git a/photos/backpacking19/DSC_0005_hued7e8dd8dd23130b60091eda85c56867_2661431_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0005_hued7e8dd8dd23130b60091eda85c56867_2661431_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..93589c0 Binary files /dev/null and b/photos/backpacking19/DSC_0005_hued7e8dd8dd23130b60091eda85c56867_2661431_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0007.jpeg b/photos/backpacking19/DSC_0007.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0007.jpeg rename to photos/backpacking19/DSC_0007.jpeg diff --git a/photos/backpacking19/DSC_0007_hu6315c661154c599c1b6911cac9b1bfd8_2854652_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0007_hu6315c661154c599c1b6911cac9b1bfd8_2854652_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..2ef8c5f Binary files /dev/null and b/photos/backpacking19/DSC_0007_hu6315c661154c599c1b6911cac9b1bfd8_2854652_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0012.jpeg b/photos/backpacking19/DSC_0012.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0012.jpeg rename to photos/backpacking19/DSC_0012.jpeg diff --git a/photos/backpacking19/DSC_0012_hu3a5ea53e83c86bb6f6edb82f66ef4861_1010687_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0012_hu3a5ea53e83c86bb6f6edb82f66ef4861_1010687_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..7e76a01 Binary files /dev/null and b/photos/backpacking19/DSC_0012_hu3a5ea53e83c86bb6f6edb82f66ef4861_1010687_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0016.jpeg b/photos/backpacking19/DSC_0016.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0016.jpeg rename to photos/backpacking19/DSC_0016.jpeg diff --git a/photos/backpacking19/DSC_0016_hu3a5ea53e83c86bb6f6edb82f66ef4861_788045_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0016_hu3a5ea53e83c86bb6f6edb82f66ef4861_788045_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..27ef47a Binary files /dev/null and b/photos/backpacking19/DSC_0016_hu3a5ea53e83c86bb6f6edb82f66ef4861_788045_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0024-Pano.jpeg b/photos/backpacking19/DSC_0024-Pano.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0024-Pano.jpeg rename to photos/backpacking19/DSC_0024-Pano.jpeg diff --git a/photos/backpacking19/DSC_0024-Pano_hu3a5ea53e83c86bb6f6edb82f66ef4861_624127_700x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0024-Pano_hu3a5ea53e83c86bb6f6edb82f66ef4861_624127_700x0_resize_q100_box.jpeg new file mode 100644 index 0000000..ef3c399 Binary files /dev/null and b/photos/backpacking19/DSC_0024-Pano_hu3a5ea53e83c86bb6f6edb82f66ef4861_624127_700x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0025-Pano.jpg b/photos/backpacking19/DSC_0025-Pano.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/backpacking19/DSC_0025-Pano.jpg rename to photos/backpacking19/DSC_0025-Pano.jpg diff --git a/photos/backpacking19/DSC_0025-Pano_hu329d4859f176d756f3e20d1867904c1a_1054107_700x0_resize_q100_box.jpg b/photos/backpacking19/DSC_0025-Pano_hu329d4859f176d756f3e20d1867904c1a_1054107_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..d829290 Binary files /dev/null and b/photos/backpacking19/DSC_0025-Pano_hu329d4859f176d756f3e20d1867904c1a_1054107_700x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/DSC_0026.jpeg b/photos/backpacking19/DSC_0026.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0026.jpeg rename to photos/backpacking19/DSC_0026.jpeg diff --git a/photos/backpacking19/DSC_0026_hu3a5ea53e83c86bb6f6edb82f66ef4861_1059384_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0026_hu3a5ea53e83c86bb6f6edb82f66ef4861_1059384_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..e9b3389 Binary files /dev/null and b/photos/backpacking19/DSC_0026_hu3a5ea53e83c86bb6f6edb82f66ef4861_1059384_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0028.jpeg b/photos/backpacking19/DSC_0028.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0028.jpeg rename to photos/backpacking19/DSC_0028.jpeg diff --git a/photos/backpacking19/DSC_0028_hufd1b001e36fd34f63e4195b56c6c5481_141720_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0028_hufd1b001e36fd34f63e4195b56c6c5481_141720_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..154db13 Binary files /dev/null and b/photos/backpacking19/DSC_0028_hufd1b001e36fd34f63e4195b56c6c5481_141720_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0042.jpeg b/photos/backpacking19/DSC_0042.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0042.jpeg rename to photos/backpacking19/DSC_0042.jpeg diff --git a/photos/backpacking19/DSC_0042_hu3a5ea53e83c86bb6f6edb82f66ef4861_704303_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0042_hu3a5ea53e83c86bb6f6edb82f66ef4861_704303_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..98acfca Binary files /dev/null and b/photos/backpacking19/DSC_0042_hu3a5ea53e83c86bb6f6edb82f66ef4861_704303_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0054.jpeg b/photos/backpacking19/DSC_0054.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0054.jpeg rename to photos/backpacking19/DSC_0054.jpeg diff --git a/photos/backpacking19/DSC_0054_hu3a5ea53e83c86bb6f6edb82f66ef4861_751303_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0054_hu3a5ea53e83c86bb6f6edb82f66ef4861_751303_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..2349ab8 Binary files /dev/null and b/photos/backpacking19/DSC_0054_hu3a5ea53e83c86bb6f6edb82f66ef4861_751303_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0103.jpeg b/photos/backpacking19/DSC_0103.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0103.jpeg rename to photos/backpacking19/DSC_0103.jpeg diff --git a/photos/backpacking19/DSC_0103_hu3a5ea53e83c86bb6f6edb82f66ef4861_967098_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0103_hu3a5ea53e83c86bb6f6edb82f66ef4861_967098_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..a0e1d34 Binary files /dev/null and b/photos/backpacking19/DSC_0103_hu3a5ea53e83c86bb6f6edb82f66ef4861_967098_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0113.jpeg b/photos/backpacking19/DSC_0113.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0113.jpeg rename to photos/backpacking19/DSC_0113.jpeg diff --git a/photos/backpacking19/DSC_0113_hu3a5ea53e83c86bb6f6edb82f66ef4861_792799_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0113_hu3a5ea53e83c86bb6f6edb82f66ef4861_792799_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..dd031e2 Binary files /dev/null and b/photos/backpacking19/DSC_0113_hu3a5ea53e83c86bb6f6edb82f66ef4861_792799_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0119.jpeg b/photos/backpacking19/DSC_0119.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0119.jpeg rename to photos/backpacking19/DSC_0119.jpeg diff --git a/photos/backpacking19/DSC_0119_hu3a5ea53e83c86bb6f6edb82f66ef4861_884416_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0119_hu3a5ea53e83c86bb6f6edb82f66ef4861_884416_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..8e988d9 Binary files /dev/null and b/photos/backpacking19/DSC_0119_hu3a5ea53e83c86bb6f6edb82f66ef4861_884416_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0121.jpeg b/photos/backpacking19/DSC_0121.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0121.jpeg rename to photos/backpacking19/DSC_0121.jpeg diff --git a/photos/backpacking19/DSC_0121_hu3a5ea53e83c86bb6f6edb82f66ef4861_677970_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0121_hu3a5ea53e83c86bb6f6edb82f66ef4861_677970_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..5dafb34 Binary files /dev/null and b/photos/backpacking19/DSC_0121_hu3a5ea53e83c86bb6f6edb82f66ef4861_677970_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0130.jpeg b/photos/backpacking19/DSC_0130.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0130.jpeg rename to photos/backpacking19/DSC_0130.jpeg diff --git a/photos/backpacking19/DSC_0130_hu3a5ea53e83c86bb6f6edb82f66ef4861_819332_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0130_hu3a5ea53e83c86bb6f6edb82f66ef4861_819332_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..1b5b32f Binary files /dev/null and b/photos/backpacking19/DSC_0130_hu3a5ea53e83c86bb6f6edb82f66ef4861_819332_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0146.jpeg b/photos/backpacking19/DSC_0146.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0146.jpeg rename to photos/backpacking19/DSC_0146.jpeg diff --git a/photos/backpacking19/DSC_0146_hu3a5ea53e83c86bb6f6edb82f66ef4861_776181_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0146_hu3a5ea53e83c86bb6f6edb82f66ef4861_776181_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..6fa947b Binary files /dev/null and b/photos/backpacking19/DSC_0146_hu3a5ea53e83c86bb6f6edb82f66ef4861_776181_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0180.jpeg b/photos/backpacking19/DSC_0180.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0180.jpeg rename to photos/backpacking19/DSC_0180.jpeg diff --git a/photos/backpacking19/DSC_0180_hued7e8dd8dd23130b60091eda85c56867_2234717_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0180_hued7e8dd8dd23130b60091eda85c56867_2234717_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..670230f Binary files /dev/null and b/photos/backpacking19/DSC_0180_hued7e8dd8dd23130b60091eda85c56867_2234717_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0219.jpeg b/photos/backpacking19/DSC_0219.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0219.jpeg rename to photos/backpacking19/DSC_0219.jpeg diff --git a/photos/backpacking19/DSC_0219_hu3a5ea53e83c86bb6f6edb82f66ef4861_1028473_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0219_hu3a5ea53e83c86bb6f6edb82f66ef4861_1028473_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..577f987 Binary files /dev/null and b/photos/backpacking19/DSC_0219_hu3a5ea53e83c86bb6f6edb82f66ef4861_1028473_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0224.jpeg b/photos/backpacking19/DSC_0224.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0224.jpeg rename to photos/backpacking19/DSC_0224.jpeg diff --git a/photos/backpacking19/DSC_0224_hu3a5ea53e83c86bb6f6edb82f66ef4861_950292_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0224_hu3a5ea53e83c86bb6f6edb82f66ef4861_950292_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..8a08eba Binary files /dev/null and b/photos/backpacking19/DSC_0224_hu3a5ea53e83c86bb6f6edb82f66ef4861_950292_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0228.jpeg b/photos/backpacking19/DSC_0228.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0228.jpeg rename to photos/backpacking19/DSC_0228.jpeg diff --git a/photos/backpacking19/DSC_0228_hu3a5ea53e83c86bb6f6edb82f66ef4861_979217_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0228_hu3a5ea53e83c86bb6f6edb82f66ef4861_979217_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..e8b7834 Binary files /dev/null and b/photos/backpacking19/DSC_0228_hu3a5ea53e83c86bb6f6edb82f66ef4861_979217_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0285.jpeg b/photos/backpacking19/DSC_0285.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0285.jpeg rename to photos/backpacking19/DSC_0285.jpeg diff --git a/photos/backpacking19/DSC_0285_hu901b6a857769492b0393c0228a1bb2e7_3718615_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0285_hu901b6a857769492b0393c0228a1bb2e7_3718615_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..31a8f72 Binary files /dev/null and b/photos/backpacking19/DSC_0285_hu901b6a857769492b0393c0228a1bb2e7_3718615_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0296.jpeg b/photos/backpacking19/DSC_0296.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0296.jpeg rename to photos/backpacking19/DSC_0296.jpeg diff --git a/photos/backpacking19/DSC_0296_hu3a5ea53e83c86bb6f6edb82f66ef4861_848022_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0296_hu3a5ea53e83c86bb6f6edb82f66ef4861_848022_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..756242b Binary files /dev/null and b/photos/backpacking19/DSC_0296_hu3a5ea53e83c86bb6f6edb82f66ef4861_848022_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0334.jpeg b/photos/backpacking19/DSC_0334.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0334.jpeg rename to photos/backpacking19/DSC_0334.jpeg diff --git a/photos/backpacking19/DSC_0334_hu3a5ea53e83c86bb6f6edb82f66ef4861_1037032_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0334_hu3a5ea53e83c86bb6f6edb82f66ef4861_1037032_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..4273e60 Binary files /dev/null and b/photos/backpacking19/DSC_0334_hu3a5ea53e83c86bb6f6edb82f66ef4861_1037032_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0338.jpeg b/photos/backpacking19/DSC_0338.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0338.jpeg rename to photos/backpacking19/DSC_0338.jpeg diff --git a/photos/backpacking19/DSC_0338_hu3a5ea53e83c86bb6f6edb82f66ef4861_1076248_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0338_hu3a5ea53e83c86bb6f6edb82f66ef4861_1076248_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..fd5322f Binary files /dev/null and b/photos/backpacking19/DSC_0338_hu3a5ea53e83c86bb6f6edb82f66ef4861_1076248_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0356-Pano.jpg b/photos/backpacking19/DSC_0356-Pano.jpg similarity index 100% rename from content/photos/backpacking19/DSC_0356-Pano.jpg rename to photos/backpacking19/DSC_0356-Pano.jpg diff --git a/photos/backpacking19/DSC_0356-Pano_hue01fb8cf0806bf4ee2013a331fa1660a_668556_700x0_resize_q100_box.jpg b/photos/backpacking19/DSC_0356-Pano_hue01fb8cf0806bf4ee2013a331fa1660a_668556_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..fc7fd62 Binary files /dev/null and b/photos/backpacking19/DSC_0356-Pano_hue01fb8cf0806bf4ee2013a331fa1660a_668556_700x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/DSC_0424.jpeg b/photos/backpacking19/DSC_0424.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0424.jpeg rename to photos/backpacking19/DSC_0424.jpeg diff --git a/photos/backpacking19/DSC_0424_hu3a5ea53e83c86bb6f6edb82f66ef4861_1080734_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0424_hu3a5ea53e83c86bb6f6edb82f66ef4861_1080734_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..9cbfbe0 Binary files /dev/null and b/photos/backpacking19/DSC_0424_hu3a5ea53e83c86bb6f6edb82f66ef4861_1080734_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0431.jpeg b/photos/backpacking19/DSC_0431.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0431.jpeg rename to photos/backpacking19/DSC_0431.jpeg diff --git a/photos/backpacking19/DSC_0431_hu3a5ea53e83c86bb6f6edb82f66ef4861_887355_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0431_hu3a5ea53e83c86bb6f6edb82f66ef4861_887355_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..b69721e Binary files /dev/null and b/photos/backpacking19/DSC_0431_hu3a5ea53e83c86bb6f6edb82f66ef4861_887355_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0441-HDR.jpg b/photos/backpacking19/DSC_0441-HDR.jpg similarity index 100% rename from content/photos/backpacking19/DSC_0441-HDR.jpg rename to photos/backpacking19/DSC_0441-HDR.jpg diff --git a/photos/backpacking19/DSC_0441-HDR_hud5c3cad3db40aeafe329b30e0ea5adc0_410887_350x0_resize_q100_box.jpg b/photos/backpacking19/DSC_0441-HDR_hud5c3cad3db40aeafe329b30e0ea5adc0_410887_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..40a9f47 Binary files /dev/null and b/photos/backpacking19/DSC_0441-HDR_hud5c3cad3db40aeafe329b30e0ea5adc0_410887_350x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/DSC_0459-HDR.jpg b/photos/backpacking19/DSC_0459-HDR.jpg similarity index 100% rename from content/photos/backpacking19/DSC_0459-HDR.jpg rename to photos/backpacking19/DSC_0459-HDR.jpg diff --git a/photos/backpacking19/DSC_0459-HDR_hud5c3cad3db40aeafe329b30e0ea5adc0_170378_350x0_resize_q100_box.jpg b/photos/backpacking19/DSC_0459-HDR_hud5c3cad3db40aeafe329b30e0ea5adc0_170378_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..84275c5 Binary files /dev/null and b/photos/backpacking19/DSC_0459-HDR_hud5c3cad3db40aeafe329b30e0ea5adc0_170378_350x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/DSC_0474-HDR.jpg b/photos/backpacking19/DSC_0474-HDR.jpg similarity index 100% rename from content/photos/backpacking19/DSC_0474-HDR.jpg rename to photos/backpacking19/DSC_0474-HDR.jpg diff --git a/photos/backpacking19/DSC_0474-HDR_hud5c3cad3db40aeafe329b30e0ea5adc0_267413_350x0_resize_q100_box.jpg b/photos/backpacking19/DSC_0474-HDR_hud5c3cad3db40aeafe329b30e0ea5adc0_267413_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..5671efc Binary files /dev/null and b/photos/backpacking19/DSC_0474-HDR_hud5c3cad3db40aeafe329b30e0ea5adc0_267413_350x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/DSC_0479-HDR.jpg b/photos/backpacking19/DSC_0479-HDR.jpg similarity index 100% rename from content/photos/backpacking19/DSC_0479-HDR.jpg rename to photos/backpacking19/DSC_0479-HDR.jpg diff --git a/photos/backpacking19/DSC_0479-HDR_hud5c3cad3db40aeafe329b30e0ea5adc0_312547_350x0_resize_q100_box.jpg b/photos/backpacking19/DSC_0479-HDR_hud5c3cad3db40aeafe329b30e0ea5adc0_312547_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..143f816 Binary files /dev/null and b/photos/backpacking19/DSC_0479-HDR_hud5c3cad3db40aeafe329b30e0ea5adc0_312547_350x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/DSC_0504.jpeg b/photos/backpacking19/DSC_0504.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0504.jpeg rename to photos/backpacking19/DSC_0504.jpeg diff --git a/photos/backpacking19/DSC_0504_hu3a5ea53e83c86bb6f6edb82f66ef4861_884990_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0504_hu3a5ea53e83c86bb6f6edb82f66ef4861_884990_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..dc97974 Binary files /dev/null and b/photos/backpacking19/DSC_0504_hu3a5ea53e83c86bb6f6edb82f66ef4861_884990_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0529.jpeg b/photos/backpacking19/DSC_0529.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0529.jpeg rename to photos/backpacking19/DSC_0529.jpeg diff --git a/photos/backpacking19/DSC_0529_hu3a5ea53e83c86bb6f6edb82f66ef4861_940467_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0529_hu3a5ea53e83c86bb6f6edb82f66ef4861_940467_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..f39216a Binary files /dev/null and b/photos/backpacking19/DSC_0529_hu3a5ea53e83c86bb6f6edb82f66ef4861_940467_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0540.jpeg b/photos/backpacking19/DSC_0540.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0540.jpeg rename to photos/backpacking19/DSC_0540.jpeg diff --git a/photos/backpacking19/DSC_0540_hu3a5ea53e83c86bb6f6edb82f66ef4861_1012325_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0540_hu3a5ea53e83c86bb6f6edb82f66ef4861_1012325_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..69269ff Binary files /dev/null and b/photos/backpacking19/DSC_0540_hu3a5ea53e83c86bb6f6edb82f66ef4861_1012325_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0566.jpeg b/photos/backpacking19/DSC_0566.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0566.jpeg rename to photos/backpacking19/DSC_0566.jpeg diff --git a/photos/backpacking19/DSC_0566_hu3a5ea53e83c86bb6f6edb82f66ef4861_938752_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0566_hu3a5ea53e83c86bb6f6edb82f66ef4861_938752_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..ad009c9 Binary files /dev/null and b/photos/backpacking19/DSC_0566_hu3a5ea53e83c86bb6f6edb82f66ef4861_938752_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0581.jpeg b/photos/backpacking19/DSC_0581.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0581.jpeg rename to photos/backpacking19/DSC_0581.jpeg diff --git a/photos/backpacking19/DSC_0581_hu3a5ea53e83c86bb6f6edb82f66ef4861_854676_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0581_hu3a5ea53e83c86bb6f6edb82f66ef4861_854676_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..48ac4fc Binary files /dev/null and b/photos/backpacking19/DSC_0581_hu3a5ea53e83c86bb6f6edb82f66ef4861_854676_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0582.jpeg b/photos/backpacking19/DSC_0582.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0582.jpeg rename to photos/backpacking19/DSC_0582.jpeg diff --git a/photos/backpacking19/DSC_0582_hu3a5ea53e83c86bb6f6edb82f66ef4861_889858_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0582_hu3a5ea53e83c86bb6f6edb82f66ef4861_889858_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..b8010f1 Binary files /dev/null and b/photos/backpacking19/DSC_0582_hu3a5ea53e83c86bb6f6edb82f66ef4861_889858_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0617.jpeg b/photos/backpacking19/DSC_0617.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0617.jpeg rename to photos/backpacking19/DSC_0617.jpeg diff --git a/photos/backpacking19/DSC_0617_hu901b6a857769492b0393c0228a1bb2e7_819001_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0617_hu901b6a857769492b0393c0228a1bb2e7_819001_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..5c7b2a9 Binary files /dev/null and b/photos/backpacking19/DSC_0617_hu901b6a857769492b0393c0228a1bb2e7_819001_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0630.jpeg b/photos/backpacking19/DSC_0630.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0630.jpeg rename to photos/backpacking19/DSC_0630.jpeg diff --git a/photos/backpacking19/DSC_0630_hu3a5ea53e83c86bb6f6edb82f66ef4861_997849_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0630_hu3a5ea53e83c86bb6f6edb82f66ef4861_997849_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..5652e3e Binary files /dev/null and b/photos/backpacking19/DSC_0630_hu3a5ea53e83c86bb6f6edb82f66ef4861_997849_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0655.jpeg b/photos/backpacking19/DSC_0655.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0655.jpeg rename to photos/backpacking19/DSC_0655.jpeg diff --git a/photos/backpacking19/DSC_0655_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_427548_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0655_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_427548_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..fa2a07c Binary files /dev/null and b/photos/backpacking19/DSC_0655_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_427548_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0662.jpeg b/photos/backpacking19/DSC_0662.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0662.jpeg rename to photos/backpacking19/DSC_0662.jpeg diff --git a/photos/backpacking19/DSC_0662_hu3a5ea53e83c86bb6f6edb82f66ef4861_714830_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0662_hu3a5ea53e83c86bb6f6edb82f66ef4861_714830_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..e98900a Binary files /dev/null and b/photos/backpacking19/DSC_0662_hu3a5ea53e83c86bb6f6edb82f66ef4861_714830_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0679.jpeg b/photos/backpacking19/DSC_0679.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0679.jpeg rename to photos/backpacking19/DSC_0679.jpeg diff --git a/photos/backpacking19/DSC_0679_huc6c050144b7696d0e76b883227d1cd77_584520_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0679_huc6c050144b7696d0e76b883227d1cd77_584520_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..814fd5f Binary files /dev/null and b/photos/backpacking19/DSC_0679_huc6c050144b7696d0e76b883227d1cd77_584520_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0691.jpeg b/photos/backpacking19/DSC_0691.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0691.jpeg rename to photos/backpacking19/DSC_0691.jpeg diff --git a/photos/backpacking19/DSC_0691_hu3a5ea53e83c86bb6f6edb82f66ef4861_612487_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0691_hu3a5ea53e83c86bb6f6edb82f66ef4861_612487_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..c4e0eed Binary files /dev/null and b/photos/backpacking19/DSC_0691_hu3a5ea53e83c86bb6f6edb82f66ef4861_612487_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0699.jpeg b/photos/backpacking19/DSC_0699.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0699.jpeg rename to photos/backpacking19/DSC_0699.jpeg diff --git a/photos/backpacking19/DSC_0699_hu3a5ea53e83c86bb6f6edb82f66ef4861_834051_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0699_hu3a5ea53e83c86bb6f6edb82f66ef4861_834051_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..0de2426 Binary files /dev/null and b/photos/backpacking19/DSC_0699_hu3a5ea53e83c86bb6f6edb82f66ef4861_834051_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0704.jpeg b/photos/backpacking19/DSC_0704.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0704.jpeg rename to photos/backpacking19/DSC_0704.jpeg diff --git a/photos/backpacking19/DSC_0704_hu3a5ea53e83c86bb6f6edb82f66ef4861_832868_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0704_hu3a5ea53e83c86bb6f6edb82f66ef4861_832868_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..e3d61ae Binary files /dev/null and b/photos/backpacking19/DSC_0704_hu3a5ea53e83c86bb6f6edb82f66ef4861_832868_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0705.jpeg b/photos/backpacking19/DSC_0705.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0705.jpeg rename to photos/backpacking19/DSC_0705.jpeg diff --git a/photos/backpacking19/DSC_0705_hu3a5ea53e83c86bb6f6edb82f66ef4861_993673_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0705_hu3a5ea53e83c86bb6f6edb82f66ef4861_993673_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..79a8e5d Binary files /dev/null and b/photos/backpacking19/DSC_0705_hu3a5ea53e83c86bb6f6edb82f66ef4861_993673_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/DSC_0708.jpeg b/photos/backpacking19/DSC_0708.jpeg similarity index 100% rename from content/photos/backpacking19/DSC_0708.jpeg rename to photos/backpacking19/DSC_0708.jpeg diff --git a/photos/backpacking19/DSC_0708_hu3a5ea53e83c86bb6f6edb82f66ef4861_948821_350x0_resize_q100_box.jpeg b/photos/backpacking19/DSC_0708_hu3a5ea53e83c86bb6f6edb82f66ef4861_948821_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..f38f532 Binary files /dev/null and b/photos/backpacking19/DSC_0708_hu3a5ea53e83c86bb6f6edb82f66ef4861_948821_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/IMG_20190922_142216.jpeg b/photos/backpacking19/IMG_20190922_142216.jpeg similarity index 100% rename from content/photos/backpacking19/IMG_20190922_142216.jpeg rename to photos/backpacking19/IMG_20190922_142216.jpeg diff --git a/photos/backpacking19/IMG_20190922_142216_hu0c711fd57ec9810c8019892b81cf51ba_2752018_350x0_resize_q100_box.jpeg b/photos/backpacking19/IMG_20190922_142216_hu0c711fd57ec9810c8019892b81cf51ba_2752018_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..af724ab Binary files /dev/null and b/photos/backpacking19/IMG_20190922_142216_hu0c711fd57ec9810c8019892b81cf51ba_2752018_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/IMG_20190922_161406.jpeg b/photos/backpacking19/IMG_20190922_161406.jpeg similarity index 100% rename from content/photos/backpacking19/IMG_20190922_161406.jpeg rename to photos/backpacking19/IMG_20190922_161406.jpeg diff --git a/photos/backpacking19/IMG_20190922_161406_hu03864df3370a2eee5816e7ed3dd388dc_2384597_350x0_resize_q100_box.jpeg b/photos/backpacking19/IMG_20190922_161406_hu03864df3370a2eee5816e7ed3dd388dc_2384597_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..cb6497f Binary files /dev/null and b/photos/backpacking19/IMG_20190922_161406_hu03864df3370a2eee5816e7ed3dd388dc_2384597_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/backpacking19/IMG_20191106_144148_1_1_1-Pano.jpg b/photos/backpacking19/IMG_20191106_144148_1_1_1-Pano.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/backpacking19/IMG_20191106_144148_1_1_1-Pano.jpg rename to photos/backpacking19/IMG_20191106_144148_1_1_1-Pano.jpg diff --git a/photos/backpacking19/IMG_20191106_144148_1_1_1-Pano_hue669b7f452e2a860deca7904731cec8e_489637_700x0_resize_q100_box.jpg b/photos/backpacking19/IMG_20191106_144148_1_1_1-Pano_hue669b7f452e2a860deca7904731cec8e_489637_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..f3db959 Binary files /dev/null and b/photos/backpacking19/IMG_20191106_144148_1_1_1-Pano_hue669b7f452e2a860deca7904731cec8e_489637_700x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/IMG_20191108_173055.jpg b/photos/backpacking19/IMG_20191108_173055.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/backpacking19/IMG_20191108_173055.jpg rename to photos/backpacking19/IMG_20191108_173055.jpg diff --git a/photos/backpacking19/IMG_20191108_173055_hu0c711fd57ec9810c8019892b81cf51ba_872299_350x0_resize_q100_box.jpg b/photos/backpacking19/IMG_20191108_173055_hu0c711fd57ec9810c8019892b81cf51ba_872299_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..25aa0b7 Binary files /dev/null and b/photos/backpacking19/IMG_20191108_173055_hu0c711fd57ec9810c8019892b81cf51ba_872299_350x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/IMG_20191108_175423.jpg b/photos/backpacking19/IMG_20191108_175423.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/backpacking19/IMG_20191108_175423.jpg rename to photos/backpacking19/IMG_20191108_175423.jpg diff --git a/photos/backpacking19/IMG_20191108_175423_hu118bae16d757f91b52c83befe414236a_918916_350x0_resize_q100_box.jpg b/photos/backpacking19/IMG_20191108_175423_hu118bae16d757f91b52c83befe414236a_918916_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..7b3f868 Binary files /dev/null and b/photos/backpacking19/IMG_20191108_175423_hu118bae16d757f91b52c83befe414236a_918916_350x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/IMG_20191110_145137.jpg b/photos/backpacking19/IMG_20191110_145137.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/backpacking19/IMG_20191110_145137.jpg rename to photos/backpacking19/IMG_20191110_145137.jpg diff --git a/photos/backpacking19/IMG_20191110_145137_hub7994610470c38283ea02cc73d1349f6_1230067_350x0_resize_q100_box.jpg b/photos/backpacking19/IMG_20191110_145137_hub7994610470c38283ea02cc73d1349f6_1230067_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..e6dafcb Binary files /dev/null and b/photos/backpacking19/IMG_20191110_145137_hub7994610470c38283ea02cc73d1349f6_1230067_350x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/IMG_20191112_173403.jpg b/photos/backpacking19/IMG_20191112_173403.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/backpacking19/IMG_20191112_173403.jpg rename to photos/backpacking19/IMG_20191112_173403.jpg diff --git a/photos/backpacking19/IMG_20191112_173403_hu0c711fd57ec9810c8019892b81cf51ba_995851_350x0_resize_q100_box.jpg b/photos/backpacking19/IMG_20191112_173403_hu0c711fd57ec9810c8019892b81cf51ba_995851_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..91fbe10 Binary files /dev/null and b/photos/backpacking19/IMG_20191112_173403_hu0c711fd57ec9810c8019892b81cf51ba_995851_350x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/IMG_20191112_173622.jpg b/photos/backpacking19/IMG_20191112_173622.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/backpacking19/IMG_20191112_173622.jpg rename to photos/backpacking19/IMG_20191112_173622.jpg diff --git a/photos/backpacking19/IMG_20191112_173622_hub7994610470c38283ea02cc73d1349f6_865324_350x0_resize_q100_box.jpg b/photos/backpacking19/IMG_20191112_173622_hub7994610470c38283ea02cc73d1349f6_865324_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..6eae172 Binary files /dev/null and b/photos/backpacking19/IMG_20191112_173622_hub7994610470c38283ea02cc73d1349f6_865324_350x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/IMG_20191112_174719.jpg b/photos/backpacking19/IMG_20191112_174719.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/backpacking19/IMG_20191112_174719.jpg rename to photos/backpacking19/IMG_20191112_174719.jpg diff --git a/photos/backpacking19/IMG_20191112_174719_hu0c711fd57ec9810c8019892b81cf51ba_801147_350x0_resize_q100_box.jpg b/photos/backpacking19/IMG_20191112_174719_hu0c711fd57ec9810c8019892b81cf51ba_801147_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..a094b1f Binary files /dev/null and b/photos/backpacking19/IMG_20191112_174719_hu0c711fd57ec9810c8019892b81cf51ba_801147_350x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/IMG_20191112_175822.jpg b/photos/backpacking19/IMG_20191112_175822.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/backpacking19/IMG_20191112_175822.jpg rename to photos/backpacking19/IMG_20191112_175822.jpg diff --git a/photos/backpacking19/IMG_20191112_175822_hu329d4859f176d756f3e20d1867904c1a_1518974_350x0_resize_q100_box.jpg b/photos/backpacking19/IMG_20191112_175822_hu329d4859f176d756f3e20d1867904c1a_1518974_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..fa165b8 Binary files /dev/null and b/photos/backpacking19/IMG_20191112_175822_hu329d4859f176d756f3e20d1867904c1a_1518974_350x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/IMG_20191113_135049.jpg b/photos/backpacking19/IMG_20191113_135049.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/backpacking19/IMG_20191113_135049.jpg rename to photos/backpacking19/IMG_20191113_135049.jpg diff --git a/photos/backpacking19/IMG_20191113_135049_hu0c711fd57ec9810c8019892b81cf51ba_1853226_350x0_resize_q100_box.jpg b/photos/backpacking19/IMG_20191113_135049_hu0c711fd57ec9810c8019892b81cf51ba_1853226_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..16fcaf2 Binary files /dev/null and b/photos/backpacking19/IMG_20191113_135049_hu0c711fd57ec9810c8019892b81cf51ba_1853226_350x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/IMG_20191113_135445.jpg b/photos/backpacking19/IMG_20191113_135445.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/backpacking19/IMG_20191113_135445.jpg rename to photos/backpacking19/IMG_20191113_135445.jpg diff --git a/photos/backpacking19/IMG_20191113_135445_hub7994610470c38283ea02cc73d1349f6_796613_350x0_resize_q100_box.jpg b/photos/backpacking19/IMG_20191113_135445_hub7994610470c38283ea02cc73d1349f6_796613_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..e1ecb6c Binary files /dev/null and b/photos/backpacking19/IMG_20191113_135445_hub7994610470c38283ea02cc73d1349f6_796613_350x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/IMG_20191113_144841.jpg b/photos/backpacking19/IMG_20191113_144841.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/backpacking19/IMG_20191113_144841.jpg rename to photos/backpacking19/IMG_20191113_144841.jpg diff --git a/photos/backpacking19/IMG_20191113_144841_hu329d4859f176d756f3e20d1867904c1a_2403199_350x0_resize_q100_box.jpg b/photos/backpacking19/IMG_20191113_144841_hu329d4859f176d756f3e20d1867904c1a_2403199_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..b68bc18 Binary files /dev/null and b/photos/backpacking19/IMG_20191113_144841_hu329d4859f176d756f3e20d1867904c1a_2403199_350x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/IMG_20191122_114154.jpg b/photos/backpacking19/IMG_20191122_114154.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/backpacking19/IMG_20191122_114154.jpg rename to photos/backpacking19/IMG_20191122_114154.jpg diff --git a/photos/backpacking19/IMG_20191122_114154_hu0c711fd57ec9810c8019892b81cf51ba_1675817_350x0_resize_q100_box.jpg b/photos/backpacking19/IMG_20191122_114154_hu0c711fd57ec9810c8019892b81cf51ba_1675817_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..127263b Binary files /dev/null and b/photos/backpacking19/IMG_20191122_114154_hu0c711fd57ec9810c8019892b81cf51ba_1675817_350x0_resize_q100_box.jpg differ diff --git a/content/photos/backpacking19/IMG_20191122_120829.jpg b/photos/backpacking19/IMG_20191122_120829.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/backpacking19/IMG_20191122_120829.jpg rename to photos/backpacking19/IMG_20191122_120829.jpg diff --git a/photos/backpacking19/IMG_20191122_120829_hu0c711fd57ec9810c8019892b81cf51ba_1635197_350x0_resize_q100_box.jpg b/photos/backpacking19/IMG_20191122_120829_hu0c711fd57ec9810c8019892b81cf51ba_1635197_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..426f618 Binary files /dev/null and b/photos/backpacking19/IMG_20191122_120829_hu0c711fd57ec9810c8019892b81cf51ba_1635197_350x0_resize_q100_box.jpg differ diff --git a/photos/backpacking19/index.html b/photos/backpacking19/index.html new file mode 100644 index 0000000..9f66dc4 --- /dev/null +++ b/photos/backpacking19/index.html @@ -0,0 +1,65 @@ +Backpacking 2019 · Sid Verma

‹ Sid Verma

Backpacking 2019

2019 Dec
Some Places

Been backpacking for a few months, while severely reducing camera time. Here are some photos from Goa, Kolkata, Bangkok and Pai.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Shot on Nikon D5300 and Oneplus 3


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/content/photos/goa19/DSC_0004.jpg b/photos/goa19/DSC_0004.jpg similarity index 100% rename from content/photos/goa19/DSC_0004.jpg rename to photos/goa19/DSC_0004.jpg diff --git a/photos/goa19/DSC_0004_hu2076844c2621c4e3a753c9d02e9f8128_110823_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0004_hu2076844c2621c4e3a753c9d02e9f8128_110823_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..b82279f Binary files /dev/null and b/photos/goa19/DSC_0004_hu2076844c2621c4e3a753c9d02e9f8128_110823_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0005.JPG b/photos/goa19/DSC_0005.JPG similarity index 100% rename from content/photos/goa19/DSC_0005.JPG rename to photos/goa19/DSC_0005.JPG diff --git a/photos/goa19/DSC_0005_hu3a5ea53e83c86bb6f6edb82f66ef4861_905490_350x0_resize_q100_box.JPG b/photos/goa19/DSC_0005_hu3a5ea53e83c86bb6f6edb82f66ef4861_905490_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..71576ce Binary files /dev/null and b/photos/goa19/DSC_0005_hu3a5ea53e83c86bb6f6edb82f66ef4861_905490_350x0_resize_q100_box.JPG differ diff --git a/content/photos/goa19/DSC_0008.JPG b/photos/goa19/DSC_0008.JPG similarity index 100% rename from content/photos/goa19/DSC_0008.JPG rename to photos/goa19/DSC_0008.JPG diff --git a/photos/goa19/DSC_0008_hu3a5ea53e83c86bb6f6edb82f66ef4861_595345_350x0_resize_q100_box.JPG b/photos/goa19/DSC_0008_hu3a5ea53e83c86bb6f6edb82f66ef4861_595345_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..84f6a34 Binary files /dev/null and b/photos/goa19/DSC_0008_hu3a5ea53e83c86bb6f6edb82f66ef4861_595345_350x0_resize_q100_box.JPG differ diff --git a/content/photos/goa19/DSC_0015.jpg b/photos/goa19/DSC_0015.jpg similarity index 100% rename from content/photos/goa19/DSC_0015.jpg rename to photos/goa19/DSC_0015.jpg diff --git a/photos/goa19/DSC_0015_huc976fa843b7dcdc0e98f07dbd2a638d8_149422_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0015_huc976fa843b7dcdc0e98f07dbd2a638d8_149422_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..b86cb7a Binary files /dev/null and b/photos/goa19/DSC_0015_huc976fa843b7dcdc0e98f07dbd2a638d8_149422_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0021-Pano.jpg b/photos/goa19/DSC_0021-Pano.jpg similarity index 100% rename from content/photos/goa19/DSC_0021-Pano.jpg rename to photos/goa19/DSC_0021-Pano.jpg diff --git a/photos/goa19/DSC_0021-Pano_hu0792a6d74f56f9b4aa09d5822c2f762c_1155497_700x0_resize_q100_box.jpg b/photos/goa19/DSC_0021-Pano_hu0792a6d74f56f9b4aa09d5822c2f762c_1155497_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..db8077f Binary files /dev/null and b/photos/goa19/DSC_0021-Pano_hu0792a6d74f56f9b4aa09d5822c2f762c_1155497_700x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0029.jpg b/photos/goa19/DSC_0029.jpg similarity index 100% rename from content/photos/goa19/DSC_0029.jpg rename to photos/goa19/DSC_0029.jpg diff --git a/photos/goa19/DSC_0029_hu77e1aa2258e86c6a7ea5498dde95e4a5_321610_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0029_hu77e1aa2258e86c6a7ea5498dde95e4a5_321610_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..b85922b Binary files /dev/null and b/photos/goa19/DSC_0029_hu77e1aa2258e86c6a7ea5498dde95e4a5_321610_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0032.jpg b/photos/goa19/DSC_0032.jpg similarity index 100% rename from content/photos/goa19/DSC_0032.jpg rename to photos/goa19/DSC_0032.jpg diff --git a/photos/goa19/DSC_0032_hu82773aeec9cb4d3470fbb9eb1ee924bf_170428_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0032_hu82773aeec9cb4d3470fbb9eb1ee924bf_170428_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..bc9fc40 Binary files /dev/null and b/photos/goa19/DSC_0032_hu82773aeec9cb4d3470fbb9eb1ee924bf_170428_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0033.jpg b/photos/goa19/DSC_0033.jpg similarity index 100% rename from content/photos/goa19/DSC_0033.jpg rename to photos/goa19/DSC_0033.jpg diff --git a/photos/goa19/DSC_0033_hu6cea041202be753f10d3241b9de2f1e8_329361_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0033_hu6cea041202be753f10d3241b9de2f1e8_329361_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..b09a2de Binary files /dev/null and b/photos/goa19/DSC_0033_hu6cea041202be753f10d3241b9de2f1e8_329361_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0035.jpg b/photos/goa19/DSC_0035.jpg similarity index 100% rename from content/photos/goa19/DSC_0035.jpg rename to photos/goa19/DSC_0035.jpg diff --git a/photos/goa19/DSC_0035_hu7001ca216fdcb504462f9c66308e7a6e_555610_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0035_hu7001ca216fdcb504462f9c66308e7a6e_555610_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..99f8b6d Binary files /dev/null and b/photos/goa19/DSC_0035_hu7001ca216fdcb504462f9c66308e7a6e_555610_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0051-Pano.jpg b/photos/goa19/DSC_0051-Pano.jpg similarity index 100% rename from content/photos/goa19/DSC_0051-Pano.jpg rename to photos/goa19/DSC_0051-Pano.jpg diff --git a/photos/goa19/DSC_0051-Pano_hu76dfd25aedf1499c6a049af6948a5b94_1208250_700x0_resize_q100_box.jpg b/photos/goa19/DSC_0051-Pano_hu76dfd25aedf1499c6a049af6948a5b94_1208250_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..8d5d7ed Binary files /dev/null and b/photos/goa19/DSC_0051-Pano_hu76dfd25aedf1499c6a049af6948a5b94_1208250_700x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0057.jpg b/photos/goa19/DSC_0057.jpg similarity index 100% rename from content/photos/goa19/DSC_0057.jpg rename to photos/goa19/DSC_0057.jpg diff --git a/photos/goa19/DSC_0057_hu09b47047dbb5184b9c76513e54f1e520_155071_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0057_hu09b47047dbb5184b9c76513e54f1e520_155071_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..732f87b Binary files /dev/null and b/photos/goa19/DSC_0057_hu09b47047dbb5184b9c76513e54f1e520_155071_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0083.jpg b/photos/goa19/DSC_0083.jpg similarity index 100% rename from content/photos/goa19/DSC_0083.jpg rename to photos/goa19/DSC_0083.jpg diff --git a/photos/goa19/DSC_0083_hu5dd55759cabb8ca19b8a1f61e677dcc1_186280_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0083_hu5dd55759cabb8ca19b8a1f61e677dcc1_186280_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..623fcf2 Binary files /dev/null and b/photos/goa19/DSC_0083_hu5dd55759cabb8ca19b8a1f61e677dcc1_186280_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0092.JPG b/photos/goa19/DSC_0092.JPG similarity index 100% rename from content/photos/goa19/DSC_0092.JPG rename to photos/goa19/DSC_0092.JPG diff --git a/photos/goa19/DSC_0092_hu3a5ea53e83c86bb6f6edb82f66ef4861_334652_350x0_resize_q100_box.JPG b/photos/goa19/DSC_0092_hu3a5ea53e83c86bb6f6edb82f66ef4861_334652_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..069c240 Binary files /dev/null and b/photos/goa19/DSC_0092_hu3a5ea53e83c86bb6f6edb82f66ef4861_334652_350x0_resize_q100_box.JPG differ diff --git a/content/photos/goa19/DSC_0094.JPG b/photos/goa19/DSC_0094.JPG similarity index 100% rename from content/photos/goa19/DSC_0094.JPG rename to photos/goa19/DSC_0094.JPG diff --git a/photos/goa19/DSC_0094_hu3a5ea53e83c86bb6f6edb82f66ef4861_715346_350x0_resize_q100_box.JPG b/photos/goa19/DSC_0094_hu3a5ea53e83c86bb6f6edb82f66ef4861_715346_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..8f50f02 Binary files /dev/null and b/photos/goa19/DSC_0094_hu3a5ea53e83c86bb6f6edb82f66ef4861_715346_350x0_resize_q100_box.JPG differ diff --git a/content/photos/goa19/DSC_0103.jpg b/photos/goa19/DSC_0103.jpg similarity index 100% rename from content/photos/goa19/DSC_0103.jpg rename to photos/goa19/DSC_0103.jpg diff --git a/photos/goa19/DSC_0103_hu77e1aa2258e86c6a7ea5498dde95e4a5_224858_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0103_hu77e1aa2258e86c6a7ea5498dde95e4a5_224858_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..f2a5172 Binary files /dev/null and b/photos/goa19/DSC_0103_hu77e1aa2258e86c6a7ea5498dde95e4a5_224858_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0158.jpg b/photos/goa19/DSC_0158.jpg similarity index 100% rename from content/photos/goa19/DSC_0158.jpg rename to photos/goa19/DSC_0158.jpg diff --git a/photos/goa19/DSC_0158_hub9e09c16cf710b7e1dd7c20876aab3d5_543861_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0158_hub9e09c16cf710b7e1dd7c20876aab3d5_543861_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..84f381f Binary files /dev/null and b/photos/goa19/DSC_0158_hub9e09c16cf710b7e1dd7c20876aab3d5_543861_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0182-Pano.jpg b/photos/goa19/DSC_0182-Pano.jpg similarity index 100% rename from content/photos/goa19/DSC_0182-Pano.jpg rename to photos/goa19/DSC_0182-Pano.jpg diff --git a/photos/goa19/DSC_0182-Pano_huf1c3e1ee43525d2f708b3239cbd56473_1757594_700x0_resize_q100_box.jpg b/photos/goa19/DSC_0182-Pano_huf1c3e1ee43525d2f708b3239cbd56473_1757594_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..2d4a9cd Binary files /dev/null and b/photos/goa19/DSC_0182-Pano_huf1c3e1ee43525d2f708b3239cbd56473_1757594_700x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0183.jpg b/photos/goa19/DSC_0183.jpg similarity index 100% rename from content/photos/goa19/DSC_0183.jpg rename to photos/goa19/DSC_0183.jpg diff --git a/photos/goa19/DSC_0183_hu3d17ab4f2d34fb7f464b71c55a7afcb8_701287_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0183_hu3d17ab4f2d34fb7f464b71c55a7afcb8_701287_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..a2e9564 Binary files /dev/null and b/photos/goa19/DSC_0183_hu3d17ab4f2d34fb7f464b71c55a7afcb8_701287_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0196.jpg b/photos/goa19/DSC_0196.jpg similarity index 100% rename from content/photos/goa19/DSC_0196.jpg rename to photos/goa19/DSC_0196.jpg diff --git a/photos/goa19/DSC_0196_hu118c2f2428ac3607cf16e15801e03161_384082_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0196_hu118c2f2428ac3607cf16e15801e03161_384082_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..fd0d67a Binary files /dev/null and b/photos/goa19/DSC_0196_hu118c2f2428ac3607cf16e15801e03161_384082_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0231.JPG b/photos/goa19/DSC_0231.JPG similarity index 100% rename from content/photos/goa19/DSC_0231.JPG rename to photos/goa19/DSC_0231.JPG diff --git a/photos/goa19/DSC_0231_hu3a5ea53e83c86bb6f6edb82f66ef4861_791924_350x0_resize_q100_box.JPG b/photos/goa19/DSC_0231_hu3a5ea53e83c86bb6f6edb82f66ef4861_791924_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..9fba3f1 Binary files /dev/null and b/photos/goa19/DSC_0231_hu3a5ea53e83c86bb6f6edb82f66ef4861_791924_350x0_resize_q100_box.JPG differ diff --git a/content/photos/goa19/DSC_0232.jpg b/photos/goa19/DSC_0232.jpg similarity index 100% rename from content/photos/goa19/DSC_0232.jpg rename to photos/goa19/DSC_0232.jpg diff --git a/photos/goa19/DSC_0232_hu0f42a67759e78c9957473b90550ea43d_394079_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0232_hu0f42a67759e78c9957473b90550ea43d_394079_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..45a752b Binary files /dev/null and b/photos/goa19/DSC_0232_hu0f42a67759e78c9957473b90550ea43d_394079_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0234.jpg b/photos/goa19/DSC_0234.jpg similarity index 100% rename from content/photos/goa19/DSC_0234.jpg rename to photos/goa19/DSC_0234.jpg diff --git a/photos/goa19/DSC_0234_hu43fa23ab69b2646e2a02ee48399cb08c_518686_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0234_hu43fa23ab69b2646e2a02ee48399cb08c_518686_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..06d3219 Binary files /dev/null and b/photos/goa19/DSC_0234_hu43fa23ab69b2646e2a02ee48399cb08c_518686_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0260.jpg b/photos/goa19/DSC_0260.jpg similarity index 100% rename from content/photos/goa19/DSC_0260.jpg rename to photos/goa19/DSC_0260.jpg diff --git a/photos/goa19/DSC_0260_hu118c2f2428ac3607cf16e15801e03161_277247_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0260_hu118c2f2428ac3607cf16e15801e03161_277247_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..2e45872 Binary files /dev/null and b/photos/goa19/DSC_0260_hu118c2f2428ac3607cf16e15801e03161_277247_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0267.JPG b/photos/goa19/DSC_0267.JPG similarity index 100% rename from content/photos/goa19/DSC_0267.JPG rename to photos/goa19/DSC_0267.JPG diff --git a/photos/goa19/DSC_0267_hu3a5ea53e83c86bb6f6edb82f66ef4861_953297_350x0_resize_q100_box.JPG b/photos/goa19/DSC_0267_hu3a5ea53e83c86bb6f6edb82f66ef4861_953297_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..06cb342 Binary files /dev/null and b/photos/goa19/DSC_0267_hu3a5ea53e83c86bb6f6edb82f66ef4861_953297_350x0_resize_q100_box.JPG differ diff --git a/content/photos/goa19/DSC_0271.JPG b/photos/goa19/DSC_0271.JPG similarity index 100% rename from content/photos/goa19/DSC_0271.JPG rename to photos/goa19/DSC_0271.JPG diff --git a/photos/goa19/DSC_0271_hu3a5ea53e83c86bb6f6edb82f66ef4861_352347_350x0_resize_q100_box.JPG b/photos/goa19/DSC_0271_hu3a5ea53e83c86bb6f6edb82f66ef4861_352347_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..68e2053 Binary files /dev/null and b/photos/goa19/DSC_0271_hu3a5ea53e83c86bb6f6edb82f66ef4861_352347_350x0_resize_q100_box.JPG differ diff --git a/content/photos/goa19/DSC_0274.jpg b/photos/goa19/DSC_0274.jpg similarity index 100% rename from content/photos/goa19/DSC_0274.jpg rename to photos/goa19/DSC_0274.jpg diff --git a/photos/goa19/DSC_0274_hu4ed715265a9c6205e707246731a5ca44_93416_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0274_hu4ed715265a9c6205e707246731a5ca44_93416_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..a4cd759 Binary files /dev/null and b/photos/goa19/DSC_0274_hu4ed715265a9c6205e707246731a5ca44_93416_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0283.jpg b/photos/goa19/DSC_0283.jpg similarity index 100% rename from content/photos/goa19/DSC_0283.jpg rename to photos/goa19/DSC_0283.jpg diff --git a/photos/goa19/DSC_0283_hu2076844c2621c4e3a753c9d02e9f8128_173963_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0283_hu2076844c2621c4e3a753c9d02e9f8128_173963_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..3e5b545 Binary files /dev/null and b/photos/goa19/DSC_0283_hu2076844c2621c4e3a753c9d02e9f8128_173963_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0284-Pano.JPG b/photos/goa19/DSC_0284-Pano.JPG similarity index 100% rename from content/photos/goa19/DSC_0284-Pano.JPG rename to photos/goa19/DSC_0284-Pano.JPG diff --git a/photos/goa19/DSC_0284-Pano_hu3a5ea53e83c86bb6f6edb82f66ef4861_598541_700x0_resize_q100_box.JPG b/photos/goa19/DSC_0284-Pano_hu3a5ea53e83c86bb6f6edb82f66ef4861_598541_700x0_resize_q100_box.JPG new file mode 100644 index 0000000..4e76a57 Binary files /dev/null and b/photos/goa19/DSC_0284-Pano_hu3a5ea53e83c86bb6f6edb82f66ef4861_598541_700x0_resize_q100_box.JPG differ diff --git a/content/photos/goa19/DSC_0288-Pano.jpg b/photos/goa19/DSC_0288-Pano.jpg similarity index 100% rename from content/photos/goa19/DSC_0288-Pano.jpg rename to photos/goa19/DSC_0288-Pano.jpg diff --git a/photos/goa19/DSC_0288-Pano_hu23593ca65ff6a288f1dcc59afcda5bb2_255870_700x0_resize_q100_box.jpg b/photos/goa19/DSC_0288-Pano_hu23593ca65ff6a288f1dcc59afcda5bb2_255870_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..81320fb Binary files /dev/null and b/photos/goa19/DSC_0288-Pano_hu23593ca65ff6a288f1dcc59afcda5bb2_255870_700x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0289-Pano.jpg b/photos/goa19/DSC_0289-Pano.jpg similarity index 100% rename from content/photos/goa19/DSC_0289-Pano.jpg rename to photos/goa19/DSC_0289-Pano.jpg diff --git a/photos/goa19/DSC_0289-Pano_huc976fa843b7dcdc0e98f07dbd2a638d8_159283_700x0_resize_q100_box.jpg b/photos/goa19/DSC_0289-Pano_huc976fa843b7dcdc0e98f07dbd2a638d8_159283_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..9efaef4 Binary files /dev/null and b/photos/goa19/DSC_0289-Pano_huc976fa843b7dcdc0e98f07dbd2a638d8_159283_700x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0351.jpg b/photos/goa19/DSC_0351.jpg similarity index 100% rename from content/photos/goa19/DSC_0351.jpg rename to photos/goa19/DSC_0351.jpg diff --git a/photos/goa19/DSC_0351_hue50f03589eab07f83c7e7c23b87c4773_97342_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0351_hue50f03589eab07f83c7e7c23b87c4773_97342_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..a8060b1 Binary files /dev/null and b/photos/goa19/DSC_0351_hue50f03589eab07f83c7e7c23b87c4773_97342_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0353.jpg b/photos/goa19/DSC_0353.jpg similarity index 100% rename from content/photos/goa19/DSC_0353.jpg rename to photos/goa19/DSC_0353.jpg diff --git a/photos/goa19/DSC_0353_hu43fa23ab69b2646e2a02ee48399cb08c_306164_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0353_hu43fa23ab69b2646e2a02ee48399cb08c_306164_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..29ca8af Binary files /dev/null and b/photos/goa19/DSC_0353_hu43fa23ab69b2646e2a02ee48399cb08c_306164_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0354.jpg b/photos/goa19/DSC_0354.jpg similarity index 100% rename from content/photos/goa19/DSC_0354.jpg rename to photos/goa19/DSC_0354.jpg diff --git a/photos/goa19/DSC_0354_hu5f01b4c8282d417800ddef5032bc9401_86865_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0354_hu5f01b4c8282d417800ddef5032bc9401_86865_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..977f0ba Binary files /dev/null and b/photos/goa19/DSC_0354_hu5f01b4c8282d417800ddef5032bc9401_86865_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0361.jpg b/photos/goa19/DSC_0361.jpg similarity index 100% rename from content/photos/goa19/DSC_0361.jpg rename to photos/goa19/DSC_0361.jpg diff --git a/photos/goa19/DSC_0361_hu5dd55759cabb8ca19b8a1f61e677dcc1_280659_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0361_hu5dd55759cabb8ca19b8a1f61e677dcc1_280659_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..d75338d Binary files /dev/null and b/photos/goa19/DSC_0361_hu5dd55759cabb8ca19b8a1f61e677dcc1_280659_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0362.jpg b/photos/goa19/DSC_0362.jpg similarity index 100% rename from content/photos/goa19/DSC_0362.jpg rename to photos/goa19/DSC_0362.jpg diff --git a/photos/goa19/DSC_0362_hu5dd55759cabb8ca19b8a1f61e677dcc1_660828_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0362_hu5dd55759cabb8ca19b8a1f61e677dcc1_660828_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..38100b7 Binary files /dev/null and b/photos/goa19/DSC_0362_hu5dd55759cabb8ca19b8a1f61e677dcc1_660828_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0390.JPG b/photos/goa19/DSC_0390.JPG similarity index 100% rename from content/photos/goa19/DSC_0390.JPG rename to photos/goa19/DSC_0390.JPG diff --git a/photos/goa19/DSC_0390_hu3a5ea53e83c86bb6f6edb82f66ef4861_995449_350x0_resize_q100_box.JPG b/photos/goa19/DSC_0390_hu3a5ea53e83c86bb6f6edb82f66ef4861_995449_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..a942d4d Binary files /dev/null and b/photos/goa19/DSC_0390_hu3a5ea53e83c86bb6f6edb82f66ef4861_995449_350x0_resize_q100_box.JPG differ diff --git a/content/photos/goa19/DSC_0422-Pano.jpg b/photos/goa19/DSC_0422-Pano.jpg similarity index 100% rename from content/photos/goa19/DSC_0422-Pano.jpg rename to photos/goa19/DSC_0422-Pano.jpg diff --git a/photos/goa19/DSC_0422-Pano_hu7f31470bd961fa8bb2a5263df10b5923_2524428_700x0_resize_q100_box.jpg b/photos/goa19/DSC_0422-Pano_hu7f31470bd961fa8bb2a5263df10b5923_2524428_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..e3206e7 Binary files /dev/null and b/photos/goa19/DSC_0422-Pano_hu7f31470bd961fa8bb2a5263df10b5923_2524428_700x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0427.jpg b/photos/goa19/DSC_0427.jpg similarity index 100% rename from content/photos/goa19/DSC_0427.jpg rename to photos/goa19/DSC_0427.jpg diff --git a/photos/goa19/DSC_0427_hu77e1aa2258e86c6a7ea5498dde95e4a5_247309_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0427_hu77e1aa2258e86c6a7ea5498dde95e4a5_247309_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..2354b4a Binary files /dev/null and b/photos/goa19/DSC_0427_hu77e1aa2258e86c6a7ea5498dde95e4a5_247309_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0430.JPG b/photos/goa19/DSC_0430.JPG similarity index 100% rename from content/photos/goa19/DSC_0430.JPG rename to photos/goa19/DSC_0430.JPG diff --git a/photos/goa19/DSC_0430_hu3a5ea53e83c86bb6f6edb82f66ef4861_896959_350x0_resize_q100_box.JPG b/photos/goa19/DSC_0430_hu3a5ea53e83c86bb6f6edb82f66ef4861_896959_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..57434ed Binary files /dev/null and b/photos/goa19/DSC_0430_hu3a5ea53e83c86bb6f6edb82f66ef4861_896959_350x0_resize_q100_box.JPG differ diff --git a/content/photos/goa19/DSC_0439.jpg b/photos/goa19/DSC_0439.jpg similarity index 100% rename from content/photos/goa19/DSC_0439.jpg rename to photos/goa19/DSC_0439.jpg diff --git a/photos/goa19/DSC_0439_hu82773aeec9cb4d3470fbb9eb1ee924bf_958673_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0439_hu82773aeec9cb4d3470fbb9eb1ee924bf_958673_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..f924bd8 Binary files /dev/null and b/photos/goa19/DSC_0439_hu82773aeec9cb4d3470fbb9eb1ee924bf_958673_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0443.jpg b/photos/goa19/DSC_0443.jpg similarity index 100% rename from content/photos/goa19/DSC_0443.jpg rename to photos/goa19/DSC_0443.jpg diff --git a/photos/goa19/DSC_0443_hu77e1aa2258e86c6a7ea5498dde95e4a5_970892_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0443_hu77e1aa2258e86c6a7ea5498dde95e4a5_970892_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..04b5290 Binary files /dev/null and b/photos/goa19/DSC_0443_hu77e1aa2258e86c6a7ea5498dde95e4a5_970892_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0450.jpg b/photos/goa19/DSC_0450.jpg similarity index 100% rename from content/photos/goa19/DSC_0450.jpg rename to photos/goa19/DSC_0450.jpg diff --git a/photos/goa19/DSC_0450_hu77e1aa2258e86c6a7ea5498dde95e4a5_240590_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0450_hu77e1aa2258e86c6a7ea5498dde95e4a5_240590_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..0fb95f1 Binary files /dev/null and b/photos/goa19/DSC_0450_hu77e1aa2258e86c6a7ea5498dde95e4a5_240590_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0458.jpg b/photos/goa19/DSC_0458.jpg similarity index 100% rename from content/photos/goa19/DSC_0458.jpg rename to photos/goa19/DSC_0458.jpg diff --git a/photos/goa19/DSC_0458_hu4ed715265a9c6205e707246731a5ca44_176340_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0458_hu4ed715265a9c6205e707246731a5ca44_176340_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..2d05b42 Binary files /dev/null and b/photos/goa19/DSC_0458_hu4ed715265a9c6205e707246731a5ca44_176340_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0462.jpg b/photos/goa19/DSC_0462.jpg similarity index 100% rename from content/photos/goa19/DSC_0462.jpg rename to photos/goa19/DSC_0462.jpg diff --git a/photos/goa19/DSC_0462_hu2076844c2621c4e3a753c9d02e9f8128_177224_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0462_hu2076844c2621c4e3a753c9d02e9f8128_177224_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..04bef35 Binary files /dev/null and b/photos/goa19/DSC_0462_hu2076844c2621c4e3a753c9d02e9f8128_177224_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0497.jpg b/photos/goa19/DSC_0497.jpg similarity index 100% rename from content/photos/goa19/DSC_0497.jpg rename to photos/goa19/DSC_0497.jpg diff --git a/photos/goa19/DSC_0497_huc7c3dec5d80995ca03115a395f35c5a4_2106038_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0497_huc7c3dec5d80995ca03115a395f35c5a4_2106038_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..8d93965 Binary files /dev/null and b/photos/goa19/DSC_0497_huc7c3dec5d80995ca03115a395f35c5a4_2106038_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0510.jpg b/photos/goa19/DSC_0510.jpg similarity index 100% rename from content/photos/goa19/DSC_0510.jpg rename to photos/goa19/DSC_0510.jpg diff --git a/photos/goa19/DSC_0510_huc976fa843b7dcdc0e98f07dbd2a638d8_251072_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0510_huc976fa843b7dcdc0e98f07dbd2a638d8_251072_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..1bc09d8 Binary files /dev/null and b/photos/goa19/DSC_0510_huc976fa843b7dcdc0e98f07dbd2a638d8_251072_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0525.jpg b/photos/goa19/DSC_0525.jpg similarity index 100% rename from content/photos/goa19/DSC_0525.jpg rename to photos/goa19/DSC_0525.jpg diff --git a/photos/goa19/DSC_0525_hu77e1aa2258e86c6a7ea5498dde95e4a5_253451_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0525_hu77e1aa2258e86c6a7ea5498dde95e4a5_253451_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..47d3c57 Binary files /dev/null and b/photos/goa19/DSC_0525_hu77e1aa2258e86c6a7ea5498dde95e4a5_253451_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0538.jpg b/photos/goa19/DSC_0538.jpg similarity index 100% rename from content/photos/goa19/DSC_0538.jpg rename to photos/goa19/DSC_0538.jpg diff --git a/photos/goa19/DSC_0538_huc976fa843b7dcdc0e98f07dbd2a638d8_242087_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0538_huc976fa843b7dcdc0e98f07dbd2a638d8_242087_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..496f555 Binary files /dev/null and b/photos/goa19/DSC_0538_huc976fa843b7dcdc0e98f07dbd2a638d8_242087_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0545.jpg b/photos/goa19/DSC_0545.jpg similarity index 100% rename from content/photos/goa19/DSC_0545.jpg rename to photos/goa19/DSC_0545.jpg diff --git a/photos/goa19/DSC_0545_hu1bcd1994a479461d997973cbba64e1d7_196897_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0545_hu1bcd1994a479461d997973cbba64e1d7_196897_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..365f62d Binary files /dev/null and b/photos/goa19/DSC_0545_hu1bcd1994a479461d997973cbba64e1d7_196897_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0559.jpg b/photos/goa19/DSC_0559.jpg similarity index 100% rename from content/photos/goa19/DSC_0559.jpg rename to photos/goa19/DSC_0559.jpg diff --git a/photos/goa19/DSC_0559_hu50dc9b7242c0376f4226e5080c8d6f78_97092_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0559_hu50dc9b7242c0376f4226e5080c8d6f78_97092_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..1cc521f Binary files /dev/null and b/photos/goa19/DSC_0559_hu50dc9b7242c0376f4226e5080c8d6f78_97092_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0562.jpg b/photos/goa19/DSC_0562.jpg similarity index 100% rename from content/photos/goa19/DSC_0562.jpg rename to photos/goa19/DSC_0562.jpg diff --git a/photos/goa19/DSC_0562_hu77e1aa2258e86c6a7ea5498dde95e4a5_120771_350x0_resize_q100_box.jpg b/photos/goa19/DSC_0562_hu77e1aa2258e86c6a7ea5498dde95e4a5_120771_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..03df761 Binary files /dev/null and b/photos/goa19/DSC_0562_hu77e1aa2258e86c6a7ea5498dde95e4a5_120771_350x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0612-Pano.jpg b/photos/goa19/DSC_0612-Pano.jpg similarity index 100% rename from content/photos/goa19/DSC_0612-Pano.jpg rename to photos/goa19/DSC_0612-Pano.jpg diff --git a/photos/goa19/DSC_0612-Pano_hued252aefcfb09c5bf4b4aa9fe161b1e4_578544_700x0_resize_q100_box.jpg b/photos/goa19/DSC_0612-Pano_hued252aefcfb09c5bf4b4aa9fe161b1e4_578544_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..15bc141 Binary files /dev/null and b/photos/goa19/DSC_0612-Pano_hued252aefcfb09c5bf4b4aa9fe161b1e4_578544_700x0_resize_q100_box.jpg differ diff --git a/content/photos/goa19/DSC_0677.JPG b/photos/goa19/DSC_0677.JPG similarity index 100% rename from content/photos/goa19/DSC_0677.JPG rename to photos/goa19/DSC_0677.JPG diff --git a/photos/goa19/DSC_0677_hu3a5ea53e83c86bb6f6edb82f66ef4861_1680773_350x0_resize_q100_box.JPG b/photos/goa19/DSC_0677_hu3a5ea53e83c86bb6f6edb82f66ef4861_1680773_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..32ab2f1 Binary files /dev/null and b/photos/goa19/DSC_0677_hu3a5ea53e83c86bb6f6edb82f66ef4861_1680773_350x0_resize_q100_box.JPG differ diff --git a/content/photos/goa19/DSC_0697.jpeg b/photos/goa19/DSC_0697.jpeg similarity index 100% rename from content/photos/goa19/DSC_0697.jpeg rename to photos/goa19/DSC_0697.jpeg diff --git a/photos/goa19/DSC_0697_hu5ae78eb02202533855a7ea38745c390b_4582242_350x0_resize_q100_box.jpeg b/photos/goa19/DSC_0697_hu5ae78eb02202533855a7ea38745c390b_4582242_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..776a1e3 Binary files /dev/null and b/photos/goa19/DSC_0697_hu5ae78eb02202533855a7ea38745c390b_4582242_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/goa19/DSC_0699.JPG b/photos/goa19/DSC_0699.JPG similarity index 100% rename from content/photos/goa19/DSC_0699.JPG rename to photos/goa19/DSC_0699.JPG diff --git a/photos/goa19/DSC_0699_hu3a5ea53e83c86bb6f6edb82f66ef4861_957507_350x0_resize_q100_box.JPG b/photos/goa19/DSC_0699_hu3a5ea53e83c86bb6f6edb82f66ef4861_957507_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..f83a4d9 Binary files /dev/null and b/photos/goa19/DSC_0699_hu3a5ea53e83c86bb6f6edb82f66ef4861_957507_350x0_resize_q100_box.JPG differ diff --git a/content/photos/goa19/IMG_20190125_180433.jpg b/photos/goa19/IMG_20190125_180433.jpg similarity index 100% rename from content/photos/goa19/IMG_20190125_180433.jpg rename to photos/goa19/IMG_20190125_180433.jpg diff --git a/photos/goa19/IMG_20190125_180433_hu701667067ad3cafcdbe61764984f994e_713651_350x0_resize_q100_box.jpg b/photos/goa19/IMG_20190125_180433_hu701667067ad3cafcdbe61764984f994e_713651_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..02cfbc8 Binary files /dev/null and b/photos/goa19/IMG_20190125_180433_hu701667067ad3cafcdbe61764984f994e_713651_350x0_resize_q100_box.jpg differ diff --git a/photos/goa19/index.html b/photos/goa19/index.html new file mode 100644 index 0000000..c9f65ba --- /dev/null +++ b/photos/goa19/index.html @@ -0,0 +1,56 @@ +Week in Goa · Sid Verma

‹ Sid Verma

Week in Goa

2019 Jan
Arambol, Goa, India

The annual trip with a couple of close friends took us to Arambol, Goa this year. We did spend more time in the hills of Goa rather than the beaches this time around.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Shot on Nikon D5300 and Oneplus 3


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/content/photos/hackbeach17/01.jpg b/photos/hackbeach17/01.jpg similarity index 100% rename from content/photos/hackbeach17/01.jpg rename to photos/hackbeach17/01.jpg diff --git a/photos/hackbeach17/01_hu91555ad5ac0f5e3342fad00e5d03ad78_742326_350x0_resize_q100_box.jpg b/photos/hackbeach17/01_hu91555ad5ac0f5e3342fad00e5d03ad78_742326_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..4f19671 Binary files /dev/null and b/photos/hackbeach17/01_hu91555ad5ac0f5e3342fad00e5d03ad78_742326_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/02.jpg b/photos/hackbeach17/02.jpg similarity index 100% rename from content/photos/hackbeach17/02.jpg rename to photos/hackbeach17/02.jpg diff --git a/photos/hackbeach17/02_hu515a99b22365ecc697e95730b6b3dbeb_269678_350x0_resize_q100_box.jpg b/photos/hackbeach17/02_hu515a99b22365ecc697e95730b6b3dbeb_269678_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..919ee8d Binary files /dev/null and b/photos/hackbeach17/02_hu515a99b22365ecc697e95730b6b3dbeb_269678_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/03.jpg b/photos/hackbeach17/03.jpg similarity index 100% rename from content/photos/hackbeach17/03.jpg rename to photos/hackbeach17/03.jpg diff --git a/photos/hackbeach17/03_hu515a99b22365ecc697e95730b6b3dbeb_158548_350x0_resize_q100_box.jpg b/photos/hackbeach17/03_hu515a99b22365ecc697e95730b6b3dbeb_158548_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..feef132 Binary files /dev/null and b/photos/hackbeach17/03_hu515a99b22365ecc697e95730b6b3dbeb_158548_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/04.jpg b/photos/hackbeach17/04.jpg similarity index 100% rename from content/photos/hackbeach17/04.jpg rename to photos/hackbeach17/04.jpg diff --git a/photos/hackbeach17/04_hu91555ad5ac0f5e3342fad00e5d03ad78_275862_350x0_resize_q100_box.jpg b/photos/hackbeach17/04_hu91555ad5ac0f5e3342fad00e5d03ad78_275862_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..bc95d20 Binary files /dev/null and b/photos/hackbeach17/04_hu91555ad5ac0f5e3342fad00e5d03ad78_275862_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/05.jpg b/photos/hackbeach17/05.jpg similarity index 100% rename from content/photos/hackbeach17/05.jpg rename to photos/hackbeach17/05.jpg diff --git a/photos/hackbeach17/05_hu515a99b22365ecc697e95730b6b3dbeb_375702_350x0_resize_q100_box.jpg b/photos/hackbeach17/05_hu515a99b22365ecc697e95730b6b3dbeb_375702_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..0cee68a Binary files /dev/null and b/photos/hackbeach17/05_hu515a99b22365ecc697e95730b6b3dbeb_375702_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/06.jpg b/photos/hackbeach17/06.jpg similarity index 100% rename from content/photos/hackbeach17/06.jpg rename to photos/hackbeach17/06.jpg diff --git a/photos/hackbeach17/06_hu75b7b8b9f5f5b266d7468c87fd42e934_1979886_350x0_resize_q100_box.jpg b/photos/hackbeach17/06_hu75b7b8b9f5f5b266d7468c87fd42e934_1979886_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..6f528e3 Binary files /dev/null and b/photos/hackbeach17/06_hu75b7b8b9f5f5b266d7468c87fd42e934_1979886_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/07.jpg b/photos/hackbeach17/07.jpg similarity index 100% rename from content/photos/hackbeach17/07.jpg rename to photos/hackbeach17/07.jpg diff --git a/photos/hackbeach17/07_huc214edcabe159ea609b6403174746c41_2285497_350x0_resize_q100_box.jpg b/photos/hackbeach17/07_huc214edcabe159ea609b6403174746c41_2285497_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..471c670 Binary files /dev/null and b/photos/hackbeach17/07_huc214edcabe159ea609b6403174746c41_2285497_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/08.jpg b/photos/hackbeach17/08.jpg similarity index 100% rename from content/photos/hackbeach17/08.jpg rename to photos/hackbeach17/08.jpg diff --git a/photos/hackbeach17/08_hua83d8c52fdad7236d62b035ff4f3d89f_223526_350x0_resize_q100_box.jpg b/photos/hackbeach17/08_hua83d8c52fdad7236d62b035ff4f3d89f_223526_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..d509fee Binary files /dev/null and b/photos/hackbeach17/08_hua83d8c52fdad7236d62b035ff4f3d89f_223526_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/09.jpg b/photos/hackbeach17/09.jpg similarity index 100% rename from content/photos/hackbeach17/09.jpg rename to photos/hackbeach17/09.jpg diff --git a/photos/hackbeach17/09_hu515a99b22365ecc697e95730b6b3dbeb_328446_350x0_resize_q100_box.jpg b/photos/hackbeach17/09_hu515a99b22365ecc697e95730b6b3dbeb_328446_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..8417808 Binary files /dev/null and b/photos/hackbeach17/09_hu515a99b22365ecc697e95730b6b3dbeb_328446_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/10.jpg b/photos/hackbeach17/10.jpg similarity index 100% rename from content/photos/hackbeach17/10.jpg rename to photos/hackbeach17/10.jpg diff --git a/photos/hackbeach17/10_hu89c1ab131fa8537eaa5df3149fc8d6b2_372571_350x0_resize_q100_box.jpg b/photos/hackbeach17/10_hu89c1ab131fa8537eaa5df3149fc8d6b2_372571_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..aa0e541 Binary files /dev/null and b/photos/hackbeach17/10_hu89c1ab131fa8537eaa5df3149fc8d6b2_372571_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/11.jpg b/photos/hackbeach17/11.jpg similarity index 100% rename from content/photos/hackbeach17/11.jpg rename to photos/hackbeach17/11.jpg diff --git a/photos/hackbeach17/11_hu91555ad5ac0f5e3342fad00e5d03ad78_659812_350x0_resize_q100_box.jpg b/photos/hackbeach17/11_hu91555ad5ac0f5e3342fad00e5d03ad78_659812_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..e8012ef Binary files /dev/null and b/photos/hackbeach17/11_hu91555ad5ac0f5e3342fad00e5d03ad78_659812_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/12.jpg b/photos/hackbeach17/12.jpg similarity index 100% rename from content/photos/hackbeach17/12.jpg rename to photos/hackbeach17/12.jpg diff --git a/photos/hackbeach17/12_hud2bc7b2b076d0e31465847bd9979cd84_602655_350x0_resize_q100_box.jpg b/photos/hackbeach17/12_hud2bc7b2b076d0e31465847bd9979cd84_602655_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..c5f834d Binary files /dev/null and b/photos/hackbeach17/12_hud2bc7b2b076d0e31465847bd9979cd84_602655_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/13.jpg b/photos/hackbeach17/13.jpg similarity index 100% rename from content/photos/hackbeach17/13.jpg rename to photos/hackbeach17/13.jpg diff --git a/photos/hackbeach17/13_hu1df14e3667ca0d507f03ca7e15ca26cb_1519392_350x0_resize_q100_box.jpg b/photos/hackbeach17/13_hu1df14e3667ca0d507f03ca7e15ca26cb_1519392_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..c5b58e0 Binary files /dev/null and b/photos/hackbeach17/13_hu1df14e3667ca0d507f03ca7e15ca26cb_1519392_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/14.jpg b/photos/hackbeach17/14.jpg similarity index 100% rename from content/photos/hackbeach17/14.jpg rename to photos/hackbeach17/14.jpg diff --git a/photos/hackbeach17/14_hua9a135c0022c19d6528aec4adc267cdd_291461_350x0_resize_q100_box.jpg b/photos/hackbeach17/14_hua9a135c0022c19d6528aec4adc267cdd_291461_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..1bc9364 Binary files /dev/null and b/photos/hackbeach17/14_hua9a135c0022c19d6528aec4adc267cdd_291461_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/15.jpg b/photos/hackbeach17/15.jpg similarity index 100% rename from content/photos/hackbeach17/15.jpg rename to photos/hackbeach17/15.jpg diff --git a/photos/hackbeach17/15_hu89c1ab131fa8537eaa5df3149fc8d6b2_934542_350x0_resize_q100_box.jpg b/photos/hackbeach17/15_hu89c1ab131fa8537eaa5df3149fc8d6b2_934542_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..ed5d360 Binary files /dev/null and b/photos/hackbeach17/15_hu89c1ab131fa8537eaa5df3149fc8d6b2_934542_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/17.jpg b/photos/hackbeach17/17.jpg similarity index 100% rename from content/photos/hackbeach17/17.jpg rename to photos/hackbeach17/17.jpg diff --git a/photos/hackbeach17/17_hu89c1ab131fa8537eaa5df3149fc8d6b2_1034749_350x0_resize_q100_box.jpg b/photos/hackbeach17/17_hu89c1ab131fa8537eaa5df3149fc8d6b2_1034749_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..a029cb8 Binary files /dev/null and b/photos/hackbeach17/17_hu89c1ab131fa8537eaa5df3149fc8d6b2_1034749_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/18-Pano.jpg b/photos/hackbeach17/18-Pano.jpg similarity index 100% rename from content/photos/hackbeach17/18-Pano.jpg rename to photos/hackbeach17/18-Pano.jpg diff --git a/photos/hackbeach17/18-Pano_hu3cc1758dadee0db3a034851957a2c44e_176665_700x0_resize_q100_box.jpg b/photos/hackbeach17/18-Pano_hu3cc1758dadee0db3a034851957a2c44e_176665_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..be7d35e Binary files /dev/null and b/photos/hackbeach17/18-Pano_hu3cc1758dadee0db3a034851957a2c44e_176665_700x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/19.jpg b/photos/hackbeach17/19.jpg similarity index 100% rename from content/photos/hackbeach17/19.jpg rename to photos/hackbeach17/19.jpg diff --git a/photos/hackbeach17/19_hua9a135c0022c19d6528aec4adc267cdd_508819_350x0_resize_q100_box.jpg b/photos/hackbeach17/19_hua9a135c0022c19d6528aec4adc267cdd_508819_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..f22d160 Binary files /dev/null and b/photos/hackbeach17/19_hua9a135c0022c19d6528aec4adc267cdd_508819_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/20.jpg b/photos/hackbeach17/20.jpg similarity index 100% rename from content/photos/hackbeach17/20.jpg rename to photos/hackbeach17/20.jpg diff --git a/photos/hackbeach17/20_hu91555ad5ac0f5e3342fad00e5d03ad78_435450_350x0_resize_q100_box.jpg b/photos/hackbeach17/20_hu91555ad5ac0f5e3342fad00e5d03ad78_435450_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..0200669 Binary files /dev/null and b/photos/hackbeach17/20_hu91555ad5ac0f5e3342fad00e5d03ad78_435450_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/22.jpg b/photos/hackbeach17/22.jpg similarity index 100% rename from content/photos/hackbeach17/22.jpg rename to photos/hackbeach17/22.jpg diff --git a/photos/hackbeach17/22_hu515a99b22365ecc697e95730b6b3dbeb_701877_350x0_resize_q100_box.jpg b/photos/hackbeach17/22_hu515a99b22365ecc697e95730b6b3dbeb_701877_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..fcaaad7 Binary files /dev/null and b/photos/hackbeach17/22_hu515a99b22365ecc697e95730b6b3dbeb_701877_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/23.jpg b/photos/hackbeach17/23.jpg similarity index 100% rename from content/photos/hackbeach17/23.jpg rename to photos/hackbeach17/23.jpg diff --git a/photos/hackbeach17/23_hu91555ad5ac0f5e3342fad00e5d03ad78_928825_350x0_resize_q100_box.jpg b/photos/hackbeach17/23_hu91555ad5ac0f5e3342fad00e5d03ad78_928825_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..4e86c99 Binary files /dev/null and b/photos/hackbeach17/23_hu91555ad5ac0f5e3342fad00e5d03ad78_928825_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/24.jpg b/photos/hackbeach17/24.jpg similarity index 100% rename from content/photos/hackbeach17/24.jpg rename to photos/hackbeach17/24.jpg diff --git a/photos/hackbeach17/24_hu515a99b22365ecc697e95730b6b3dbeb_560029_350x0_resize_q100_box.jpg b/photos/hackbeach17/24_hu515a99b22365ecc697e95730b6b3dbeb_560029_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..a811334 Binary files /dev/null and b/photos/hackbeach17/24_hu515a99b22365ecc697e95730b6b3dbeb_560029_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/25.jpg b/photos/hackbeach17/25.jpg similarity index 100% rename from content/photos/hackbeach17/25.jpg rename to photos/hackbeach17/25.jpg diff --git a/photos/hackbeach17/25_hu89c1ab131fa8537eaa5df3149fc8d6b2_624116_350x0_resize_q100_box.jpg b/photos/hackbeach17/25_hu89c1ab131fa8537eaa5df3149fc8d6b2_624116_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..55b7f73 Binary files /dev/null and b/photos/hackbeach17/25_hu89c1ab131fa8537eaa5df3149fc8d6b2_624116_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/26.jpg b/photos/hackbeach17/26.jpg similarity index 100% rename from content/photos/hackbeach17/26.jpg rename to photos/hackbeach17/26.jpg diff --git a/photos/hackbeach17/26_hu515a99b22365ecc697e95730b6b3dbeb_250897_350x0_resize_q100_box.jpg b/photos/hackbeach17/26_hu515a99b22365ecc697e95730b6b3dbeb_250897_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..0d0f989 Binary files /dev/null and b/photos/hackbeach17/26_hu515a99b22365ecc697e95730b6b3dbeb_250897_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/27.jpg b/photos/hackbeach17/27.jpg similarity index 100% rename from content/photos/hackbeach17/27.jpg rename to photos/hackbeach17/27.jpg diff --git a/photos/hackbeach17/27_hu91555ad5ac0f5e3342fad00e5d03ad78_270477_350x0_resize_q100_box.jpg b/photos/hackbeach17/27_hu91555ad5ac0f5e3342fad00e5d03ad78_270477_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..67edf45 Binary files /dev/null and b/photos/hackbeach17/27_hu91555ad5ac0f5e3342fad00e5d03ad78_270477_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/28.jpg b/photos/hackbeach17/28.jpg similarity index 100% rename from content/photos/hackbeach17/28.jpg rename to photos/hackbeach17/28.jpg diff --git a/photos/hackbeach17/28_hu515a99b22365ecc697e95730b6b3dbeb_226083_350x0_resize_q100_box.jpg b/photos/hackbeach17/28_hu515a99b22365ecc697e95730b6b3dbeb_226083_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..8c1de22 Binary files /dev/null and b/photos/hackbeach17/28_hu515a99b22365ecc697e95730b6b3dbeb_226083_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/29.jpg b/photos/hackbeach17/29.jpg similarity index 100% rename from content/photos/hackbeach17/29.jpg rename to photos/hackbeach17/29.jpg diff --git a/photos/hackbeach17/29_hu91555ad5ac0f5e3342fad00e5d03ad78_591322_350x0_resize_q100_box.jpg b/photos/hackbeach17/29_hu91555ad5ac0f5e3342fad00e5d03ad78_591322_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..2764d6b Binary files /dev/null and b/photos/hackbeach17/29_hu91555ad5ac0f5e3342fad00e5d03ad78_591322_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/30.jpg b/photos/hackbeach17/30.jpg similarity index 100% rename from content/photos/hackbeach17/30.jpg rename to photos/hackbeach17/30.jpg diff --git a/photos/hackbeach17/30_hu91555ad5ac0f5e3342fad00e5d03ad78_540713_350x0_resize_q100_box.jpg b/photos/hackbeach17/30_hu91555ad5ac0f5e3342fad00e5d03ad78_540713_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..193f2ed Binary files /dev/null and b/photos/hackbeach17/30_hu91555ad5ac0f5e3342fad00e5d03ad78_540713_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/31.jpg b/photos/hackbeach17/31.jpg similarity index 100% rename from content/photos/hackbeach17/31.jpg rename to photos/hackbeach17/31.jpg diff --git a/photos/hackbeach17/31_hu91555ad5ac0f5e3342fad00e5d03ad78_288327_350x0_resize_q100_box.jpg b/photos/hackbeach17/31_hu91555ad5ac0f5e3342fad00e5d03ad78_288327_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..0f72eaa Binary files /dev/null and b/photos/hackbeach17/31_hu91555ad5ac0f5e3342fad00e5d03ad78_288327_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/33.jpg b/photos/hackbeach17/33.jpg similarity index 100% rename from content/photos/hackbeach17/33.jpg rename to photos/hackbeach17/33.jpg diff --git a/photos/hackbeach17/33_hu612a40517cefd7e7d8e49704bbdda3e8_143714_350x0_resize_q100_box.jpg b/photos/hackbeach17/33_hu612a40517cefd7e7d8e49704bbdda3e8_143714_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..d5c35dc Binary files /dev/null and b/photos/hackbeach17/33_hu612a40517cefd7e7d8e49704bbdda3e8_143714_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/34.jpg b/photos/hackbeach17/34.jpg similarity index 100% rename from content/photos/hackbeach17/34.jpg rename to photos/hackbeach17/34.jpg diff --git a/photos/hackbeach17/34_hu91555ad5ac0f5e3342fad00e5d03ad78_493518_350x0_resize_q100_box.jpg b/photos/hackbeach17/34_hu91555ad5ac0f5e3342fad00e5d03ad78_493518_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..1b13261 Binary files /dev/null and b/photos/hackbeach17/34_hu91555ad5ac0f5e3342fad00e5d03ad78_493518_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/35.jpg b/photos/hackbeach17/35.jpg similarity index 100% rename from content/photos/hackbeach17/35.jpg rename to photos/hackbeach17/35.jpg diff --git a/photos/hackbeach17/35_hu89c1ab131fa8537eaa5df3149fc8d6b2_672999_350x0_resize_q100_box.jpg b/photos/hackbeach17/35_hu89c1ab131fa8537eaa5df3149fc8d6b2_672999_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..7aea0fd Binary files /dev/null and b/photos/hackbeach17/35_hu89c1ab131fa8537eaa5df3149fc8d6b2_672999_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/36.jpg b/photos/hackbeach17/36.jpg similarity index 100% rename from content/photos/hackbeach17/36.jpg rename to photos/hackbeach17/36.jpg diff --git a/photos/hackbeach17/36_hu89c1ab131fa8537eaa5df3149fc8d6b2_306635_350x0_resize_q100_box.jpg b/photos/hackbeach17/36_hu89c1ab131fa8537eaa5df3149fc8d6b2_306635_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..d7a305a Binary files /dev/null and b/photos/hackbeach17/36_hu89c1ab131fa8537eaa5df3149fc8d6b2_306635_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/37.jpg b/photos/hackbeach17/37.jpg similarity index 100% rename from content/photos/hackbeach17/37.jpg rename to photos/hackbeach17/37.jpg diff --git a/photos/hackbeach17/37_hu89c1ab131fa8537eaa5df3149fc8d6b2_268377_350x0_resize_q100_box.jpg b/photos/hackbeach17/37_hu89c1ab131fa8537eaa5df3149fc8d6b2_268377_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..d2cafa4 Binary files /dev/null and b/photos/hackbeach17/37_hu89c1ab131fa8537eaa5df3149fc8d6b2_268377_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/38.jpg b/photos/hackbeach17/38.jpg similarity index 100% rename from content/photos/hackbeach17/38.jpg rename to photos/hackbeach17/38.jpg diff --git a/photos/hackbeach17/38_hu89c1ab131fa8537eaa5df3149fc8d6b2_298609_350x0_resize_q100_box.jpg b/photos/hackbeach17/38_hu89c1ab131fa8537eaa5df3149fc8d6b2_298609_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..d5eee0a Binary files /dev/null and b/photos/hackbeach17/38_hu89c1ab131fa8537eaa5df3149fc8d6b2_298609_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/39.jpg b/photos/hackbeach17/39.jpg similarity index 100% rename from content/photos/hackbeach17/39.jpg rename to photos/hackbeach17/39.jpg diff --git a/photos/hackbeach17/39_hu515a99b22365ecc697e95730b6b3dbeb_395368_350x0_resize_q100_box.jpg b/photos/hackbeach17/39_hu515a99b22365ecc697e95730b6b3dbeb_395368_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..2acf984 Binary files /dev/null and b/photos/hackbeach17/39_hu515a99b22365ecc697e95730b6b3dbeb_395368_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/40.jpg b/photos/hackbeach17/40.jpg similarity index 100% rename from content/photos/hackbeach17/40.jpg rename to photos/hackbeach17/40.jpg diff --git a/photos/hackbeach17/40_hu11fe7cd7f1c1bb8975d576a598ee1910_3248398_350x0_resize_q100_box.jpg b/photos/hackbeach17/40_hu11fe7cd7f1c1bb8975d576a598ee1910_3248398_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..61d95bc Binary files /dev/null and b/photos/hackbeach17/40_hu11fe7cd7f1c1bb8975d576a598ee1910_3248398_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/41.jpg b/photos/hackbeach17/41.jpg similarity index 100% rename from content/photos/hackbeach17/41.jpg rename to photos/hackbeach17/41.jpg diff --git a/photos/hackbeach17/41_hua11fc919067bd884c6a7b3544e8fa6c1_1642735_350x0_resize_q100_box.jpg b/photos/hackbeach17/41_hua11fc919067bd884c6a7b3544e8fa6c1_1642735_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..2b3ca70 Binary files /dev/null and b/photos/hackbeach17/41_hua11fc919067bd884c6a7b3544e8fa6c1_1642735_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/42.jpg b/photos/hackbeach17/42.jpg similarity index 100% rename from content/photos/hackbeach17/42.jpg rename to photos/hackbeach17/42.jpg diff --git a/photos/hackbeach17/42_hu91555ad5ac0f5e3342fad00e5d03ad78_704030_350x0_resize_q100_box.jpg b/photos/hackbeach17/42_hu91555ad5ac0f5e3342fad00e5d03ad78_704030_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..1246a42 Binary files /dev/null and b/photos/hackbeach17/42_hu91555ad5ac0f5e3342fad00e5d03ad78_704030_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/43.jpg b/photos/hackbeach17/43.jpg similarity index 100% rename from content/photos/hackbeach17/43.jpg rename to photos/hackbeach17/43.jpg diff --git a/photos/hackbeach17/43_hu27d9e6374b60459bae5ea5c8db312e08_167657_350x0_resize_q100_box.jpg b/photos/hackbeach17/43_hu27d9e6374b60459bae5ea5c8db312e08_167657_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..ea24b1d Binary files /dev/null and b/photos/hackbeach17/43_hu27d9e6374b60459bae5ea5c8db312e08_167657_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/45.jpg b/photos/hackbeach17/45.jpg similarity index 100% rename from content/photos/hackbeach17/45.jpg rename to photos/hackbeach17/45.jpg diff --git a/photos/hackbeach17/45_hu91555ad5ac0f5e3342fad00e5d03ad78_522455_350x0_resize_q100_box.jpg b/photos/hackbeach17/45_hu91555ad5ac0f5e3342fad00e5d03ad78_522455_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..0fd3c49 Binary files /dev/null and b/photos/hackbeach17/45_hu91555ad5ac0f5e3342fad00e5d03ad78_522455_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/46.jpg b/photos/hackbeach17/46.jpg similarity index 100% rename from content/photos/hackbeach17/46.jpg rename to photos/hackbeach17/46.jpg diff --git a/photos/hackbeach17/46_hu91555ad5ac0f5e3342fad00e5d03ad78_711173_350x0_resize_q100_box.jpg b/photos/hackbeach17/46_hu91555ad5ac0f5e3342fad00e5d03ad78_711173_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..1a2da40 Binary files /dev/null and b/photos/hackbeach17/46_hu91555ad5ac0f5e3342fad00e5d03ad78_711173_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach17/47.jpg b/photos/hackbeach17/47.jpg similarity index 100% rename from content/photos/hackbeach17/47.jpg rename to photos/hackbeach17/47.jpg diff --git a/photos/hackbeach17/47_hu91555ad5ac0f5e3342fad00e5d03ad78_992600_350x0_resize_q100_box.jpg b/photos/hackbeach17/47_hu91555ad5ac0f5e3342fad00e5d03ad78_992600_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..7767d4e Binary files /dev/null and b/photos/hackbeach17/47_hu91555ad5ac0f5e3342fad00e5d03ad78_992600_350x0_resize_q100_box.jpg differ diff --git a/photos/hackbeach17/index.html b/photos/hackbeach17/index.html new file mode 100644 index 0000000..1a7ec6a --- /dev/null +++ b/photos/hackbeach17/index.html @@ -0,0 +1,43 @@ +Hackbeach 2017 · Sid Verma

‹ Sid Verma

Hackbeach 2017

2017 Nov
Gokarna, Karnataka, India

Hackbeach 2017 happened right at the main beach in Gokarna.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Shot on Oneplus 3


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/content/photos/hackbeach18/DSC_0027-Pano.jpg b/photos/hackbeach18/DSC_0027-Pano.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0027-Pano.jpg rename to photos/hackbeach18/DSC_0027-Pano.jpg diff --git a/photos/hackbeach18/DSC_0027-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_454278_700x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0027-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_454278_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..f29ed9a Binary files /dev/null and b/photos/hackbeach18/DSC_0027-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_454278_700x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0055-Pano.jpg b/photos/hackbeach18/DSC_0055-Pano.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0055-Pano.jpg rename to photos/hackbeach18/DSC_0055-Pano.jpg diff --git a/photos/hackbeach18/DSC_0055-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_1255525_700x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0055-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_1255525_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..93afe54 Binary files /dev/null and b/photos/hackbeach18/DSC_0055-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_1255525_700x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0059.jpg b/photos/hackbeach18/DSC_0059.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0059.jpg rename to photos/hackbeach18/DSC_0059.jpg diff --git a/photos/hackbeach18/DSC_0059_hueb0cf13f5315aa36e5e7eff679151ae6_741167_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0059_hueb0cf13f5315aa36e5e7eff679151ae6_741167_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..1c7848f Binary files /dev/null and b/photos/hackbeach18/DSC_0059_hueb0cf13f5315aa36e5e7eff679151ae6_741167_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0065.jpg b/photos/hackbeach18/DSC_0065.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0065.jpg rename to photos/hackbeach18/DSC_0065.jpg diff --git a/photos/hackbeach18/DSC_0065_hueb0cf13f5315aa36e5e7eff679151ae6_340318_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0065_hueb0cf13f5315aa36e5e7eff679151ae6_340318_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..4491c9f Binary files /dev/null and b/photos/hackbeach18/DSC_0065_hueb0cf13f5315aa36e5e7eff679151ae6_340318_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0068.jpg b/photos/hackbeach18/DSC_0068.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0068.jpg rename to photos/hackbeach18/DSC_0068.jpg diff --git a/photos/hackbeach18/DSC_0068_hueb0cf13f5315aa36e5e7eff679151ae6_542231_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0068_hueb0cf13f5315aa36e5e7eff679151ae6_542231_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..da1632f Binary files /dev/null and b/photos/hackbeach18/DSC_0068_hueb0cf13f5315aa36e5e7eff679151ae6_542231_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0078-2.jpg b/photos/hackbeach18/DSC_0078-2.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0078-2.jpg rename to photos/hackbeach18/DSC_0078-2.jpg diff --git a/photos/hackbeach18/DSC_0078-2_hueb0cf13f5315aa36e5e7eff679151ae6_613769_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0078-2_hueb0cf13f5315aa36e5e7eff679151ae6_613769_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..deda1e1 Binary files /dev/null and b/photos/hackbeach18/DSC_0078-2_hueb0cf13f5315aa36e5e7eff679151ae6_613769_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0084-2.jpg b/photos/hackbeach18/DSC_0084-2.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0084-2.jpg rename to photos/hackbeach18/DSC_0084-2.jpg diff --git a/photos/hackbeach18/DSC_0084-2_hueb0cf13f5315aa36e5e7eff679151ae6_1441918_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0084-2_hueb0cf13f5315aa36e5e7eff679151ae6_1441918_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..e167b87 Binary files /dev/null and b/photos/hackbeach18/DSC_0084-2_hueb0cf13f5315aa36e5e7eff679151ae6_1441918_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0097.jpg b/photos/hackbeach18/DSC_0097.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0097.jpg rename to photos/hackbeach18/DSC_0097.jpg diff --git a/photos/hackbeach18/DSC_0097_hueb0cf13f5315aa36e5e7eff679151ae6_566724_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0097_hueb0cf13f5315aa36e5e7eff679151ae6_566724_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..de5e03c Binary files /dev/null and b/photos/hackbeach18/DSC_0097_hueb0cf13f5315aa36e5e7eff679151ae6_566724_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0107-Pano.jpg b/photos/hackbeach18/DSC_0107-Pano.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0107-Pano.jpg rename to photos/hackbeach18/DSC_0107-Pano.jpg diff --git a/photos/hackbeach18/DSC_0107-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_221758_700x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0107-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_221758_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..6fdc9e0 Binary files /dev/null and b/photos/hackbeach18/DSC_0107-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_221758_700x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0126.jpg b/photos/hackbeach18/DSC_0126.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0126.jpg rename to photos/hackbeach18/DSC_0126.jpg diff --git a/photos/hackbeach18/DSC_0126_hueb0cf13f5315aa36e5e7eff679151ae6_539828_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0126_hueb0cf13f5315aa36e5e7eff679151ae6_539828_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..7c91ee3 Binary files /dev/null and b/photos/hackbeach18/DSC_0126_hueb0cf13f5315aa36e5e7eff679151ae6_539828_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0149.jpg b/photos/hackbeach18/DSC_0149.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0149.jpg rename to photos/hackbeach18/DSC_0149.jpg diff --git a/photos/hackbeach18/DSC_0149_hueb0cf13f5315aa36e5e7eff679151ae6_783624_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0149_hueb0cf13f5315aa36e5e7eff679151ae6_783624_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..2efc700 Binary files /dev/null and b/photos/hackbeach18/DSC_0149_hueb0cf13f5315aa36e5e7eff679151ae6_783624_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0162.jpg b/photos/hackbeach18/DSC_0162.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0162.jpg rename to photos/hackbeach18/DSC_0162.jpg diff --git a/photos/hackbeach18/DSC_0162_hueb0cf13f5315aa36e5e7eff679151ae6_843754_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0162_hueb0cf13f5315aa36e5e7eff679151ae6_843754_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..8a5ffea Binary files /dev/null and b/photos/hackbeach18/DSC_0162_hueb0cf13f5315aa36e5e7eff679151ae6_843754_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0163.jpg b/photos/hackbeach18/DSC_0163.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0163.jpg rename to photos/hackbeach18/DSC_0163.jpg diff --git a/photos/hackbeach18/DSC_0163_hueb0cf13f5315aa36e5e7eff679151ae6_455242_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0163_hueb0cf13f5315aa36e5e7eff679151ae6_455242_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..818ad1a Binary files /dev/null and b/photos/hackbeach18/DSC_0163_hueb0cf13f5315aa36e5e7eff679151ae6_455242_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0164.jpg b/photos/hackbeach18/DSC_0164.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0164.jpg rename to photos/hackbeach18/DSC_0164.jpg diff --git a/photos/hackbeach18/DSC_0164_hueb0cf13f5315aa36e5e7eff679151ae6_433747_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0164_hueb0cf13f5315aa36e5e7eff679151ae6_433747_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..7f7ca82 Binary files /dev/null and b/photos/hackbeach18/DSC_0164_hueb0cf13f5315aa36e5e7eff679151ae6_433747_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0169.jpg b/photos/hackbeach18/DSC_0169.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0169.jpg rename to photos/hackbeach18/DSC_0169.jpg diff --git a/photos/hackbeach18/DSC_0169_hueb0cf13f5315aa36e5e7eff679151ae6_790830_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0169_hueb0cf13f5315aa36e5e7eff679151ae6_790830_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..bde2b80 Binary files /dev/null and b/photos/hackbeach18/DSC_0169_hueb0cf13f5315aa36e5e7eff679151ae6_790830_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0170.jpg b/photos/hackbeach18/DSC_0170.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0170.jpg rename to photos/hackbeach18/DSC_0170.jpg diff --git a/photos/hackbeach18/DSC_0170_hueb0cf13f5315aa36e5e7eff679151ae6_862954_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0170_hueb0cf13f5315aa36e5e7eff679151ae6_862954_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..3ac66e1 Binary files /dev/null and b/photos/hackbeach18/DSC_0170_hueb0cf13f5315aa36e5e7eff679151ae6_862954_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0171.jpg b/photos/hackbeach18/DSC_0171.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0171.jpg rename to photos/hackbeach18/DSC_0171.jpg diff --git a/photos/hackbeach18/DSC_0171_hueb0cf13f5315aa36e5e7eff679151ae6_404039_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0171_hueb0cf13f5315aa36e5e7eff679151ae6_404039_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..c5e9df1 Binary files /dev/null and b/photos/hackbeach18/DSC_0171_hueb0cf13f5315aa36e5e7eff679151ae6_404039_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0191.jpg b/photos/hackbeach18/DSC_0191.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0191.jpg rename to photos/hackbeach18/DSC_0191.jpg diff --git a/photos/hackbeach18/DSC_0191_hueb0cf13f5315aa36e5e7eff679151ae6_525610_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0191_hueb0cf13f5315aa36e5e7eff679151ae6_525610_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..2025212 Binary files /dev/null and b/photos/hackbeach18/DSC_0191_hueb0cf13f5315aa36e5e7eff679151ae6_525610_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0195.jpg b/photos/hackbeach18/DSC_0195.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0195.jpg rename to photos/hackbeach18/DSC_0195.jpg diff --git a/photos/hackbeach18/DSC_0195_hu9c44beeb152b3cdb05d5df3f41b691dd_1366881_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0195_hu9c44beeb152b3cdb05d5df3f41b691dd_1366881_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..cb3e214 Binary files /dev/null and b/photos/hackbeach18/DSC_0195_hu9c44beeb152b3cdb05d5df3f41b691dd_1366881_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0225.jpg b/photos/hackbeach18/DSC_0225.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0225.jpg rename to photos/hackbeach18/DSC_0225.jpg diff --git a/photos/hackbeach18/DSC_0225_hueb0cf13f5315aa36e5e7eff679151ae6_555900_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0225_hueb0cf13f5315aa36e5e7eff679151ae6_555900_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..c583e83 Binary files /dev/null and b/photos/hackbeach18/DSC_0225_hueb0cf13f5315aa36e5e7eff679151ae6_555900_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0230.jpg b/photos/hackbeach18/DSC_0230.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0230.jpg rename to photos/hackbeach18/DSC_0230.jpg diff --git a/photos/hackbeach18/DSC_0230_hueb0cf13f5315aa36e5e7eff679151ae6_464036_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0230_hueb0cf13f5315aa36e5e7eff679151ae6_464036_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..bcec4bf Binary files /dev/null and b/photos/hackbeach18/DSC_0230_hueb0cf13f5315aa36e5e7eff679151ae6_464036_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0232.jpg b/photos/hackbeach18/DSC_0232.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0232.jpg rename to photos/hackbeach18/DSC_0232.jpg diff --git a/photos/hackbeach18/DSC_0232_hueb0cf13f5315aa36e5e7eff679151ae6_521680_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0232_hueb0cf13f5315aa36e5e7eff679151ae6_521680_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..f36a282 Binary files /dev/null and b/photos/hackbeach18/DSC_0232_hueb0cf13f5315aa36e5e7eff679151ae6_521680_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0241.jpg b/photos/hackbeach18/DSC_0241.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0241.jpg rename to photos/hackbeach18/DSC_0241.jpg diff --git a/photos/hackbeach18/DSC_0241_hueb0cf13f5315aa36e5e7eff679151ae6_572053_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0241_hueb0cf13f5315aa36e5e7eff679151ae6_572053_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..a3e92af Binary files /dev/null and b/photos/hackbeach18/DSC_0241_hueb0cf13f5315aa36e5e7eff679151ae6_572053_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0253.jpg b/photos/hackbeach18/DSC_0253.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0253.jpg rename to photos/hackbeach18/DSC_0253.jpg diff --git a/photos/hackbeach18/DSC_0253_hueb0cf13f5315aa36e5e7eff679151ae6_672896_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0253_hueb0cf13f5315aa36e5e7eff679151ae6_672896_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..056f0fd Binary files /dev/null and b/photos/hackbeach18/DSC_0253_hueb0cf13f5315aa36e5e7eff679151ae6_672896_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0270.jpg b/photos/hackbeach18/DSC_0270.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0270.jpg rename to photos/hackbeach18/DSC_0270.jpg diff --git a/photos/hackbeach18/DSC_0270_hueb0cf13f5315aa36e5e7eff679151ae6_715900_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0270_hueb0cf13f5315aa36e5e7eff679151ae6_715900_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..b3d75f4 Binary files /dev/null and b/photos/hackbeach18/DSC_0270_hueb0cf13f5315aa36e5e7eff679151ae6_715900_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0279.jpg b/photos/hackbeach18/DSC_0279.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0279.jpg rename to photos/hackbeach18/DSC_0279.jpg diff --git a/photos/hackbeach18/DSC_0279_hueb0cf13f5315aa36e5e7eff679151ae6_939034_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0279_hueb0cf13f5315aa36e5e7eff679151ae6_939034_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..cfa2eac Binary files /dev/null and b/photos/hackbeach18/DSC_0279_hueb0cf13f5315aa36e5e7eff679151ae6_939034_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0290.jpg b/photos/hackbeach18/DSC_0290.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0290.jpg rename to photos/hackbeach18/DSC_0290.jpg diff --git a/photos/hackbeach18/DSC_0290_hueb0cf13f5315aa36e5e7eff679151ae6_643637_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0290_hueb0cf13f5315aa36e5e7eff679151ae6_643637_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..28a099a Binary files /dev/null and b/photos/hackbeach18/DSC_0290_hueb0cf13f5315aa36e5e7eff679151ae6_643637_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0298.jpg b/photos/hackbeach18/DSC_0298.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0298.jpg rename to photos/hackbeach18/DSC_0298.jpg diff --git a/photos/hackbeach18/DSC_0298_hueb0cf13f5315aa36e5e7eff679151ae6_681893_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0298_hueb0cf13f5315aa36e5e7eff679151ae6_681893_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..f6fecd3 Binary files /dev/null and b/photos/hackbeach18/DSC_0298_hueb0cf13f5315aa36e5e7eff679151ae6_681893_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0306-2.jpg b/photos/hackbeach18/DSC_0306-2.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0306-2.jpg rename to photos/hackbeach18/DSC_0306-2.jpg diff --git a/photos/hackbeach18/DSC_0306-2_hueb0cf13f5315aa36e5e7eff679151ae6_620475_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0306-2_hueb0cf13f5315aa36e5e7eff679151ae6_620475_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..a05257b Binary files /dev/null and b/photos/hackbeach18/DSC_0306-2_hueb0cf13f5315aa36e5e7eff679151ae6_620475_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0320.jpg b/photos/hackbeach18/DSC_0320.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0320.jpg rename to photos/hackbeach18/DSC_0320.jpg diff --git a/photos/hackbeach18/DSC_0320_hueb0cf13f5315aa36e5e7eff679151ae6_877437_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0320_hueb0cf13f5315aa36e5e7eff679151ae6_877437_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..6924f53 Binary files /dev/null and b/photos/hackbeach18/DSC_0320_hueb0cf13f5315aa36e5e7eff679151ae6_877437_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0327.jpg b/photos/hackbeach18/DSC_0327.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0327.jpg rename to photos/hackbeach18/DSC_0327.jpg diff --git a/photos/hackbeach18/DSC_0327_hueb0cf13f5315aa36e5e7eff679151ae6_709533_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0327_hueb0cf13f5315aa36e5e7eff679151ae6_709533_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..1d93276 Binary files /dev/null and b/photos/hackbeach18/DSC_0327_hueb0cf13f5315aa36e5e7eff679151ae6_709533_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0332.jpg b/photos/hackbeach18/DSC_0332.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0332.jpg rename to photos/hackbeach18/DSC_0332.jpg diff --git a/photos/hackbeach18/DSC_0332_hueb0cf13f5315aa36e5e7eff679151ae6_523789_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0332_hueb0cf13f5315aa36e5e7eff679151ae6_523789_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..0db62e9 Binary files /dev/null and b/photos/hackbeach18/DSC_0332_hueb0cf13f5315aa36e5e7eff679151ae6_523789_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0335-2.jpg b/photos/hackbeach18/DSC_0335-2.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0335-2.jpg rename to photos/hackbeach18/DSC_0335-2.jpg diff --git a/photos/hackbeach18/DSC_0335-2_hueb0cf13f5315aa36e5e7eff679151ae6_473309_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0335-2_hueb0cf13f5315aa36e5e7eff679151ae6_473309_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..b381534 Binary files /dev/null and b/photos/hackbeach18/DSC_0335-2_hueb0cf13f5315aa36e5e7eff679151ae6_473309_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0347.jpg b/photos/hackbeach18/DSC_0347.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0347.jpg rename to photos/hackbeach18/DSC_0347.jpg diff --git a/photos/hackbeach18/DSC_0347_hueb0cf13f5315aa36e5e7eff679151ae6_581371_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0347_hueb0cf13f5315aa36e5e7eff679151ae6_581371_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..c6c6221 Binary files /dev/null and b/photos/hackbeach18/DSC_0347_hueb0cf13f5315aa36e5e7eff679151ae6_581371_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0366.jpg b/photos/hackbeach18/DSC_0366.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0366.jpg rename to photos/hackbeach18/DSC_0366.jpg diff --git a/photos/hackbeach18/DSC_0366_hueb0cf13f5315aa36e5e7eff679151ae6_943038_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0366_hueb0cf13f5315aa36e5e7eff679151ae6_943038_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..8c1a2b7 Binary files /dev/null and b/photos/hackbeach18/DSC_0366_hueb0cf13f5315aa36e5e7eff679151ae6_943038_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0388.jpg b/photos/hackbeach18/DSC_0388.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0388.jpg rename to photos/hackbeach18/DSC_0388.jpg diff --git a/photos/hackbeach18/DSC_0388_hueb0cf13f5315aa36e5e7eff679151ae6_582220_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0388_hueb0cf13f5315aa36e5e7eff679151ae6_582220_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..1774183 Binary files /dev/null and b/photos/hackbeach18/DSC_0388_hueb0cf13f5315aa36e5e7eff679151ae6_582220_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0389.jpg b/photos/hackbeach18/DSC_0389.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0389.jpg rename to photos/hackbeach18/DSC_0389.jpg diff --git a/photos/hackbeach18/DSC_0389_hueb0cf13f5315aa36e5e7eff679151ae6_515661_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0389_hueb0cf13f5315aa36e5e7eff679151ae6_515661_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..0a12ec8 Binary files /dev/null and b/photos/hackbeach18/DSC_0389_hueb0cf13f5315aa36e5e7eff679151ae6_515661_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0394-Pano-2.jpg b/photos/hackbeach18/DSC_0394-Pano-2.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0394-Pano-2.jpg rename to photos/hackbeach18/DSC_0394-Pano-2.jpg diff --git a/photos/hackbeach18/DSC_0394-Pano-2_hueb0cf13f5315aa36e5e7eff679151ae6_488896_700x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0394-Pano-2_hueb0cf13f5315aa36e5e7eff679151ae6_488896_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..ed390db Binary files /dev/null and b/photos/hackbeach18/DSC_0394-Pano-2_hueb0cf13f5315aa36e5e7eff679151ae6_488896_700x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0407-Pano.jpg b/photos/hackbeach18/DSC_0407-Pano.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0407-Pano.jpg rename to photos/hackbeach18/DSC_0407-Pano.jpg diff --git a/photos/hackbeach18/DSC_0407-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_605107_700x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0407-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_605107_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..1ca1603 Binary files /dev/null and b/photos/hackbeach18/DSC_0407-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_605107_700x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0412-4.jpg b/photos/hackbeach18/DSC_0412-4.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0412-4.jpg rename to photos/hackbeach18/DSC_0412-4.jpg diff --git a/photos/hackbeach18/DSC_0412-4_hueb0cf13f5315aa36e5e7eff679151ae6_988061_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0412-4_hueb0cf13f5315aa36e5e7eff679151ae6_988061_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..03e47c4 Binary files /dev/null and b/photos/hackbeach18/DSC_0412-4_hueb0cf13f5315aa36e5e7eff679151ae6_988061_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0426-4.jpg b/photos/hackbeach18/DSC_0426-4.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0426-4.jpg rename to photos/hackbeach18/DSC_0426-4.jpg diff --git a/photos/hackbeach18/DSC_0426-4_hueb0cf13f5315aa36e5e7eff679151ae6_588825_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0426-4_hueb0cf13f5315aa36e5e7eff679151ae6_588825_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..4f65ed8 Binary files /dev/null and b/photos/hackbeach18/DSC_0426-4_hueb0cf13f5315aa36e5e7eff679151ae6_588825_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0448-Pano.jpg b/photos/hackbeach18/DSC_0448-Pano.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0448-Pano.jpg rename to photos/hackbeach18/DSC_0448-Pano.jpg diff --git a/photos/hackbeach18/DSC_0448-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_297881_700x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0448-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_297881_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..7dfadda Binary files /dev/null and b/photos/hackbeach18/DSC_0448-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_297881_700x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0462.jpg b/photos/hackbeach18/DSC_0462.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0462.jpg rename to photos/hackbeach18/DSC_0462.jpg diff --git a/photos/hackbeach18/DSC_0462_hueb0cf13f5315aa36e5e7eff679151ae6_525076_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0462_hueb0cf13f5315aa36e5e7eff679151ae6_525076_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..600dc9f Binary files /dev/null and b/photos/hackbeach18/DSC_0462_hueb0cf13f5315aa36e5e7eff679151ae6_525076_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0463.jpg b/photos/hackbeach18/DSC_0463.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0463.jpg rename to photos/hackbeach18/DSC_0463.jpg diff --git a/photos/hackbeach18/DSC_0463_hueb0cf13f5315aa36e5e7eff679151ae6_1172771_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0463_hueb0cf13f5315aa36e5e7eff679151ae6_1172771_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..376e187 Binary files /dev/null and b/photos/hackbeach18/DSC_0463_hueb0cf13f5315aa36e5e7eff679151ae6_1172771_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0481-Pano.jpg b/photos/hackbeach18/DSC_0481-Pano.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0481-Pano.jpg rename to photos/hackbeach18/DSC_0481-Pano.jpg diff --git a/photos/hackbeach18/DSC_0481-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_1866223_700x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0481-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_1866223_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..2fa4813 Binary files /dev/null and b/photos/hackbeach18/DSC_0481-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_1866223_700x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0484-Pano.jpg b/photos/hackbeach18/DSC_0484-Pano.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0484-Pano.jpg rename to photos/hackbeach18/DSC_0484-Pano.jpg diff --git a/photos/hackbeach18/DSC_0484-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_526148_700x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0484-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_526148_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..13a0c77 Binary files /dev/null and b/photos/hackbeach18/DSC_0484-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_526148_700x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0494-Pano.jpg b/photos/hackbeach18/DSC_0494-Pano.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0494-Pano.jpg rename to photos/hackbeach18/DSC_0494-Pano.jpg diff --git a/photos/hackbeach18/DSC_0494-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_316135_700x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0494-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_316135_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..b8243c7 Binary files /dev/null and b/photos/hackbeach18/DSC_0494-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_316135_700x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0505-Pano.jpg b/photos/hackbeach18/DSC_0505-Pano.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0505-Pano.jpg rename to photos/hackbeach18/DSC_0505-Pano.jpg diff --git a/photos/hackbeach18/DSC_0505-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_580324_700x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0505-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_580324_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..1e3d515 Binary files /dev/null and b/photos/hackbeach18/DSC_0505-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_580324_700x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0513.jpg b/photos/hackbeach18/DSC_0513.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0513.jpg rename to photos/hackbeach18/DSC_0513.jpg diff --git a/photos/hackbeach18/DSC_0513_hueb0cf13f5315aa36e5e7eff679151ae6_823291_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0513_hueb0cf13f5315aa36e5e7eff679151ae6_823291_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..738bb8e Binary files /dev/null and b/photos/hackbeach18/DSC_0513_hueb0cf13f5315aa36e5e7eff679151ae6_823291_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0520.jpg b/photos/hackbeach18/DSC_0520.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0520.jpg rename to photos/hackbeach18/DSC_0520.jpg diff --git a/photos/hackbeach18/DSC_0520_hueb0cf13f5315aa36e5e7eff679151ae6_408474_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0520_hueb0cf13f5315aa36e5e7eff679151ae6_408474_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..3c6f195 Binary files /dev/null and b/photos/hackbeach18/DSC_0520_hueb0cf13f5315aa36e5e7eff679151ae6_408474_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0526.jpg b/photos/hackbeach18/DSC_0526.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0526.jpg rename to photos/hackbeach18/DSC_0526.jpg diff --git a/photos/hackbeach18/DSC_0526_hueb0cf13f5315aa36e5e7eff679151ae6_652484_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0526_hueb0cf13f5315aa36e5e7eff679151ae6_652484_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..087670e Binary files /dev/null and b/photos/hackbeach18/DSC_0526_hueb0cf13f5315aa36e5e7eff679151ae6_652484_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0536.jpg b/photos/hackbeach18/DSC_0536.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0536.jpg rename to photos/hackbeach18/DSC_0536.jpg diff --git a/photos/hackbeach18/DSC_0536_hueb0cf13f5315aa36e5e7eff679151ae6_541529_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0536_hueb0cf13f5315aa36e5e7eff679151ae6_541529_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..ba841d4 Binary files /dev/null and b/photos/hackbeach18/DSC_0536_hueb0cf13f5315aa36e5e7eff679151ae6_541529_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0541-Pano.jpg b/photos/hackbeach18/DSC_0541-Pano.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0541-Pano.jpg rename to photos/hackbeach18/DSC_0541-Pano.jpg diff --git a/photos/hackbeach18/DSC_0541-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_673133_700x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0541-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_673133_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..37b69d9 Binary files /dev/null and b/photos/hackbeach18/DSC_0541-Pano_hueb0cf13f5315aa36e5e7eff679151ae6_673133_700x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0558.jpg b/photos/hackbeach18/DSC_0558.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0558.jpg rename to photos/hackbeach18/DSC_0558.jpg diff --git a/photos/hackbeach18/DSC_0558_hueb0cf13f5315aa36e5e7eff679151ae6_282749_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0558_hueb0cf13f5315aa36e5e7eff679151ae6_282749_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..578ad41 Binary files /dev/null and b/photos/hackbeach18/DSC_0558_hueb0cf13f5315aa36e5e7eff679151ae6_282749_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0587.jpg b/photos/hackbeach18/DSC_0587.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0587.jpg rename to photos/hackbeach18/DSC_0587.jpg diff --git a/photos/hackbeach18/DSC_0587_hueb0cf13f5315aa36e5e7eff679151ae6_879339_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0587_hueb0cf13f5315aa36e5e7eff679151ae6_879339_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..3dc06a0 Binary files /dev/null and b/photos/hackbeach18/DSC_0587_hueb0cf13f5315aa36e5e7eff679151ae6_879339_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0594-Pano-4.jpg b/photos/hackbeach18/DSC_0594-Pano-4.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0594-Pano-4.jpg rename to photos/hackbeach18/DSC_0594-Pano-4.jpg diff --git a/photos/hackbeach18/DSC_0594-Pano-4_hueb0cf13f5315aa36e5e7eff679151ae6_637596_700x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0594-Pano-4_hueb0cf13f5315aa36e5e7eff679151ae6_637596_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..6ada8ce Binary files /dev/null and b/photos/hackbeach18/DSC_0594-Pano-4_hueb0cf13f5315aa36e5e7eff679151ae6_637596_700x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0605.jpg b/photos/hackbeach18/DSC_0605.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0605.jpg rename to photos/hackbeach18/DSC_0605.jpg diff --git a/photos/hackbeach18/DSC_0605_hueb0cf13f5315aa36e5e7eff679151ae6_1377247_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0605_hueb0cf13f5315aa36e5e7eff679151ae6_1377247_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..1101294 Binary files /dev/null and b/photos/hackbeach18/DSC_0605_hueb0cf13f5315aa36e5e7eff679151ae6_1377247_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0630.jpg b/photos/hackbeach18/DSC_0630.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0630.jpg rename to photos/hackbeach18/DSC_0630.jpg diff --git a/photos/hackbeach18/DSC_0630_hueb0cf13f5315aa36e5e7eff679151ae6_1844720_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0630_hueb0cf13f5315aa36e5e7eff679151ae6_1844720_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..f49e684 Binary files /dev/null and b/photos/hackbeach18/DSC_0630_hueb0cf13f5315aa36e5e7eff679151ae6_1844720_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0668.jpg b/photos/hackbeach18/DSC_0668.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0668.jpg rename to photos/hackbeach18/DSC_0668.jpg diff --git a/photos/hackbeach18/DSC_0668_hueb0cf13f5315aa36e5e7eff679151ae6_966244_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0668_hueb0cf13f5315aa36e5e7eff679151ae6_966244_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..b8920c8 Binary files /dev/null and b/photos/hackbeach18/DSC_0668_hueb0cf13f5315aa36e5e7eff679151ae6_966244_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0680-2.jpg b/photos/hackbeach18/DSC_0680-2.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0680-2.jpg rename to photos/hackbeach18/DSC_0680-2.jpg diff --git a/photos/hackbeach18/DSC_0680-2_hue29202bbecbd246dfa8090ca6d3c7809_2371051_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0680-2_hue29202bbecbd246dfa8090ca6d3c7809_2371051_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..2b85b07 Binary files /dev/null and b/photos/hackbeach18/DSC_0680-2_hue29202bbecbd246dfa8090ca6d3c7809_2371051_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0686.jpg b/photos/hackbeach18/DSC_0686.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0686.jpg rename to photos/hackbeach18/DSC_0686.jpg diff --git a/photos/hackbeach18/DSC_0686_hueb0cf13f5315aa36e5e7eff679151ae6_763974_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0686_hueb0cf13f5315aa36e5e7eff679151ae6_763974_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..09a2794 Binary files /dev/null and b/photos/hackbeach18/DSC_0686_hueb0cf13f5315aa36e5e7eff679151ae6_763974_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0687-2.jpg b/photos/hackbeach18/DSC_0687-2.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0687-2.jpg rename to photos/hackbeach18/DSC_0687-2.jpg diff --git a/photos/hackbeach18/DSC_0687-2_hueb0cf13f5315aa36e5e7eff679151ae6_772781_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0687-2_hueb0cf13f5315aa36e5e7eff679151ae6_772781_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..4a97feb Binary files /dev/null and b/photos/hackbeach18/DSC_0687-2_hueb0cf13f5315aa36e5e7eff679151ae6_772781_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0710.jpg b/photos/hackbeach18/DSC_0710.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0710.jpg rename to photos/hackbeach18/DSC_0710.jpg diff --git a/photos/hackbeach18/DSC_0710_hueb0cf13f5315aa36e5e7eff679151ae6_675924_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0710_hueb0cf13f5315aa36e5e7eff679151ae6_675924_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..4901658 Binary files /dev/null and b/photos/hackbeach18/DSC_0710_hueb0cf13f5315aa36e5e7eff679151ae6_675924_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0711.jpg b/photos/hackbeach18/DSC_0711.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0711.jpg rename to photos/hackbeach18/DSC_0711.jpg diff --git a/photos/hackbeach18/DSC_0711_hueb0cf13f5315aa36e5e7eff679151ae6_841977_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0711_hueb0cf13f5315aa36e5e7eff679151ae6_841977_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..8c8cd98 Binary files /dev/null and b/photos/hackbeach18/DSC_0711_hueb0cf13f5315aa36e5e7eff679151ae6_841977_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0745-2.jpg b/photos/hackbeach18/DSC_0745-2.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0745-2.jpg rename to photos/hackbeach18/DSC_0745-2.jpg diff --git a/photos/hackbeach18/DSC_0745-2_hucfc6b334a49dc1f0a649d907b3eaa753_426879_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0745-2_hucfc6b334a49dc1f0a649d907b3eaa753_426879_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..5fc55db Binary files /dev/null and b/photos/hackbeach18/DSC_0745-2_hucfc6b334a49dc1f0a649d907b3eaa753_426879_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0762-2.jpg b/photos/hackbeach18/DSC_0762-2.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0762-2.jpg rename to photos/hackbeach18/DSC_0762-2.jpg diff --git a/photos/hackbeach18/DSC_0762-2_hua8b84951a7009214440eb79aa181d8df_1883792_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0762-2_hua8b84951a7009214440eb79aa181d8df_1883792_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..3fbf92f Binary files /dev/null and b/photos/hackbeach18/DSC_0762-2_hua8b84951a7009214440eb79aa181d8df_1883792_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0774-2.jpg b/photos/hackbeach18/DSC_0774-2.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0774-2.jpg rename to photos/hackbeach18/DSC_0774-2.jpg diff --git a/photos/hackbeach18/DSC_0774-2_hu70d1c144b9be233efafbb62f7a8bb3c3_464985_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0774-2_hu70d1c144b9be233efafbb62f7a8bb3c3_464985_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..b96d5af Binary files /dev/null and b/photos/hackbeach18/DSC_0774-2_hu70d1c144b9be233efafbb62f7a8bb3c3_464985_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hackbeach18/DSC_0781-2.jpg b/photos/hackbeach18/DSC_0781-2.jpg similarity index 100% rename from content/photos/hackbeach18/DSC_0781-2.jpg rename to photos/hackbeach18/DSC_0781-2.jpg diff --git a/photos/hackbeach18/DSC_0781-2_hubc16b9cb408b40a744a0321184269947_164900_350x0_resize_q100_box.jpg b/photos/hackbeach18/DSC_0781-2_hubc16b9cb408b40a744a0321184269947_164900_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..7cfd2db Binary files /dev/null and b/photos/hackbeach18/DSC_0781-2_hubc16b9cb408b40a744a0321184269947_164900_350x0_resize_q100_box.jpg differ diff --git a/photos/hackbeach18/index.html b/photos/hackbeach18/index.html new file mode 100644 index 0000000..8162480 --- /dev/null +++ b/photos/hackbeach18/index.html @@ -0,0 +1,68 @@ +Hackbeach 2018 · Sid Verma

‹ Sid Verma

Hackbeach 2018

2018 Nov
Gokarna, Karnataka, India

Hackbeach revisited the previous venue too in 2018. The water was way calmer, and almost every attendee learned to swim at least to a basic level in the ocean.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Shot on Nikon D5300


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/content/photos/hillhacks17/IMG_20170513_181754.jpeg b/photos/hillhacks17/IMG_20170513_181754.jpeg similarity index 100% rename from content/photos/hillhacks17/IMG_20170513_181754.jpeg rename to photos/hillhacks17/IMG_20170513_181754.jpeg diff --git a/photos/hillhacks17/IMG_20170513_181754_hu8273b2aa7174d04a6c3d0aa66ffbdf83_741063_350x0_resize_q100_box.jpeg b/photos/hillhacks17/IMG_20170513_181754_hu8273b2aa7174d04a6c3d0aa66ffbdf83_741063_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..1061740 Binary files /dev/null and b/photos/hillhacks17/IMG_20170513_181754_hu8273b2aa7174d04a6c3d0aa66ffbdf83_741063_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/hillhacks17/IMG_20170514_145134.jpg b/photos/hillhacks17/IMG_20170514_145134.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170514_145134.jpg rename to photos/hillhacks17/IMG_20170514_145134.jpg diff --git a/photos/hillhacks17/IMG_20170514_145134_hu91555ad5ac0f5e3342fad00e5d03ad78_861328_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170514_145134_hu91555ad5ac0f5e3342fad00e5d03ad78_861328_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..4166466 Binary files /dev/null and b/photos/hillhacks17/IMG_20170514_145134_hu91555ad5ac0f5e3342fad00e5d03ad78_861328_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170514_153215.jpg b/photos/hillhacks17/IMG_20170514_153215.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170514_153215.jpg rename to photos/hillhacks17/IMG_20170514_153215.jpg diff --git a/photos/hillhacks17/IMG_20170514_153215_hu91555ad5ac0f5e3342fad00e5d03ad78_1297190_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170514_153215_hu91555ad5ac0f5e3342fad00e5d03ad78_1297190_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..463a04e Binary files /dev/null and b/photos/hillhacks17/IMG_20170514_153215_hu91555ad5ac0f5e3342fad00e5d03ad78_1297190_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170514_183741-01.jpeg b/photos/hillhacks17/IMG_20170514_183741-01.jpeg similarity index 100% rename from content/photos/hillhacks17/IMG_20170514_183741-01.jpeg rename to photos/hillhacks17/IMG_20170514_183741-01.jpeg diff --git a/photos/hillhacks17/IMG_20170514_183741-01_hu004ca36060a6b448628c8800c58b871a_713816_350x0_resize_q100_box.jpeg b/photos/hillhacks17/IMG_20170514_183741-01_hu004ca36060a6b448628c8800c58b871a_713816_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..6be67ba Binary files /dev/null and b/photos/hillhacks17/IMG_20170514_183741-01_hu004ca36060a6b448628c8800c58b871a_713816_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/hillhacks17/IMG_20170514_184802.jpg b/photos/hillhacks17/IMG_20170514_184802.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170514_184802.jpg rename to photos/hillhacks17/IMG_20170514_184802.jpg diff --git a/photos/hillhacks17/IMG_20170514_184802_hu8011842e347555d16120b99b49398fd0_2308679_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170514_184802_hu8011842e347555d16120b99b49398fd0_2308679_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..1eb09c4 Binary files /dev/null and b/photos/hillhacks17/IMG_20170514_184802_hu8011842e347555d16120b99b49398fd0_2308679_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170514_185357.jpg b/photos/hillhacks17/IMG_20170514_185357.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170514_185357.jpg rename to photos/hillhacks17/IMG_20170514_185357.jpg diff --git a/photos/hillhacks17/IMG_20170514_185357_huf2948aa003dc75540434a7a3595f97bd_2035485_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170514_185357_huf2948aa003dc75540434a7a3595f97bd_2035485_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..6600659 Binary files /dev/null and b/photos/hillhacks17/IMG_20170514_185357_huf2948aa003dc75540434a7a3595f97bd_2035485_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170514_185656.jpg b/photos/hillhacks17/IMG_20170514_185656.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170514_185656.jpg rename to photos/hillhacks17/IMG_20170514_185656.jpg diff --git a/photos/hillhacks17/IMG_20170514_185656_hu91555ad5ac0f5e3342fad00e5d03ad78_579517_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170514_185656_hu91555ad5ac0f5e3342fad00e5d03ad78_579517_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..6961fa3 Binary files /dev/null and b/photos/hillhacks17/IMG_20170514_185656_hu91555ad5ac0f5e3342fad00e5d03ad78_579517_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170514_190031.jpg b/photos/hillhacks17/IMG_20170514_190031.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170514_190031.jpg rename to photos/hillhacks17/IMG_20170514_190031.jpg diff --git a/photos/hillhacks17/IMG_20170514_190031_hu91555ad5ac0f5e3342fad00e5d03ad78_359141_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170514_190031_hu91555ad5ac0f5e3342fad00e5d03ad78_359141_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..b2a138d Binary files /dev/null and b/photos/hillhacks17/IMG_20170514_190031_hu91555ad5ac0f5e3342fad00e5d03ad78_359141_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170514_190155.jpg b/photos/hillhacks17/IMG_20170514_190155.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170514_190155.jpg rename to photos/hillhacks17/IMG_20170514_190155.jpg diff --git a/photos/hillhacks17/IMG_20170514_190155_hu91555ad5ac0f5e3342fad00e5d03ad78_575271_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170514_190155_hu91555ad5ac0f5e3342fad00e5d03ad78_575271_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..a83e42e Binary files /dev/null and b/photos/hillhacks17/IMG_20170514_190155_hu91555ad5ac0f5e3342fad00e5d03ad78_575271_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170514_190207.jpg b/photos/hillhacks17/IMG_20170514_190207.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170514_190207.jpg rename to photos/hillhacks17/IMG_20170514_190207.jpg diff --git a/photos/hillhacks17/IMG_20170514_190207_hu91555ad5ac0f5e3342fad00e5d03ad78_424228_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170514_190207_hu91555ad5ac0f5e3342fad00e5d03ad78_424228_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..352ea2b Binary files /dev/null and b/photos/hillhacks17/IMG_20170514_190207_hu91555ad5ac0f5e3342fad00e5d03ad78_424228_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170514_195526.jpg b/photos/hillhacks17/IMG_20170514_195526.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170514_195526.jpg rename to photos/hillhacks17/IMG_20170514_195526.jpg diff --git a/photos/hillhacks17/IMG_20170514_195526_hu91555ad5ac0f5e3342fad00e5d03ad78_244159_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170514_195526_hu91555ad5ac0f5e3342fad00e5d03ad78_244159_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..b2a798f Binary files /dev/null and b/photos/hillhacks17/IMG_20170514_195526_hu91555ad5ac0f5e3342fad00e5d03ad78_244159_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170514_203417.jpg b/photos/hillhacks17/IMG_20170514_203417.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170514_203417.jpg rename to photos/hillhacks17/IMG_20170514_203417.jpg diff --git a/photos/hillhacks17/IMG_20170514_203417_hu91555ad5ac0f5e3342fad00e5d03ad78_165928_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170514_203417_hu91555ad5ac0f5e3342fad00e5d03ad78_165928_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..080955a Binary files /dev/null and b/photos/hillhacks17/IMG_20170514_203417_hu91555ad5ac0f5e3342fad00e5d03ad78_165928_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170515_000606.jpg b/photos/hillhacks17/IMG_20170515_000606.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170515_000606.jpg rename to photos/hillhacks17/IMG_20170515_000606.jpg diff --git a/photos/hillhacks17/IMG_20170515_000606_hu91555ad5ac0f5e3342fad00e5d03ad78_416195_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170515_000606_hu91555ad5ac0f5e3342fad00e5d03ad78_416195_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..98de0b7 Binary files /dev/null and b/photos/hillhacks17/IMG_20170515_000606_hu91555ad5ac0f5e3342fad00e5d03ad78_416195_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170515_001310-01.jpeg b/photos/hillhacks17/IMG_20170515_001310-01.jpeg similarity index 100% rename from content/photos/hillhacks17/IMG_20170515_001310-01.jpeg rename to photos/hillhacks17/IMG_20170515_001310-01.jpeg diff --git a/photos/hillhacks17/IMG_20170515_001310-01_hu004ca36060a6b448628c8800c58b871a_652369_350x0_resize_q100_box.jpeg b/photos/hillhacks17/IMG_20170515_001310-01_hu004ca36060a6b448628c8800c58b871a_652369_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..15f271a Binary files /dev/null and b/photos/hillhacks17/IMG_20170515_001310-01_hu004ca36060a6b448628c8800c58b871a_652369_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/hillhacks17/IMG_20170515_061346.jpeg b/photos/hillhacks17/IMG_20170515_061346.jpeg similarity index 100% rename from content/photos/hillhacks17/IMG_20170515_061346.jpeg rename to photos/hillhacks17/IMG_20170515_061346.jpeg diff --git a/photos/hillhacks17/IMG_20170515_061346_hu8f9aa9565b77ab1ab4a27b6fdddff05a_984137_350x0_resize_q100_box.jpeg b/photos/hillhacks17/IMG_20170515_061346_hu8f9aa9565b77ab1ab4a27b6fdddff05a_984137_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..e632e12 Binary files /dev/null and b/photos/hillhacks17/IMG_20170515_061346_hu8f9aa9565b77ab1ab4a27b6fdddff05a_984137_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/hillhacks17/IMG_20170516_054233.jpg b/photos/hillhacks17/IMG_20170516_054233.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170516_054233.jpg rename to photos/hillhacks17/IMG_20170516_054233.jpg diff --git a/photos/hillhacks17/IMG_20170516_054233_hu89c1ab131fa8537eaa5df3149fc8d6b2_572596_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170516_054233_hu89c1ab131fa8537eaa5df3149fc8d6b2_572596_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..3508069 Binary files /dev/null and b/photos/hillhacks17/IMG_20170516_054233_hu89c1ab131fa8537eaa5df3149fc8d6b2_572596_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170516_054312.jpg b/photos/hillhacks17/IMG_20170516_054312.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170516_054312.jpg rename to photos/hillhacks17/IMG_20170516_054312.jpg diff --git a/photos/hillhacks17/IMG_20170516_054312_hu89c1ab131fa8537eaa5df3149fc8d6b2_564048_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170516_054312_hu89c1ab131fa8537eaa5df3149fc8d6b2_564048_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..cc7019e Binary files /dev/null and b/photos/hillhacks17/IMG_20170516_054312_hu89c1ab131fa8537eaa5df3149fc8d6b2_564048_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170516_135004.jpg b/photos/hillhacks17/IMG_20170516_135004.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170516_135004.jpg rename to photos/hillhacks17/IMG_20170516_135004.jpg diff --git a/photos/hillhacks17/IMG_20170516_135004_hu91555ad5ac0f5e3342fad00e5d03ad78_1150266_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170516_135004_hu91555ad5ac0f5e3342fad00e5d03ad78_1150266_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..5ff6985 Binary files /dev/null and b/photos/hillhacks17/IMG_20170516_135004_hu91555ad5ac0f5e3342fad00e5d03ad78_1150266_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170517_140059.jpg b/photos/hillhacks17/IMG_20170517_140059.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170517_140059.jpg rename to photos/hillhacks17/IMG_20170517_140059.jpg diff --git a/photos/hillhacks17/IMG_20170517_140059_hu89c1ab131fa8537eaa5df3149fc8d6b2_647813_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170517_140059_hu89c1ab131fa8537eaa5df3149fc8d6b2_647813_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..7a1f868 Binary files /dev/null and b/photos/hillhacks17/IMG_20170517_140059_hu89c1ab131fa8537eaa5df3149fc8d6b2_647813_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170517_171145.jpg b/photos/hillhacks17/IMG_20170517_171145.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170517_171145.jpg rename to photos/hillhacks17/IMG_20170517_171145.jpg diff --git a/photos/hillhacks17/IMG_20170517_171145_hu91555ad5ac0f5e3342fad00e5d03ad78_577636_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170517_171145_hu91555ad5ac0f5e3342fad00e5d03ad78_577636_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..28ae157 Binary files /dev/null and b/photos/hillhacks17/IMG_20170517_171145_hu91555ad5ac0f5e3342fad00e5d03ad78_577636_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170517_175810.jpg b/photos/hillhacks17/IMG_20170517_175810.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170517_175810.jpg rename to photos/hillhacks17/IMG_20170517_175810.jpg diff --git a/photos/hillhacks17/IMG_20170517_175810_hu91555ad5ac0f5e3342fad00e5d03ad78_1210292_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170517_175810_hu91555ad5ac0f5e3342fad00e5d03ad78_1210292_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..dc45b1c Binary files /dev/null and b/photos/hillhacks17/IMG_20170517_175810_hu91555ad5ac0f5e3342fad00e5d03ad78_1210292_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170518_134321.jpg b/photos/hillhacks17/IMG_20170518_134321.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170518_134321.jpg rename to photos/hillhacks17/IMG_20170518_134321.jpg diff --git a/photos/hillhacks17/IMG_20170518_134321_hu91555ad5ac0f5e3342fad00e5d03ad78_1004091_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170518_134321_hu91555ad5ac0f5e3342fad00e5d03ad78_1004091_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..a712105 Binary files /dev/null and b/photos/hillhacks17/IMG_20170518_134321_hu91555ad5ac0f5e3342fad00e5d03ad78_1004091_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170518_134534.jpg b/photos/hillhacks17/IMG_20170518_134534.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170518_134534.jpg rename to photos/hillhacks17/IMG_20170518_134534.jpg diff --git a/photos/hillhacks17/IMG_20170518_134534_hu91555ad5ac0f5e3342fad00e5d03ad78_522641_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170518_134534_hu91555ad5ac0f5e3342fad00e5d03ad78_522641_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..5f32aae Binary files /dev/null and b/photos/hillhacks17/IMG_20170518_134534_hu91555ad5ac0f5e3342fad00e5d03ad78_522641_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170518_135344.jpg b/photos/hillhacks17/IMG_20170518_135344.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170518_135344.jpg rename to photos/hillhacks17/IMG_20170518_135344.jpg diff --git a/photos/hillhacks17/IMG_20170518_135344_hu91555ad5ac0f5e3342fad00e5d03ad78_1120160_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170518_135344_hu91555ad5ac0f5e3342fad00e5d03ad78_1120160_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..d279a1a Binary files /dev/null and b/photos/hillhacks17/IMG_20170518_135344_hu91555ad5ac0f5e3342fad00e5d03ad78_1120160_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170518_184007-01.jpeg b/photos/hillhacks17/IMG_20170518_184007-01.jpeg similarity index 100% rename from content/photos/hillhacks17/IMG_20170518_184007-01.jpeg rename to photos/hillhacks17/IMG_20170518_184007-01.jpeg diff --git a/photos/hillhacks17/IMG_20170518_184007-01_hu062414eaa229116e8d24c9aae8084f60_927350_350x0_resize_q100_box.jpeg b/photos/hillhacks17/IMG_20170518_184007-01_hu062414eaa229116e8d24c9aae8084f60_927350_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..d48087e Binary files /dev/null and b/photos/hillhacks17/IMG_20170518_184007-01_hu062414eaa229116e8d24c9aae8084f60_927350_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/hillhacks17/IMG_20170518_205506.jpg b/photos/hillhacks17/IMG_20170518_205506.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170518_205506.jpg rename to photos/hillhacks17/IMG_20170518_205506.jpg diff --git a/photos/hillhacks17/IMG_20170518_205506_hu89c1ab131fa8537eaa5df3149fc8d6b2_841887_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170518_205506_hu89c1ab131fa8537eaa5df3149fc8d6b2_841887_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..eb38c8f Binary files /dev/null and b/photos/hillhacks17/IMG_20170518_205506_hu89c1ab131fa8537eaa5df3149fc8d6b2_841887_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170518_210313.jpg b/photos/hillhacks17/IMG_20170518_210313.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170518_210313.jpg rename to photos/hillhacks17/IMG_20170518_210313.jpg diff --git a/photos/hillhacks17/IMG_20170518_210313_hu91555ad5ac0f5e3342fad00e5d03ad78_284646_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170518_210313_hu91555ad5ac0f5e3342fad00e5d03ad78_284646_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..16b532b Binary files /dev/null and b/photos/hillhacks17/IMG_20170518_210313_hu91555ad5ac0f5e3342fad00e5d03ad78_284646_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170519_172714.jpg b/photos/hillhacks17/IMG_20170519_172714.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170519_172714.jpg rename to photos/hillhacks17/IMG_20170519_172714.jpg diff --git a/photos/hillhacks17/IMG_20170519_172714_hu91555ad5ac0f5e3342fad00e5d03ad78_476695_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170519_172714_hu91555ad5ac0f5e3342fad00e5d03ad78_476695_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..df6ec37 Binary files /dev/null and b/photos/hillhacks17/IMG_20170519_172714_hu91555ad5ac0f5e3342fad00e5d03ad78_476695_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170520_094518.dng.jpg b/photos/hillhacks17/IMG_20170520_094518.dng.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170520_094518.dng.jpg rename to photos/hillhacks17/IMG_20170520_094518.dng.jpg diff --git a/photos/hillhacks17/IMG_20170520_094518.dng_hu515a99b22365ecc697e95730b6b3dbeb_702013_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170520_094518.dng_hu515a99b22365ecc697e95730b6b3dbeb_702013_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..7e465c2 Binary files /dev/null and b/photos/hillhacks17/IMG_20170520_094518.dng_hu515a99b22365ecc697e95730b6b3dbeb_702013_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170520_095125.dng.jpg b/photos/hillhacks17/IMG_20170520_095125.dng.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170520_095125.dng.jpg rename to photos/hillhacks17/IMG_20170520_095125.dng.jpg diff --git a/photos/hillhacks17/IMG_20170520_095125.dng_hu515a99b22365ecc697e95730b6b3dbeb_748556_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170520_095125.dng_hu515a99b22365ecc697e95730b6b3dbeb_748556_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..653b4c7 Binary files /dev/null and b/photos/hillhacks17/IMG_20170520_095125.dng_hu515a99b22365ecc697e95730b6b3dbeb_748556_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170520_103344.jpg b/photos/hillhacks17/IMG_20170520_103344.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170520_103344.jpg rename to photos/hillhacks17/IMG_20170520_103344.jpg diff --git a/photos/hillhacks17/IMG_20170520_103344_hu91555ad5ac0f5e3342fad00e5d03ad78_910087_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170520_103344_hu91555ad5ac0f5e3342fad00e5d03ad78_910087_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..996d6a6 Binary files /dev/null and b/photos/hillhacks17/IMG_20170520_103344_hu91555ad5ac0f5e3342fad00e5d03ad78_910087_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170520_130038.jpg b/photos/hillhacks17/IMG_20170520_130038.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170520_130038.jpg rename to photos/hillhacks17/IMG_20170520_130038.jpg diff --git a/photos/hillhacks17/IMG_20170520_130038_hu91555ad5ac0f5e3342fad00e5d03ad78_759259_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170520_130038_hu91555ad5ac0f5e3342fad00e5d03ad78_759259_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..13d5b7d Binary files /dev/null and b/photos/hillhacks17/IMG_20170520_130038_hu91555ad5ac0f5e3342fad00e5d03ad78_759259_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170523_161350.jpg b/photos/hillhacks17/IMG_20170523_161350.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170523_161350.jpg rename to photos/hillhacks17/IMG_20170523_161350.jpg diff --git a/photos/hillhacks17/IMG_20170523_161350_hu91555ad5ac0f5e3342fad00e5d03ad78_488285_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170523_161350_hu91555ad5ac0f5e3342fad00e5d03ad78_488285_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..93f9a14 Binary files /dev/null and b/photos/hillhacks17/IMG_20170523_161350_hu91555ad5ac0f5e3342fad00e5d03ad78_488285_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170523_163629.jpg b/photos/hillhacks17/IMG_20170523_163629.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170523_163629.jpg rename to photos/hillhacks17/IMG_20170523_163629.jpg diff --git a/photos/hillhacks17/IMG_20170523_163629_hu89c1ab131fa8537eaa5df3149fc8d6b2_566378_350x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170523_163629_hu89c1ab131fa8537eaa5df3149fc8d6b2_566378_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..00ba9cd Binary files /dev/null and b/photos/hillhacks17/IMG_20170523_163629_hu89c1ab131fa8537eaa5df3149fc8d6b2_566378_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks17/IMG_20170523_191423_01-Pano.jpg b/photos/hillhacks17/IMG_20170523_191423_01-Pano.jpg similarity index 100% rename from content/photos/hillhacks17/IMG_20170523_191423_01-Pano.jpg rename to photos/hillhacks17/IMG_20170523_191423_01-Pano.jpg diff --git a/photos/hillhacks17/IMG_20170523_191423_01-Pano_hu3f1e08a4a9e3833d4dd5bfd0b584fdb7_1697225_700x0_resize_q100_box.jpg b/photos/hillhacks17/IMG_20170523_191423_01-Pano_hu3f1e08a4a9e3833d4dd5bfd0b584fdb7_1697225_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..6644927 Binary files /dev/null and b/photos/hillhacks17/IMG_20170523_191423_01-Pano_hu3f1e08a4a9e3833d4dd5bfd0b584fdb7_1697225_700x0_resize_q100_box.jpg differ diff --git a/photos/hillhacks17/index.html b/photos/hillhacks17/index.html new file mode 100644 index 0000000..c8614b5 --- /dev/null +++ b/photos/hillhacks17/index.html @@ -0,0 +1,35 @@ +Hillhacks 2017 · Sid Verma

‹ Sid Verma

Hillhacks 2017

2017 May
Bir, Himachal Pradesh, India

Some Hillhacks 2017 photos and even more from a stop at Dharamshala and some hills.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Shot on Oneplus 3


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/content/photos/hillhacks18/DSC_0005 (1).jpg b/photos/hillhacks18/DSC_0005 (1).jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0005 (1).jpg rename to photos/hillhacks18/DSC_0005 (1).jpg diff --git a/photos/hillhacks18/DSC_0005 (1)_hu13cf16680a6a9ec5d159433953942a20_440173_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0005 (1)_hu13cf16680a6a9ec5d159433953942a20_440173_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..9972881 Binary files /dev/null and b/photos/hillhacks18/DSC_0005 (1)_hu13cf16680a6a9ec5d159433953942a20_440173_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0005.jpg b/photos/hillhacks18/DSC_0005.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0005.jpg rename to photos/hillhacks18/DSC_0005.jpg diff --git a/photos/hillhacks18/DSC_0005_hu13cf16680a6a9ec5d159433953942a20_499226_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0005_hu13cf16680a6a9ec5d159433953942a20_499226_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..f358429 Binary files /dev/null and b/photos/hillhacks18/DSC_0005_hu13cf16680a6a9ec5d159433953942a20_499226_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0012.jpg b/photos/hillhacks18/DSC_0012.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0012.jpg rename to photos/hillhacks18/DSC_0012.jpg diff --git a/photos/hillhacks18/DSC_0012_hu13cf16680a6a9ec5d159433953942a20_511160_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0012_hu13cf16680a6a9ec5d159433953942a20_511160_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..06ada86 Binary files /dev/null and b/photos/hillhacks18/DSC_0012_hu13cf16680a6a9ec5d159433953942a20_511160_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0013.jpg b/photos/hillhacks18/DSC_0013.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0013.jpg rename to photos/hillhacks18/DSC_0013.jpg diff --git a/photos/hillhacks18/DSC_0013_hu13cf16680a6a9ec5d159433953942a20_640906_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0013_hu13cf16680a6a9ec5d159433953942a20_640906_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..18dd515 Binary files /dev/null and b/photos/hillhacks18/DSC_0013_hu13cf16680a6a9ec5d159433953942a20_640906_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0015.jpg b/photos/hillhacks18/DSC_0015.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0015.jpg rename to photos/hillhacks18/DSC_0015.jpg diff --git a/photos/hillhacks18/DSC_0015_hu13cf16680a6a9ec5d159433953942a20_509725_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0015_hu13cf16680a6a9ec5d159433953942a20_509725_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..142117c Binary files /dev/null and b/photos/hillhacks18/DSC_0015_hu13cf16680a6a9ec5d159433953942a20_509725_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0020.jpg b/photos/hillhacks18/DSC_0020.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0020.jpg rename to photos/hillhacks18/DSC_0020.jpg diff --git a/photos/hillhacks18/DSC_0020_hu13cf16680a6a9ec5d159433953942a20_473925_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0020_hu13cf16680a6a9ec5d159433953942a20_473925_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..d5c9fb1 Binary files /dev/null and b/photos/hillhacks18/DSC_0020_hu13cf16680a6a9ec5d159433953942a20_473925_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0023.jpg b/photos/hillhacks18/DSC_0023.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0023.jpg rename to photos/hillhacks18/DSC_0023.jpg diff --git a/photos/hillhacks18/DSC_0023_hu13cf16680a6a9ec5d159433953942a20_407414_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0023_hu13cf16680a6a9ec5d159433953942a20_407414_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..bd2797f Binary files /dev/null and b/photos/hillhacks18/DSC_0023_hu13cf16680a6a9ec5d159433953942a20_407414_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0031.jpg b/photos/hillhacks18/DSC_0031.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0031.jpg rename to photos/hillhacks18/DSC_0031.jpg diff --git a/photos/hillhacks18/DSC_0031_hu13cf16680a6a9ec5d159433953942a20_409978_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0031_hu13cf16680a6a9ec5d159433953942a20_409978_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..d14a461 Binary files /dev/null and b/photos/hillhacks18/DSC_0031_hu13cf16680a6a9ec5d159433953942a20_409978_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0041.jpg b/photos/hillhacks18/DSC_0041.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0041.jpg rename to photos/hillhacks18/DSC_0041.jpg diff --git a/photos/hillhacks18/DSC_0041_hu13cf16680a6a9ec5d159433953942a20_954092_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0041_hu13cf16680a6a9ec5d159433953942a20_954092_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..4b3d6e3 Binary files /dev/null and b/photos/hillhacks18/DSC_0041_hu13cf16680a6a9ec5d159433953942a20_954092_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0054.jpg b/photos/hillhacks18/DSC_0054.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0054.jpg rename to photos/hillhacks18/DSC_0054.jpg diff --git a/photos/hillhacks18/DSC_0054_hu13cf16680a6a9ec5d159433953942a20_260110_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0054_hu13cf16680a6a9ec5d159433953942a20_260110_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..eb402a2 Binary files /dev/null and b/photos/hillhacks18/DSC_0054_hu13cf16680a6a9ec5d159433953942a20_260110_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0057.jpg b/photos/hillhacks18/DSC_0057.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0057.jpg rename to photos/hillhacks18/DSC_0057.jpg diff --git a/photos/hillhacks18/DSC_0057_hu13cf16680a6a9ec5d159433953942a20_896963_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0057_hu13cf16680a6a9ec5d159433953942a20_896963_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..64ea64c Binary files /dev/null and b/photos/hillhacks18/DSC_0057_hu13cf16680a6a9ec5d159433953942a20_896963_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0064.jpg b/photos/hillhacks18/DSC_0064.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0064.jpg rename to photos/hillhacks18/DSC_0064.jpg diff --git a/photos/hillhacks18/DSC_0064_hu6a0fc2b23659d4c83dc6b50c866e147b_2425330_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0064_hu6a0fc2b23659d4c83dc6b50c866e147b_2425330_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..15807a8 Binary files /dev/null and b/photos/hillhacks18/DSC_0064_hu6a0fc2b23659d4c83dc6b50c866e147b_2425330_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0067.jpg b/photos/hillhacks18/DSC_0067.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0067.jpg rename to photos/hillhacks18/DSC_0067.jpg diff --git a/photos/hillhacks18/DSC_0067_hu13cf16680a6a9ec5d159433953942a20_551067_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0067_hu13cf16680a6a9ec5d159433953942a20_551067_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..3afccdf Binary files /dev/null and b/photos/hillhacks18/DSC_0067_hu13cf16680a6a9ec5d159433953942a20_551067_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0108.jpg b/photos/hillhacks18/DSC_0108.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0108.jpg rename to photos/hillhacks18/DSC_0108.jpg diff --git a/photos/hillhacks18/DSC_0108_hu13cf16680a6a9ec5d159433953942a20_351111_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0108_hu13cf16680a6a9ec5d159433953942a20_351111_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..bb50b60 Binary files /dev/null and b/photos/hillhacks18/DSC_0108_hu13cf16680a6a9ec5d159433953942a20_351111_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0118.jpg b/photos/hillhacks18/DSC_0118.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0118.jpg rename to photos/hillhacks18/DSC_0118.jpg diff --git a/photos/hillhacks18/DSC_0118_hu13cf16680a6a9ec5d159433953942a20_360608_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0118_hu13cf16680a6a9ec5d159433953942a20_360608_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..5226d6a Binary files /dev/null and b/photos/hillhacks18/DSC_0118_hu13cf16680a6a9ec5d159433953942a20_360608_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0119.jpg b/photos/hillhacks18/DSC_0119.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0119.jpg rename to photos/hillhacks18/DSC_0119.jpg diff --git a/photos/hillhacks18/DSC_0119_hu13cf16680a6a9ec5d159433953942a20_543307_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0119_hu13cf16680a6a9ec5d159433953942a20_543307_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..f022140 Binary files /dev/null and b/photos/hillhacks18/DSC_0119_hu13cf16680a6a9ec5d159433953942a20_543307_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0130.jpg b/photos/hillhacks18/DSC_0130.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0130.jpg rename to photos/hillhacks18/DSC_0130.jpg diff --git a/photos/hillhacks18/DSC_0130_hu13cf16680a6a9ec5d159433953942a20_561165_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0130_hu13cf16680a6a9ec5d159433953942a20_561165_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..52928ab Binary files /dev/null and b/photos/hillhacks18/DSC_0130_hu13cf16680a6a9ec5d159433953942a20_561165_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0138_.jpg b/photos/hillhacks18/DSC_0138_.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0138_.jpg rename to photos/hillhacks18/DSC_0138_.jpg diff --git a/photos/hillhacks18/DSC_0138__hufe10b02b394cc5f64d6beb100c8cbc16_4637377_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0138__hufe10b02b394cc5f64d6beb100c8cbc16_4637377_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..e50fe2f Binary files /dev/null and b/photos/hillhacks18/DSC_0138__hufe10b02b394cc5f64d6beb100c8cbc16_4637377_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0148.jpg b/photos/hillhacks18/DSC_0148.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0148.jpg rename to photos/hillhacks18/DSC_0148.jpg diff --git a/photos/hillhacks18/DSC_0148_huc6c050144b7696d0e76b883227d1cd77_395909_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0148_huc6c050144b7696d0e76b883227d1cd77_395909_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..fa0aab2 Binary files /dev/null and b/photos/hillhacks18/DSC_0148_huc6c050144b7696d0e76b883227d1cd77_395909_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0169.jpg b/photos/hillhacks18/DSC_0169.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0169.jpg rename to photos/hillhacks18/DSC_0169.jpg diff --git a/photos/hillhacks18/DSC_0169_hu13cf16680a6a9ec5d159433953942a20_1034946_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0169_hu13cf16680a6a9ec5d159433953942a20_1034946_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..7768381 Binary files /dev/null and b/photos/hillhacks18/DSC_0169_hu13cf16680a6a9ec5d159433953942a20_1034946_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0183.jpg b/photos/hillhacks18/DSC_0183.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0183.jpg rename to photos/hillhacks18/DSC_0183.jpg diff --git a/photos/hillhacks18/DSC_0183_hu13cf16680a6a9ec5d159433953942a20_645137_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0183_hu13cf16680a6a9ec5d159433953942a20_645137_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..724c251 Binary files /dev/null and b/photos/hillhacks18/DSC_0183_hu13cf16680a6a9ec5d159433953942a20_645137_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0195.jpg b/photos/hillhacks18/DSC_0195.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0195.jpg rename to photos/hillhacks18/DSC_0195.jpg diff --git a/photos/hillhacks18/DSC_0195_hu13cf16680a6a9ec5d159433953942a20_1275123_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0195_hu13cf16680a6a9ec5d159433953942a20_1275123_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..1e10ec0 Binary files /dev/null and b/photos/hillhacks18/DSC_0195_hu13cf16680a6a9ec5d159433953942a20_1275123_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0197.jpg b/photos/hillhacks18/DSC_0197.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0197.jpg rename to photos/hillhacks18/DSC_0197.jpg diff --git a/photos/hillhacks18/DSC_0197_hu13cf16680a6a9ec5d159433953942a20_288574_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0197_hu13cf16680a6a9ec5d159433953942a20_288574_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..352d6ee Binary files /dev/null and b/photos/hillhacks18/DSC_0197_hu13cf16680a6a9ec5d159433953942a20_288574_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0208.jpg b/photos/hillhacks18/DSC_0208.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0208.jpg rename to photos/hillhacks18/DSC_0208.jpg diff --git a/photos/hillhacks18/DSC_0208_hu13cf16680a6a9ec5d159433953942a20_1481016_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0208_hu13cf16680a6a9ec5d159433953942a20_1481016_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..486e323 Binary files /dev/null and b/photos/hillhacks18/DSC_0208_hu13cf16680a6a9ec5d159433953942a20_1481016_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0216.jpg b/photos/hillhacks18/DSC_0216.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0216.jpg rename to photos/hillhacks18/DSC_0216.jpg diff --git a/photos/hillhacks18/DSC_0216_hu13cf16680a6a9ec5d159433953942a20_391977_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0216_hu13cf16680a6a9ec5d159433953942a20_391977_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..071dc83 Binary files /dev/null and b/photos/hillhacks18/DSC_0216_hu13cf16680a6a9ec5d159433953942a20_391977_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0219.jpg b/photos/hillhacks18/DSC_0219.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0219.jpg rename to photos/hillhacks18/DSC_0219.jpg diff --git a/photos/hillhacks18/DSC_0219_hu13cf16680a6a9ec5d159433953942a20_358339_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0219_hu13cf16680a6a9ec5d159433953942a20_358339_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..e52030e Binary files /dev/null and b/photos/hillhacks18/DSC_0219_hu13cf16680a6a9ec5d159433953942a20_358339_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0220.jpg b/photos/hillhacks18/DSC_0220.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0220.jpg rename to photos/hillhacks18/DSC_0220.jpg diff --git a/photos/hillhacks18/DSC_0220_hu13cf16680a6a9ec5d159433953942a20_170206_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0220_hu13cf16680a6a9ec5d159433953942a20_170206_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..97e0a20 Binary files /dev/null and b/photos/hillhacks18/DSC_0220_hu13cf16680a6a9ec5d159433953942a20_170206_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0232.jpg b/photos/hillhacks18/DSC_0232.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0232.jpg rename to photos/hillhacks18/DSC_0232.jpg diff --git a/photos/hillhacks18/DSC_0232_hu13cf16680a6a9ec5d159433953942a20_406273_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0232_hu13cf16680a6a9ec5d159433953942a20_406273_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..8a89a12 Binary files /dev/null and b/photos/hillhacks18/DSC_0232_hu13cf16680a6a9ec5d159433953942a20_406273_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0237.jpg b/photos/hillhacks18/DSC_0237.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0237.jpg rename to photos/hillhacks18/DSC_0237.jpg diff --git a/photos/hillhacks18/DSC_0237_hu6959f7a409df2221d493792a4e624254_1713890_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0237_hu6959f7a409df2221d493792a4e624254_1713890_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..184d88b Binary files /dev/null and b/photos/hillhacks18/DSC_0237_hu6959f7a409df2221d493792a4e624254_1713890_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0240.jpg b/photos/hillhacks18/DSC_0240.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0240.jpg rename to photos/hillhacks18/DSC_0240.jpg diff --git a/photos/hillhacks18/DSC_0240_hu13cf16680a6a9ec5d159433953942a20_536222_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0240_hu13cf16680a6a9ec5d159433953942a20_536222_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..6919b4d Binary files /dev/null and b/photos/hillhacks18/DSC_0240_hu13cf16680a6a9ec5d159433953942a20_536222_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0245.jpg b/photos/hillhacks18/DSC_0245.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0245.jpg rename to photos/hillhacks18/DSC_0245.jpg diff --git a/photos/hillhacks18/DSC_0245_hu13cf16680a6a9ec5d159433953942a20_177158_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0245_hu13cf16680a6a9ec5d159433953942a20_177158_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..ca067a5 Binary files /dev/null and b/photos/hillhacks18/DSC_0245_hu13cf16680a6a9ec5d159433953942a20_177158_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0255.jpg b/photos/hillhacks18/DSC_0255.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0255.jpg rename to photos/hillhacks18/DSC_0255.jpg diff --git a/photos/hillhacks18/DSC_0255_hu13cf16680a6a9ec5d159433953942a20_684443_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0255_hu13cf16680a6a9ec5d159433953942a20_684443_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..13ffac3 Binary files /dev/null and b/photos/hillhacks18/DSC_0255_hu13cf16680a6a9ec5d159433953942a20_684443_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0274.jpg b/photos/hillhacks18/DSC_0274.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0274.jpg rename to photos/hillhacks18/DSC_0274.jpg diff --git a/photos/hillhacks18/DSC_0274_hu13cf16680a6a9ec5d159433953942a20_437970_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0274_hu13cf16680a6a9ec5d159433953942a20_437970_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..b5d6a5a Binary files /dev/null and b/photos/hillhacks18/DSC_0274_hu13cf16680a6a9ec5d159433953942a20_437970_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0276.jpg b/photos/hillhacks18/DSC_0276.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0276.jpg rename to photos/hillhacks18/DSC_0276.jpg diff --git a/photos/hillhacks18/DSC_0276_hu13cf16680a6a9ec5d159433953942a20_919537_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0276_hu13cf16680a6a9ec5d159433953942a20_919537_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..38eb644 Binary files /dev/null and b/photos/hillhacks18/DSC_0276_hu13cf16680a6a9ec5d159433953942a20_919537_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0282.jpg b/photos/hillhacks18/DSC_0282.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0282.jpg rename to photos/hillhacks18/DSC_0282.jpg diff --git a/photos/hillhacks18/DSC_0282_hu13cf16680a6a9ec5d159433953942a20_746933_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0282_hu13cf16680a6a9ec5d159433953942a20_746933_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..49c5662 Binary files /dev/null and b/photos/hillhacks18/DSC_0282_hu13cf16680a6a9ec5d159433953942a20_746933_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0286.jpg b/photos/hillhacks18/DSC_0286.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0286.jpg rename to photos/hillhacks18/DSC_0286.jpg diff --git a/photos/hillhacks18/DSC_0286_hu13cf16680a6a9ec5d159433953942a20_402955_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0286_hu13cf16680a6a9ec5d159433953942a20_402955_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..85373c1 Binary files /dev/null and b/photos/hillhacks18/DSC_0286_hu13cf16680a6a9ec5d159433953942a20_402955_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0293.jpg b/photos/hillhacks18/DSC_0293.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0293.jpg rename to photos/hillhacks18/DSC_0293.jpg diff --git a/photos/hillhacks18/DSC_0293_hu13cf16680a6a9ec5d159433953942a20_401571_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0293_hu13cf16680a6a9ec5d159433953942a20_401571_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..4dd07e4 Binary files /dev/null and b/photos/hillhacks18/DSC_0293_hu13cf16680a6a9ec5d159433953942a20_401571_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0301.jpg b/photos/hillhacks18/DSC_0301.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0301.jpg rename to photos/hillhacks18/DSC_0301.jpg diff --git a/photos/hillhacks18/DSC_0301_hu13cf16680a6a9ec5d159433953942a20_285415_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0301_hu13cf16680a6a9ec5d159433953942a20_285415_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..085fbbf Binary files /dev/null and b/photos/hillhacks18/DSC_0301_hu13cf16680a6a9ec5d159433953942a20_285415_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0308 (1).jpg b/photos/hillhacks18/DSC_0308 (1).jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0308 (1).jpg rename to photos/hillhacks18/DSC_0308 (1).jpg diff --git a/photos/hillhacks18/DSC_0308 (1)_hu7b8d80c487b9cca1701dfcf63d9bfbf0_1646258_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0308 (1)_hu7b8d80c487b9cca1701dfcf63d9bfbf0_1646258_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..fd8434e Binary files /dev/null and b/photos/hillhacks18/DSC_0308 (1)_hu7b8d80c487b9cca1701dfcf63d9bfbf0_1646258_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0308.jpg b/photos/hillhacks18/DSC_0308.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0308.jpg rename to photos/hillhacks18/DSC_0308.jpg diff --git a/photos/hillhacks18/DSC_0308_hu13cf16680a6a9ec5d159433953942a20_584295_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0308_hu13cf16680a6a9ec5d159433953942a20_584295_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..dfbb9e1 Binary files /dev/null and b/photos/hillhacks18/DSC_0308_hu13cf16680a6a9ec5d159433953942a20_584295_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0316.jpg b/photos/hillhacks18/DSC_0316.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0316.jpg rename to photos/hillhacks18/DSC_0316.jpg diff --git a/photos/hillhacks18/DSC_0316_hu13cf16680a6a9ec5d159433953942a20_301171_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0316_hu13cf16680a6a9ec5d159433953942a20_301171_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..0924d08 Binary files /dev/null and b/photos/hillhacks18/DSC_0316_hu13cf16680a6a9ec5d159433953942a20_301171_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0317.jpg b/photos/hillhacks18/DSC_0317.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0317.jpg rename to photos/hillhacks18/DSC_0317.jpg diff --git a/photos/hillhacks18/DSC_0317_hu13cf16680a6a9ec5d159433953942a20_467972_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0317_hu13cf16680a6a9ec5d159433953942a20_467972_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..fffc975 Binary files /dev/null and b/photos/hillhacks18/DSC_0317_hu13cf16680a6a9ec5d159433953942a20_467972_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0320.jpg b/photos/hillhacks18/DSC_0320.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0320.jpg rename to photos/hillhacks18/DSC_0320.jpg diff --git a/photos/hillhacks18/DSC_0320_hu13cf16680a6a9ec5d159433953942a20_381740_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0320_hu13cf16680a6a9ec5d159433953942a20_381740_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..c863849 Binary files /dev/null and b/photos/hillhacks18/DSC_0320_hu13cf16680a6a9ec5d159433953942a20_381740_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0323.jpg b/photos/hillhacks18/DSC_0323.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0323.jpg rename to photos/hillhacks18/DSC_0323.jpg diff --git a/photos/hillhacks18/DSC_0323_hu13cf16680a6a9ec5d159433953942a20_509253_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0323_hu13cf16680a6a9ec5d159433953942a20_509253_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..a6209c4 Binary files /dev/null and b/photos/hillhacks18/DSC_0323_hu13cf16680a6a9ec5d159433953942a20_509253_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0324.jpg b/photos/hillhacks18/DSC_0324.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0324.jpg rename to photos/hillhacks18/DSC_0324.jpg diff --git a/photos/hillhacks18/DSC_0324_hu13cf16680a6a9ec5d159433953942a20_616180_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0324_hu13cf16680a6a9ec5d159433953942a20_616180_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..9e69bf6 Binary files /dev/null and b/photos/hillhacks18/DSC_0324_hu13cf16680a6a9ec5d159433953942a20_616180_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0327.jpg b/photos/hillhacks18/DSC_0327.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0327.jpg rename to photos/hillhacks18/DSC_0327.jpg diff --git a/photos/hillhacks18/DSC_0327_hu13cf16680a6a9ec5d159433953942a20_217822_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0327_hu13cf16680a6a9ec5d159433953942a20_217822_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..268e944 Binary files /dev/null and b/photos/hillhacks18/DSC_0327_hu13cf16680a6a9ec5d159433953942a20_217822_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0332.jpg b/photos/hillhacks18/DSC_0332.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0332.jpg rename to photos/hillhacks18/DSC_0332.jpg diff --git a/photos/hillhacks18/DSC_0332_hu13cf16680a6a9ec5d159433953942a20_339760_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0332_hu13cf16680a6a9ec5d159433953942a20_339760_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..9449e09 Binary files /dev/null and b/photos/hillhacks18/DSC_0332_hu13cf16680a6a9ec5d159433953942a20_339760_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0336.jpg b/photos/hillhacks18/DSC_0336.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0336.jpg rename to photos/hillhacks18/DSC_0336.jpg diff --git a/photos/hillhacks18/DSC_0336_hu01820d114ef9a37fa6c2af4de51f2c1f_1856956_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0336_hu01820d114ef9a37fa6c2af4de51f2c1f_1856956_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..9ab4361 Binary files /dev/null and b/photos/hillhacks18/DSC_0336_hu01820d114ef9a37fa6c2af4de51f2c1f_1856956_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0337.jpg b/photos/hillhacks18/DSC_0337.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0337.jpg rename to photos/hillhacks18/DSC_0337.jpg diff --git a/photos/hillhacks18/DSC_0337_hu13cf16680a6a9ec5d159433953942a20_587275_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0337_hu13cf16680a6a9ec5d159433953942a20_587275_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..12d1601 Binary files /dev/null and b/photos/hillhacks18/DSC_0337_hu13cf16680a6a9ec5d159433953942a20_587275_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0341.jpg b/photos/hillhacks18/DSC_0341.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0341.jpg rename to photos/hillhacks18/DSC_0341.jpg diff --git a/photos/hillhacks18/DSC_0341_hu13cf16680a6a9ec5d159433953942a20_768631_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0341_hu13cf16680a6a9ec5d159433953942a20_768631_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..f3d347e Binary files /dev/null and b/photos/hillhacks18/DSC_0341_hu13cf16680a6a9ec5d159433953942a20_768631_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0372 (1).jpg b/photos/hillhacks18/DSC_0372 (1).jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0372 (1).jpg rename to photos/hillhacks18/DSC_0372 (1).jpg diff --git a/photos/hillhacks18/DSC_0372 (1)_hu13cf16680a6a9ec5d159433953942a20_436795_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0372 (1)_hu13cf16680a6a9ec5d159433953942a20_436795_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..b8c35c4 Binary files /dev/null and b/photos/hillhacks18/DSC_0372 (1)_hu13cf16680a6a9ec5d159433953942a20_436795_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0372.jpg b/photos/hillhacks18/DSC_0372.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0372.jpg rename to photos/hillhacks18/DSC_0372.jpg diff --git a/photos/hillhacks18/DSC_0372_hu13cf16680a6a9ec5d159433953942a20_573752_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0372_hu13cf16680a6a9ec5d159433953942a20_573752_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..8143f3c Binary files /dev/null and b/photos/hillhacks18/DSC_0372_hu13cf16680a6a9ec5d159433953942a20_573752_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0379.jpg b/photos/hillhacks18/DSC_0379.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0379.jpg rename to photos/hillhacks18/DSC_0379.jpg diff --git a/photos/hillhacks18/DSC_0379_hu13cf16680a6a9ec5d159433953942a20_335395_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0379_hu13cf16680a6a9ec5d159433953942a20_335395_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..8168e55 Binary files /dev/null and b/photos/hillhacks18/DSC_0379_hu13cf16680a6a9ec5d159433953942a20_335395_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0391.jpg b/photos/hillhacks18/DSC_0391.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0391.jpg rename to photos/hillhacks18/DSC_0391.jpg diff --git a/photos/hillhacks18/DSC_0391_hu13cf16680a6a9ec5d159433953942a20_270488_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0391_hu13cf16680a6a9ec5d159433953942a20_270488_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..43d216b Binary files /dev/null and b/photos/hillhacks18/DSC_0391_hu13cf16680a6a9ec5d159433953942a20_270488_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0411.jpg b/photos/hillhacks18/DSC_0411.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0411.jpg rename to photos/hillhacks18/DSC_0411.jpg diff --git a/photos/hillhacks18/DSC_0411_hu13cf16680a6a9ec5d159433953942a20_313923_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0411_hu13cf16680a6a9ec5d159433953942a20_313923_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..bf3da18 Binary files /dev/null and b/photos/hillhacks18/DSC_0411_hu13cf16680a6a9ec5d159433953942a20_313923_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0417.jpg b/photos/hillhacks18/DSC_0417.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0417.jpg rename to photos/hillhacks18/DSC_0417.jpg diff --git a/photos/hillhacks18/DSC_0417_hu13cf16680a6a9ec5d159433953942a20_166638_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0417_hu13cf16680a6a9ec5d159433953942a20_166638_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..ce583b0 Binary files /dev/null and b/photos/hillhacks18/DSC_0417_hu13cf16680a6a9ec5d159433953942a20_166638_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0434.jpg b/photos/hillhacks18/DSC_0434.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0434.jpg rename to photos/hillhacks18/DSC_0434.jpg diff --git a/photos/hillhacks18/DSC_0434_hu588db0b4aca5ca61bb951cfc844a564d_525362_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0434_hu588db0b4aca5ca61bb951cfc844a564d_525362_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..d59afa8 Binary files /dev/null and b/photos/hillhacks18/DSC_0434_hu588db0b4aca5ca61bb951cfc844a564d_525362_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0435.jpg b/photos/hillhacks18/DSC_0435.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0435.jpg rename to photos/hillhacks18/DSC_0435.jpg diff --git a/photos/hillhacks18/DSC_0435_hu13cf16680a6a9ec5d159433953942a20_460191_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0435_hu13cf16680a6a9ec5d159433953942a20_460191_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..4e43107 Binary files /dev/null and b/photos/hillhacks18/DSC_0435_hu13cf16680a6a9ec5d159433953942a20_460191_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0491.jpg b/photos/hillhacks18/DSC_0491.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0491.jpg rename to photos/hillhacks18/DSC_0491.jpg diff --git a/photos/hillhacks18/DSC_0491_hu13cf16680a6a9ec5d159433953942a20_1043096_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0491_hu13cf16680a6a9ec5d159433953942a20_1043096_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..ff6f810 Binary files /dev/null and b/photos/hillhacks18/DSC_0491_hu13cf16680a6a9ec5d159433953942a20_1043096_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/DSC_0536.jpg b/photos/hillhacks18/DSC_0536.jpg similarity index 100% rename from content/photos/hillhacks18/DSC_0536.jpg rename to photos/hillhacks18/DSC_0536.jpg diff --git a/photos/hillhacks18/DSC_0536_hu13cf16680a6a9ec5d159433953942a20_1224976_350x0_resize_q100_box.jpg b/photos/hillhacks18/DSC_0536_hu13cf16680a6a9ec5d159433953942a20_1224976_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..afc3171 Binary files /dev/null and b/photos/hillhacks18/DSC_0536_hu13cf16680a6a9ec5d159433953942a20_1224976_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/IMG_20180519_191702.jpg b/photos/hillhacks18/IMG_20180519_191702.jpg similarity index 100% rename from content/photos/hillhacks18/IMG_20180519_191702.jpg rename to photos/hillhacks18/IMG_20180519_191702.jpg diff --git a/photos/hillhacks18/IMG_20180519_191702_hucd00e2ddd20cc6d854d5c1f716e744be_719479_350x0_resize_q100_box.jpg b/photos/hillhacks18/IMG_20180519_191702_hucd00e2ddd20cc6d854d5c1f716e744be_719479_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..0bd0009 Binary files /dev/null and b/photos/hillhacks18/IMG_20180519_191702_hucd00e2ddd20cc6d854d5c1f716e744be_719479_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks18/IMG_20180523_143713.jpg b/photos/hillhacks18/IMG_20180523_143713.jpg similarity index 100% rename from content/photos/hillhacks18/IMG_20180523_143713.jpg rename to photos/hillhacks18/IMG_20180523_143713.jpg diff --git a/photos/hillhacks18/IMG_20180523_143713_hu7e4484707a261b690eca62caece656c8_2888909_350x0_resize_q100_box.jpg b/photos/hillhacks18/IMG_20180523_143713_hu7e4484707a261b690eca62caece656c8_2888909_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..e407808 Binary files /dev/null and b/photos/hillhacks18/IMG_20180523_143713_hu7e4484707a261b690eca62caece656c8_2888909_350x0_resize_q100_box.jpg differ diff --git a/photos/hillhacks18/index.html b/photos/hillhacks18/index.html new file mode 100644 index 0000000..ee761c5 --- /dev/null +++ b/photos/hillhacks18/index.html @@ -0,0 +1,62 @@ +Hillhacks 2018 · Sid Verma

‹ Sid Verma

Hillhacks 2018

2018 May
Bir, Himachal Pradesh, India

Hillhacks repeats the venue in 2018, hence slightly easier to organise.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Shot on Nikon D5300 and Oneplus 3


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/content/photos/hillhacks19/DSC_0002.JPG b/photos/hillhacks19/DSC_0002.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0002.JPG rename to photos/hillhacks19/DSC_0002.JPG diff --git a/photos/hillhacks19/DSC_0002_hu3a5ea53e83c86bb6f6edb82f66ef4861_987550_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0002_hu3a5ea53e83c86bb6f6edb82f66ef4861_987550_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..5e253d6 Binary files /dev/null and b/photos/hillhacks19/DSC_0002_hu3a5ea53e83c86bb6f6edb82f66ef4861_987550_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0022.JPG b/photos/hillhacks19/DSC_0022.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0022.JPG rename to photos/hillhacks19/DSC_0022.JPG diff --git a/photos/hillhacks19/DSC_0022_hu3a5ea53e83c86bb6f6edb82f66ef4861_1059865_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0022_hu3a5ea53e83c86bb6f6edb82f66ef4861_1059865_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..09e1f12 Binary files /dev/null and b/photos/hillhacks19/DSC_0022_hu3a5ea53e83c86bb6f6edb82f66ef4861_1059865_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0045-Pano.jpg b/photos/hillhacks19/DSC_0045-Pano.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0045-Pano.jpg rename to photos/hillhacks19/DSC_0045-Pano.jpg diff --git a/photos/hillhacks19/DSC_0045-Pano_hue01fb8cf0806bf4ee2013a331fa1660a_252388_700x0_resize_q100_box.jpg b/photos/hillhacks19/DSC_0045-Pano_hue01fb8cf0806bf4ee2013a331fa1660a_252388_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..4d5271b Binary files /dev/null and b/photos/hillhacks19/DSC_0045-Pano_hue01fb8cf0806bf4ee2013a331fa1660a_252388_700x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks19/DSC_0058.JPG b/photos/hillhacks19/DSC_0058.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0058.JPG rename to photos/hillhacks19/DSC_0058.JPG diff --git a/photos/hillhacks19/DSC_0058_hu3a5ea53e83c86bb6f6edb82f66ef4861_1048253_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0058_hu3a5ea53e83c86bb6f6edb82f66ef4861_1048253_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..3f7743b Binary files /dev/null and b/photos/hillhacks19/DSC_0058_hu3a5ea53e83c86bb6f6edb82f66ef4861_1048253_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0061.JPG b/photos/hillhacks19/DSC_0061.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0061.JPG rename to photos/hillhacks19/DSC_0061.JPG diff --git a/photos/hillhacks19/DSC_0061_hu3a5ea53e83c86bb6f6edb82f66ef4861_1038512_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0061_hu3a5ea53e83c86bb6f6edb82f66ef4861_1038512_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..38a7f90 Binary files /dev/null and b/photos/hillhacks19/DSC_0061_hu3a5ea53e83c86bb6f6edb82f66ef4861_1038512_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0072.JPG b/photos/hillhacks19/DSC_0072.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0072.JPG rename to photos/hillhacks19/DSC_0072.JPG diff --git a/photos/hillhacks19/DSC_0072_hu3a5ea53e83c86bb6f6edb82f66ef4861_312826_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0072_hu3a5ea53e83c86bb6f6edb82f66ef4861_312826_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..dcdf797 Binary files /dev/null and b/photos/hillhacks19/DSC_0072_hu3a5ea53e83c86bb6f6edb82f66ef4861_312826_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0168.JPG b/photos/hillhacks19/DSC_0168.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0168.JPG rename to photos/hillhacks19/DSC_0168.JPG diff --git a/photos/hillhacks19/DSC_0168_hu3a5ea53e83c86bb6f6edb82f66ef4861_330157_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0168_hu3a5ea53e83c86bb6f6edb82f66ef4861_330157_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..768bcf3 Binary files /dev/null and b/photos/hillhacks19/DSC_0168_hu3a5ea53e83c86bb6f6edb82f66ef4861_330157_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0256.JPG b/photos/hillhacks19/DSC_0256.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0256.JPG rename to photos/hillhacks19/DSC_0256.JPG diff --git a/photos/hillhacks19/DSC_0256_hu3a5ea53e83c86bb6f6edb82f66ef4861_500961_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0256_hu3a5ea53e83c86bb6f6edb82f66ef4861_500961_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..7740517 Binary files /dev/null and b/photos/hillhacks19/DSC_0256_hu3a5ea53e83c86bb6f6edb82f66ef4861_500961_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0321.JPG b/photos/hillhacks19/DSC_0321.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0321.JPG rename to photos/hillhacks19/DSC_0321.JPG diff --git a/photos/hillhacks19/DSC_0321_hu3a5ea53e83c86bb6f6edb82f66ef4861_407409_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0321_hu3a5ea53e83c86bb6f6edb82f66ef4861_407409_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..13aa858 Binary files /dev/null and b/photos/hillhacks19/DSC_0321_hu3a5ea53e83c86bb6f6edb82f66ef4861_407409_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0344-Pano.jpeg b/photos/hillhacks19/DSC_0344-Pano.jpeg similarity index 100% rename from content/photos/hillhacks19/DSC_0344-Pano.jpeg rename to photos/hillhacks19/DSC_0344-Pano.jpeg diff --git a/photos/hillhacks19/DSC_0344-Pano_huce4d8de4207b1be8f19695eb07def5aa_361981_700x0_resize_q100_box.jpeg b/photos/hillhacks19/DSC_0344-Pano_huce4d8de4207b1be8f19695eb07def5aa_361981_700x0_resize_q100_box.jpeg new file mode 100644 index 0000000..77052b3 Binary files /dev/null and b/photos/hillhacks19/DSC_0344-Pano_huce4d8de4207b1be8f19695eb07def5aa_361981_700x0_resize_q100_box.jpeg differ diff --git a/content/photos/hillhacks19/DSC_0345.jpg b/photos/hillhacks19/DSC_0345.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0345.jpg rename to photos/hillhacks19/DSC_0345.jpg diff --git a/photos/hillhacks19/DSC_0345_hu009e0dfa007ec3052a839d85b5faf4af_451801_350x0_resize_q100_box.jpg b/photos/hillhacks19/DSC_0345_hu009e0dfa007ec3052a839d85b5faf4af_451801_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..efb6b44 Binary files /dev/null and b/photos/hillhacks19/DSC_0345_hu009e0dfa007ec3052a839d85b5faf4af_451801_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks19/DSC_0347.jpeg b/photos/hillhacks19/DSC_0347.jpeg similarity index 100% rename from content/photos/hillhacks19/DSC_0347.jpeg rename to photos/hillhacks19/DSC_0347.jpeg diff --git a/photos/hillhacks19/DSC_0347_huc5b4ce48d8bf4015cf883afa9f562b66_431182_350x0_resize_q100_box.jpeg b/photos/hillhacks19/DSC_0347_huc5b4ce48d8bf4015cf883afa9f562b66_431182_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..247f73a Binary files /dev/null and b/photos/hillhacks19/DSC_0347_huc5b4ce48d8bf4015cf883afa9f562b66_431182_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/hillhacks19/DSC_0380-Pano.JPG b/photos/hillhacks19/DSC_0380-Pano.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0380-Pano.JPG rename to photos/hillhacks19/DSC_0380-Pano.JPG diff --git a/photos/hillhacks19/DSC_0380-Pano_hu009e0dfa007ec3052a839d85b5faf4af_2841355_700x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0380-Pano_hu009e0dfa007ec3052a839d85b5faf4af_2841355_700x0_resize_q100_box.JPG new file mode 100644 index 0000000..b9400fb Binary files /dev/null and b/photos/hillhacks19/DSC_0380-Pano_hu009e0dfa007ec3052a839d85b5faf4af_2841355_700x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0382.jpeg b/photos/hillhacks19/DSC_0382.jpeg similarity index 100% rename from content/photos/hillhacks19/DSC_0382.jpeg rename to photos/hillhacks19/DSC_0382.jpeg diff --git a/photos/hillhacks19/DSC_0382_hu383114a362e76a533b983ea4d521ac0d_445239_350x0_resize_q100_box.jpeg b/photos/hillhacks19/DSC_0382_hu383114a362e76a533b983ea4d521ac0d_445239_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..601e162 Binary files /dev/null and b/photos/hillhacks19/DSC_0382_hu383114a362e76a533b983ea4d521ac0d_445239_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/hillhacks19/DSC_0383.jpg b/photos/hillhacks19/DSC_0383.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0383.jpg rename to photos/hillhacks19/DSC_0383.jpg diff --git a/photos/hillhacks19/DSC_0383_hu13cf16680a6a9ec5d159433953942a20_1328319_350x0_resize_q100_box.jpg b/photos/hillhacks19/DSC_0383_hu13cf16680a6a9ec5d159433953942a20_1328319_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..91eef5f Binary files /dev/null and b/photos/hillhacks19/DSC_0383_hu13cf16680a6a9ec5d159433953942a20_1328319_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks19/DSC_0433.JPG b/photos/hillhacks19/DSC_0433.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0433.JPG rename to photos/hillhacks19/DSC_0433.JPG diff --git a/photos/hillhacks19/DSC_0433_hu3a5ea53e83c86bb6f6edb82f66ef4861_480413_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0433_hu3a5ea53e83c86bb6f6edb82f66ef4861_480413_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..c3df399 Binary files /dev/null and b/photos/hillhacks19/DSC_0433_hu3a5ea53e83c86bb6f6edb82f66ef4861_480413_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0465.JPG b/photos/hillhacks19/DSC_0465.JPG similarity index 100% rename from content/photos/hillhacks19/DSC_0465.JPG rename to photos/hillhacks19/DSC_0465.JPG diff --git a/photos/hillhacks19/DSC_0465_huce4d8de4207b1be8f19695eb07def5aa_231690_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0465_huce4d8de4207b1be8f19695eb07def5aa_231690_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..3da33ea Binary files /dev/null and b/photos/hillhacks19/DSC_0465_huce4d8de4207b1be8f19695eb07def5aa_231690_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0502.JPG b/photos/hillhacks19/DSC_0502.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0502.JPG rename to photos/hillhacks19/DSC_0502.JPG diff --git a/photos/hillhacks19/DSC_0502_hu3a5ea53e83c86bb6f6edb82f66ef4861_486059_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0502_hu3a5ea53e83c86bb6f6edb82f66ef4861_486059_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..5dcb1bd Binary files /dev/null and b/photos/hillhacks19/DSC_0502_hu3a5ea53e83c86bb6f6edb82f66ef4861_486059_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0524.JPG b/photos/hillhacks19/DSC_0524.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0524.JPG rename to photos/hillhacks19/DSC_0524.JPG diff --git a/photos/hillhacks19/DSC_0524_hu3a5ea53e83c86bb6f6edb82f66ef4861_460269_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0524_hu3a5ea53e83c86bb6f6edb82f66ef4861_460269_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..73c1da4 Binary files /dev/null and b/photos/hillhacks19/DSC_0524_hu3a5ea53e83c86bb6f6edb82f66ef4861_460269_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0530.JPG b/photos/hillhacks19/DSC_0530.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0530.JPG rename to photos/hillhacks19/DSC_0530.JPG diff --git a/photos/hillhacks19/DSC_0530_hu3a5ea53e83c86bb6f6edb82f66ef4861_507470_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0530_hu3a5ea53e83c86bb6f6edb82f66ef4861_507470_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..ec28b0b Binary files /dev/null and b/photos/hillhacks19/DSC_0530_hu3a5ea53e83c86bb6f6edb82f66ef4861_507470_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0548.JPG b/photos/hillhacks19/DSC_0548.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0548.JPG rename to photos/hillhacks19/DSC_0548.JPG diff --git a/photos/hillhacks19/DSC_0548_hu3a5ea53e83c86bb6f6edb82f66ef4861_407165_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0548_hu3a5ea53e83c86bb6f6edb82f66ef4861_407165_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..94faf46 Binary files /dev/null and b/photos/hillhacks19/DSC_0548_hu3a5ea53e83c86bb6f6edb82f66ef4861_407165_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0556.JPG b/photos/hillhacks19/DSC_0556.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0556.JPG rename to photos/hillhacks19/DSC_0556.JPG diff --git a/photos/hillhacks19/DSC_0556_hu3a5ea53e83c86bb6f6edb82f66ef4861_506932_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0556_hu3a5ea53e83c86bb6f6edb82f66ef4861_506932_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..b045d95 Binary files /dev/null and b/photos/hillhacks19/DSC_0556_hu3a5ea53e83c86bb6f6edb82f66ef4861_506932_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0571.JPG b/photos/hillhacks19/DSC_0571.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0571.JPG rename to photos/hillhacks19/DSC_0571.JPG diff --git a/photos/hillhacks19/DSC_0571_hu3a5ea53e83c86bb6f6edb82f66ef4861_367073_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0571_hu3a5ea53e83c86bb6f6edb82f66ef4861_367073_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..c1318dd Binary files /dev/null and b/photos/hillhacks19/DSC_0571_hu3a5ea53e83c86bb6f6edb82f66ef4861_367073_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0584.JPG b/photos/hillhacks19/DSC_0584.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0584.JPG rename to photos/hillhacks19/DSC_0584.JPG diff --git a/photos/hillhacks19/DSC_0584_hu3a5ea53e83c86bb6f6edb82f66ef4861_340960_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0584_hu3a5ea53e83c86bb6f6edb82f66ef4861_340960_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..a605b88 Binary files /dev/null and b/photos/hillhacks19/DSC_0584_hu3a5ea53e83c86bb6f6edb82f66ef4861_340960_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_0585.JPG b/photos/hillhacks19/DSC_0585.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_0585.JPG rename to photos/hillhacks19/DSC_0585.JPG diff --git a/photos/hillhacks19/DSC_0585_hu3a5ea53e83c86bb6f6edb82f66ef4861_276095_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_0585_hu3a5ea53e83c86bb6f6edb82f66ef4861_276095_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..53cf505 Binary files /dev/null and b/photos/hillhacks19/DSC_0585_hu3a5ea53e83c86bb6f6edb82f66ef4861_276095_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_1005.JPG b/photos/hillhacks19/DSC_1005.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_1005.JPG rename to photos/hillhacks19/DSC_1005.JPG diff --git a/photos/hillhacks19/DSC_1005_hu3a5ea53e83c86bb6f6edb82f66ef4861_433600_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_1005_hu3a5ea53e83c86bb6f6edb82f66ef4861_433600_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..3b93ca7 Binary files /dev/null and b/photos/hillhacks19/DSC_1005_hu3a5ea53e83c86bb6f6edb82f66ef4861_433600_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_1015.JPG b/photos/hillhacks19/DSC_1015.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_1015.JPG rename to photos/hillhacks19/DSC_1015.JPG diff --git a/photos/hillhacks19/DSC_1015_hu3a5ea53e83c86bb6f6edb82f66ef4861_501486_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_1015_hu3a5ea53e83c86bb6f6edb82f66ef4861_501486_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..4593d65 Binary files /dev/null and b/photos/hillhacks19/DSC_1015_hu3a5ea53e83c86bb6f6edb82f66ef4861_501486_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_1044.jpg b/photos/hillhacks19/DSC_1044.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_1044.jpg rename to photos/hillhacks19/DSC_1044.jpg diff --git a/photos/hillhacks19/DSC_1044_hucef0ff8496f09e0dbcfb1235eab9ca19_227784_350x0_resize_q100_box.jpg b/photos/hillhacks19/DSC_1044_hucef0ff8496f09e0dbcfb1235eab9ca19_227784_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..9661af4 Binary files /dev/null and b/photos/hillhacks19/DSC_1044_hucef0ff8496f09e0dbcfb1235eab9ca19_227784_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks19/DSC_1048.JPG b/photos/hillhacks19/DSC_1048.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_1048.JPG rename to photos/hillhacks19/DSC_1048.JPG diff --git a/photos/hillhacks19/DSC_1048_hu3a5ea53e83c86bb6f6edb82f66ef4861_413052_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_1048_hu3a5ea53e83c86bb6f6edb82f66ef4861_413052_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..46e4bda Binary files /dev/null and b/photos/hillhacks19/DSC_1048_hu3a5ea53e83c86bb6f6edb82f66ef4861_413052_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_1055.JPG b/photos/hillhacks19/DSC_1055.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_1055.JPG rename to photos/hillhacks19/DSC_1055.JPG diff --git a/photos/hillhacks19/DSC_1055_hu3a5ea53e83c86bb6f6edb82f66ef4861_352115_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_1055_hu3a5ea53e83c86bb6f6edb82f66ef4861_352115_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..dfaf9c5 Binary files /dev/null and b/photos/hillhacks19/DSC_1055_hu3a5ea53e83c86bb6f6edb82f66ef4861_352115_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/DSC_1148.JPG b/photos/hillhacks19/DSC_1148.JPG old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/DSC_1148.JPG rename to photos/hillhacks19/DSC_1148.JPG diff --git a/photos/hillhacks19/DSC_1148_hu3a5ea53e83c86bb6f6edb82f66ef4861_443368_350x0_resize_q100_box.JPG b/photos/hillhacks19/DSC_1148_hu3a5ea53e83c86bb6f6edb82f66ef4861_443368_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..82aa10f Binary files /dev/null and b/photos/hillhacks19/DSC_1148_hu3a5ea53e83c86bb6f6edb82f66ef4861_443368_350x0_resize_q100_box.JPG differ diff --git a/content/photos/hillhacks19/IMG_20190518_175906.jpg b/photos/hillhacks19/IMG_20190518_175906.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/IMG_20190518_175906.jpg rename to photos/hillhacks19/IMG_20190518_175906.jpg diff --git a/photos/hillhacks19/IMG_20190518_175906_hu009e0dfa007ec3052a839d85b5faf4af_2682813_350x0_resize_q100_box.jpg b/photos/hillhacks19/IMG_20190518_175906_hu009e0dfa007ec3052a839d85b5faf4af_2682813_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..1370085 Binary files /dev/null and b/photos/hillhacks19/IMG_20190518_175906_hu009e0dfa007ec3052a839d85b5faf4af_2682813_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks19/IMG_20190521_184424.jpg b/photos/hillhacks19/IMG_20190521_184424.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/IMG_20190521_184424.jpg rename to photos/hillhacks19/IMG_20190521_184424.jpg diff --git a/photos/hillhacks19/IMG_20190521_184424_hu36b29efc384c2a1cbd34d82aad3f2e11_1667582_350x0_resize_q100_box.jpg b/photos/hillhacks19/IMG_20190521_184424_hu36b29efc384c2a1cbd34d82aad3f2e11_1667582_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..696f107 Binary files /dev/null and b/photos/hillhacks19/IMG_20190521_184424_hu36b29efc384c2a1cbd34d82aad3f2e11_1667582_350x0_resize_q100_box.jpg differ diff --git a/content/photos/hillhacks19/IMG_20190522_185337-Pano.jpg b/photos/hillhacks19/IMG_20190522_185337-Pano.jpg old mode 100755 new mode 100644 similarity index 100% rename from content/photos/hillhacks19/IMG_20190522_185337-Pano.jpg rename to photos/hillhacks19/IMG_20190522_185337-Pano.jpg diff --git a/photos/hillhacks19/IMG_20190522_185337-Pano_hu36b29efc384c2a1cbd34d82aad3f2e11_1870911_700x0_resize_q100_box.jpg b/photos/hillhacks19/IMG_20190522_185337-Pano_hu36b29efc384c2a1cbd34d82aad3f2e11_1870911_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..1a653de Binary files /dev/null and b/photos/hillhacks19/IMG_20190522_185337-Pano_hu36b29efc384c2a1cbd34d82aad3f2e11_1870911_700x0_resize_q100_box.jpg differ diff --git a/photos/hillhacks19/index.html b/photos/hillhacks19/index.html new file mode 100644 index 0000000..9c72b78 --- /dev/null +++ b/photos/hillhacks19/index.html @@ -0,0 +1,34 @@ +(Hillhikes and) Hillhacks 2019 · Sid Verma

‹ Sid Verma

(Hillhikes and) Hillhacks 2019

2019 May
Himachal Pradesh, India

It felt disingenuous to just call this album Hillhacks 2019, given the extreme lack of actual conference photos here. The main motive of venturing out was Hillhacks, but the hikes we padded it with were much more photogenic.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Shot on Nikon D5300 and Oneplus 3


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/content/photos/house22/1.jpg b/photos/house22/1.jpg similarity index 100% rename from content/photos/house22/1.jpg rename to photos/house22/1.jpg diff --git a/photos/house22/1_huc05370a37429067b7e0370ae9d180a57_246217_350x0_resize_q100_box.jpg b/photos/house22/1_huc05370a37429067b7e0370ae9d180a57_246217_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..84c494d Binary files /dev/null and b/photos/house22/1_huc05370a37429067b7e0370ae9d180a57_246217_350x0_resize_q100_box.jpg differ diff --git a/content/photos/house22/2.jpg b/photos/house22/2.jpg similarity index 100% rename from content/photos/house22/2.jpg rename to photos/house22/2.jpg diff --git a/photos/house22/2_huc05370a37429067b7e0370ae9d180a57_276993_350x0_resize_q100_box.jpg b/photos/house22/2_huc05370a37429067b7e0370ae9d180a57_276993_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..452e72f Binary files /dev/null and b/photos/house22/2_huc05370a37429067b7e0370ae9d180a57_276993_350x0_resize_q100_box.jpg differ diff --git a/content/photos/house22/4.jpg b/photos/house22/4.jpg similarity index 100% rename from content/photos/house22/4.jpg rename to photos/house22/4.jpg diff --git a/content/photos/house22/40.jpg b/photos/house22/40.jpg similarity index 100% rename from content/photos/house22/40.jpg rename to photos/house22/40.jpg diff --git a/photos/house22/40_hu517b6c0b3c92d789ffe74f47e90ccae6_787291_350x0_resize_q100_box.jpg b/photos/house22/40_hu517b6c0b3c92d789ffe74f47e90ccae6_787291_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..efc4c53 Binary files /dev/null and b/photos/house22/40_hu517b6c0b3c92d789ffe74f47e90ccae6_787291_350x0_resize_q100_box.jpg differ diff --git a/photos/house22/4_huc05370a37429067b7e0370ae9d180a57_434783_350x0_resize_q100_box.jpg b/photos/house22/4_huc05370a37429067b7e0370ae9d180a57_434783_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..b637d86 Binary files /dev/null and b/photos/house22/4_huc05370a37429067b7e0370ae9d180a57_434783_350x0_resize_q100_box.jpg differ diff --git a/content/photos/house22/5-Pano.jpg b/photos/house22/5-Pano.jpg similarity index 100% rename from content/photos/house22/5-Pano.jpg rename to photos/house22/5-Pano.jpg diff --git a/photos/house22/5-Pano_huc05370a37429067b7e0370ae9d180a57_373921_700x0_resize_q100_box.jpg b/photos/house22/5-Pano_huc05370a37429067b7e0370ae9d180a57_373921_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..d7dddaf Binary files /dev/null and b/photos/house22/5-Pano_huc05370a37429067b7e0370ae9d180a57_373921_700x0_resize_q100_box.jpg differ diff --git a/content/photos/house22/50.jpg b/photos/house22/50.jpg similarity index 100% rename from content/photos/house22/50.jpg rename to photos/house22/50.jpg diff --git a/photos/house22/50_huc05370a37429067b7e0370ae9d180a57_465416_350x0_resize_q100_box.jpg b/photos/house22/50_huc05370a37429067b7e0370ae9d180a57_465416_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..3c5b332 Binary files /dev/null and b/photos/house22/50_huc05370a37429067b7e0370ae9d180a57_465416_350x0_resize_q100_box.jpg differ diff --git a/content/photos/house22/6.jpg b/photos/house22/6.jpg similarity index 100% rename from content/photos/house22/6.jpg rename to photos/house22/6.jpg diff --git a/content/photos/house22/60.jpg b/photos/house22/60.jpg similarity index 100% rename from content/photos/house22/60.jpg rename to photos/house22/60.jpg diff --git a/photos/house22/60_huc05370a37429067b7e0370ae9d180a57_386451_350x0_resize_q100_box.jpg b/photos/house22/60_huc05370a37429067b7e0370ae9d180a57_386451_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..99219a6 Binary files /dev/null and b/photos/house22/60_huc05370a37429067b7e0370ae9d180a57_386451_350x0_resize_q100_box.jpg differ diff --git a/photos/house22/6_huc05370a37429067b7e0370ae9d180a57_339552_350x0_resize_q100_box.jpg b/photos/house22/6_huc05370a37429067b7e0370ae9d180a57_339552_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..b03bb91 Binary files /dev/null and b/photos/house22/6_huc05370a37429067b7e0370ae9d180a57_339552_350x0_resize_q100_box.jpg differ diff --git a/content/photos/house22/80.jpg b/photos/house22/80.jpg similarity index 100% rename from content/photos/house22/80.jpg rename to photos/house22/80.jpg diff --git a/photos/house22/80_huc05370a37429067b7e0370ae9d180a57_317212_350x0_resize_q100_box.jpg b/photos/house22/80_huc05370a37429067b7e0370ae9d180a57_317212_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..d93aef2 Binary files /dev/null and b/photos/house22/80_huc05370a37429067b7e0370ae9d180a57_317212_350x0_resize_q100_box.jpg differ diff --git a/content/photos/house22/9.jpg b/photos/house22/9.jpg similarity index 100% rename from content/photos/house22/9.jpg rename to photos/house22/9.jpg diff --git a/content/photos/house22/90.jpg b/photos/house22/90.jpg similarity index 100% rename from content/photos/house22/90.jpg rename to photos/house22/90.jpg diff --git a/photos/house22/90_huc05370a37429067b7e0370ae9d180a57_300687_350x0_resize_q100_box.jpg b/photos/house22/90_huc05370a37429067b7e0370ae9d180a57_300687_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..e0def7c Binary files /dev/null and b/photos/house22/90_huc05370a37429067b7e0370ae9d180a57_300687_350x0_resize_q100_box.jpg differ diff --git a/content/photos/house22/91.jpg b/photos/house22/91.jpg similarity index 100% rename from content/photos/house22/91.jpg rename to photos/house22/91.jpg diff --git a/photos/house22/91_huc05370a37429067b7e0370ae9d180a57_345773_350x0_resize_q100_box.jpg b/photos/house22/91_huc05370a37429067b7e0370ae9d180a57_345773_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..45c8147 Binary files /dev/null and b/photos/house22/91_huc05370a37429067b7e0370ae9d180a57_345773_350x0_resize_q100_box.jpg differ diff --git a/content/photos/house22/92.jpg b/photos/house22/92.jpg similarity index 100% rename from content/photos/house22/92.jpg rename to photos/house22/92.jpg diff --git a/photos/house22/92_huc05370a37429067b7e0370ae9d180a57_534773_350x0_resize_q100_box.jpg b/photos/house22/92_huc05370a37429067b7e0370ae9d180a57_534773_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..d159ed2 Binary files /dev/null and b/photos/house22/92_huc05370a37429067b7e0370ae9d180a57_534773_350x0_resize_q100_box.jpg differ diff --git a/photos/house22/9_huc05370a37429067b7e0370ae9d180a57_331148_350x0_resize_q100_box.jpg b/photos/house22/9_huc05370a37429067b7e0370ae9d180a57_331148_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..581a72f Binary files /dev/null and b/photos/house22/9_huc05370a37429067b7e0370ae9d180a57_331148_350x0_resize_q100_box.jpg differ diff --git a/photos/house22/index.html b/photos/house22/index.html new file mode 100644 index 0000000..b8782d4 --- /dev/null +++ b/photos/house22/index.html @@ -0,0 +1,13 @@ +House tour · Sid Verma

‹ Sid Verma

House tour

2022 Dec
Goa, India

I moved into a much older house in Goa earlier this year, and had a lot of fun these past months setting it up and wiring it down. It’s very janky, dusty, and lovely.

+ + + + + + + + + + + +

Tried to buy nothing new except wires and electrical junctions. Please excuse the dust, I am not really bothered by it.


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/photos/index.html b/photos/index.html new file mode 100644 index 0000000..b8fc8e2 --- /dev/null +++ b/photos/index.html @@ -0,0 +1,27 @@ +Photos · Sid Verma

‹ Sid Verma

Photos


\ No newline at end of file diff --git a/photos/index.xml b/photos/index.xml new file mode 100644 index 0000000..cd89a39 --- /dev/null +++ b/photos/index.xml @@ -0,0 +1 @@ +Photos on Sid Vermahttps://sidverma.io/photos/Recent content in Photos on Sid VermaHugo -- gohugo.ioen-usThu, 01 Dec 2022 00:00:00 +0000House tourhttps://sidverma.io/photos/house22/Thu, 01 Dec 2022 00:00:00 +0000https://sidverma.io/photos/house22/<p>I moved into a much older house in Goa earlier this year, and had a lot of fun these past months setting it up and wiring it down. It&rsquo;s very janky, dusty, and lovely.</p>Backpacking 2019https://sidverma.io/photos/backpacking19/Sun, 01 Dec 2019 00:00:00 +0000https://sidverma.io/photos/backpacking19/<p>Been backpacking for a few months, while severely reducing camera time. Here are some photos from Goa, Kolkata, Bangkok and Pai.</p>Ziro Festival 2019https://sidverma.io/photos/ziro19/Thu, 26 Sep 2019 00:00:00 +0000https://sidverma.io/photos/ziro19/<p>I was not planning to go to the Ziro Festival this year, but the dates coincided with a layover in Kolkata, and hence made the stop.</p>Andaman Islandshttps://sidverma.io/photos/andaman19/Sat, 01 Jun 2019 00:00:00 +0000https://sidverma.io/photos/andaman19/<p>Family took a few days off to spend some time in the Andaman Islands.</p>(Hillhikes and) Hillhacks 2019https://sidverma.io/photos/hillhacks19/Wed, 01 May 2019 00:00:00 +0000https://sidverma.io/photos/hillhacks19/<p>It felt disingenuous to just call this album Hillhacks 2019, given the extreme lack of actual conference photos here. The main motive of venturing out was Hillhacks, but the hikes we padded it with were much more photogenic.</p>Week in Goahttps://sidverma.io/photos/goa19/Tue, 01 Jan 2019 00:00:00 +0000https://sidverma.io/photos/goa19/<p>The annual trip with a couple of close friends took us to Arambol, Goa this year. We did spend more time in the hills of Goa rather than the beaches this time around.</p>Hackbeach 2018https://sidverma.io/photos/hackbeach18/Thu, 01 Nov 2018 00:00:00 +0000https://sidverma.io/photos/hackbeach18/<p>Hackbeach revisited the previous venue too in 2018. The water was way calmer, and almost every attendee learned to swim at least to a basic level in the ocean.</p>Ziro Festival 2018https://sidverma.io/photos/ziro18/Sat, 01 Sep 2018 00:00:00 +0000https://sidverma.io/photos/ziro18/<p>Ziro Festival of Music is a music festival which takes place in the Ziro Valley (duh) every year. Probably one of the prettiest places to have a concert in the country.</p>Trip to Lehhttps://sidverma.io/photos/leh18/Fri, 01 Jun 2018 00:00:00 +0000https://sidverma.io/photos/leh18/<p>Left hillhacks early to visit the Ladakh area with my family.</p>Hillhacks 2018https://sidverma.io/photos/hillhacks18/Tue, 01 May 2018 00:00:00 +0000https://sidverma.io/photos/hillhacks18/<p>Hillhacks repeats the venue in 2018, hence slightly easier to organise.</p>Road trip to Jaisalmerhttps://sidverma.io/photos/jaisalmer18/Mon, 01 Jan 2018 00:00:00 +0000https://sidverma.io/photos/jaisalmer18/<p>Road trips aren&rsquo;t usually my thing, nor deserts. But this trip turned out to be fun anyway.</p>Hackbeach 2017https://sidverma.io/photos/hackbeach17/Wed, 01 Nov 2017 00:00:00 +0000https://sidverma.io/photos/hackbeach17/<p>Hackbeach 2017 happened right at the main beach in Gokarna.</p>Hillhacks 2017https://sidverma.io/photos/hillhacks17/Mon, 01 May 2017 00:00:00 +0000https://sidverma.io/photos/hillhacks17/<p>Some Hillhacks 2017 photos and even more from a stop at Dharamshala and some hills.</p> \ No newline at end of file diff --git a/content/photos/jaisalmer18/DSC_0012.JPG b/photos/jaisalmer18/DSC_0012.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0012.JPG rename to photos/jaisalmer18/DSC_0012.JPG diff --git a/photos/jaisalmer18/DSC_0012_hu3a5ea53e83c86bb6f6edb82f66ef4861_828377_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0012_hu3a5ea53e83c86bb6f6edb82f66ef4861_828377_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..4703f6c Binary files /dev/null and b/photos/jaisalmer18/DSC_0012_hu3a5ea53e83c86bb6f6edb82f66ef4861_828377_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0014.NEF.jpg b/photos/jaisalmer18/DSC_0014.NEF.jpg similarity index 100% rename from content/photos/jaisalmer18/DSC_0014.NEF.jpg rename to photos/jaisalmer18/DSC_0014.NEF.jpg diff --git a/photos/jaisalmer18/DSC_0014.NEF_hu591cfbd896fb5df85cbbb8f809dee967_258987_350x0_resize_q100_box.jpg b/photos/jaisalmer18/DSC_0014.NEF_hu591cfbd896fb5df85cbbb8f809dee967_258987_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..f4cce95 Binary files /dev/null and b/photos/jaisalmer18/DSC_0014.NEF_hu591cfbd896fb5df85cbbb8f809dee967_258987_350x0_resize_q100_box.jpg differ diff --git a/content/photos/jaisalmer18/DSC_0019 (1).JPG b/photos/jaisalmer18/DSC_0019 (1).JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0019 (1).JPG rename to photos/jaisalmer18/DSC_0019 (1).JPG diff --git a/photos/jaisalmer18/DSC_0019 (1)_hu3a5ea53e83c86bb6f6edb82f66ef4861_1001726_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0019 (1)_hu3a5ea53e83c86bb6f6edb82f66ef4861_1001726_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..538b4ec Binary files /dev/null and b/photos/jaisalmer18/DSC_0019 (1)_hu3a5ea53e83c86bb6f6edb82f66ef4861_1001726_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0019.JPG b/photos/jaisalmer18/DSC_0019.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0019.JPG rename to photos/jaisalmer18/DSC_0019.JPG diff --git a/photos/jaisalmer18/DSC_0019_hu3a5ea53e83c86bb6f6edb82f66ef4861_573107_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0019_hu3a5ea53e83c86bb6f6edb82f66ef4861_573107_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..bd21502 Binary files /dev/null and b/photos/jaisalmer18/DSC_0019_hu3a5ea53e83c86bb6f6edb82f66ef4861_573107_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0021.JPG b/photos/jaisalmer18/DSC_0021.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0021.JPG rename to photos/jaisalmer18/DSC_0021.JPG diff --git a/photos/jaisalmer18/DSC_0021_hu3a5ea53e83c86bb6f6edb82f66ef4861_420183_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0021_hu3a5ea53e83c86bb6f6edb82f66ef4861_420183_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..ddb679d Binary files /dev/null and b/photos/jaisalmer18/DSC_0021_hu3a5ea53e83c86bb6f6edb82f66ef4861_420183_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0035.JPG b/photos/jaisalmer18/DSC_0035.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0035.JPG rename to photos/jaisalmer18/DSC_0035.JPG diff --git a/photos/jaisalmer18/DSC_0035_hu3a5ea53e83c86bb6f6edb82f66ef4861_1065638_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0035_hu3a5ea53e83c86bb6f6edb82f66ef4861_1065638_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..ee4aa4a Binary files /dev/null and b/photos/jaisalmer18/DSC_0035_hu3a5ea53e83c86bb6f6edb82f66ef4861_1065638_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0049.JPG b/photos/jaisalmer18/DSC_0049.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0049.JPG rename to photos/jaisalmer18/DSC_0049.JPG diff --git a/photos/jaisalmer18/DSC_0049_hu3a5ea53e83c86bb6f6edb82f66ef4861_621674_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0049_hu3a5ea53e83c86bb6f6edb82f66ef4861_621674_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..eb17aac Binary files /dev/null and b/photos/jaisalmer18/DSC_0049_hu3a5ea53e83c86bb6f6edb82f66ef4861_621674_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0060.JPG b/photos/jaisalmer18/DSC_0060.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0060.JPG rename to photos/jaisalmer18/DSC_0060.JPG diff --git a/photos/jaisalmer18/DSC_0060_hu3a5ea53e83c86bb6f6edb82f66ef4861_733709_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0060_hu3a5ea53e83c86bb6f6edb82f66ef4861_733709_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..d527330 Binary files /dev/null and b/photos/jaisalmer18/DSC_0060_hu3a5ea53e83c86bb6f6edb82f66ef4861_733709_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0068.JPG b/photos/jaisalmer18/DSC_0068.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0068.JPG rename to photos/jaisalmer18/DSC_0068.JPG diff --git a/photos/jaisalmer18/DSC_0068_hu3a5ea53e83c86bb6f6edb82f66ef4861_943933_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0068_hu3a5ea53e83c86bb6f6edb82f66ef4861_943933_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..9930d12 Binary files /dev/null and b/photos/jaisalmer18/DSC_0068_hu3a5ea53e83c86bb6f6edb82f66ef4861_943933_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0101.JPG b/photos/jaisalmer18/DSC_0101.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0101.JPG rename to photos/jaisalmer18/DSC_0101.JPG diff --git a/photos/jaisalmer18/DSC_0101_hu3a5ea53e83c86bb6f6edb82f66ef4861_618043_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0101_hu3a5ea53e83c86bb6f6edb82f66ef4861_618043_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..98a60af Binary files /dev/null and b/photos/jaisalmer18/DSC_0101_hu3a5ea53e83c86bb6f6edb82f66ef4861_618043_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0103.JPG b/photos/jaisalmer18/DSC_0103.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0103.JPG rename to photos/jaisalmer18/DSC_0103.JPG diff --git a/photos/jaisalmer18/DSC_0103_hu3a5ea53e83c86bb6f6edb82f66ef4861_450162_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0103_hu3a5ea53e83c86bb6f6edb82f66ef4861_450162_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..68a04d6 Binary files /dev/null and b/photos/jaisalmer18/DSC_0103_hu3a5ea53e83c86bb6f6edb82f66ef4861_450162_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0112.JPG b/photos/jaisalmer18/DSC_0112.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0112.JPG rename to photos/jaisalmer18/DSC_0112.JPG diff --git a/photos/jaisalmer18/DSC_0112_hu3a5ea53e83c86bb6f6edb82f66ef4861_823320_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0112_hu3a5ea53e83c86bb6f6edb82f66ef4861_823320_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..50a6ddd Binary files /dev/null and b/photos/jaisalmer18/DSC_0112_hu3a5ea53e83c86bb6f6edb82f66ef4861_823320_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0130.JPG b/photos/jaisalmer18/DSC_0130.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0130.JPG rename to photos/jaisalmer18/DSC_0130.JPG diff --git a/photos/jaisalmer18/DSC_0130_hu3a5ea53e83c86bb6f6edb82f66ef4861_827834_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0130_hu3a5ea53e83c86bb6f6edb82f66ef4861_827834_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..2f7f965 Binary files /dev/null and b/photos/jaisalmer18/DSC_0130_hu3a5ea53e83c86bb6f6edb82f66ef4861_827834_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0154.JPG b/photos/jaisalmer18/DSC_0154.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0154.JPG rename to photos/jaisalmer18/DSC_0154.JPG diff --git a/photos/jaisalmer18/DSC_0154_hu3a5ea53e83c86bb6f6edb82f66ef4861_681672_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0154_hu3a5ea53e83c86bb6f6edb82f66ef4861_681672_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..03a61d9 Binary files /dev/null and b/photos/jaisalmer18/DSC_0154_hu3a5ea53e83c86bb6f6edb82f66ef4861_681672_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0179.JPG b/photos/jaisalmer18/DSC_0179.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0179.JPG rename to photos/jaisalmer18/DSC_0179.JPG diff --git a/photos/jaisalmer18/DSC_0179_hu3a5ea53e83c86bb6f6edb82f66ef4861_467699_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0179_hu3a5ea53e83c86bb6f6edb82f66ef4861_467699_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..d0070f5 Binary files /dev/null and b/photos/jaisalmer18/DSC_0179_hu3a5ea53e83c86bb6f6edb82f66ef4861_467699_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0187.JPG b/photos/jaisalmer18/DSC_0187.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0187.JPG rename to photos/jaisalmer18/DSC_0187.JPG diff --git a/photos/jaisalmer18/DSC_0187_hu3a5ea53e83c86bb6f6edb82f66ef4861_636645_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0187_hu3a5ea53e83c86bb6f6edb82f66ef4861_636645_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..a1331c8 Binary files /dev/null and b/photos/jaisalmer18/DSC_0187_hu3a5ea53e83c86bb6f6edb82f66ef4861_636645_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0199.JPG b/photos/jaisalmer18/DSC_0199.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0199.JPG rename to photos/jaisalmer18/DSC_0199.JPG diff --git a/photos/jaisalmer18/DSC_0199_hu3a5ea53e83c86bb6f6edb82f66ef4861_663776_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0199_hu3a5ea53e83c86bb6f6edb82f66ef4861_663776_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..de580a0 Binary files /dev/null and b/photos/jaisalmer18/DSC_0199_hu3a5ea53e83c86bb6f6edb82f66ef4861_663776_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0242.NEF.jpg b/photos/jaisalmer18/DSC_0242.NEF.jpg similarity index 100% rename from content/photos/jaisalmer18/DSC_0242.NEF.jpg rename to photos/jaisalmer18/DSC_0242.NEF.jpg diff --git a/photos/jaisalmer18/DSC_0242.NEF_hu591cfbd896fb5df85cbbb8f809dee967_129704_350x0_resize_q100_box.jpg b/photos/jaisalmer18/DSC_0242.NEF_hu591cfbd896fb5df85cbbb8f809dee967_129704_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..5e65ec3 Binary files /dev/null and b/photos/jaisalmer18/DSC_0242.NEF_hu591cfbd896fb5df85cbbb8f809dee967_129704_350x0_resize_q100_box.jpg differ diff --git a/content/photos/jaisalmer18/DSC_0262.JPG b/photos/jaisalmer18/DSC_0262.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0262.JPG rename to photos/jaisalmer18/DSC_0262.JPG diff --git a/photos/jaisalmer18/DSC_0262_hu3a5ea53e83c86bb6f6edb82f66ef4861_845536_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0262_hu3a5ea53e83c86bb6f6edb82f66ef4861_845536_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..e3dfd6a Binary files /dev/null and b/photos/jaisalmer18/DSC_0262_hu3a5ea53e83c86bb6f6edb82f66ef4861_845536_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0270.JPG b/photos/jaisalmer18/DSC_0270.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0270.JPG rename to photos/jaisalmer18/DSC_0270.JPG diff --git a/photos/jaisalmer18/DSC_0270_hu3a5ea53e83c86bb6f6edb82f66ef4861_567473_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0270_hu3a5ea53e83c86bb6f6edb82f66ef4861_567473_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..14b947b Binary files /dev/null and b/photos/jaisalmer18/DSC_0270_hu3a5ea53e83c86bb6f6edb82f66ef4861_567473_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0299.JPG b/photos/jaisalmer18/DSC_0299.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0299.JPG rename to photos/jaisalmer18/DSC_0299.JPG diff --git a/photos/jaisalmer18/DSC_0299_hu3a5ea53e83c86bb6f6edb82f66ef4861_567018_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0299_hu3a5ea53e83c86bb6f6edb82f66ef4861_567018_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..59ceaf7 Binary files /dev/null and b/photos/jaisalmer18/DSC_0299_hu3a5ea53e83c86bb6f6edb82f66ef4861_567018_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0317.JPG b/photos/jaisalmer18/DSC_0317.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0317.JPG rename to photos/jaisalmer18/DSC_0317.JPG diff --git a/photos/jaisalmer18/DSC_0317_hu3a5ea53e83c86bb6f6edb82f66ef4861_621528_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0317_hu3a5ea53e83c86bb6f6edb82f66ef4861_621528_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..5a23189 Binary files /dev/null and b/photos/jaisalmer18/DSC_0317_hu3a5ea53e83c86bb6f6edb82f66ef4861_621528_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0333-Pano.JPG b/photos/jaisalmer18/DSC_0333-Pano.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0333-Pano.JPG rename to photos/jaisalmer18/DSC_0333-Pano.JPG diff --git a/photos/jaisalmer18/DSC_0333-Pano_hu3a5ea53e83c86bb6f6edb82f66ef4861_1902355_700x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0333-Pano_hu3a5ea53e83c86bb6f6edb82f66ef4861_1902355_700x0_resize_q100_box.JPG new file mode 100644 index 0000000..d6c865d Binary files /dev/null and b/photos/jaisalmer18/DSC_0333-Pano_hu3a5ea53e83c86bb6f6edb82f66ef4861_1902355_700x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0336.JPG b/photos/jaisalmer18/DSC_0336.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0336.JPG rename to photos/jaisalmer18/DSC_0336.JPG diff --git a/photos/jaisalmer18/DSC_0336_hu3a5ea53e83c86bb6f6edb82f66ef4861_891123_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0336_hu3a5ea53e83c86bb6f6edb82f66ef4861_891123_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..659ebf6 Binary files /dev/null and b/photos/jaisalmer18/DSC_0336_hu3a5ea53e83c86bb6f6edb82f66ef4861_891123_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0337.JPG b/photos/jaisalmer18/DSC_0337.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0337.JPG rename to photos/jaisalmer18/DSC_0337.JPG diff --git a/photos/jaisalmer18/DSC_0337_hu3a5ea53e83c86bb6f6edb82f66ef4861_905648_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0337_hu3a5ea53e83c86bb6f6edb82f66ef4861_905648_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..cb64e0e Binary files /dev/null and b/photos/jaisalmer18/DSC_0337_hu3a5ea53e83c86bb6f6edb82f66ef4861_905648_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0344-Pano.jpg b/photos/jaisalmer18/DSC_0344-Pano.jpg similarity index 100% rename from content/photos/jaisalmer18/DSC_0344-Pano.jpg rename to photos/jaisalmer18/DSC_0344-Pano.jpg diff --git a/photos/jaisalmer18/DSC_0344-Pano_hu655f97f316b0c9c2bd82c8f164adf331_218958_700x0_resize_q100_box.jpg b/photos/jaisalmer18/DSC_0344-Pano_hu655f97f316b0c9c2bd82c8f164adf331_218958_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..0954ce3 Binary files /dev/null and b/photos/jaisalmer18/DSC_0344-Pano_hu655f97f316b0c9c2bd82c8f164adf331_218958_700x0_resize_q100_box.jpg differ diff --git a/content/photos/jaisalmer18/DSC_0395.JPG b/photos/jaisalmer18/DSC_0395.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0395.JPG rename to photos/jaisalmer18/DSC_0395.JPG diff --git a/photos/jaisalmer18/DSC_0395_hu3a5ea53e83c86bb6f6edb82f66ef4861_667852_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0395_hu3a5ea53e83c86bb6f6edb82f66ef4861_667852_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..1e10da6 Binary files /dev/null and b/photos/jaisalmer18/DSC_0395_hu3a5ea53e83c86bb6f6edb82f66ef4861_667852_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0431.JPG b/photos/jaisalmer18/DSC_0431.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0431.JPG rename to photos/jaisalmer18/DSC_0431.JPG diff --git a/photos/jaisalmer18/DSC_0431_hu3a5ea53e83c86bb6f6edb82f66ef4861_749286_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0431_hu3a5ea53e83c86bb6f6edb82f66ef4861_749286_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..25a4a72 Binary files /dev/null and b/photos/jaisalmer18/DSC_0431_hu3a5ea53e83c86bb6f6edb82f66ef4861_749286_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0445.JPG b/photos/jaisalmer18/DSC_0445.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0445.JPG rename to photos/jaisalmer18/DSC_0445.JPG diff --git a/photos/jaisalmer18/DSC_0445_hu3a5ea53e83c86bb6f6edb82f66ef4861_816680_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0445_hu3a5ea53e83c86bb6f6edb82f66ef4861_816680_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..b8aa8e0 Binary files /dev/null and b/photos/jaisalmer18/DSC_0445_hu3a5ea53e83c86bb6f6edb82f66ef4861_816680_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0447.JPG b/photos/jaisalmer18/DSC_0447.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0447.JPG rename to photos/jaisalmer18/DSC_0447.JPG diff --git a/photos/jaisalmer18/DSC_0447_hu3a5ea53e83c86bb6f6edb82f66ef4861_1001938_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0447_hu3a5ea53e83c86bb6f6edb82f66ef4861_1001938_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..6fc78cd Binary files /dev/null and b/photos/jaisalmer18/DSC_0447_hu3a5ea53e83c86bb6f6edb82f66ef4861_1001938_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0461.JPG b/photos/jaisalmer18/DSC_0461.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0461.JPG rename to photos/jaisalmer18/DSC_0461.JPG diff --git a/photos/jaisalmer18/DSC_0461_hu3a5ea53e83c86bb6f6edb82f66ef4861_667690_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0461_hu3a5ea53e83c86bb6f6edb82f66ef4861_667690_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..fcefa8d Binary files /dev/null and b/photos/jaisalmer18/DSC_0461_hu3a5ea53e83c86bb6f6edb82f66ef4861_667690_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0481.JPG b/photos/jaisalmer18/DSC_0481.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0481.JPG rename to photos/jaisalmer18/DSC_0481.JPG diff --git a/photos/jaisalmer18/DSC_0481_hu46695f1174aefbdf8b44442d2fb7086d_856346_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0481_hu46695f1174aefbdf8b44442d2fb7086d_856346_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..9cf2a8a Binary files /dev/null and b/photos/jaisalmer18/DSC_0481_hu46695f1174aefbdf8b44442d2fb7086d_856346_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0554.JPG b/photos/jaisalmer18/DSC_0554.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0554.JPG rename to photos/jaisalmer18/DSC_0554.JPG diff --git a/photos/jaisalmer18/DSC_0554_hu3a5ea53e83c86bb6f6edb82f66ef4861_614168_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0554_hu3a5ea53e83c86bb6f6edb82f66ef4861_614168_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..81ec32c Binary files /dev/null and b/photos/jaisalmer18/DSC_0554_hu3a5ea53e83c86bb6f6edb82f66ef4861_614168_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0589.NEF.jpg b/photos/jaisalmer18/DSC_0589.NEF.jpg similarity index 100% rename from content/photos/jaisalmer18/DSC_0589.NEF.jpg rename to photos/jaisalmer18/DSC_0589.NEF.jpg diff --git a/photos/jaisalmer18/DSC_0589.NEF_hu591cfbd896fb5df85cbbb8f809dee967_165168_350x0_resize_q100_box.jpg b/photos/jaisalmer18/DSC_0589.NEF_hu591cfbd896fb5df85cbbb8f809dee967_165168_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..a3d20a9 Binary files /dev/null and b/photos/jaisalmer18/DSC_0589.NEF_hu591cfbd896fb5df85cbbb8f809dee967_165168_350x0_resize_q100_box.jpg differ diff --git a/content/photos/jaisalmer18/DSC_0638.JPG b/photos/jaisalmer18/DSC_0638.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0638.JPG rename to photos/jaisalmer18/DSC_0638.JPG diff --git a/photos/jaisalmer18/DSC_0638_hu3a5ea53e83c86bb6f6edb82f66ef4861_574219_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0638_hu3a5ea53e83c86bb6f6edb82f66ef4861_574219_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..43912bc Binary files /dev/null and b/photos/jaisalmer18/DSC_0638_hu3a5ea53e83c86bb6f6edb82f66ef4861_574219_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0639.NEF.jpg b/photos/jaisalmer18/DSC_0639.NEF.jpg similarity index 100% rename from content/photos/jaisalmer18/DSC_0639.NEF.jpg rename to photos/jaisalmer18/DSC_0639.NEF.jpg diff --git a/photos/jaisalmer18/DSC_0639.NEF_hu591cfbd896fb5df85cbbb8f809dee967_162844_350x0_resize_q100_box.jpg b/photos/jaisalmer18/DSC_0639.NEF_hu591cfbd896fb5df85cbbb8f809dee967_162844_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..45c828c Binary files /dev/null and b/photos/jaisalmer18/DSC_0639.NEF_hu591cfbd896fb5df85cbbb8f809dee967_162844_350x0_resize_q100_box.jpg differ diff --git a/content/photos/jaisalmer18/DSC_0683.JPG b/photos/jaisalmer18/DSC_0683.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0683.JPG rename to photos/jaisalmer18/DSC_0683.JPG diff --git a/photos/jaisalmer18/DSC_0683_hu3a5ea53e83c86bb6f6edb82f66ef4861_903934_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0683_hu3a5ea53e83c86bb6f6edb82f66ef4861_903934_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..ff87bb3 Binary files /dev/null and b/photos/jaisalmer18/DSC_0683_hu3a5ea53e83c86bb6f6edb82f66ef4861_903934_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0704.JPG b/photos/jaisalmer18/DSC_0704.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0704.JPG rename to photos/jaisalmer18/DSC_0704.JPG diff --git a/photos/jaisalmer18/DSC_0704_hu3a5ea53e83c86bb6f6edb82f66ef4861_475775_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0704_hu3a5ea53e83c86bb6f6edb82f66ef4861_475775_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..644f81c Binary files /dev/null and b/photos/jaisalmer18/DSC_0704_hu3a5ea53e83c86bb6f6edb82f66ef4861_475775_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0739.JPG b/photos/jaisalmer18/DSC_0739.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0739.JPG rename to photos/jaisalmer18/DSC_0739.JPG diff --git a/photos/jaisalmer18/DSC_0739_hu3a5ea53e83c86bb6f6edb82f66ef4861_821621_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0739_hu3a5ea53e83c86bb6f6edb82f66ef4861_821621_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..3d8c828 Binary files /dev/null and b/photos/jaisalmer18/DSC_0739_hu3a5ea53e83c86bb6f6edb82f66ef4861_821621_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0790.JPG b/photos/jaisalmer18/DSC_0790.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0790.JPG rename to photos/jaisalmer18/DSC_0790.JPG diff --git a/photos/jaisalmer18/DSC_0790_hu3a5ea53e83c86bb6f6edb82f66ef4861_590674_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0790_hu3a5ea53e83c86bb6f6edb82f66ef4861_590674_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..c4e29e4 Binary files /dev/null and b/photos/jaisalmer18/DSC_0790_hu3a5ea53e83c86bb6f6edb82f66ef4861_590674_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0796.JPG b/photos/jaisalmer18/DSC_0796.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0796.JPG rename to photos/jaisalmer18/DSC_0796.JPG diff --git a/photos/jaisalmer18/DSC_0796_hu3a5ea53e83c86bb6f6edb82f66ef4861_953581_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0796_hu3a5ea53e83c86bb6f6edb82f66ef4861_953581_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..d108043 Binary files /dev/null and b/photos/jaisalmer18/DSC_0796_hu3a5ea53e83c86bb6f6edb82f66ef4861_953581_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0797 (1).JPG b/photos/jaisalmer18/DSC_0797 (1).JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0797 (1).JPG rename to photos/jaisalmer18/DSC_0797 (1).JPG diff --git a/photos/jaisalmer18/DSC_0797 (1)_hu3a5ea53e83c86bb6f6edb82f66ef4861_513422_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0797 (1)_hu3a5ea53e83c86bb6f6edb82f66ef4861_513422_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..9a91615 Binary files /dev/null and b/photos/jaisalmer18/DSC_0797 (1)_hu3a5ea53e83c86bb6f6edb82f66ef4861_513422_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0797.JPG b/photos/jaisalmer18/DSC_0797.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0797.JPG rename to photos/jaisalmer18/DSC_0797.JPG diff --git a/photos/jaisalmer18/DSC_0797_hu3a5ea53e83c86bb6f6edb82f66ef4861_985532_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0797_hu3a5ea53e83c86bb6f6edb82f66ef4861_985532_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..98a14e3 Binary files /dev/null and b/photos/jaisalmer18/DSC_0797_hu3a5ea53e83c86bb6f6edb82f66ef4861_985532_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0803.JPG b/photos/jaisalmer18/DSC_0803.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0803.JPG rename to photos/jaisalmer18/DSC_0803.JPG diff --git a/photos/jaisalmer18/DSC_0803_hud83c5f57209c7a987e80b9aaa8ff58f6_895523_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0803_hud83c5f57209c7a987e80b9aaa8ff58f6_895523_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..3c61059 Binary files /dev/null and b/photos/jaisalmer18/DSC_0803_hud83c5f57209c7a987e80b9aaa8ff58f6_895523_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0825.JPG b/photos/jaisalmer18/DSC_0825.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0825.JPG rename to photos/jaisalmer18/DSC_0825.JPG diff --git a/photos/jaisalmer18/DSC_0825_hu3a5ea53e83c86bb6f6edb82f66ef4861_852178_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0825_hu3a5ea53e83c86bb6f6edb82f66ef4861_852178_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..1827999 Binary files /dev/null and b/photos/jaisalmer18/DSC_0825_hu3a5ea53e83c86bb6f6edb82f66ef4861_852178_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0929.JPG b/photos/jaisalmer18/DSC_0929.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0929.JPG rename to photos/jaisalmer18/DSC_0929.JPG diff --git a/photos/jaisalmer18/DSC_0929_hu3a5ea53e83c86bb6f6edb82f66ef4861_897025_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0929_hu3a5ea53e83c86bb6f6edb82f66ef4861_897025_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..7b2af59 Binary files /dev/null and b/photos/jaisalmer18/DSC_0929_hu3a5ea53e83c86bb6f6edb82f66ef4861_897025_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_0987.JPG b/photos/jaisalmer18/DSC_0987.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_0987.JPG rename to photos/jaisalmer18/DSC_0987.JPG diff --git a/photos/jaisalmer18/DSC_0987_hub4999f460955b2b92a4a6a29e7f79f3d_1105161_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_0987_hub4999f460955b2b92a4a6a29e7f79f3d_1105161_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..6fb6724 Binary files /dev/null and b/photos/jaisalmer18/DSC_0987_hub4999f460955b2b92a4a6a29e7f79f3d_1105161_350x0_resize_q100_box.JPG differ diff --git a/content/photos/jaisalmer18/DSC_1014.JPG b/photos/jaisalmer18/DSC_1014.JPG similarity index 100% rename from content/photos/jaisalmer18/DSC_1014.JPG rename to photos/jaisalmer18/DSC_1014.JPG diff --git a/photos/jaisalmer18/DSC_1014_hu3a5ea53e83c86bb6f6edb82f66ef4861_834652_350x0_resize_q100_box.JPG b/photos/jaisalmer18/DSC_1014_hu3a5ea53e83c86bb6f6edb82f66ef4861_834652_350x0_resize_q100_box.JPG new file mode 100644 index 0000000..7a79fb2 Binary files /dev/null and b/photos/jaisalmer18/DSC_1014_hu3a5ea53e83c86bb6f6edb82f66ef4861_834652_350x0_resize_q100_box.JPG differ diff --git a/photos/jaisalmer18/index.html b/photos/jaisalmer18/index.html new file mode 100644 index 0000000..6183ed2 --- /dev/null +++ b/photos/jaisalmer18/index.html @@ -0,0 +1,48 @@ +Road trip to Jaisalmer · Sid Verma

‹ Sid Verma

Road trip to Jaisalmer

2018 Jan
Rajasthan, India

Road trips aren’t usually my thing, nor deserts. But this trip turned out to be fun anyway.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Shot on Nikon D5300


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/content/photos/leh18/1.jpg b/photos/leh18/1.jpg similarity index 100% rename from content/photos/leh18/1.jpg rename to photos/leh18/1.jpg diff --git a/photos/leh18/1_hu13cf16680a6a9ec5d159433953942a20_322306_350x0_resize_q100_box.jpg b/photos/leh18/1_hu13cf16680a6a9ec5d159433953942a20_322306_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..01e1e01 Binary files /dev/null and b/photos/leh18/1_hu13cf16680a6a9ec5d159433953942a20_322306_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/3.jpg b/photos/leh18/3.jpg similarity index 100% rename from content/photos/leh18/3.jpg rename to photos/leh18/3.jpg diff --git a/photos/leh18/3_hu13cf16680a6a9ec5d159433953942a20_366810_350x0_resize_q100_box.jpg b/photos/leh18/3_hu13cf16680a6a9ec5d159433953942a20_366810_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..1ff8145 Binary files /dev/null and b/photos/leh18/3_hu13cf16680a6a9ec5d159433953942a20_366810_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_0006.jpg b/photos/leh18/DSC_0006.jpg similarity index 100% rename from content/photos/leh18/DSC_0006.jpg rename to photos/leh18/DSC_0006.jpg diff --git a/photos/leh18/DSC_0006_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_357351_350x0_resize_q100_box.jpg b/photos/leh18/DSC_0006_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_357351_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..79efbb0 Binary files /dev/null and b/photos/leh18/DSC_0006_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_357351_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_0166.jpg b/photos/leh18/DSC_0166.jpg similarity index 100% rename from content/photos/leh18/DSC_0166.jpg rename to photos/leh18/DSC_0166.jpg diff --git a/photos/leh18/DSC_0166_hu13cf16680a6a9ec5d159433953942a20_839500_350x0_resize_q100_box.jpg b/photos/leh18/DSC_0166_hu13cf16680a6a9ec5d159433953942a20_839500_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..e42ed45 Binary files /dev/null and b/photos/leh18/DSC_0166_hu13cf16680a6a9ec5d159433953942a20_839500_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_0229.jpg b/photos/leh18/DSC_0229.jpg similarity index 100% rename from content/photos/leh18/DSC_0229.jpg rename to photos/leh18/DSC_0229.jpg diff --git a/photos/leh18/DSC_0229_hu13cf16680a6a9ec5d159433953942a20_633139_350x0_resize_q100_box.jpg b/photos/leh18/DSC_0229_hu13cf16680a6a9ec5d159433953942a20_633139_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..cc1bc40 Binary files /dev/null and b/photos/leh18/DSC_0229_hu13cf16680a6a9ec5d159433953942a20_633139_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_0372.jpg b/photos/leh18/DSC_0372.jpg similarity index 100% rename from content/photos/leh18/DSC_0372.jpg rename to photos/leh18/DSC_0372.jpg diff --git a/photos/leh18/DSC_0372_hu13cf16680a6a9ec5d159433953942a20_480737_350x0_resize_q100_box.jpg b/photos/leh18/DSC_0372_hu13cf16680a6a9ec5d159433953942a20_480737_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..34cc219 Binary files /dev/null and b/photos/leh18/DSC_0372_hu13cf16680a6a9ec5d159433953942a20_480737_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_0386.jpg b/photos/leh18/DSC_0386.jpg similarity index 100% rename from content/photos/leh18/DSC_0386.jpg rename to photos/leh18/DSC_0386.jpg diff --git a/photos/leh18/DSC_0386_hu13cf16680a6a9ec5d159433953942a20_130984_350x0_resize_q100_box.jpg b/photos/leh18/DSC_0386_hu13cf16680a6a9ec5d159433953942a20_130984_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..94b909e Binary files /dev/null and b/photos/leh18/DSC_0386_hu13cf16680a6a9ec5d159433953942a20_130984_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_0407.jpg b/photos/leh18/DSC_0407.jpg similarity index 100% rename from content/photos/leh18/DSC_0407.jpg rename to photos/leh18/DSC_0407.jpg diff --git a/photos/leh18/DSC_0407_hu13cf16680a6a9ec5d159433953942a20_718691_350x0_resize_q100_box.jpg b/photos/leh18/DSC_0407_hu13cf16680a6a9ec5d159433953942a20_718691_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..ce093b8 Binary files /dev/null and b/photos/leh18/DSC_0407_hu13cf16680a6a9ec5d159433953942a20_718691_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_0409.jpg b/photos/leh18/DSC_0409.jpg similarity index 100% rename from content/photos/leh18/DSC_0409.jpg rename to photos/leh18/DSC_0409.jpg diff --git a/photos/leh18/DSC_0409_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_540863_350x0_resize_q100_box.jpg b/photos/leh18/DSC_0409_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_540863_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..cc2157f Binary files /dev/null and b/photos/leh18/DSC_0409_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_540863_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_0453.jpg b/photos/leh18/DSC_0453.jpg similarity index 100% rename from content/photos/leh18/DSC_0453.jpg rename to photos/leh18/DSC_0453.jpg diff --git a/photos/leh18/DSC_0453_hu13cf16680a6a9ec5d159433953942a20_620535_350x0_resize_q100_box.jpg b/photos/leh18/DSC_0453_hu13cf16680a6a9ec5d159433953942a20_620535_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..032996c Binary files /dev/null and b/photos/leh18/DSC_0453_hu13cf16680a6a9ec5d159433953942a20_620535_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_0468.jpg b/photos/leh18/DSC_0468.jpg similarity index 100% rename from content/photos/leh18/DSC_0468.jpg rename to photos/leh18/DSC_0468.jpg diff --git a/photos/leh18/DSC_0468_hu13cf16680a6a9ec5d159433953942a20_744955_350x0_resize_q100_box.jpg b/photos/leh18/DSC_0468_hu13cf16680a6a9ec5d159433953942a20_744955_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..6733fc0 Binary files /dev/null and b/photos/leh18/DSC_0468_hu13cf16680a6a9ec5d159433953942a20_744955_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_0637.jpg b/photos/leh18/DSC_0637.jpg similarity index 100% rename from content/photos/leh18/DSC_0637.jpg rename to photos/leh18/DSC_0637.jpg diff --git a/photos/leh18/DSC_0637_hu13cf16680a6a9ec5d159433953942a20_296091_350x0_resize_q100_box.jpg b/photos/leh18/DSC_0637_hu13cf16680a6a9ec5d159433953942a20_296091_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..54a6524 Binary files /dev/null and b/photos/leh18/DSC_0637_hu13cf16680a6a9ec5d159433953942a20_296091_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_0816.jpg b/photos/leh18/DSC_0816.jpg similarity index 100% rename from content/photos/leh18/DSC_0816.jpg rename to photos/leh18/DSC_0816.jpg diff --git a/photos/leh18/DSC_0816_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_447474_350x0_resize_q100_box.jpg b/photos/leh18/DSC_0816_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_447474_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..dd7698e Binary files /dev/null and b/photos/leh18/DSC_0816_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_447474_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_0893.jpg b/photos/leh18/DSC_0893.jpg similarity index 100% rename from content/photos/leh18/DSC_0893.jpg rename to photos/leh18/DSC_0893.jpg diff --git a/photos/leh18/DSC_0893_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_763847_350x0_resize_q100_box.jpg b/photos/leh18/DSC_0893_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_763847_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..de5d604 Binary files /dev/null and b/photos/leh18/DSC_0893_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_763847_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_0912.jpg b/photos/leh18/DSC_0912.jpg similarity index 100% rename from content/photos/leh18/DSC_0912.jpg rename to photos/leh18/DSC_0912.jpg diff --git a/photos/leh18/DSC_0912_hu13cf16680a6a9ec5d159433953942a20_606454_350x0_resize_q100_box.jpg b/photos/leh18/DSC_0912_hu13cf16680a6a9ec5d159433953942a20_606454_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..cd6798b Binary files /dev/null and b/photos/leh18/DSC_0912_hu13cf16680a6a9ec5d159433953942a20_606454_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_0968.jpg b/photos/leh18/DSC_0968.jpg similarity index 100% rename from content/photos/leh18/DSC_0968.jpg rename to photos/leh18/DSC_0968.jpg diff --git a/photos/leh18/DSC_0968_hu13cf16680a6a9ec5d159433953942a20_565515_350x0_resize_q100_box.jpg b/photos/leh18/DSC_0968_hu13cf16680a6a9ec5d159433953942a20_565515_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..b451558 Binary files /dev/null and b/photos/leh18/DSC_0968_hu13cf16680a6a9ec5d159433953942a20_565515_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_1038 (1).jpg b/photos/leh18/DSC_1038 (1).jpg similarity index 100% rename from content/photos/leh18/DSC_1038 (1).jpg rename to photos/leh18/DSC_1038 (1).jpg diff --git a/photos/leh18/DSC_1038 (1)_hu13cf16680a6a9ec5d159433953942a20_715968_350x0_resize_q100_box.jpg b/photos/leh18/DSC_1038 (1)_hu13cf16680a6a9ec5d159433953942a20_715968_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..5f39d5a Binary files /dev/null and b/photos/leh18/DSC_1038 (1)_hu13cf16680a6a9ec5d159433953942a20_715968_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_1092 (1).jpg b/photos/leh18/DSC_1092 (1).jpg similarity index 100% rename from content/photos/leh18/DSC_1092 (1).jpg rename to photos/leh18/DSC_1092 (1).jpg diff --git a/photos/leh18/DSC_1092 (1)_hu13cf16680a6a9ec5d159433953942a20_314109_350x0_resize_q100_box.jpg b/photos/leh18/DSC_1092 (1)_hu13cf16680a6a9ec5d159433953942a20_314109_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..c9c1584 Binary files /dev/null and b/photos/leh18/DSC_1092 (1)_hu13cf16680a6a9ec5d159433953942a20_314109_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_1174.jpg b/photos/leh18/DSC_1174.jpg similarity index 100% rename from content/photos/leh18/DSC_1174.jpg rename to photos/leh18/DSC_1174.jpg diff --git a/photos/leh18/DSC_1174_hu13cf16680a6a9ec5d159433953942a20_707844_350x0_resize_q100_box.jpg b/photos/leh18/DSC_1174_hu13cf16680a6a9ec5d159433953942a20_707844_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..cbe4604 Binary files /dev/null and b/photos/leh18/DSC_1174_hu13cf16680a6a9ec5d159433953942a20_707844_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_1175.jpg b/photos/leh18/DSC_1175.jpg similarity index 100% rename from content/photos/leh18/DSC_1175.jpg rename to photos/leh18/DSC_1175.jpg diff --git a/photos/leh18/DSC_1175_hu13cf16680a6a9ec5d159433953942a20_671176_350x0_resize_q100_box.jpg b/photos/leh18/DSC_1175_hu13cf16680a6a9ec5d159433953942a20_671176_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..5b81b95 Binary files /dev/null and b/photos/leh18/DSC_1175_hu13cf16680a6a9ec5d159433953942a20_671176_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_1182.jpg b/photos/leh18/DSC_1182.jpg similarity index 100% rename from content/photos/leh18/DSC_1182.jpg rename to photos/leh18/DSC_1182.jpg diff --git a/photos/leh18/DSC_1182_hu13cf16680a6a9ec5d159433953942a20_927959_350x0_resize_q100_box.jpg b/photos/leh18/DSC_1182_hu13cf16680a6a9ec5d159433953942a20_927959_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..5324c47 Binary files /dev/null and b/photos/leh18/DSC_1182_hu13cf16680a6a9ec5d159433953942a20_927959_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_1184.jpg b/photos/leh18/DSC_1184.jpg similarity index 100% rename from content/photos/leh18/DSC_1184.jpg rename to photos/leh18/DSC_1184.jpg diff --git a/photos/leh18/DSC_1184_hu13cf16680a6a9ec5d159433953942a20_693356_350x0_resize_q100_box.jpg b/photos/leh18/DSC_1184_hu13cf16680a6a9ec5d159433953942a20_693356_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..e512e88 Binary files /dev/null and b/photos/leh18/DSC_1184_hu13cf16680a6a9ec5d159433953942a20_693356_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_1189.jpg b/photos/leh18/DSC_1189.jpg similarity index 100% rename from content/photos/leh18/DSC_1189.jpg rename to photos/leh18/DSC_1189.jpg diff --git a/photos/leh18/DSC_1189_hu13cf16680a6a9ec5d159433953942a20_680410_350x0_resize_q100_box.jpg b/photos/leh18/DSC_1189_hu13cf16680a6a9ec5d159433953942a20_680410_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..4f4aa57 Binary files /dev/null and b/photos/leh18/DSC_1189_hu13cf16680a6a9ec5d159433953942a20_680410_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_1238.jpg b/photos/leh18/DSC_1238.jpg similarity index 100% rename from content/photos/leh18/DSC_1238.jpg rename to photos/leh18/DSC_1238.jpg diff --git a/photos/leh18/DSC_1238_hu13cf16680a6a9ec5d159433953942a20_783078_350x0_resize_q100_box.jpg b/photos/leh18/DSC_1238_hu13cf16680a6a9ec5d159433953942a20_783078_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..df786a0 Binary files /dev/null and b/photos/leh18/DSC_1238_hu13cf16680a6a9ec5d159433953942a20_783078_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_1241.jpg b/photos/leh18/DSC_1241.jpg similarity index 100% rename from content/photos/leh18/DSC_1241.jpg rename to photos/leh18/DSC_1241.jpg diff --git a/photos/leh18/DSC_1241_hu13cf16680a6a9ec5d159433953942a20_355061_350x0_resize_q100_box.jpg b/photos/leh18/DSC_1241_hu13cf16680a6a9ec5d159433953942a20_355061_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..bb4c1a9 Binary files /dev/null and b/photos/leh18/DSC_1241_hu13cf16680a6a9ec5d159433953942a20_355061_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_1293.jpg b/photos/leh18/DSC_1293.jpg similarity index 100% rename from content/photos/leh18/DSC_1293.jpg rename to photos/leh18/DSC_1293.jpg diff --git a/photos/leh18/DSC_1293_hu13cf16680a6a9ec5d159433953942a20_530712_350x0_resize_q100_box.jpg b/photos/leh18/DSC_1293_hu13cf16680a6a9ec5d159433953942a20_530712_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..e7dd1ad Binary files /dev/null and b/photos/leh18/DSC_1293_hu13cf16680a6a9ec5d159433953942a20_530712_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_1371.jpg b/photos/leh18/DSC_1371.jpg similarity index 100% rename from content/photos/leh18/DSC_1371.jpg rename to photos/leh18/DSC_1371.jpg diff --git a/photos/leh18/DSC_1371_hu13cf16680a6a9ec5d159433953942a20_287519_350x0_resize_q100_box.jpg b/photos/leh18/DSC_1371_hu13cf16680a6a9ec5d159433953942a20_287519_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..1504b7d Binary files /dev/null and b/photos/leh18/DSC_1371_hu13cf16680a6a9ec5d159433953942a20_287519_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_1490.jpg b/photos/leh18/DSC_1490.jpg similarity index 100% rename from content/photos/leh18/DSC_1490.jpg rename to photos/leh18/DSC_1490.jpg diff --git a/photos/leh18/DSC_1490_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_613128_350x0_resize_q100_box.jpg b/photos/leh18/DSC_1490_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_613128_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..7c945fe Binary files /dev/null and b/photos/leh18/DSC_1490_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_613128_350x0_resize_q100_box.jpg differ diff --git a/content/photos/leh18/DSC_4097-Pano.jpg b/photos/leh18/DSC_4097-Pano.jpg similarity index 100% rename from content/photos/leh18/DSC_4097-Pano.jpg rename to photos/leh18/DSC_4097-Pano.jpg diff --git a/photos/leh18/DSC_4097-Pano_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_800600_700x0_resize_q100_box.jpg b/photos/leh18/DSC_4097-Pano_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_800600_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..75a8e37 Binary files /dev/null and b/photos/leh18/DSC_4097-Pano_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_800600_700x0_resize_q100_box.jpg differ diff --git a/photos/leh18/index.html b/photos/leh18/index.html new file mode 100644 index 0000000..7ca11bf --- /dev/null +++ b/photos/leh18/index.html @@ -0,0 +1,29 @@ +Trip to Leh · Sid Verma

‹ Sid Verma

Trip to Leh

2018 Jun
Ladakh, Jammu and Kashmir, India

Left hillhacks early to visit the Ladakh area with my family.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Shot on Nikon D5300


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/photos/page/1/index.html b/photos/page/1/index.html new file mode 100644 index 0000000..666acf9 --- /dev/null +++ b/photos/page/1/index.html @@ -0,0 +1 @@ +https://sidverma.io/photos/ \ No newline at end of file diff --git a/content/photos/ziro18/DSC_0003.jpg b/photos/ziro18/DSC_0003.jpg similarity index 100% rename from content/photos/ziro18/DSC_0003.jpg rename to photos/ziro18/DSC_0003.jpg diff --git a/photos/ziro18/DSC_0003_hu588db0b4aca5ca61bb951cfc844a564d_627734_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0003_hu588db0b4aca5ca61bb951cfc844a564d_627734_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..06a050d Binary files /dev/null and b/photos/ziro18/DSC_0003_hu588db0b4aca5ca61bb951cfc844a564d_627734_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0009.jpg b/photos/ziro18/DSC_0009.jpg similarity index 100% rename from content/photos/ziro18/DSC_0009.jpg rename to photos/ziro18/DSC_0009.jpg diff --git a/photos/ziro18/DSC_0009_hu13cf16680a6a9ec5d159433953942a20_798976_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0009_hu13cf16680a6a9ec5d159433953942a20_798976_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..987e191 Binary files /dev/null and b/photos/ziro18/DSC_0009_hu13cf16680a6a9ec5d159433953942a20_798976_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0011.jpg b/photos/ziro18/DSC_0011.jpg similarity index 100% rename from content/photos/ziro18/DSC_0011.jpg rename to photos/ziro18/DSC_0011.jpg diff --git a/photos/ziro18/DSC_0011_hu588db0b4aca5ca61bb951cfc844a564d_344905_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0011_hu588db0b4aca5ca61bb951cfc844a564d_344905_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..72e9ffe Binary files /dev/null and b/photos/ziro18/DSC_0011_hu588db0b4aca5ca61bb951cfc844a564d_344905_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0021.jpg b/photos/ziro18/DSC_0021.jpg similarity index 100% rename from content/photos/ziro18/DSC_0021.jpg rename to photos/ziro18/DSC_0021.jpg diff --git a/photos/ziro18/DSC_0021_hu588db0b4aca5ca61bb951cfc844a564d_753602_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0021_hu588db0b4aca5ca61bb951cfc844a564d_753602_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..9ee305b Binary files /dev/null and b/photos/ziro18/DSC_0021_hu588db0b4aca5ca61bb951cfc844a564d_753602_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0022.jpg b/photos/ziro18/DSC_0022.jpg similarity index 100% rename from content/photos/ziro18/DSC_0022.jpg rename to photos/ziro18/DSC_0022.jpg diff --git a/photos/ziro18/DSC_0022_huc6c050144b7696d0e76b883227d1cd77_566444_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0022_huc6c050144b7696d0e76b883227d1cd77_566444_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..03ee182 Binary files /dev/null and b/photos/ziro18/DSC_0022_huc6c050144b7696d0e76b883227d1cd77_566444_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0025.jpg b/photos/ziro18/DSC_0025.jpg similarity index 100% rename from content/photos/ziro18/DSC_0025.jpg rename to photos/ziro18/DSC_0025.jpg diff --git a/photos/ziro18/DSC_0025_hu588db0b4aca5ca61bb951cfc844a564d_799218_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0025_hu588db0b4aca5ca61bb951cfc844a564d_799218_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..0942ff5 Binary files /dev/null and b/photos/ziro18/DSC_0025_hu588db0b4aca5ca61bb951cfc844a564d_799218_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0035.jpg b/photos/ziro18/DSC_0035.jpg similarity index 100% rename from content/photos/ziro18/DSC_0035.jpg rename to photos/ziro18/DSC_0035.jpg diff --git a/photos/ziro18/DSC_0035_hu588db0b4aca5ca61bb951cfc844a564d_447698_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0035_hu588db0b4aca5ca61bb951cfc844a564d_447698_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..8d420df Binary files /dev/null and b/photos/ziro18/DSC_0035_hu588db0b4aca5ca61bb951cfc844a564d_447698_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0053.jpg b/photos/ziro18/DSC_0053.jpg similarity index 100% rename from content/photos/ziro18/DSC_0053.jpg rename to photos/ziro18/DSC_0053.jpg diff --git a/photos/ziro18/DSC_0053_hu588db0b4aca5ca61bb951cfc844a564d_438038_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0053_hu588db0b4aca5ca61bb951cfc844a564d_438038_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..d4896b0 Binary files /dev/null and b/photos/ziro18/DSC_0053_hu588db0b4aca5ca61bb951cfc844a564d_438038_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0054.jpg b/photos/ziro18/DSC_0054.jpg similarity index 100% rename from content/photos/ziro18/DSC_0054.jpg rename to photos/ziro18/DSC_0054.jpg diff --git a/photos/ziro18/DSC_0054_hu13cf16680a6a9ec5d159433953942a20_649087_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0054_hu13cf16680a6a9ec5d159433953942a20_649087_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..6255ab7 Binary files /dev/null and b/photos/ziro18/DSC_0054_hu13cf16680a6a9ec5d159433953942a20_649087_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0055.jpg b/photos/ziro18/DSC_0055.jpg similarity index 100% rename from content/photos/ziro18/DSC_0055.jpg rename to photos/ziro18/DSC_0055.jpg diff --git a/photos/ziro18/DSC_0055_hu588db0b4aca5ca61bb951cfc844a564d_585589_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0055_hu588db0b4aca5ca61bb951cfc844a564d_585589_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..45e8ec4 Binary files /dev/null and b/photos/ziro18/DSC_0055_hu588db0b4aca5ca61bb951cfc844a564d_585589_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0062.jpg b/photos/ziro18/DSC_0062.jpg similarity index 100% rename from content/photos/ziro18/DSC_0062.jpg rename to photos/ziro18/DSC_0062.jpg diff --git a/photos/ziro18/DSC_0062_hu13cf16680a6a9ec5d159433953942a20_788035_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0062_hu13cf16680a6a9ec5d159433953942a20_788035_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..47d3b7a Binary files /dev/null and b/photos/ziro18/DSC_0062_hu13cf16680a6a9ec5d159433953942a20_788035_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0069.jpg b/photos/ziro18/DSC_0069.jpg similarity index 100% rename from content/photos/ziro18/DSC_0069.jpg rename to photos/ziro18/DSC_0069.jpg diff --git a/photos/ziro18/DSC_0069_hu588db0b4aca5ca61bb951cfc844a564d_629910_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0069_hu588db0b4aca5ca61bb951cfc844a564d_629910_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..ccde3cb Binary files /dev/null and b/photos/ziro18/DSC_0069_hu588db0b4aca5ca61bb951cfc844a564d_629910_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0079.jpg b/photos/ziro18/DSC_0079.jpg similarity index 100% rename from content/photos/ziro18/DSC_0079.jpg rename to photos/ziro18/DSC_0079.jpg diff --git a/photos/ziro18/DSC_0079_hu588db0b4aca5ca61bb951cfc844a564d_469418_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0079_hu588db0b4aca5ca61bb951cfc844a564d_469418_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..e8f864f Binary files /dev/null and b/photos/ziro18/DSC_0079_hu588db0b4aca5ca61bb951cfc844a564d_469418_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0082.jpg b/photos/ziro18/DSC_0082.jpg similarity index 100% rename from content/photos/ziro18/DSC_0082.jpg rename to photos/ziro18/DSC_0082.jpg diff --git a/photos/ziro18/DSC_0082_hu588db0b4aca5ca61bb951cfc844a564d_531600_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0082_hu588db0b4aca5ca61bb951cfc844a564d_531600_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..e582471 Binary files /dev/null and b/photos/ziro18/DSC_0082_hu588db0b4aca5ca61bb951cfc844a564d_531600_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0087.jpg b/photos/ziro18/DSC_0087.jpg similarity index 100% rename from content/photos/ziro18/DSC_0087.jpg rename to photos/ziro18/DSC_0087.jpg diff --git a/photos/ziro18/DSC_0087_hu588db0b4aca5ca61bb951cfc844a564d_549605_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0087_hu588db0b4aca5ca61bb951cfc844a564d_549605_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..8767e7b Binary files /dev/null and b/photos/ziro18/DSC_0087_hu588db0b4aca5ca61bb951cfc844a564d_549605_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0115.jpg b/photos/ziro18/DSC_0115.jpg similarity index 100% rename from content/photos/ziro18/DSC_0115.jpg rename to photos/ziro18/DSC_0115.jpg diff --git a/photos/ziro18/DSC_0115_hu588db0b4aca5ca61bb951cfc844a564d_147522_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0115_hu588db0b4aca5ca61bb951cfc844a564d_147522_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..f5cabab Binary files /dev/null and b/photos/ziro18/DSC_0115_hu588db0b4aca5ca61bb951cfc844a564d_147522_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0120.jpg b/photos/ziro18/DSC_0120.jpg similarity index 100% rename from content/photos/ziro18/DSC_0120.jpg rename to photos/ziro18/DSC_0120.jpg diff --git a/photos/ziro18/DSC_0120_huc6c050144b7696d0e76b883227d1cd77_381739_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0120_huc6c050144b7696d0e76b883227d1cd77_381739_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..af5f314 Binary files /dev/null and b/photos/ziro18/DSC_0120_huc6c050144b7696d0e76b883227d1cd77_381739_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0140.jpg b/photos/ziro18/DSC_0140.jpg similarity index 100% rename from content/photos/ziro18/DSC_0140.jpg rename to photos/ziro18/DSC_0140.jpg diff --git a/photos/ziro18/DSC_0140_huc6c050144b7696d0e76b883227d1cd77_779608_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0140_huc6c050144b7696d0e76b883227d1cd77_779608_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..549b3a2 Binary files /dev/null and b/photos/ziro18/DSC_0140_huc6c050144b7696d0e76b883227d1cd77_779608_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0191.jpg b/photos/ziro18/DSC_0191.jpg similarity index 100% rename from content/photos/ziro18/DSC_0191.jpg rename to photos/ziro18/DSC_0191.jpg diff --git a/photos/ziro18/DSC_0191_huc6c050144b7696d0e76b883227d1cd77_452600_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0191_huc6c050144b7696d0e76b883227d1cd77_452600_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..4561dab Binary files /dev/null and b/photos/ziro18/DSC_0191_huc6c050144b7696d0e76b883227d1cd77_452600_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0249.jpg b/photos/ziro18/DSC_0249.jpg similarity index 100% rename from content/photos/ziro18/DSC_0249.jpg rename to photos/ziro18/DSC_0249.jpg diff --git a/photos/ziro18/DSC_0249_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_320664_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0249_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_320664_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..957dfe3 Binary files /dev/null and b/photos/ziro18/DSC_0249_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_320664_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0301.jpg b/photos/ziro18/DSC_0301.jpg similarity index 100% rename from content/photos/ziro18/DSC_0301.jpg rename to photos/ziro18/DSC_0301.jpg diff --git a/photos/ziro18/DSC_0301_huc6c050144b7696d0e76b883227d1cd77_419784_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0301_huc6c050144b7696d0e76b883227d1cd77_419784_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..0a9c9a0 Binary files /dev/null and b/photos/ziro18/DSC_0301_huc6c050144b7696d0e76b883227d1cd77_419784_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0362.jpg b/photos/ziro18/DSC_0362.jpg similarity index 100% rename from content/photos/ziro18/DSC_0362.jpg rename to photos/ziro18/DSC_0362.jpg diff --git a/photos/ziro18/DSC_0362_hu588db0b4aca5ca61bb951cfc844a564d_489405_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0362_hu588db0b4aca5ca61bb951cfc844a564d_489405_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..78e803c Binary files /dev/null and b/photos/ziro18/DSC_0362_hu588db0b4aca5ca61bb951cfc844a564d_489405_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0366.jpg b/photos/ziro18/DSC_0366.jpg similarity index 100% rename from content/photos/ziro18/DSC_0366.jpg rename to photos/ziro18/DSC_0366.jpg diff --git a/photos/ziro18/DSC_0366_hu588db0b4aca5ca61bb951cfc844a564d_707292_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0366_hu588db0b4aca5ca61bb951cfc844a564d_707292_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..1b14f25 Binary files /dev/null and b/photos/ziro18/DSC_0366_hu588db0b4aca5ca61bb951cfc844a564d_707292_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0418.jpg b/photos/ziro18/DSC_0418.jpg similarity index 100% rename from content/photos/ziro18/DSC_0418.jpg rename to photos/ziro18/DSC_0418.jpg diff --git a/photos/ziro18/DSC_0418_hu588db0b4aca5ca61bb951cfc844a564d_669798_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0418_hu588db0b4aca5ca61bb951cfc844a564d_669798_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..a8e6789 Binary files /dev/null and b/photos/ziro18/DSC_0418_hu588db0b4aca5ca61bb951cfc844a564d_669798_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0474.jpg b/photos/ziro18/DSC_0474.jpg similarity index 100% rename from content/photos/ziro18/DSC_0474.jpg rename to photos/ziro18/DSC_0474.jpg diff --git a/photos/ziro18/DSC_0474_huc6c050144b7696d0e76b883227d1cd77_481104_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0474_huc6c050144b7696d0e76b883227d1cd77_481104_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..55a3635 Binary files /dev/null and b/photos/ziro18/DSC_0474_huc6c050144b7696d0e76b883227d1cd77_481104_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0542.jpg b/photos/ziro18/DSC_0542.jpg similarity index 100% rename from content/photos/ziro18/DSC_0542.jpg rename to photos/ziro18/DSC_0542.jpg diff --git a/photos/ziro18/DSC_0542_hu588db0b4aca5ca61bb951cfc844a564d_384592_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0542_hu588db0b4aca5ca61bb951cfc844a564d_384592_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..dcacffd Binary files /dev/null and b/photos/ziro18/DSC_0542_hu588db0b4aca5ca61bb951cfc844a564d_384592_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0553-HDR.jpg b/photos/ziro18/DSC_0553-HDR.jpg similarity index 100% rename from content/photos/ziro18/DSC_0553-HDR.jpg rename to photos/ziro18/DSC_0553-HDR.jpg diff --git a/photos/ziro18/DSC_0553-HDR_hueb0cf13f5315aa36e5e7eff679151ae6_619140_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0553-HDR_hueb0cf13f5315aa36e5e7eff679151ae6_619140_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..b998edc Binary files /dev/null and b/photos/ziro18/DSC_0553-HDR_hueb0cf13f5315aa36e5e7eff679151ae6_619140_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0558.jpg b/photos/ziro18/DSC_0558.jpg similarity index 100% rename from content/photos/ziro18/DSC_0558.jpg rename to photos/ziro18/DSC_0558.jpg diff --git a/photos/ziro18/DSC_0558_hu588db0b4aca5ca61bb951cfc844a564d_525547_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0558_hu588db0b4aca5ca61bb951cfc844a564d_525547_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..0e426a0 Binary files /dev/null and b/photos/ziro18/DSC_0558_hu588db0b4aca5ca61bb951cfc844a564d_525547_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0564.jpg b/photos/ziro18/DSC_0564.jpg similarity index 100% rename from content/photos/ziro18/DSC_0564.jpg rename to photos/ziro18/DSC_0564.jpg diff --git a/photos/ziro18/DSC_0564_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_818028_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0564_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_818028_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..da88e40 Binary files /dev/null and b/photos/ziro18/DSC_0564_hu1c2ec3fdeac2ee8b8ceb9f5844cf247c_818028_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0611.jpg b/photos/ziro18/DSC_0611.jpg similarity index 100% rename from content/photos/ziro18/DSC_0611.jpg rename to photos/ziro18/DSC_0611.jpg diff --git a/photos/ziro18/DSC_0611_huc6c050144b7696d0e76b883227d1cd77_400600_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0611_huc6c050144b7696d0e76b883227d1cd77_400600_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..fefcc0a Binary files /dev/null and b/photos/ziro18/DSC_0611_huc6c050144b7696d0e76b883227d1cd77_400600_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0614.jpg b/photos/ziro18/DSC_0614.jpg similarity index 100% rename from content/photos/ziro18/DSC_0614.jpg rename to photos/ziro18/DSC_0614.jpg diff --git a/photos/ziro18/DSC_0614_hu588db0b4aca5ca61bb951cfc844a564d_683672_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0614_hu588db0b4aca5ca61bb951cfc844a564d_683672_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..2e12d24 Binary files /dev/null and b/photos/ziro18/DSC_0614_hu588db0b4aca5ca61bb951cfc844a564d_683672_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0618.jpg b/photos/ziro18/DSC_0618.jpg similarity index 100% rename from content/photos/ziro18/DSC_0618.jpg rename to photos/ziro18/DSC_0618.jpg diff --git a/photos/ziro18/DSC_0618_huc6c050144b7696d0e76b883227d1cd77_470699_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0618_huc6c050144b7696d0e76b883227d1cd77_470699_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..c75d77b Binary files /dev/null and b/photos/ziro18/DSC_0618_huc6c050144b7696d0e76b883227d1cd77_470699_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0634.jpg b/photos/ziro18/DSC_0634.jpg similarity index 100% rename from content/photos/ziro18/DSC_0634.jpg rename to photos/ziro18/DSC_0634.jpg diff --git a/photos/ziro18/DSC_0634_hu588db0b4aca5ca61bb951cfc844a564d_418640_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0634_hu588db0b4aca5ca61bb951cfc844a564d_418640_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..f9f934f Binary files /dev/null and b/photos/ziro18/DSC_0634_hu588db0b4aca5ca61bb951cfc844a564d_418640_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0655.jpg b/photos/ziro18/DSC_0655.jpg similarity index 100% rename from content/photos/ziro18/DSC_0655.jpg rename to photos/ziro18/DSC_0655.jpg diff --git a/photos/ziro18/DSC_0655_huc6c050144b7696d0e76b883227d1cd77_356047_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0655_huc6c050144b7696d0e76b883227d1cd77_356047_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..bf358c4 Binary files /dev/null and b/photos/ziro18/DSC_0655_huc6c050144b7696d0e76b883227d1cd77_356047_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0668-HDR.jpg b/photos/ziro18/DSC_0668-HDR.jpg similarity index 100% rename from content/photos/ziro18/DSC_0668-HDR.jpg rename to photos/ziro18/DSC_0668-HDR.jpg diff --git a/photos/ziro18/DSC_0668-HDR_hu9c44beeb152b3cdb05d5df3f41b691dd_679337_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0668-HDR_hu9c44beeb152b3cdb05d5df3f41b691dd_679337_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..f136ac9 Binary files /dev/null and b/photos/ziro18/DSC_0668-HDR_hu9c44beeb152b3cdb05d5df3f41b691dd_679337_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0686.jpg b/photos/ziro18/DSC_0686.jpg similarity index 100% rename from content/photos/ziro18/DSC_0686.jpg rename to photos/ziro18/DSC_0686.jpg diff --git a/photos/ziro18/DSC_0686_huc6c050144b7696d0e76b883227d1cd77_667855_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0686_huc6c050144b7696d0e76b883227d1cd77_667855_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..8b559cc Binary files /dev/null and b/photos/ziro18/DSC_0686_huc6c050144b7696d0e76b883227d1cd77_667855_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0719.jpg b/photos/ziro18/DSC_0719.jpg similarity index 100% rename from content/photos/ziro18/DSC_0719.jpg rename to photos/ziro18/DSC_0719.jpg diff --git a/photos/ziro18/DSC_0719_huc6c050144b7696d0e76b883227d1cd77_323210_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0719_huc6c050144b7696d0e76b883227d1cd77_323210_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..48d1bc7 Binary files /dev/null and b/photos/ziro18/DSC_0719_huc6c050144b7696d0e76b883227d1cd77_323210_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0722.jpg b/photos/ziro18/DSC_0722.jpg similarity index 100% rename from content/photos/ziro18/DSC_0722.jpg rename to photos/ziro18/DSC_0722.jpg diff --git a/photos/ziro18/DSC_0722_huc6c050144b7696d0e76b883227d1cd77_367340_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0722_huc6c050144b7696d0e76b883227d1cd77_367340_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..e7effba Binary files /dev/null and b/photos/ziro18/DSC_0722_huc6c050144b7696d0e76b883227d1cd77_367340_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0724.jpg b/photos/ziro18/DSC_0724.jpg similarity index 100% rename from content/photos/ziro18/DSC_0724.jpg rename to photos/ziro18/DSC_0724.jpg diff --git a/photos/ziro18/DSC_0724_huc6c050144b7696d0e76b883227d1cd77_444288_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0724_huc6c050144b7696d0e76b883227d1cd77_444288_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..d717c00 Binary files /dev/null and b/photos/ziro18/DSC_0724_huc6c050144b7696d0e76b883227d1cd77_444288_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0726.jpg b/photos/ziro18/DSC_0726.jpg similarity index 100% rename from content/photos/ziro18/DSC_0726.jpg rename to photos/ziro18/DSC_0726.jpg diff --git a/photos/ziro18/DSC_0726_huc6c050144b7696d0e76b883227d1cd77_375107_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0726_huc6c050144b7696d0e76b883227d1cd77_375107_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..ad0f551 Binary files /dev/null and b/photos/ziro18/DSC_0726_huc6c050144b7696d0e76b883227d1cd77_375107_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0744.jpg b/photos/ziro18/DSC_0744.jpg similarity index 100% rename from content/photos/ziro18/DSC_0744.jpg rename to photos/ziro18/DSC_0744.jpg diff --git a/photos/ziro18/DSC_0744_huc6c050144b7696d0e76b883227d1cd77_419665_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0744_huc6c050144b7696d0e76b883227d1cd77_419665_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..0c9e91b Binary files /dev/null and b/photos/ziro18/DSC_0744_huc6c050144b7696d0e76b883227d1cd77_419665_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/DSC_0751.jpg b/photos/ziro18/DSC_0751.jpg similarity index 100% rename from content/photos/ziro18/DSC_0751.jpg rename to photos/ziro18/DSC_0751.jpg diff --git a/photos/ziro18/DSC_0751_huc6c050144b7696d0e76b883227d1cd77_377283_350x0_resize_q100_box.jpg b/photos/ziro18/DSC_0751_huc6c050144b7696d0e76b883227d1cd77_377283_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..9ba1d97 Binary files /dev/null and b/photos/ziro18/DSC_0751_huc6c050144b7696d0e76b883227d1cd77_377283_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/Pano-DSC_0370.jpg b/photos/ziro18/Pano-DSC_0370.jpg similarity index 100% rename from content/photos/ziro18/Pano-DSC_0370.jpg rename to photos/ziro18/Pano-DSC_0370.jpg diff --git a/photos/ziro18/Pano-DSC_0370_hueb0cf13f5315aa36e5e7eff679151ae6_1074307_700x0_resize_q100_box.jpg b/photos/ziro18/Pano-DSC_0370_hueb0cf13f5315aa36e5e7eff679151ae6_1074307_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..c69ed8e Binary files /dev/null and b/photos/ziro18/Pano-DSC_0370_hueb0cf13f5315aa36e5e7eff679151ae6_1074307_700x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro18/Pano-DSC_0700.jpg b/photos/ziro18/Pano-DSC_0700.jpg similarity index 100% rename from content/photos/ziro18/Pano-DSC_0700.jpg rename to photos/ziro18/Pano-DSC_0700.jpg diff --git a/photos/ziro18/Pano-DSC_0700_hueb0cf13f5315aa36e5e7eff679151ae6_2085050_700x0_resize_q100_box.jpg b/photos/ziro18/Pano-DSC_0700_hueb0cf13f5315aa36e5e7eff679151ae6_2085050_700x0_resize_q100_box.jpg new file mode 100644 index 0000000..8a5f526 Binary files /dev/null and b/photos/ziro18/Pano-DSC_0700_hueb0cf13f5315aa36e5e7eff679151ae6_2085050_700x0_resize_q100_box.jpg differ diff --git a/photos/ziro18/index.html b/photos/ziro18/index.html new file mode 100644 index 0000000..fc1f63e --- /dev/null +++ b/photos/ziro18/index.html @@ -0,0 +1,44 @@ +Ziro Festival 2018 · Sid Verma

‹ Sid Verma

Ziro Festival 2018

2018 Sep
Ziro, Arunachal Pradesh, India

Ziro Festival of Music is a music festival which takes place in the Ziro Valley (duh) every year. Probably one of the prettiest places to have a concert in the country.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Shot on Nikon D5300


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/content/photos/ziro19/AIMG_20190926_070501.jpeg b/photos/ziro19/AIMG_20190926_070501.jpeg similarity index 100% rename from content/photos/ziro19/AIMG_20190926_070501.jpeg rename to photos/ziro19/AIMG_20190926_070501.jpeg diff --git a/photos/ziro19/AIMG_20190926_070501_hu329d4859f176d756f3e20d1867904c1a_970297_350x0_resize_q100_box.jpeg b/photos/ziro19/AIMG_20190926_070501_hu329d4859f176d756f3e20d1867904c1a_970297_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..32b1c2a Binary files /dev/null and b/photos/ziro19/AIMG_20190926_070501_hu329d4859f176d756f3e20d1867904c1a_970297_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/AIMG_20190926_070618.jpeg b/photos/ziro19/AIMG_20190926_070618.jpeg similarity index 100% rename from content/photos/ziro19/AIMG_20190926_070618.jpeg rename to photos/ziro19/AIMG_20190926_070618.jpeg diff --git a/photos/ziro19/AIMG_20190926_070618_hu329d4859f176d756f3e20d1867904c1a_909073_350x0_resize_q100_box.jpeg b/photos/ziro19/AIMG_20190926_070618_hu329d4859f176d756f3e20d1867904c1a_909073_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..f73461d Binary files /dev/null and b/photos/ziro19/AIMG_20190926_070618_hu329d4859f176d756f3e20d1867904c1a_909073_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/DSC_0718.jpeg b/photos/ziro19/DSC_0718.jpeg similarity index 100% rename from content/photos/ziro19/DSC_0718.jpeg rename to photos/ziro19/DSC_0718.jpeg diff --git a/photos/ziro19/DSC_0718_hu3a5ea53e83c86bb6f6edb82f66ef4861_851876_350x0_resize_q100_box.jpeg b/photos/ziro19/DSC_0718_hu3a5ea53e83c86bb6f6edb82f66ef4861_851876_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..26fe0e5 Binary files /dev/null and b/photos/ziro19/DSC_0718_hu3a5ea53e83c86bb6f6edb82f66ef4861_851876_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/DSC_0730.jpg b/photos/ziro19/DSC_0730.jpg similarity index 100% rename from content/photos/ziro19/DSC_0730.jpg rename to photos/ziro19/DSC_0730.jpg diff --git a/photos/ziro19/DSC_0730_hud5c3cad3db40aeafe329b30e0ea5adc0_499001_350x0_resize_q100_box.jpg b/photos/ziro19/DSC_0730_hud5c3cad3db40aeafe329b30e0ea5adc0_499001_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..cb8edfd Binary files /dev/null and b/photos/ziro19/DSC_0730_hud5c3cad3db40aeafe329b30e0ea5adc0_499001_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro19/DSC_0739.jpeg b/photos/ziro19/DSC_0739.jpeg similarity index 100% rename from content/photos/ziro19/DSC_0739.jpeg rename to photos/ziro19/DSC_0739.jpeg diff --git a/photos/ziro19/DSC_0739_hu3a5ea53e83c86bb6f6edb82f66ef4861_883028_350x0_resize_q100_box.jpeg b/photos/ziro19/DSC_0739_hu3a5ea53e83c86bb6f6edb82f66ef4861_883028_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..590e65d Binary files /dev/null and b/photos/ziro19/DSC_0739_hu3a5ea53e83c86bb6f6edb82f66ef4861_883028_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/DSC_0740.jpeg b/photos/ziro19/DSC_0740.jpeg similarity index 100% rename from content/photos/ziro19/DSC_0740.jpeg rename to photos/ziro19/DSC_0740.jpeg diff --git a/photos/ziro19/DSC_0740_hu3a5ea53e83c86bb6f6edb82f66ef4861_970759_350x0_resize_q100_box.jpeg b/photos/ziro19/DSC_0740_hu3a5ea53e83c86bb6f6edb82f66ef4861_970759_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..1e90453 Binary files /dev/null and b/photos/ziro19/DSC_0740_hu3a5ea53e83c86bb6f6edb82f66ef4861_970759_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/DSC_0742.jpeg b/photos/ziro19/DSC_0742.jpeg similarity index 100% rename from content/photos/ziro19/DSC_0742.jpeg rename to photos/ziro19/DSC_0742.jpeg diff --git a/photos/ziro19/DSC_0742_hu3a5ea53e83c86bb6f6edb82f66ef4861_643483_350x0_resize_q100_box.jpeg b/photos/ziro19/DSC_0742_hu3a5ea53e83c86bb6f6edb82f66ef4861_643483_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..b853bd9 Binary files /dev/null and b/photos/ziro19/DSC_0742_hu3a5ea53e83c86bb6f6edb82f66ef4861_643483_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/DSC_0746.jpeg b/photos/ziro19/DSC_0746.jpeg similarity index 100% rename from content/photos/ziro19/DSC_0746.jpeg rename to photos/ziro19/DSC_0746.jpeg diff --git a/photos/ziro19/DSC_0746_hu901b6a857769492b0393c0228a1bb2e7_588348_350x0_resize_q100_box.jpeg b/photos/ziro19/DSC_0746_hu901b6a857769492b0393c0228a1bb2e7_588348_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..f8e31ca Binary files /dev/null and b/photos/ziro19/DSC_0746_hu901b6a857769492b0393c0228a1bb2e7_588348_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/DSC_0747.jpeg b/photos/ziro19/DSC_0747.jpeg similarity index 100% rename from content/photos/ziro19/DSC_0747.jpeg rename to photos/ziro19/DSC_0747.jpeg diff --git a/photos/ziro19/DSC_0747_hu3a5ea53e83c86bb6f6edb82f66ef4861_695965_350x0_resize_q100_box.jpeg b/photos/ziro19/DSC_0747_hu3a5ea53e83c86bb6f6edb82f66ef4861_695965_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..439db90 Binary files /dev/null and b/photos/ziro19/DSC_0747_hu3a5ea53e83c86bb6f6edb82f66ef4861_695965_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/DSC_0752.jpeg b/photos/ziro19/DSC_0752.jpeg similarity index 100% rename from content/photos/ziro19/DSC_0752.jpeg rename to photos/ziro19/DSC_0752.jpeg diff --git a/photos/ziro19/DSC_0752_hu3a5ea53e83c86bb6f6edb82f66ef4861_770568_350x0_resize_q100_box.jpeg b/photos/ziro19/DSC_0752_hu3a5ea53e83c86bb6f6edb82f66ef4861_770568_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..6f9352f Binary files /dev/null and b/photos/ziro19/DSC_0752_hu3a5ea53e83c86bb6f6edb82f66ef4861_770568_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/DSC_0757.jpeg b/photos/ziro19/DSC_0757.jpeg similarity index 100% rename from content/photos/ziro19/DSC_0757.jpeg rename to photos/ziro19/DSC_0757.jpeg diff --git a/photos/ziro19/DSC_0757_hu3a5ea53e83c86bb6f6edb82f66ef4861_698364_350x0_resize_q100_box.jpeg b/photos/ziro19/DSC_0757_hu3a5ea53e83c86bb6f6edb82f66ef4861_698364_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..1e52c33 Binary files /dev/null and b/photos/ziro19/DSC_0757_hu3a5ea53e83c86bb6f6edb82f66ef4861_698364_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/DSC_0762.jpeg b/photos/ziro19/DSC_0762.jpeg similarity index 100% rename from content/photos/ziro19/DSC_0762.jpeg rename to photos/ziro19/DSC_0762.jpeg diff --git a/photos/ziro19/DSC_0762_hu3a5ea53e83c86bb6f6edb82f66ef4861_681981_350x0_resize_q100_box.jpeg b/photos/ziro19/DSC_0762_hu3a5ea53e83c86bb6f6edb82f66ef4861_681981_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..904bbd0 Binary files /dev/null and b/photos/ziro19/DSC_0762_hu3a5ea53e83c86bb6f6edb82f66ef4861_681981_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/DSC_0767.jpeg b/photos/ziro19/DSC_0767.jpeg similarity index 100% rename from content/photos/ziro19/DSC_0767.jpeg rename to photos/ziro19/DSC_0767.jpeg diff --git a/photos/ziro19/DSC_0767_hu3a5ea53e83c86bb6f6edb82f66ef4861_654587_350x0_resize_q100_box.jpeg b/photos/ziro19/DSC_0767_hu3a5ea53e83c86bb6f6edb82f66ef4861_654587_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..b7e795a Binary files /dev/null and b/photos/ziro19/DSC_0767_hu3a5ea53e83c86bb6f6edb82f66ef4861_654587_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/DSC_0776.jpeg b/photos/ziro19/DSC_0776.jpeg similarity index 100% rename from content/photos/ziro19/DSC_0776.jpeg rename to photos/ziro19/DSC_0776.jpeg diff --git a/photos/ziro19/DSC_0776_hu3a5ea53e83c86bb6f6edb82f66ef4861_623623_350x0_resize_q100_box.jpeg b/photos/ziro19/DSC_0776_hu3a5ea53e83c86bb6f6edb82f66ef4861_623623_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..ffafbeb Binary files /dev/null and b/photos/ziro19/DSC_0776_hu3a5ea53e83c86bb6f6edb82f66ef4861_623623_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/DSC_0790.jpeg b/photos/ziro19/DSC_0790.jpeg similarity index 100% rename from content/photos/ziro19/DSC_0790.jpeg rename to photos/ziro19/DSC_0790.jpeg diff --git a/photos/ziro19/DSC_0790_hu3a5ea53e83c86bb6f6edb82f66ef4861_813758_350x0_resize_q100_box.jpeg b/photos/ziro19/DSC_0790_hu3a5ea53e83c86bb6f6edb82f66ef4861_813758_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..8cea2cd Binary files /dev/null and b/photos/ziro19/DSC_0790_hu3a5ea53e83c86bb6f6edb82f66ef4861_813758_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/DSC_0795.jpg b/photos/ziro19/DSC_0795.jpg similarity index 100% rename from content/photos/ziro19/DSC_0795.jpg rename to photos/ziro19/DSC_0795.jpg diff --git a/photos/ziro19/DSC_0795_hud5c3cad3db40aeafe329b30e0ea5adc0_489521_350x0_resize_q100_box.jpg b/photos/ziro19/DSC_0795_hud5c3cad3db40aeafe329b30e0ea5adc0_489521_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..0ec8de5 Binary files /dev/null and b/photos/ziro19/DSC_0795_hud5c3cad3db40aeafe329b30e0ea5adc0_489521_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro19/DSC_0799.jpg b/photos/ziro19/DSC_0799.jpg similarity index 100% rename from content/photos/ziro19/DSC_0799.jpg rename to photos/ziro19/DSC_0799.jpg diff --git a/photos/ziro19/DSC_0799_hud5c3cad3db40aeafe329b30e0ea5adc0_493307_350x0_resize_q100_box.jpg b/photos/ziro19/DSC_0799_hud5c3cad3db40aeafe329b30e0ea5adc0_493307_350x0_resize_q100_box.jpg new file mode 100644 index 0000000..6240b5c Binary files /dev/null and b/photos/ziro19/DSC_0799_hud5c3cad3db40aeafe329b30e0ea5adc0_493307_350x0_resize_q100_box.jpg differ diff --git a/content/photos/ziro19/DSC_0807.jpeg b/photos/ziro19/DSC_0807.jpeg similarity index 100% rename from content/photos/ziro19/DSC_0807.jpeg rename to photos/ziro19/DSC_0807.jpeg diff --git a/photos/ziro19/DSC_0807_hu3a5ea53e83c86bb6f6edb82f66ef4861_573092_350x0_resize_q100_box.jpeg b/photos/ziro19/DSC_0807_hu3a5ea53e83c86bb6f6edb82f66ef4861_573092_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..255dbd9 Binary files /dev/null and b/photos/ziro19/DSC_0807_hu3a5ea53e83c86bb6f6edb82f66ef4861_573092_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/DSC_0814.jpeg b/photos/ziro19/DSC_0814.jpeg similarity index 100% rename from content/photos/ziro19/DSC_0814.jpeg rename to photos/ziro19/DSC_0814.jpeg diff --git a/photos/ziro19/DSC_0814_hu3a5ea53e83c86bb6f6edb82f66ef4861_460562_350x0_resize_q100_box.jpeg b/photos/ziro19/DSC_0814_hu3a5ea53e83c86bb6f6edb82f66ef4861_460562_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..f926ce5 Binary files /dev/null and b/photos/ziro19/DSC_0814_hu3a5ea53e83c86bb6f6edb82f66ef4861_460562_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/DSC_0831.jpeg b/photos/ziro19/DSC_0831.jpeg similarity index 100% rename from content/photos/ziro19/DSC_0831.jpeg rename to photos/ziro19/DSC_0831.jpeg diff --git a/photos/ziro19/DSC_0831_hu3a5ea53e83c86bb6f6edb82f66ef4861_819468_350x0_resize_q100_box.jpeg b/photos/ziro19/DSC_0831_hu3a5ea53e83c86bb6f6edb82f66ef4861_819468_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..2bc0fb6 Binary files /dev/null and b/photos/ziro19/DSC_0831_hu3a5ea53e83c86bb6f6edb82f66ef4861_819468_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/IMG_20190930_153055.jpeg b/photos/ziro19/IMG_20190930_153055.jpeg similarity index 100% rename from content/photos/ziro19/IMG_20190930_153055.jpeg rename to photos/ziro19/IMG_20190930_153055.jpeg diff --git a/photos/ziro19/IMG_20190930_153055_hu144261a7e9be67ff3072a7feda246fca_263612_350x0_resize_q100_box.jpeg b/photos/ziro19/IMG_20190930_153055_hu144261a7e9be67ff3072a7feda246fca_263612_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..7721455 Binary files /dev/null and b/photos/ziro19/IMG_20190930_153055_hu144261a7e9be67ff3072a7feda246fca_263612_350x0_resize_q100_box.jpeg differ diff --git a/content/photos/ziro19/IMG_20190930_161631.jpeg b/photos/ziro19/IMG_20190930_161631.jpeg similarity index 100% rename from content/photos/ziro19/IMG_20190930_161631.jpeg rename to photos/ziro19/IMG_20190930_161631.jpeg diff --git a/photos/ziro19/IMG_20190930_161631_hu144261a7e9be67ff3072a7feda246fca_401921_350x0_resize_q100_box.jpeg b/photos/ziro19/IMG_20190930_161631_hu144261a7e9be67ff3072a7feda246fca_401921_350x0_resize_q100_box.jpeg new file mode 100644 index 0000000..d1ecf43 Binary files /dev/null and b/photos/ziro19/IMG_20190930_161631_hu144261a7e9be67ff3072a7feda246fca_401921_350x0_resize_q100_box.jpeg differ diff --git a/photos/ziro19/index.html b/photos/ziro19/index.html new file mode 100644 index 0000000..0c7d9b3 --- /dev/null +++ b/photos/ziro19/index.html @@ -0,0 +1,22 @@ +Ziro Festival 2019 · Sid Verma

‹ Sid Verma

Ziro Festival 2019

2019 Sep
Ziro, Arunachal Pradesh, India

I was not planning to go to the Ziro Festival this year, but the dates coincided with a layover in Kolkata, and hence made the stop.

+ + + + + + + + + + + + + + + + + + + + +

Shot on Nikon D5300 and Oneplus 3


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/8-months-unemployment-traveling/index.html b/posts/8-months-unemployment-traveling/index.html new file mode 100644 index 0000000..176abbe --- /dev/null +++ b/posts/8-months-unemployment-traveling/index.html @@ -0,0 +1 @@ +Eight months of unemployment and traveling · Sid Verma

‹ Sid Verma

Eight months of unemployment and traveling

Nov 19, 2019

In March 2019, I left my job at Tower Research Capital, to take a small break from work and live aimlessly for a while. My mental health had been declining steadily for the last few years, and going away for a while seemed like the only way out.

I spent a lot of this period making small changes to my lifestyle. I started sleeping well (7 hrs is apparently a good sleep for me), and now I’m at a state where I’ve completely stopped using an audible alarm to wake up. Instead I’m mostly able to wake up at will. For really tight naps though, a lightly vibrating smartwatch has proven to be enough.

I think I’ve also made progress at becoming mildly competent at conversations, from being completely inept at it. I am reaching out to more friends now, and make sure to visit at least a few when I’m in their town. Dating, as a result is also much more easier and fun now.

I tried to get physical exercise into my schedule, but so far have failed to keep it up. I did, however, improve my diet a lot. Largely cutting out sugar and snacking did make enormous differences.

Most importantly, after a really long time though, I don’t feel depressed and anxious anymore. I’m able to focus more, and in general be more creative. Being intoxicated has gone back to being a leisure activity rather than an escape.

I’ve slowly incorporated back “work” into this lifestyle, and while it hasn’t been very long, it seems to be going pretty well. I’m working on being better at scheduling, managing stress, and being more efficient — which might be something for a later post.

A huge improvement, however, has been on how I travel. I spent the majority of the this time traveling around India and southeast Asia. While I was used to backpacking for long stretches, they were often localized to a smaller area. Leading a nomadic life on a budget for longer periods had other challenges. Things become expensive when you start covering large distances frequently. I started taking more items into consideration when traveling now. In no specific order, I’m just gonna list things I take into consideration now which I didn’t really before:

  • Location of the airport/station - The ticket cost is only part of the cost of getting from city A to B. Most airports tend to be located far away from the inner city or where I’d probably intend to stay. Arriving at odd hours could mean that public transport might not be available at that time, and I’d have to spend a quite a bit on taxis to get to my ho(s)tel. Sometimes, I spent a day for cheap near the airport, to move to a better place the next day.
  • Frequent flier miles - While budget airlines would often have cheaper tickets, sometimes you are able to spot cheap flights on full service airlines with rewards programs. If you fly frequently, factor in the value of miles you acquire too while making a decision. They can add up to quite a significant amount.
  • Wide open dates - Having wide open dates allows you to be able to choose cheaper options of travel, as cost of stay might not vary a lot between cities.
  • Keep day-to-day schedule light - Having too many things to do in a day can get a bit hectic, which might negate why you’re traveling in the first place. Keep a light schedule. It also allows you to opt for slower but cheaper public transport than otherwise.
  • Work for stay - I used workaway and worldpackers to find places where I can spend some amount of my time helping out small businesses or organizations in exchange for free stay/food. Worth checking out if you find something suitable.
  • Focus on your diet - It’s often easy to fuck up your diet while traveling. You want to try out the local food, dessert, beer, etc; and by all means - do, but keep track of your calories. If you’ve been planning on getting on a lighter diet, it can be a good time to start that too. I, personally feel a lot less hungry while I’m traveling, so I’ve been using that to my advantage. Eating less is cheaper too.
  • Fruits are your friend - Complement your diet with fruits. They tend to be a lot cheaper, and pretty good for you. Also, note that these two points don’t mean that you should be starving yourself. Use your brain and don’t fuck yourself up.
  • Layer up in colder climates - This is a popular advice which really helps in keeping your luggage light. On a snowy trail I was even able to get by with a thinner sleeping bag by sleeping in my layers. YMMV.
  • Invest in lighter/smaller items - When going camping, a very good part of my luggage would be made up of a foam mattress, a cheap sleeping bag and a heavy tent. Investing in slightly expensive tiny inflatable mattresses, denser sleeping bags and a lighter tent reduced my luggage by half in volume.
  • Reduce your baggage - A lighter bag allows you to move around in the city without massive pains. Sometimes, you can opt for leaving stuff you definitely won’t need, at a friend’s place, or in rented locker rooms (most airports, bus and railway stations would have them). Eg - work equipment, extra/unseasonal clothes, etc. Also, get into the habit of doing laundry and pack fewer clothes.
  • Embrace your laptop - I had gotten far too comfortable with my home and office setup to be able to work on a chiclet keyboard with a single tiny screen again. It took me a lot longer than expected to adapt to this setup. I wish that I had a smaller machine too, as a 15-inch laptop can sometimes be too big to carry and fit in day-packs. If you really like multiple screens, there are many laptop-sized portable USB-C powered screens available in the market which you can try.
  • Smaller power banks - It’s far more advantageous to carry multiple tiny power banks instead of one huge one. They are easier to carry around while using the device, and you can charge all off them parallelly in a short period of time.
  • Keep track of your expenses - At least weekly, go through your categorized expenses and check for anomalies. It’s quite common for people to save a lot while living in cheap hostels, but spend a huge amount on their pub crawls. I use Firefly III which is really powerful at what it does. But, even a plaintext list would work for a start.
  • Work from cafes - I tend to like working from cafes — all the white noise allows me to focus much more easily. On most last days in towns, when I check out in the morning and have to travel in the night, I’d just spend the whole day at a cafe, saving on the stay cost. Though, initially, quite a few times, I did burn myself by spending more at those cafes than I’d have if I’d just stayed at my hostel. So, do take that into consideration.
  • Break long journeys up - If your next destination takes a lot of time to get there (I get really restless after spending 4+ hours awake in a closed vehicle), it might serve good to pick a point in between to split the journey at.

Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/diary-of-a-new-employee/index.html b/posts/diary-of-a-new-employee/index.html new file mode 100644 index 0000000..56ec573 --- /dev/null +++ b/posts/diary-of-a-new-employee/index.html @@ -0,0 +1 @@ +Diary of a new employee · Sid Verma

‹ Sid Verma

Diary of a new employee

May 04, 2020

Monday

Today was my first day at this stealth startup. The boss (CEO) is a dick, but we’re building great stuff. The physical entertainment/tourism industry is a huge market, and it’s very possible that we’re going to be the next Disneyworld.

Tuesday

Surprisingly, I feel halfway through my induction already. Things happen at such a fast pace here that it’s a bit exhilarating. Some areas definitely need much more oversight though. Just a few weeks ago, a field employee had an accident, which led to us getting sued for millions of $$. Thank fuck for insurance.

In other news, I met the rest of the systems team today. I was expecting to go through some sort of imposter syndrome, working in such a lean team, but looks like that these guys aren’t that much better than me. Except for Dennis, Dennis is the GOAT!

Wednesday

We got news that some outside “experts” would be coming in over the weekend for inspection. Most likely in response to the concerns of investors and the insurance company over the lawsuit. VCs are sending this mathematician who deals with risk-prediction models (I think?). On the other hand, John, our CEO, is also bringing in some famous academics who’d likely give us the required endorsement without much fuss.

Got to know more of my team today. Ray’s the cheif engineer. Good guy, heavy smoker. We really need a policy against smoking indoors here. This is not the 80s. Dennis turned out to be a bit of an ass though. There’s a lot of misplaced ego in him for building the system foundation.

Thursday

Induction got over, and today’s my first real day at work. Now I have some clarity on how we’ve been doing things so fast. Systems seem to be well-built on the surface, but we have almost no testing protocols, no failover plans, and tons of single point of failures. And there don’t seem to be a lot of access controls in place too. We have all this high-tech environment, and almost any employee can shut down the system if they know no where to do it from.

On the plus side, the to-do list has points listing these problems. Though it’s unlikely anyone’s getting around to those anytime soon.

Friday

Today we spent most of the day preparing for the visitors tomorrow. Mostly maintenance work around the facility, tightening nuts and bolts and recalibrating power levels. Some things are buggy, but nothing deal-breaking. We’re told that John’s family is also visiting the facility this weekend, to sorta “beta-test” the rides along with the experts.

Saturday

My shift just ended, and it’s been a smooth day so far. The family turned out to be little kids (John’s grandchildren, I assume). John insists that they are just visiting him, but I suspect he brought them in to try and butter up the experts. A lot is riding on their endorsements, and seeing kids experience the rides might give them a more positive outlook.

The tour had more kinks than we were expecting today. Ray’s been counting every glitch that he comes across today, and was up to 151 the last time I checked. “We have all the problems of a major theme park and a major zoo and the computers aren’t even on their feet yet”, his exact words.

To be very honest, I think he gives the system way less credit than its due. Sure, it’s far from perfect, but given the timeline, the company really spared no expense in building this place.

Sunday

HOLY FUCK! WHAT THE FUCK! FUUUUUCK!

I’m writing this entry in the morning itself, as I’m not sure if I’m gonna find the time again. There’s a fair chance that we’d get shut down by tomorrow, if we don’t get arrested or get eaten by a stray disnoaur.

We don’t have a complete clarity on what’s happening. Power went out in most of the park yesterday, and is still out. Cage fences aren’t working, and even the phone lines are down! Wireless seems to be fucked too because of a very coincidental storm.

It appears that Dennis shut down the electrical grids yesterday and fled this island. No one knows why. We even seem to be locked out of the control systems. With no documentation, logs and system access, we’re probably not gonna be fixing this anytime soon.

Maybe a complete system restart throughout the park would work. Not ideal, but if there’s one thing that anyone in the IT crowd knows - it’s that turning computers off and on again is very magical.

Hopefully it works. Fuck you Dennis Nedry, and fuck you John Hammond!


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/dumb-smartphone/index.html b/posts/dumb-smartphone/index.html new file mode 100644 index 0000000..84cca7a --- /dev/null +++ b/posts/dumb-smartphone/index.html @@ -0,0 +1,2 @@ +Dumb smartphone is the best smartphone. · Sid Verma

‹ Sid Verma

Dumb smartphone is the best smartphone.

Jan 04, 2018

Quick recap: I dropped my Oneplus 3 six months ago - didn’t get it repaired for a month. Instead, carried this $10 phone with me for a while.

My interimn phone

My interimn phone

Eventually, I did go back to the smartphone - to order cabs, read important emails, and take photographs.

But this really made me miss the bliss of not owning a smartphone. In the previous month, I used to look at the tiny screen for a maximum of 5 minutes every day. Now when I’m back on the smartphone, the screen-time is also back to a few hours - Reddit, Twitter, Telegram, Whatsapp, Instagram, Facebook, Kindle, Google Chrome.

Also came with it, a lot of micro-interruptions throughout the day in the form of notifications - IMs, promotions, emails, etc. An average of 15 notifications every day.

I have read accounts of people who don’t use a smartphone, or even a phone anymore. Unfortunately, that is not the way for me, at least right now. I recognize, and enjoy some of the features my Android phone gives me. I have a relatively short memory, and a notes app is essential to my life. I can’t drive, so I usually move around by walking, or through Uber. Also, I like charting the sky with the help of Stellarium.

Solutions

  • Uninstall social networks. Except for Instagram, which I post on once a few weeks - all social networks were uninstalled. Those which were not installed, were removed from the homescreen at the very least.

  • Next, remove the browser from the homescreen itself.

Phone homescreens - then and now

Phone homescreens - then and now

  • Disable notifications for all of the IM apps I use - SMS, Telegram, Whatsapp, Signal, Messenger, Hangouts, Personal E-mail. +This changed my consumption of messages from a push-based mechanism to a pull-based. Emails are checked every morning and evening. If any IM is important, people would find an alternate way to reach me, or just call me.

  • Over the next few days, continue to disable notifications for any app which ever sent a promotional notification - Amazon, Google maps, Flipkart, Myntra, Amazon Go, Grofers, Uber, Ola, Bookmyshow…

  • Start wearing a watch - I compulsively check the time whenever I get the chance to. This stops me from taking the phone out when I’m away from the computer.

Status, now.

I’ve been using this setup for the past 6 months now. On an average, I stare at my phone for 15-45 minutes every day. 10 of those minutes would be on the shitter, where I am browsing reddit.com, and the 30 could be in commute, where I’d read some book or comic, or just listen to a podcast.

The only notifications I’ve received in the past 6 months are work emails, meeting reminders, and reminders which I set myself. Every other weekend or so, I’d check one of the IM apps and see if I missed anything important. Luckily, nothing as of yet.

I chat with people over slack and facebook messenger - exclusively on the desktop.

If I do need to check a social post some people are talking about, I open the browser after and check it out there.

My browser habits have changed too - I’ve stopped using tabs on phone. As a heavy tab user, this limit on multitasking really makes me not use the browser anymore than absolutely necessary.


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/faceapp-much-ado-about-nothing/index.html b/posts/faceapp-much-ado-about-nothing/index.html new file mode 100644 index 0000000..d608365 --- /dev/null +++ b/posts/faceapp-much-ado-about-nothing/index.html @@ -0,0 +1,5 @@ +Russians are harvesting our faces! · Sid Verma

‹ Sid Verma

Russians are harvesting our faces!

Jul 19, 2019

This Forbes article says that Faceapp is evil because they are harvesting user-data:

That (Faceapp’s TOS) may not be dangerous and your likeness may stay on Amazon servers in America, as Forbes has determined, but they still own a license to do whatever they want with it. That doesn’t mean the app’s Russian parent company, Wireless Labs, will offer your face to the FSB, but it does have consequences, as PhoneArena’s Peter Kostadinov says:

You might end up on a billboard somewhere in Moscow, but your face will most likely end up training some AI facial-recognition algorithm.

For context, here’s the lines from FaceApp’s Terms of Service which are been targeted:

You grant FaceApp a perpetual, irrevocable, nonexclusive, royalty-free, worldwide, fully-paid, transferable sub-licensable license to use, reproduce, modify, adapt, publish, translate, create derivative works from, distribute, publicly perform and display your User Content and any name, username or likeness provided in connection with your User Content in all media formats and channels now known or later developed, without compensation to you. When you post or otherwise share User Content on or through our Services, you understand that your User Content and any associated information (such as your [username], location or profile photo) will be visible to the public.

In comparison, here are a few current (and one defunct) websites where users are known to share their faces quite a bit:

Facebook:

When you share, post or upload content that is covered by intellectual property rights (e.g. photos or videos) on or in connection with our Products, you grant us a non-exclusive, transferable, sub-licensable, royalty-free and worldwide licence to host, use, distribute, modify, run, copy, publicly perform or display, translate and create derivative works of your content (consistent with your privacy and application settings). This means, for example, that if you share a photo on Facebook, you give us permission to store, copy and share it with others (again, consistent with your settings) such as service providers that support our service or other Facebook Products that you use.

Instagram:

When you share, post, or upload content that is covered by intellectual property rights (like photos or videos) on or in connection with our Service, you hereby grant to us a non-exclusive, royalty-free, transferable, sub-licensable, worldwide license to host, use, distribute, modify, run, copy, publicly perform or display, translate, and create derivative works of your content (consistent with your privacy and application settings). You can end this license anytime by deleting your content or account. However, content will continue to appear if you shared it with others and they have not deleted it.

Snapchat:

For all content you submit to the Services other than Public Content, you grant Snap Inc. and our affiliates a worldwide, royalty-free, sublicensable, and transferable license to host, store, use, display, reproduce, modify, adapt, edit, publish, and distribute that content. This license is for the limited purpose of operating, developing, providing, promoting, and improving the Services and researching and developing new ones. +Because Public Content is inherently public and chronicles matters of public interest, the license you grant us for this content is broader. In addition to granting us the rights mentioned in the previous paragraph, you also grant us a perpetual license to create derivative works from, promote, exhibit, broadcast, syndicate, sublicense, publicly perform, and publicly display Public Content in any form and in any and all media or distribution methods (now known or later developed). To the extent it’s necessary, when you appear in, create, upload, post, or send Public Content, you also grant Snap Inc., our affiliates, and our business partners the unrestricted, worldwide, perpetual right and license to use your name, likeness, and voice, including in connection with commercial or sponsored content. This means, among other things, that you will not be entitled to any compensation from Snap Inc., our affiliates, or our business partners if your name, likeness, or voice is conveyed through the Services, either on the Snapchat application or on one of our business partner’s platforms.

Twitter:

By submitting, posting or displaying Content on or through the Services, you grant us a worldwide, non-exclusive, royalty-free license (with the right to sublicense) to use, copy, reproduce, process, adapt, modify, publish, transmit, display and distribute such Content in any and all media or distribution methods (now known or later developed). This license authorizes us to make your Content available to the rest of the world and to let others do the same. You agree that this license includes the right for Twitter to provide, promote, and improve the Services and to make Content submitted to or through the Services available to other companies, organizations or individuals for the syndication, broadcast, distribution, promotion or publication of such Content on other media and services, subject to our terms and conditions for such Content use. Such additional uses by Twitter, or other companies, organizations or individuals, may be made with no compensation paid to you with respect to the Content that you submit, post, transmit or otherwise make available through the Services. +Twitter has an evolving set of rules for how ecosystem partners can interact with your Content on the Services. These rules exist to enable an open ecosystem with your rights in mind. You understand that we may modify or adapt your Content as it is distributed, syndicated, published, or broadcast by us and our partners and/or make changes to your Content in order to adapt the Content to different media.

Google:

When you upload, submit, store, send or receive content to or through our Services, you give Google (and those we work with) a worldwide license to use, host, store, reproduce, modify, create derivative works (such as those resulting from translations, adaptations or other changes we make so that your content works better with our Services), communicate, publish, publicly perform, publicly display and distribute such content. The rights you grant in this license are for the limited purpose of operating, promoting, and improving our Services, and to develop new ones. This license continues even if you stop using our Services (for example, for a business listing you have added to Google Maps). Some Services may offer you ways to access and remove content that has been provided to that Service. Also, in some of our Services, there are terms or settings that narrow the scope of our use of the content submitted in those Services. Make sure you have the necessary rights to grant us this license for any content that you submit to our Services. +Our automated systems analyze your content (including emails) to provide you personally relevant product features, such as customized search results, tailored advertising, and spam and malware detection. This analysis occurs as the content is sent, received, and when it is stored.

Youtube:

By submitting Content to YouTube, you hereby grant YouTube a worldwide, non-exclusive, royalty-free, sublicenseable and transferable license to use, reproduce, distribute, prepare derivative works of, display, publish, adapt, make available online or electronically transmit, and perform the Content in connection with the Service and YouTube’s (and its successors’ and affiliates’) business, including without limitation for promoting and redistributing part or all of the Service (and derivative works thereof) in any media formats and through any media channels. You also hereby grant each user of the Service a non-exclusive license to access your Content through the Service, and to use, reproduce, distribute, display, publish, make available online or electronically transmit, and perform such Content as permitted through the functionality of the Service and under these Terms of Service.

Vine:

You acknowledge that you have granted us a worldwide, non-exclusive, royalty-free license (with the right to sublicense) to use, copy, reproduce, process, adapt, modify, publish, transmit, display, and distribute such Content in any and all media or distribution methods (now known or later developed). We may modify or adapt your Content in order to transmit, display, or distribute it over computer networks and in various media and/or make changes to your Content as are necessary to conform and adapt that Content to any requirements or limitations of any networks, devices, services, or media. You are responsible for your use of the Vine Archive, for all Content you provided, and for any consequences thereof, including the use of your Content by other users and our third party partners. You understand that your Content may be syndicated, broadcast, distributed, or published by our partners and if you did not have the right to submit Content for such use, it may subject you to liability.

I’m not telling you to go install this app and bombard social media with aged photos of yours, but if you do - that photo is now with FaceApp, and also almost every other platform you shared it on.

The only difference would be that FaceApp has a Russian developer, while the rest of the companies are American.


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/firefly-iii-ios-shortcuts/index.html b/posts/firefly-iii-ios-shortcuts/index.html new file mode 100644 index 0000000..ac0bf67 --- /dev/null +++ b/posts/firefly-iii-ios-shortcuts/index.html @@ -0,0 +1,2 @@ +iOS Shortcuts for Firefly III · Sid Verma

‹ Sid Verma

iOS Shortcuts for Firefly III

Dec 06, 2019

I’ve been using the excellent Firefly III to manage my expenses for a while. As a result, I have developed a habit to actively monitor every transaction I do, which, in my opinion is a much better way than using other automated expense managers which can only track your non-cash expenses, without a lot of context.

Android had an unofficial app which made it easier to interact with Firefly, but iOS doesn’t seem to have one, and the web-ui is not a very mobile friendly one.

While searching for solutions, I came across this blog post by Jesse Dyck where they utilised iOS Shortcuts to create transactions in Firefly. Honestly, I was pretty surprised that Shortcuts is powerful enough to do this, given Apple’s approach to customization.

The shortcuts provided by Jesse didn’t work for me (they were written for iOS 12, before Shortcuts were revamped for iOS 13), so I decided to build one for myself, with a UX more suited for my needs.

Here it is in action:


To use these for yourself, you have to download the following three shortcuts from your iOS device. The first two are function-like dependencies of the third one, which is used to add a transaction.

If you’re not into categories, you’d probably have to edit the Add Transaction shortcut and remove the steps where it deals with them. A fair bit of trial and error should probably give you what you want.

Note that, to be able to import shortcuts from outside the app gallery, you have to go to Settings > Shortcuts and enable Allow Untrusted Shortcuts.

While adding these shortcuts, you’d be prompted to enter your firefly URL and Personal Access Token for each of the shortcut. The URL is where you’ve hosted the app, complete with the protocol and without a trailing slash (like https://demo.firefly-iii.org). You can generate the token from Firefly by going to Options > Profile > scroll down to Personal Access Tokens and click on Create New Token.

After spending 3 hours creating these 150-step shortcuts on a very tiny screen, I was wondering if it’d have been easier to create a basic iPhone app itself. Not really, I don’t know Swift yet.


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/hillhacks-hackbeach/index.html b/posts/hillhacks-hackbeach/index.html new file mode 100644 index 0000000..0f9e927 --- /dev/null +++ b/posts/hillhacks-hackbeach/index.html @@ -0,0 +1 @@ +Hillhacks and Hackbeach · Sid Verma

‹ Sid Verma

Hillhacks and Hackbeach

Oct 10, 2017

Hillhacks, as defined by the website:

hillhacks is held in the lap of the stunning Dhauladhar Himalayas every summer.

People from different places, walks of life and lines of thought come together to share, collaborate and learn.

Hackers talk code. Artists share their creativity. Students join in from schools and colleges to learn new skills. Locals and globals mix and mingle. We build things like tables, hula hoops, interactive art installations, and solar lanterns. We connect. We dance and sing. Ideas emerge. Collaborations form. Lives change.

In the hacking, we get hacked ourselves.

Hackbeach is the sister event of hillhacks, held in the winters, on one of India’s coast.

What we don’t have:

  • Sponsors
  • Organizers
  • Welcome packages
  • Huge well-lit stage
  • Chairs around the said stage
  • Air conditioning
  • Booths and banners
  • T-Shirt and stickers table
  • Catered lunch
  • Coffee machine

What we have:

  • Space to camp
  • Beautiful views
  • A long unconference
  • 2-4 day of main conference
  • Setup and teardown of the said conference
  • Talks and flash talks
  • Opportunities to learn new skills
  • Hackers

What we might also have:

  • Accountants, Anthropologist, Farmers, Activists, Geologists…
  • School programs to teach young kids about science and technology
  • Cooking
  • Slacklining
  • Hoola hoop lessons
  • Board/card games
  • Quiz nights
  • Hiking in the hills
  • All day swimming lessons
  • Paragliding
  • Sleeping on the sandy beaches
  • Cartons of all you can grab stickers
  • Open discusssions across a variety of subjects
  • Demostration of cool projects

Hillhacks | Hackbeach


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/homelab-mesh-vpn/index.html b/posts/homelab-mesh-vpn/index.html new file mode 100644 index 0000000..9786398 --- /dev/null +++ b/posts/homelab-mesh-vpn/index.html @@ -0,0 +1,2 @@ +Comparing tools to connect your devices in a mesh VPN · Sid Verma

‹ Sid Verma

Comparing tools to connect your devices in a mesh VPN

Jan 03, 2023

I have a nice little computer in my house which hosts a bunch of services I use. It sits behind a NAT, so I can’t connect directly to it via my public IP address. Hence, I use a cheap cloud instance on DigitalOcean to act as the gateway for my home-server to the internet.

My previous setup was basically a VPN tunnel between a cloud server and my home server, where the cloud server forwarded TCP traffic to my home server, which served all my services.

Lately, I’ve been rebuilding this infrastructure, and one of the things I was due for, is to have all my devices (my cloud server, home server, laptop, phone, etc) connected to each other all the time. Also, it needed to be in a mesh instead of hub-and-spoke, as there was no need for data to go over the internet if I’m home, on the same physical network as my home-server.

I spent a good amount of time trying out a bunch of methods, until settling on one. This post runs through all the options I found, and why I chose what I chose. I won’t go into how to set it up - there should be plenty of articles and documentation on the internet. +TLDR: I now use tailscale with a headscale server.


Wireguard

There’s a bunch of ways to do mesh VPN as of writing this. One obvious one is to use Wireguard, which is what I set up first. However, one drawback of it, for my use-case is that peers need an IP address to connect to. Since my IPv4-first ISP puts me behind a NAT, I was unable to do that. So, I had to choose between routing what-could-be local traffic over the internet, or have local peers and only connect to VPN when I’m at home. Neither were good solutions for me.

This wonderful post by Jordan Whited uses a STUN mechanism to do IP discovery with wireguard, but I don’t want to take on the burden on compiling CoreDNS every time I perform upgrades. If that’s something you’re okay with, I’d highly suggest giving it a try - it’s exceptionally neat.

Netmaker

Netmaker is another wonderful tool, which is very performant and incredibly easy to set up. It even includes a web-app where you can manage all the nodes. I would recommend this if you don’t want your phone to be a part of the mesh. Netmaker uses its own netclient to connect nodes, and there’s no such client for Android/iOS, as of writing this. You can technically add a phone as an ‘external device’ via wireguard, but then the phone always uses a specific ingress server to access the VPN, and won’t connect directly to a node even when on the same physical network.

Tailscale/Headscale

Tailscale is one of the popular Mesh-VPN services providers. It’s built on top of wireguard, and uses its own coordination servers to keep track of your devices (a very good write-up of how it does that here). It has a very stable android client which has worked without issues for me. And more importantly, the official open-source clients support the third-party open-source coordination server, headscale, which I use. The official tailscale server is not open-source, but headscale hasn’t given me any issues yet. Tailscale isn’t the most performant option out there, but it has been very reliable in maintaining a connection between devices even when they hop between networks (sometimes spotty LTE). I hear the performance is gonna increase soon too, so that’s nice.

Also: Nebula, ZeroTier

Two more tools need to be mentioned here.

Nebula is developed by Slack, and builds a similar mesh overlay network. It seems simpler in design, however I had a hard time with the Android client, which sometimes would just not form connections. It could have been just a momentary bug, or a configuration error, but I moved past it very quickly. YMMV.

Zerotier is very similar to Tailscale too. It uses its own custom protocol instead of wireguard, and works in a similar way. Zerotier’s controller server is open source, and can be self-hosted. In my testing, it took longer to reconnect after a network change, and also took more time to figure out the optimal route to a peer, but otherwise it behaved quite the same. It was more performant than tailscale though, with lower ping-times and higher transfer speeds locally (albeit with more packet loss). I would have been happy with it too, and might try it again if tailscale fucks up at some point. So far, I went with tailscale mostly because of the trusted wireguard as base, and reliability of clients handling reconnections.


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/inattentional-blindness/index.html b/posts/inattentional-blindness/index.html new file mode 100644 index 0000000..b9a3cf0 --- /dev/null +++ b/posts/inattentional-blindness/index.html @@ -0,0 +1,4 @@ +Kodi controllers · Sid Verma

‹ Sid Verma

Kodi controllers

Jul 06, 2019

For the past five years, a Raspberry Pi, running Kodi, has been attached to my TV. The Pi, TV and the software all get updated time to time, but the overall setup has been the same for most of it.

+----+              +----+              +-----+
+| TV |----(HDMI)----| Pi |--(USB/DLNA)--| HDD |
++----+              +----+              +-----+
+

Controllers I’ve used for Kodi over the years -

  • Desktop Keyboards (Wired/Wireless)
  • Wireless Mouse
  • Web Interface
  • Tasker scenes utilizing the web interface API
  • Kodi remote apps (for Android/iOS)
  • Emulated keyboard over SSH
  • VNC
  • Arduino based bluetooth remote
  • Game controllers

Some of these were novelty ones, others were used because of circumstantial needs+availability.

My primary controller is the excellent app Yatse (Lets you browse/play media on the phone itself - much faster than the TV UI). When the phone’s not nearby, or there’s a guest involved, I use a game controller (connected for retroPie anyway).

Last week, I was setting up Kodi (OSMC to be exact) on my old roommate’s Raspberry Pi. While I was installing Yatse on his phone, this other guy present there, who isn’t familiar with the software, doesn’t have any of the controller I know of, starts browsing movies on the TV. I look over, dumbfounded, and see him casually using the TV remote to play around in the UI.

Five years of having a CEC-compatible TV with a CEC-compatible SBC, and it never dawned on me to try the simplest UI possible - The TV remote.



Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/index.html b/posts/index.html new file mode 100644 index 0000000..c662eb4 --- /dev/null +++ b/posts/index.html @@ -0,0 +1,21 @@ +Posts · Sid Verma

‹ Sid Verma

Posts


\ No newline at end of file diff --git a/posts/index.xml b/posts/index.xml new file mode 100644 index 0000000..5739063 --- /dev/null +++ b/posts/index.xml @@ -0,0 +1,247 @@ +Posts on Sid Vermahttps://sidverma.io/posts/Recent content in Posts on Sid VermaHugo -- gohugo.ioen-usTue, 07 Mar 2023 00:00:00 +0000IS 1293 : What are the different kinds of Indian electrical sockets?https://sidverma.io/posts/indian-electrical-sockets-is1293/Tue, 07 Mar 2023 00:00:00 +0000https://sidverma.io/posts/indian-electrical-sockets-is1293/<p>I spent a lot of time today reading the specifications of Indian electrical sockets, and since it took me way too long to find this information - here&rsquo;s a quick summary of what the different kinds of sockets mean. I hope at least one other person finds this useful.</p>Comparing tools to connect your devices in a mesh VPNhttps://sidverma.io/posts/homelab-mesh-vpn/Tue, 03 Jan 2023 00:00:00 +0000https://sidverma.io/posts/homelab-mesh-vpn/<p>I have a nice little computer in my house which hosts a bunch of services I use. It sits behind a NAT, so I can&rsquo;t connect directly to it via my public IP address. Hence, I use a cheap cloud instance on DigitalOcean to act as the gateway for my home-server to the internet.</p> +<p>My <a href="https://sidverma.io/2020/01/11/personal-infrastructure-overview/#how-things-actually-connect">previous setup</a> was basically a VPN tunnel between a cloud server and my home server, where the cloud server forwarded TCP traffic to my home server, which served all my services.</p> +<p>Lately, I&rsquo;ve been rebuilding this infrastructure, and one of the things I was due for, is to have all my devices (my cloud server, home server, laptop, phone, etc) connected to each other all the time. Also, it needed to be in a mesh instead of hub-and-spoke, as there was no need for data to go over the internet if I&rsquo;m home, on the same physical network as my home-server.</p> +<p>I spent a good amount of time trying out a bunch of methods, until settling on one. This post runs through all the options I found, and why I chose what I chose. I won&rsquo;t go into how to set it up - there should be plenty of articles and documentation on the internet. +TLDR: I now use tailscale with a headscale server.</p>Decision making while writing softwarehttps://sidverma.io/posts/meta-programming-1-making-decisions/Mon, 01 Jun 2020 01:00:00 +0000https://sidverma.io/posts/meta-programming-1-making-decisions/<p><em>Post #1 in the <a href="https://sidverma.io/2020/06/01/meta-programming-0/">Meta:Programming</a> series.</em></p>Meta:Programming - Notes about the nature of software developmenthttps://sidverma.io/posts/meta-programming-0/Mon, 01 Jun 2020 00:00:00 +0000https://sidverma.io/posts/meta-programming-0/<p>I&rsquo;m hoping to write a blog series for my younger self. He is someone who used to look at a service and say - &ldquo;I could build that over a weekend&rdquo;. This is also someone who would look at a company with a small product, which rarely gets any new features, and wonder why that product needs 10 developers working fulltime on it.</p> +<p>I don&rsquo;t plan on writing about the philosophical aspects of those questions. Maybe the weekend hack <em>would</em> come out better. Maybe that company <em>is</em> bad at resource utilization. Maybe capitalism <em>is</em> the root of all evil. I am taking the current state and processes at face value, and try to commentate on how and why this usually comes to be.</p> +<p>I hope that these posts don&rsquo;t require a lot of technical knowledge, and are easily readable by beginners, or maybe non-technical folk.</p> +<ol> +<li><a href="https://sidverma.io/2020/06/01/meta-programming-1-making-decisions/">Decision making while writing software</a></li> +</ol> +<p>Do keep in mind that these articles are restricted by my experience and perspective. If you feel that I might be wrong somewhere or am missing something important, feel free to suggest updates. The good thing about writing on the internet is that I can always update my old content.</p> +<p>Next : <a href="https://sidverma.io/2020/06/01/meta-programming-1-making-decisions/">Decision making while writing software</a></p>Diary of a new employeehttps://sidverma.io/posts/diary-of-a-new-employee/Mon, 04 May 2020 00:00:00 +0000https://sidverma.io/posts/diary-of-a-new-employee/<h4 id="monday">Monday</h4> +<p>Today was my first day at this stealth startup. The boss (CEO) is a dick, but we&rsquo;re building great stuff. The physical entertainment/tourism industry is a huge market, and it&rsquo;s very possible that we&rsquo;re going to be the next Disneyworld.</p> +<h4 id="tuesday">Tuesday</h4> +<p>Surprisingly, I feel halfway through my induction already. Things happen at such a fast pace here that it&rsquo;s a bit exhilarating. Some areas definitely need much more oversight though. Just a few weeks ago, a field employee had an accident, which led to us getting sued for millions of $$. Thank fuck for insurance.</p> +<p>In other news, I met the rest of the systems team today. I was expecting to go through some sort of imposter syndrome, working in such a lean team, but looks like that these guys aren&rsquo;t that much better than me. Except for Dennis, Dennis is the <em>GOAT</em>!</p> +<h4 id="wednesday">Wednesday</h4> +<p>We got news that some outside &ldquo;experts&rdquo; would be coming in over the weekend for inspection. Most likely in response to the concerns of investors and the insurance company over the lawsuit. VCs are sending this mathematician who deals with risk-prediction models (I think?). On the other hand, John, our CEO, is also bringing in some famous academics who&rsquo;d likely give us the required endorsement without much fuss.</p> +<p>Got to know more of my team today. Ray&rsquo;s the cheif engineer. Good guy, heavy smoker. We really need a policy against smoking indoors here. This is not the 80s. Dennis turned out to be a bit of an ass though. There&rsquo;s a lot of misplaced ego in him for building the system foundation.</p> +<h4 id="thursday">Thursday</h4> +<p>Induction got over, and today&rsquo;s my first <em>real</em> day at work. Now I have some clarity on how we&rsquo;ve been doing things so fast. Systems seem to be well-built on the surface, but we have almost no testing protocols, no failover plans, and tons of single point of failures. And there don&rsquo;t seem to be a lot of access controls in place too. We have all this high-tech environment, and almost any employee can shut down the system if they know no where to do it from.</p> +<p>On the plus side, the to-do list has points listing these problems. Though it&rsquo;s unlikely anyone&rsquo;s getting around to those anytime soon.</p> +<h4 id="friday">Friday</h4> +<p>Today we spent most of the day preparing for the visitors tomorrow. Mostly maintenance work around the facility, tightening nuts and bolts and recalibrating power levels. Some things are buggy, but nothing deal-breaking. We&rsquo;re told that John&rsquo;s family is also visiting the facility this weekend, to sorta &ldquo;beta-test&rdquo; the rides along with the experts.</p> +<h4 id="saturday">Saturday</h4> +<p>My shift just ended, and it&rsquo;s been a smooth day so far. The family turned out to be little kids (John&rsquo;s grandchildren, I assume). John insists that they are just visiting him, but I suspect he brought them in to try and butter up the experts. A lot is riding on their endorsements, and seeing kids experience the rides might give them a more positive outlook.</p> +<p>The tour had more kinks than we were expecting today. Ray&rsquo;s been counting every glitch that he comes across today, and was up to 151 the last time I checked. &ldquo;We have all the problems of a major theme park and a major zoo and the computers aren&rsquo;t even on their feet yet&rdquo;, his exact words.</p> +<p>To be very honest, I think he gives the system way less credit than its due. Sure, it&rsquo;s far from perfect, but given the timeline, the company really spared no expense in building this place.</p> +<h4 id="sunday">Sunday</h4> +<p>HOLY FUCK! <strong>WHAT THE FUCK!</strong> FUUUUUCK!</p> +<p>I&rsquo;m writing this entry in the morning itself, as I&rsquo;m not sure if I&rsquo;m gonna find the time again. There&rsquo;s a fair chance that we&rsquo;d get shut down by tomorrow, if we don&rsquo;t get arrested or get eaten by a stray disnoaur.</p> +<p>We don&rsquo;t have a complete clarity on what&rsquo;s happening. Power went out in most of the park yesterday, and is still out. Cage fences aren&rsquo;t working, and even the phone lines are down! Wireless seems to be fucked too because of a very coincidental storm.</p> +<p>It appears that Dennis shut down the electrical grids yesterday and fled this island. No one knows why. We even seem to be locked out of the control systems. With no documentation, logs and system access, we&rsquo;re probably not gonna be fixing this anytime soon.</p> +<p>Maybe a complete system restart throughout the park would work. Not ideal, but if there&rsquo;s one thing that anyone in the IT crowd knows - it&rsquo;s that turning computers off and on again is very magical.</p> +<p>Hopefully it works. Fuck you Dennis Nedry, and fuck you John Hammond!</p>Website Updateshttps://sidverma.io/posts/website-updates/Sat, 07 Mar 2020 00:00:00 +0000https://sidverma.io/posts/website-updates/<p>Every once in a while, I get into this productivity slump where I don&rsquo;t write code for weeks, and it gets hard to get back into the rhythm of working again. For me, the easiest way out of it is to redesign this website. It&rsquo;s low-effort (relatively), gets some creative juices flowing and has little risk of not panning out ultimately.</p> +<p>And I guess it kinda worked. I spent two whole days on the redesign, and am pretty pleased with the results. Documenting the major decisions I took this time around in this post.</p>Personal infrastructure overviewhttps://sidverma.io/posts/personal-infrastructure-overview/Sat, 11 Jan 2020 00:00:00 +0000https://sidverma.io/posts/personal-infrastructure-overview/<p>Writing intros to posts is such a hard thing. I&rsquo;ve spent more time on what to write in this paragraph than the rest of this article. You&rsquo;re supposed to start with a background and a motivation, and conclude with a sentence that you finally did it, and here is how.</p> +<p>I have not <em>done it</em> yet. This thing keeps evolving. As to why I started doing this: it&rsquo;s fun. It&rsquo;s fun and powerful to be in control of where your information resides. It&rsquo;s fun to build a system to manage this efficiently. There are also some benefits too: much more control over my data and the services. These are also all open-source so I can add missing features which I really really want, and I don&rsquo;t have to abide by the restrictive terms and limits of other platforms. And I don&rsquo;t lose everything if a platform wants to shut itself down or delete my account for using their product wrong.</p>iOS Shortcuts for Firefly IIIhttps://sidverma.io/posts/firefly-iii-ios-shortcuts/Fri, 06 Dec 2019 00:00:00 +0000https://sidverma.io/posts/firefly-iii-ios-shortcuts/<p>I&rsquo;ve been using the excellent <a href="https://firefly-iii.org/" target="_blank">Firefly III</a> to manage my expenses for a while. As a result, I have developed a habit to actively monitor every transaction I do, which, in my opinion is a much better way than using other automated expense managers which can only track your non-cash expenses, without a lot of context.</p> +<p>Android had an <a href="https://f-droid.org/en/packages/xyz.hisname.fireflyiii/" target="_blank">unofficial app</a> which made it easier to interact with Firefly, but iOS doesn&rsquo;t seem to have one, and the web-ui is not a very mobile friendly one.</p> +<p>While searching for solutions, I came across <a href="https://www.jessedyck.me/2019/03/ios-shortcuts-firefly-iii/" target="_blank">this blog post by Jesse Dyck</a> where they utilised iOS Shortcuts to create transactions in Firefly. Honestly, I was pretty surprised that Shortcuts is powerful enough to do this, given Apple&rsquo;s approach to customization.</p> +<p>The shortcuts provided by Jesse didn&rsquo;t work for me (they were written for iOS 12, before Shortcuts were revamped for iOS 13), so I decided to build one for myself, with a UX more suited for my needs.</p>Moving to an iPhone (for now)https://sidverma.io/posts/iphone/Wed, 04 Dec 2019 00:00:00 +0000https://sidverma.io/posts/iphone/<p>I spent the last two days trying to switch from my three year old Oneplus 3, to a brand new iPhone 11. I thought I was probably done with expensive phones (I count Oneplus as an expensive purchase), but resigned to giving iOS a chance this time around.</p> +<p>The Oneplus has served as my phone for 33 months now, and has had its fair share of rough usage. The screen broke twice (and got replaced once). Its battery had degraded so much that I didn&rsquo;t dare go out without carrying a small sling bag with a charger and a power bank in it. Screen-on time would have been somewhere between 50-90 mins. At least it charged fast.</p> +<p>It wasn&rsquo;t a fast phone by any means anymore too, and I&rsquo;d gotten used to waiting a few seconds for apps to launch.</p> +<p>The iPhone, is a stark contrast to that. It&rsquo;s a recent phone with the latest and greatest Apple processor, and things are super fucking fast on it. I am almost in disbelief of how much the battery lasts on this thing. That carry bag isn&rsquo;t a necessity anymore (though I have gotten used to it - it came in handy a lot more times than it became a hindrance).</p>Eight months of unemployment and travelinghttps://sidverma.io/posts/8-months-unemployment-traveling/Tue, 19 Nov 2019 00:00:00 +0000https://sidverma.io/posts/8-months-unemployment-traveling/<p>In March 2019, I left my job at <a href="https://www.tower-research.com" target="_blank">Tower Research Capital</a>, to take a small break from work and live aimlessly for a while. My mental health had been declining steadily for the last few years, and going away for a while seemed like the only way out.</p>Doing sysadmin things through Terraformhttps://sidverma.io/posts/sysadmin-terraform/Fri, 15 Nov 2019 00:00:00 +0000https://sidverma.io/posts/sysadmin-terraform/<p><em>Disclaimer: I have not worked as a sysadmin anywhere in my professional life, nor do I consider myself to be very good at it.</em></p> +<p>I&rsquo;ve self-hosted a small part of my personal infrastructure (IRC bouncer, VPN server, torrent client, etc) for a while now. +These services were set up over the course of a week on the tiniest DigitalOcean instance five years ago, never to be touched again for the next three years.</p> +<p>Two years ago, at <a href="https://hackbeach.in" target="_blank">Hackbeach 2017</a>, <a href="https://twitter.com/aruns89" target="_blank">Arun Singh</a> gave a small talk on Infrastructure as code and <a href="https://www.terraform.io" target="_blank">Terraform</a>. Around then, I had recently started frequenting <a href="https://old.reddit.com/r/selfhosted" target="_blank">/r/selfhosted</a>, and decided to start self-hosting more of my services. Upon finally logging in into my server after three years, I couldn&rsquo;t understand anything about the way it was set up. Port 443 seemed to be occupied by OpenVPN (for punching through restrictive firewalls), which proxied HTTP traffic to HAProxy which proxied it to a web server, and so on.</p>Russians are harvesting our faces!https://sidverma.io/posts/faceapp-much-ado-about-nothing/Fri, 19 Jul 2019 00:00:00 +0000https://sidverma.io/posts/faceapp-much-ado-about-nothing/<br> +<video autoplay="true" loop="true" width="100%"> +<source src="https://sidverma.io/images/faceapp_old.mp4" +type="video/mp4"> +</video> +<p><a href="https://www.forbes.com/sites/johnkoetsier/2019/07/17/viral-app-faceapp-now-owns-access-to-more-than-150-million-peoples-faces-and-names/amp/?__twitter_impression=true" target="_blank">This Forbes article</a> says that Faceapp is evil because they are harvesting user-data:</p> +<blockquote> +<p>That (Faceapp&rsquo;s TOS) may not be dangerous and your likeness may stay on Amazon servers in America, as Forbes has determined, but they still own a license to do whatever they want with it. That doesn’t mean the app’s Russian parent company, Wireless Labs, will offer your face to the FSB, but it does have consequences, as PhoneArena’s Peter Kostadinov says:</p> +<blockquote> +<p>You might end up on a billboard somewhere in Moscow, but your face will most likely end up training some AI facial-recognition algorithm.</p> +</blockquote> +</blockquote> +<p>For context, here&rsquo;s the lines from <a href="https://faceapp.com/terms" target="_blank">FaceApp&rsquo;s Terms of Service</a> which are been targeted:</p> +<blockquote> +<p><sub>You grant FaceApp a perpetual, irrevocable, nonexclusive, royalty-free, worldwide, fully-paid, transferable sub-licensable license to use, reproduce, modify, adapt, publish, translate, create derivative works from, distribute, publicly perform and display your User Content and any name, username or likeness provided in connection with your User Content in all media formats and channels now known or later developed, without compensation to you. When you post or otherwise share User Content on or through our Services, you understand that your User Content and any associated information (such as your [username], location or profile photo) will be visible to the public.</sub></p> +</blockquote> +<p>In comparison, here are a few current (and one defunct) websites where users are known to share their faces quite a bit:</p>Kodi controllershttps://sidverma.io/posts/inattentional-blindness/Sat, 06 Jul 2019 00:00:00 +0000https://sidverma.io/posts/inattentional-blindness/<p>For the past five years, a Raspberry Pi, running <a href="https://kodi.tv/" target="_blank">Kodi</a>, has been attached to my TV. The Pi, TV and the software all get updated time to time, but the overall setup has been the same for most of it.</p> +<pre><code>+----+ +----+ +-----+ +| TV |----(HDMI)----| Pi |--(USB/DLNA)--| HDD | ++----+ +----+ +-----+ +</code></pre><p>Controllers I&rsquo;ve used for Kodi over the years -</p> +<ul> +<li>Desktop Keyboards (Wired/Wireless)</li> +<li>Wireless Mouse</li> +<li>Web Interface</li> +<li>Tasker scenes utilizing the web interface API</li> +<li>Kodi remote apps (for Android/iOS)</li> +<li>Emulated keyboard over SSH</li> +<li>VNC</li> +<li>Arduino based bluetooth remote</li> +<li>Game controllers</li> +</ul> +<p>Some of these were novelty ones, others were used because of circumstantial needs+availability.</p> +<p>My primary controller is the excellent app <a href="https://play.google.com/store/apps/details?id=org.leetzone.android.yatsewidgetfree" target="_blank">Yatse</a> (Lets you browse/play media on the phone itself - much faster than the TV UI). When the phone&rsquo;s not nearby, or there&rsquo;s a guest involved, I use a game controller (connected for retroPie anyway).</p> +<p>Last week, I was setting up Kodi (<a href="https://osmc.tv/" target="_blank">OSMC</a> to be exact) on my old roommate&rsquo;s Raspberry Pi. While I was installing Yatse on his phone, this other guy present there, who isn&rsquo;t familiar with the software, doesn&rsquo;t have any of the controller I know of, starts browsing movies on the TV. I look over, dumbfounded, and see him casually using the TV remote to play around in the UI.</p> +<p>Five years of having a <a href="https://en.wikipedia.org/wiki/Consumer_Electronics_Control" target="_blank">CEC</a>-compatible TV with a CEC-compatible SBC, and it never dawned on me to try the simplest UI possible - The TV remote.</p> +<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> +<iframe src="https://www.youtube.com/embed/IGQmdoK_ZfY" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video"></iframe> +</div> +<br>Minimalistic npm packages.https://sidverma.io/posts/minimal-npm-packages/Thu, 16 Aug 2018 00:00:00 +0000https://sidverma.io/posts/minimal-npm-packages/<p>A follow up to <a href="https://sidverma.io/2018/08/11/javascript-mathematical-operations/">my previous post</a>, this time we look into some of the lesser known, but widely used javascript packages.</p> +<p>Javascript&rsquo;s NPM package manager, is one of the <a href="http://www.modulecounts.com/" target="_blank">biggest and fastest growing</a> package manager out there. As of writing this:</p> +<ul> +<li>RubyGems - 145,675 (25 new packages/day)</li> +<li>PyPI - 149,111 (104 new packages/day)</li> +<li>Packagist - 191,577 (103 new packages/day)</li> +<li>Maven Central - 244,143 (149 new packages/day)</li> +<li><strong>npm - 679,009 (508 new packages/day)</strong></li> +</ul> +<p>Minimalism doesn&rsquo;t only apply to design, lifestyle and ownership, but also to code. Here are some of the most minimal packages in npm:</p>Mathematical operations on objects in javascript.https://sidverma.io/posts/javascript-mathematical-operations/Sat, 11 Aug 2018 00:00:00 +0000https://sidverma.io/posts/javascript-mathematical-operations/<p><em>All of these were executed on Node.js 6.9.1</em></p> +<pre><code>&gt; [] + [] +'' +</code></pre><p>Obviously.</p> +<pre><code>&gt; [] + {} +'[object Object]' +</code></pre><p>Less obvious, but okay.</p> +<pre><code>&gt; {} + [] +0 +</code></pre><p>Huh?</p> +<pre><code>&gt; {} + {} +'[object Object][object Object]' +</code></pre><p>Oh, fuck off.</p> +<p>I&rsquo;d rather just add strings to these from now on:</p> +<pre><code>&gt; [] + '' +'' +</code></pre><pre><code>&gt; [] + '1' +'1' +</code></pre><pre><code>&gt; [] + 'a' +'a' +</code></pre><pre><code>&gt; {} + '' +0 +</code></pre><pre><code>&gt; {} + '1' +1 +</code></pre><pre><code>&gt; {} + 'a' +NaN +</code></pre><p>Lol.</p> +<p>Okay, subtraction maybe:</p> +<pre><code>&gt; [] - [] +0 +</code></pre><pre><code>&gt; {} - {} +NaN +</code></pre><pre><code>&gt; [] - '' +'' +</code></pre><pre><code>&gt; [] - '1' +-1 +</code></pre><pre><code>&gt; [] - {} +NaN +</code></pre><p>FML.</p> +<p>But, my favorite one is this:</p> +<pre><code>&gt; {} - [] +-0 +</code></pre><p>Follow-up post: <a href="https://sidverma.io/2018/08/16/minimal-npm-packages/">Minimalistic javascript packages</a></p>The internet kind of sucks now.https://sidverma.io/posts/internet-kinda-sucks-nowadays/Tue, 10 Apr 2018 00:00:00 +0000https://sidverma.io/posts/internet-kinda-sucks-nowadays/<p><em>This is mostly a rant, over my increasing frustration with how the internet works nowadays. Maybe it&rsquo;s just nostalgia with rose-colored glasses. I still want to shout this here in this void.</em></p> +<p>I wasn&rsquo;t there during the early days of internet. The first time I went online, was probably in 2005. That&rsquo;s only a little over a decade, but I remember it way too differently from what it is now. Now, it&rsquo;s way too&hellip; homogenized is probably the right word.</p> +<p><strong>Chat sucks the most</strong>. Probably the worst victim of the walled-garden approach. +Things I have installed right now - Facebook messenger, Whatsapp, Telegram, Signal, Threema, Hangouts, Slack, AndroIRC, Riot.</p> +<p><em>At some point last year, I got fed up and turned off notifications for all of these except Telegram on my phone. I still keep them installed, but everything is pull-based now, when someone asks me to look at something.</em></p> +<p>I am not new to being on loads of platforms. A decade ago, I used to have accounts on MSN and Yahoo messenger, Google talk, (even facebook too), IRC networks, and probably a dozen I can&rsquo;t remember. But at some point, I found out about XMPP and pidgin, and how open protocols are such great things. mIRC used to be the hangout app, and pidgin the IM app. Any platform, ultimately boiled down to one of these. Then, one by one, almost everyone started killing off their XMPP gateways. They cited low volume, and lack of support for their <em>exciting and new features</em>. It&rsquo;s always animated emojis or fucking stickers. Even slack shut down their IRC gateway earlier this year.</p> +<p><em>It&rsquo;s on my To-do list to configure bitlbee and libpurple and put everything on libpurple.</em></p> +<p><strong>Communities suck too</strong>. Everything is a facebook group and a subreddit now. Forums are ghost towns in comparison. Forums, which had basic to extremely detailed information, queries, all sorted and tagged, categorized. The forums dedicated to Lost and Doctor Who were way more fun than the show itself. You go to <a href="https://reddit.com/r/startrek" target="_blank">/r/startrek</a> now, and you&rsquo;re bombarded with memes, cosplay, news about the upcoming Discovery season, theories, past episode-appreciation posts, and general rants. Feel free to try to use the broken filter-by-flair. When you visited the phpBB forum for the same, there were so many subcategories, and years old active threads with lots of archived information. There&rsquo;s one for artwork, one for theories, one for episode discussions, another for character discussion, another for fan-fiction. Karma fishing and reposts wasn&rsquo;t even a problem.</p> +<p><em>I&rsquo;m honestly surprised that XDA and DeviantArt, some of my oldest communities, have stuck around for so long.</em></p> +<p><strong>And then there&rsquo;re social networks</strong>. My friends, at the very least, don&rsquo;t &ldquo;share&rdquo; things online anymore. Everything is a carefully worded, edited, instagram-filtered broadcast to the world. Nothing feels personal. I had better communication with my deviantArt friends than I have with my facebook friends now. If I <a href="https://chrome.google.com/webstore/detail/news-feed-eradicator-for/fjcldmjmjhkklehbacihaiopjklihlgg" target="_blank">unblock my facebook news feed</a> right now, this is what I see: Random selfie #9 this week, anti-Trump news, anti-BJP news, anti-BJP posts, rants against patriarchy. Once in a while I find out something interesting about poeple: a new relationship, a new job, a new city. But everything else is just people shouting the same thing in an echo chamber. Or else, it&rsquo;s a whole lot of self-promotion.</p> +<p>I remember this being way different in 2010: There was a group for post-class hangout, another for books present in our library, and countless others. News feed used to be people sharing opinions without fear, and way less fishing for &lsquo;likes&rsquo;. People planned things using their status. Comments were more conversational than &lsquo;👍🏼&rsquo; and &lsquo;nice pic.'. All the things I despise right now did exist then, but in a far lesser amount.</p> +<p><em>I dread the day when <a href="https://np.reddit.com/r/announcements/comments/863xcj/new_addition_to_sitewide_rules_regarding_the_use/dw2rwy1/?context=3" target="_blank">reddit finally turns into a social network</a>.</em></p> +<p><strong>I also miss RSS</strong>. Nowadays, my RSS feed is just news and comics. At some point, people used to have blogspot and wordpress accounts, where they tagged posts. I subscribed to the &lsquo;travel&rsquo; feed for someone, &lsquo;personal&rsquo; of someone else, &lsquo;essays&rsquo; of the other. Now everything is just there, flat on Facebook/Twitter. Even they used to offer RSS feeds, which they phased out. Fucking twitter, where you get just one feed, with people sharing memes, jokes, news, achievements, all floating in the same cesspool of diarrhea, just begging for retweets.</p>Dumb smartphone is the best smartphone.https://sidverma.io/posts/dumb-smartphone/Thu, 04 Jan 2018 00:00:00 +0000https://sidverma.io/posts/dumb-smartphone/<p>Quick recap: I dropped my Oneplus 3 six months ago - didn&rsquo;t get it repaired for a month. Instead, carried this $10 phone with me for a while.</p> +<figure> +<img src="https://sidverma.io/images/dumbphone.jpg" +alt="My interimn phone"/> <figcaption> +<p>My interimn phone</p> +</figcaption> +</figure>Hillhacks and Hackbeachhttps://sidverma.io/posts/hillhacks-hackbeach/Tue, 10 Oct 2017 00:00:00 +0000https://sidverma.io/posts/hillhacks-hackbeach/<p>Hillhacks, <a href="https://hillhacks.in/about/" target="_blank">as defined by the website</a>:</p> +<blockquote> +<p>hillhacks is held in the lap of the stunning Dhauladhar Himalayas every summer.<br></p> +<p>People from different places, walks of life and lines of thought come together to share, collaborate and learn.<br></p> +<p>Hackers talk code. Artists share their creativity. Students join in from schools and colleges to learn new skills. Locals and globals mix and mingle. We build things like tables, hula hoops, interactive art installations, and solar lanterns. We connect. We dance and sing. Ideas emerge. Collaborations form. Lives change.<br></p> +<p>In the hacking, we get hacked ourselves.<br></p> +</blockquote> +<p>Hackbeach is the sister event of hillhacks, held in the winters, on one of India&rsquo;s coast.</p> +<p>What we don&rsquo;t have:</p> +<ul> +<li>Sponsors</li> +<li>Organizers</li> +<li>Welcome packages</li> +<li>Huge well-lit stage</li> +<li>Chairs around the said stage</li> +<li>Air conditioning</li> +<li>Booths and banners</li> +<li>T-Shirt and stickers table</li> +<li>Catered lunch</li> +<li>Coffee machine</li> +</ul> +<p>What we have:</p> +<ul> +<li>Space to camp</li> +<li>Beautiful views</li> +<li>A long unconference</li> +<li>2-4 day of main conference</li> +<li>Setup and teardown of the said conference</li> +<li>Talks and flash talks</li> +<li>Opportunities to learn new skills</li> +<li>Hackers</li> +</ul> +<p>What we might also have:</p> +<ul> +<li>Accountants, Anthropologist, Farmers, Activists, Geologists&hellip;</li> +<li>School programs to teach young kids about science and technology</li> +<li>Cooking</li> +<li>Slacklining</li> +<li>Hoola hoop lessons</li> +<li>Board/card games</li> +<li>Quiz nights</li> +<li>Hiking in the hills</li> +<li>All day swimming lessons</li> +<li>Paragliding</li> +<li>Sleeping on the sandy beaches</li> +<li>Cartons of all you can grab stickers</li> +<li>Open discusssions across a variety of subjects</li> +<li>Demostration of cool projects</li> +</ul> +<p><a href="https://hillhacks.in" target="_blank">Hillhacks</a> | <a href="https://hackbeach.in" target="_blank">Hackbeach</a></p>Link etiquettes for web developers.https://sidverma.io/posts/link-etiquettes/Wed, 02 Aug 2017 00:00:00 +0000https://sidverma.io/posts/link-etiquettes/<p>This post might seem like nitpicking, or unnecessary to a lot of people, but it&rsquo;s frustrating when links don&rsquo;t work how they&rsquo;re expected to.</p> +<ul> +<li> +<p>DO NOT use <code>&lt;span&gt;</code> or <code>&lt;div&gt;</code> tags and then proceed to handle their <code>click</code> events. Use proper <code>&lt;a&gt;</code> tags. This breaks so many things!</p> +<ul> +<li>People can&rsquo;t use them if they have disabled javascript or it just failed to load.</li> +<li>Ctrl-click will not open a new tab unless you explicitly handle the situation. (More on that below)</li> +<li>Even then, you just dumbed down your users&rsquo; context menus. No <em>Open link in new tab</em>, or <em>Copy link address</em>.</li> +<li>The same situation on mobile. Long click will copy the text instead of showing helpful actions.</li> +<li>The javascript might break, throw an unexpected error, or burn down your house, rendering that &ldquo;link&rdquo; useless.</li> +</ul> +</li> +<li> +<p>Even when you are using <code>&lt;a&gt;</code> tags:</p> +<ul> +<li>If possible, execute whatever JS you want, and then let the link do its job. Don&rsquo;t <code>preventDefault()</code> and open the link through javascript.</li> +<li>If you really have to open it through JS, take care of Ctrl-clicks. And Cmd-clicks in case of macOs. <a href="http://unixpapa.com/js/key.html" target="_blank">Old browsers might make this difficult</a>.</li> +</ul> +</li> +<li> +<p>Put <code>mailto:</code> links only where the email-id is the visible text too. <a href="mailto:foo@bar.com">foo@bar.com</a> is so much better than <a href="mailto:foo@bar.com">Contact Email</a>. Not everyone has email clients configured, and opening bulky clients when clicking a link is just bad UX. Or people might just want to note down the address, to contact later.</p> +</li> +</ul>Wi-Fi positioning woeshttps://sidverma.io/posts/wifi-positioning/Wed, 12 Jul 2017 00:00:00 +0000https://sidverma.io/posts/wifi-positioning/<p>Alice lives in India. She has super-cheap cellular internet (less than $0.2/GB on some networks). Cheap enough for it to be her daily driver, using <a href="http://www.amazon.in/D-Link-DWR-720-HSPA-Mobile-Router/dp/B00PVD1RV2" target="_blank">a</a> <a href="https://www.amazon.com/Hotspot-Unlocked-Worldwide-Huawei-E5220s-6/dp/B06XJ5NF8W/" target="_blank">number</a> <a href="https://www.amazon.com/Verizon-Wireless-LTE-Prepaid-Smartphone/dp/B014RJJXUW/" target="_blank">of</a> <a href="https://www.amazon.com/Hotspot-Unlocked-MF65-Router-Mobile/dp/B01KGCMUQ8/" target="_blank">portable</a> Wi-Fi routers, which just sit on her desk. And since it is so cheap and portable and convenient and long-lasting, she just carries it everywhere in her purse, wherever she travels.</p> +<p>Alice also faces an a peculiar amount of problems with her GPS. She could be at a crowded bus station, trying to get an Uber, or stuck in a storm, again trying to get a cab, her phone just fails to locate her correctly long enough for the app to work. Either it&rsquo;ll just be showing her previous location at the far away house, or it will keep fluctuating and jumping between her actual position, and her house. People around her sometimes get affected too. Maybe it&rsquo;s a curse.</p>STDIN inputs via Sublime Text (sort of)https://sidverma.io/posts/sublime-input/Sat, 03 Jan 2015 00:00:00 +0000https://sidverma.io/posts/sublime-input/<p>I love Sublime Text. I really do. I can put a ring on it if it had any corporeal form. I&rsquo;ve been using it so much, that trying to work on anything else is kind of a pain. And yet, when dealing with STDIN inputs, the magic falters. This method describes a workaround to give inputs without a prompt.</p> +<p>Recently, I tried my hand on Competitive Programming, and though I didn&rsquo;t get really good at it, I did encounter a frustation. Entering the same input again and again after every change I make to the code. I wanted a simpler method.</p> +<p>Here&rsquo;s what a friend of mine came up with: Enter the input in comments.</p> +<div class="highlight"><pre class="chroma"><code class="language-cpp" data-lang="cpp"><span class="cm">/*input +</span><span class="cm">2 +</span><span class="cm">foo +</span><span class="cm">bar +</span><span class="cm">*/</span> +<span class="cp">#include</span> <span class="cpf">&lt;stdio.h&gt;</span><span class="cp"> +</span><span class="cp"></span><span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span> +<span class="kt">int</span> <span class="n">n</span><span class="p">,</span><span class="n">i</span><span class="p">;</span> +<span class="kt">char</span> <span class="n">s</span><span class="p">[</span><span class="mi">10</span><span class="p">];</span> +<span class="n">scanf</span><span class="p">(</span><span class="s">&#34;%d&#34;</span><span class="p">,</span><span class="o">&amp;</span><span class="n">n</span><span class="p">);</span> +<span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o">&lt;</span><span class="n">n</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span> +<span class="n">scanf</span><span class="p">(</span><span class="s">&#34;%s&#34;</span><span class="p">,</span><span class="n">s</span><span class="p">);</span> +<span class="n">printf</span><span class="p">(</span><span class="s">&#34;%s</span><span class="se">\n</span><span class="s">&#34;</span><span class="p">,</span><span class="n">s</span><span class="p">);</span> +<span class="p">}</span> <span class="p">}</span> +</code></pre></div> +<p>gives the output:</p> +<pre><code>foo +bar +</code></pre> \ No newline at end of file diff --git a/posts/indian-electrical-sockets-is1293/index.html b/posts/indian-electrical-sockets-is1293/index.html new file mode 100644 index 0000000..fea52c6 --- /dev/null +++ b/posts/indian-electrical-sockets-is1293/index.html @@ -0,0 +1 @@ +IS 1293 : What are the different kinds of Indian electrical sockets? · Sid Verma

‹ Sid Verma

IS 1293 : What are the different kinds of Indian electrical sockets?

Mar 07, 2023

I spent a lot of time today reading the specifications of Indian electrical sockets, and since it took me way too long to find this information - here’s a quick summary of what the different kinds of sockets mean. I hope at least one other person finds this useful.

Common sockets found in India

Common sockets found in India

Indian electrical sockets are defined by the IS 1293 specification, as defined by BIS (Bureau of Indian Standards). You can find the contents of the standard here:

  • IS 1293 : 2005 - PDF of the third revision of the standard from 2005. This is not the latest version, but this is the only PDF I could find freely available.
  • IS 1293 : 2019 - You’d have to create an account to access the latest version from 2019. It is a free download after, for personal use.

The standard specifies the details of plugs and sockets used for household devices (devices which draw up to 16A current). The standard goes into details about almost every aspect of the plugs and sockets, but this article cares only about the different socket layouts.

Plugs and sockets are rated for three current classes in India - 2.5A, 6A, and 16A. There used to be a 10A class as well, but that has since been removed in the 2019 revision (it shared the same socket layout as 6A). All these sockets operate at up to 250V.

Now, onto the different sockets shown in the image above:

  • Socket I - This is a 2-pole socket, with no support for earthing. This kind of socket is only rated for up to 2.5A. Both the pins are 5.08mm wide, 15.9mm in length, and 19.10mm apart.

  • Socket II - This is a 3-pole socket, which is rated for up to 6A. It is basically the same socket layout as I, but with an additional earth pin, which is 7.06mm wide and 20.6mm long, at a distance of 22.2mm from the other two pins.

  • Socket III - This is an outdated socket. It is a combination of standard 6A Socket II, along with an old form of a 2.5A socket which had the pins 16.50mm apart. That latter one was removed from the standard in 2019, and should hardly have any supported devices nowadays.

  • Socket IV - This is a 3-pole socket, which is rated for up to 16A. All the dimensions are bigger for this socket - with the live and neutral pins being 7.06mm wide, 20.6mm long and 25.4mm apart. The earth pin is 8.71mm wide, 28.6mm long, at a distance of 28.6mm from the other two pins.

  • Socket V - This socket is a combination of socket II and socket IV. Both the plugs can be inserted in the socket, which is rated for 16A.

  • Socket VI - This is a common kind of socket found in some places, which conforms to no standard. It attempts to combine many different kinds of sockets from around the world. In India, most of these would be rated for 6A and will be compatible with Socket II. There are a lot of articles on the internet which explain why universal sockets can be unsafe, which you should look up for more info.

And that’s it. This is not my favorite kind of socket layout, but its the one we got. The best one, in my opinion is the British BS 1363 system - which requires compulsory shutters in the sockets, and the plugs have fuses built into them, as well as mandatory insulation at the base of the pins. They are also impossible to plug in sideways due to the rectangular design.


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/internet-kinda-sucks-nowadays/index.html b/posts/internet-kinda-sucks-nowadays/index.html new file mode 100644 index 0000000..6294bc5 --- /dev/null +++ b/posts/internet-kinda-sucks-nowadays/index.html @@ -0,0 +1,2 @@ +The internet kind of sucks now. · Sid Verma

‹ Sid Verma

The internet kind of sucks now.

Apr 10, 2018

This is mostly a rant, over my increasing frustration with how the internet works nowadays. Maybe it’s just nostalgia with rose-colored glasses. I still want to shout this here in this void.

I wasn’t there during the early days of internet. The first time I went online, was probably in 2005. That’s only a little over a decade, but I remember it way too differently from what it is now. Now, it’s way too… homogenized is probably the right word.

Chat sucks the most. Probably the worst victim of the walled-garden approach. +Things I have installed right now - Facebook messenger, Whatsapp, Telegram, Signal, Threema, Hangouts, Slack, AndroIRC, Riot.

At some point last year, I got fed up and turned off notifications for all of these except Telegram on my phone. I still keep them installed, but everything is pull-based now, when someone asks me to look at something.

I am not new to being on loads of platforms. A decade ago, I used to have accounts on MSN and Yahoo messenger, Google talk, (even facebook too), IRC networks, and probably a dozen I can’t remember. But at some point, I found out about XMPP and pidgin, and how open protocols are such great things. mIRC used to be the hangout app, and pidgin the IM app. Any platform, ultimately boiled down to one of these. Then, one by one, almost everyone started killing off their XMPP gateways. They cited low volume, and lack of support for their exciting and new features. It’s always animated emojis or fucking stickers. Even slack shut down their IRC gateway earlier this year.

It’s on my To-do list to configure bitlbee and libpurple and put everything on libpurple.

Communities suck too. Everything is a facebook group and a subreddit now. Forums are ghost towns in comparison. Forums, which had basic to extremely detailed information, queries, all sorted and tagged, categorized. The forums dedicated to Lost and Doctor Who were way more fun than the show itself. You go to /r/startrek now, and you’re bombarded with memes, cosplay, news about the upcoming Discovery season, theories, past episode-appreciation posts, and general rants. Feel free to try to use the broken filter-by-flair. When you visited the phpBB forum for the same, there were so many subcategories, and years old active threads with lots of archived information. There’s one for artwork, one for theories, one for episode discussions, another for character discussion, another for fan-fiction. Karma fishing and reposts wasn’t even a problem.

I’m honestly surprised that XDA and DeviantArt, some of my oldest communities, have stuck around for so long.

And then there’re social networks. My friends, at the very least, don’t “share” things online anymore. Everything is a carefully worded, edited, instagram-filtered broadcast to the world. Nothing feels personal. I had better communication with my deviantArt friends than I have with my facebook friends now. If I unblock my facebook news feed right now, this is what I see: Random selfie #9 this week, anti-Trump news, anti-BJP news, anti-BJP posts, rants against patriarchy. Once in a while I find out something interesting about poeple: a new relationship, a new job, a new city. But everything else is just people shouting the same thing in an echo chamber. Or else, it’s a whole lot of self-promotion.

I remember this being way different in 2010: There was a group for post-class hangout, another for books present in our library, and countless others. News feed used to be people sharing opinions without fear, and way less fishing for ‘likes’. People planned things using their status. Comments were more conversational than ‘👍🏼’ and ‘nice pic.'. All the things I despise right now did exist then, but in a far lesser amount.

I dread the day when reddit finally turns into a social network.

I also miss RSS. Nowadays, my RSS feed is just news and comics. At some point, people used to have blogspot and wordpress accounts, where they tagged posts. I subscribed to the ‘travel’ feed for someone, ‘personal’ of someone else, ‘essays’ of the other. Now everything is just there, flat on Facebook/Twitter. Even they used to offer RSS feeds, which they phased out. Fucking twitter, where you get just one feed, with people sharing memes, jokes, news, achievements, all floating in the same cesspool of diarrhea, just begging for retweets.


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/iphone/index.html b/posts/iphone/index.html new file mode 100644 index 0000000..70405e2 --- /dev/null +++ b/posts/iphone/index.html @@ -0,0 +1 @@ +Moving to an iPhone (for now) · Sid Verma

‹ Sid Verma

Moving to an iPhone (for now)

Dec 04, 2019

I spent the last two days trying to switch from my three year old Oneplus 3, to a brand new iPhone 11. I thought I was probably done with expensive phones (I count Oneplus as an expensive purchase), but resigned to giving iOS a chance this time around.

The Oneplus has served as my phone for 33 months now, and has had its fair share of rough usage. The screen broke twice (and got replaced once). Its battery had degraded so much that I didn’t dare go out without carrying a small sling bag with a charger and a power bank in it. Screen-on time would have been somewhere between 50-90 mins. At least it charged fast.

It wasn’t a fast phone by any means anymore too, and I’d gotten used to waiting a few seconds for apps to launch.

The iPhone, is a stark contrast to that. It’s a recent phone with the latest and greatest Apple processor, and things are super fucking fast on it. I am almost in disbelief of how much the battery lasts on this thing. That carry bag isn’t a necessity anymore (though I have gotten used to it - it came in handy a lot more times than it became a hindrance).

Comparing the front of iPhone and Oneplus phones

Shiny vs battered

Comparing the back of iPhone and Oneplus phones

I much prefer the back of the Oneplus. It looks interesting. That sticker is a washed out logo of the 34C3 F.U.C.K. assembly

Actually moving to iOS.

The first thing was setting up contacts and calendar on the iPhone. I use radicale as the CardDAV and CalDAV server to store my contacts and calendar. On Android, I had to use an app called DavX to synchronize the files, which didn’t work perfectly. Rarely ever synced in the background for me. I had to frequently open the app and manually refresh it. I was very pleased to know that iOS supported these standards natively (much like MacOS). Syncing works quite smoothly now.

Setting up Email was pretty easy too in the stock app. UI is really slick, and it sends plain-text emails by default. It’s infuriating how many clients send HTML mails by default, even when not doing any sort of formatting.

The next step would be reinstalling the iOS counterparts to all the apps I had on Android. Most of the popular apps had an iOS version themselves, which didn’t really create many issues. I had to replace few apps with different ones when they weren’t available in the App Store, but the real problem was with apps which had no replacement. This was my first frustration with the walled garden.

Replacement apps

  • Moon+ Reader → Marvin 3 - This was basically a drop-in replacement. I needed an app which could access my OPDS server, and Marvin seems to handle that really well.
  • Readable → Reeder 3 - This was my replacement for an RSS reader. I use a FreshRSS server as an aggregator and Reeder (I am using the older, free version which seems sufficient for my needs right now) has good support for Fever APIs.
  • Slide → Apollo - Slide was probably my favorite Reddit client on Android. The gestures were smooth, and it looked pretty nice. Slide for iOS had much more whitespace and had a different design which I wasn’t a big fan of. Apollo, on the other hand seemed like a much better alternative, and had a closer UX to Android’s Slide than iOS’ Slide itself.
  • Hyperlapse → Microsoft Pix - Microsoft Hyperlapse, while not a very well-designed app, was a good enough one to convert standard videos into Hyperlapse one. There’s a Hyperlapse app from Instagram on iOS, but it doesn’t let you import videos from outside, and stabilization didn’t seem to work in iPhone 11. Microsoft Pix is a complete camera app, but one of its features is converting videos to hyperlapse. That’s probably the only use I’m gonna get out of this app.
  • Juice SSH → Blink - This was also basically a drop-in (and probably better) replacement for a mosh-enabled shell. The App Store version is pretty expensive, but given that it’s an open source app, one can build it from the source and install the app.
  • Solid Explorer → Files/Airdrop - Solid explorer used to solve two problems for me. One was being a pretty solid file manager, and the other was the built-in FTP server. It was my preferred way of transferring files between my computer and phone wirelessly, without using the internet. I’m currently using the stock Files app for file management (There might be better apps out there - but this one works well for me right now), and Airdop for exchanging files with my computer. Airdrop is just so nice, man.
  • Sky map → SkyView Lite - There doesn’t seem to be a good free astronomy app for iOS, so this would have to make do for now. Stellarium is available for iPhone, but I’m putting off buying paid apps for now.
  • Revolution IRC → Lounge - I was unable to find a free and good IRC client for iOS — so, for now, I’m using a web-based Lounge instance to connect to IRC. It works pretty well, except for the fact that iOS browsers don’t support notifications yet. I’m not really bothered by that though, as I don’t like to be perma-connected to channels on my phone anyway.
  • Jellyfin → Jellyfin (web) - Jellyfin also didn’t have an iOS app, but the web interface is so good that it almost makes up for it.

These were the apps that were easy to replace. Now there were some which didn’t seem to have any sort of replacement (at least not without jailbreaking the phone – which I’m not very keen on doing right now).

  • Flud - Flud is a torrent client I used to run on my phone. It was pretty convenient to be able to download torrents on the phone without any hiccup or afterthought. Apple doesn’t seem to allow anything torrent related on their store. I, now have to use the web-ui of a torrent client hosted at my home.
  • Transdroid - Speaking of managing a hosted torrent client - Transdroid is an app which can remotely control hosted torrent clients really easily. I now have to use a web-browser for that, and most torrent clients don’t really have a mobile-friendly UI.
  • NewPipe - NewPipe is a Youtube client on steroids. It doesn’t have ads, can download videos as MP4s, can play in the background, and has an overall better interface than the official youtube app. No such replacement on iOS sadly.
  • Firefly III - I use a self-hosted version of Firefly III for managing my expenses. The web interface is not a mobile friendly one, but there were some Android apps which could connect to the API and make changes. No such things on iOS. But I did find this blog by Jesse Dyck where they utilized iOS shortcuts to interact with the server. That’s something I wanna give a try later on.
  • SMS Organizer - I am so bummed that this app is not available on iOS. SMS seems like a medium for spam these days, and SMS Organizer did a very good job silencing those messages. I am now back to blocking senders as they come to reduce spam. I’d happily block all SMS messages (I don’t really use SMS for personal communication anyway) but that doesn’t seem to be an option on iOS.
  • Google Play Services - Okay, not really sad about this. I wrote this because I’m glad to not be dependent on Google APIs anymore. There’re literally zero google apps on my phone right now, and it’s really nice.

The UX

Some things about the iPhone are really amazing. And other things, quite awful.

Right off the bat - I love the seamless clipboard syncing with macOS. Honestly, exchanging strings between the phone and computer was such a pain. My method was to use Signal’s “Note to Self” feature for this. I’ve seen others using note-app synchronizations, self-emails, etc. This seamless copy-paste is basically my favorite thing about iOS right now.

There’re also other nice integrations with macOS - Airdrop is super-nice. You can use your phone as a Wifi-hotspot without touching the phone itself. Can even accept calls right from the computer.

iOS Shortcuts seem to be pretty nice and well-integrated with Siri. Though not as powerful as Android’s Tasker - they seem to be good enough for my needs as of now.

Permissions also seem to be better managed. The ability to disallow location access in the background is something which Android should have implemented long back. I like that iOS also asks for notification permissions explicitly. Though I do miss the granular notifications permissions from Android. There, I could disable all promotional notifications, and only keep the important variety. iOS does all-or-none. And this has led to me disallowing notifications from a lot of apps. I refuse to ever receive any promotional anything ever – SMSs, emails, notifications - everything must go.

And I really really miss the customizability of Android. There just seems to be no personality on iOS home screens. Even the widgets on iOS are vastly inferior to the android ones. Also, the status bar is worthless on iOS. On Android, I can see all the apps with notifications, current network speed, ringer status, VPN status, and so many other things. iOS has just the time, network, wifi and battery.

Comparing iOS and Android home-screens

I find the latter layout much better. Everything is reachable on the bottom. The icons are nice, and there’s a play button for music right there.

The hardware

The “True Tone display” is quite nice. It matches the ambient light and temperature much better than any other phone I’ve seen. The speakers are actually great for a mobile phone. What sucks is that there is no headphone jack in this phone. This phone is thicker and heavier than my previous phone. It could have had a fucking headphone jack in it. I do use wireless headphones with my phone, but ever so often, they run out of battery, and then it’s very convenient to attach a wire and use it with that instead. I’ll probably have to buy the lightning-to-AUX dongle now - which I hear, at least has a pretty good DAC in it. Which reminds me - it sucks to move away from USB-C to the lightning port. I’d been getting closer to everything USB-C with every new hardware purchase since the past few years, and now I just took a step back due to this iPhone.

And finally, it’s laughable that Apple includes a 5W charger in the box. I hadn’t seen a 5W charger in years lol. And this, when the phone actually supports 18W fast charging. I don’t understand why they had to cheap out on this.

Comparing iPhone and Oneplus chargers

What the fuck, Apple?

I hope the good outweighs the bad in this move. It took way too much time to shift ecosystems, and I don’t want to repeat that anytime soon.


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/javascript-mathematical-operations/index.html b/posts/javascript-mathematical-operations/index.html new file mode 100644 index 0000000..6538ac4 --- /dev/null +++ b/posts/javascript-mathematical-operations/index.html @@ -0,0 +1,33 @@ +Mathematical operations on objects in javascript. · Sid Verma

‹ Sid Verma

Mathematical operations on objects in javascript.

Aug 11, 2018

All of these were executed on Node.js 6.9.1

> [] + []
+''
+

Obviously.

> [] + {}
+'[object Object]'
+

Less obvious, but okay.

> {} + []
+0
+

Huh?

> {} + {}
+'[object Object][object Object]'
+

Oh, fuck off.

I’d rather just add strings to these from now on:

> [] + ''
+''
+
> [] + '1'
+'1'
+
> [] + 'a'
+'a'
+
> {} + ''
+0
+
> {} + '1'
+1
+
> {} + 'a'
+NaN
+

Lol.

Okay, subtraction maybe:

> [] - []
+0
+
> {} - {}
+NaN
+
> [] - ''
+''
+
> [] - '1'
+-1
+
> [] - {}
+NaN
+

FML.

But, my favorite one is this:

> {} - []
+-0
+

Follow-up post: Minimalistic javascript packages


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/link-etiquettes/index.html b/posts/link-etiquettes/index.html new file mode 100644 index 0000000..db91fa6 --- /dev/null +++ b/posts/link-etiquettes/index.html @@ -0,0 +1 @@ +Link etiquettes for web developers. · Sid Verma

‹ Sid Verma

Link etiquettes for web developers.

Aug 02, 2017

This post might seem like nitpicking, or unnecessary to a lot of people, but it’s frustrating when links don’t work how they’re expected to.

  • DO NOT use <span> or <div> tags and then proceed to handle their click events. Use proper <a> tags. This breaks so many things!

    • People can’t use them if they have disabled javascript or it just failed to load.
    • Ctrl-click will not open a new tab unless you explicitly handle the situation. (More on that below)
    • Even then, you just dumbed down your users’ context menus. No Open link in new tab, or Copy link address.
    • The same situation on mobile. Long click will copy the text instead of showing helpful actions.
    • The javascript might break, throw an unexpected error, or burn down your house, rendering that “link” useless.
  • Even when you are using <a> tags:

    • If possible, execute whatever JS you want, and then let the link do its job. Don’t preventDefault() and open the link through javascript.
    • If you really have to open it through JS, take care of Ctrl-clicks. And Cmd-clicks in case of macOs. Old browsers might make this difficult.
  • Put mailto: links only where the email-id is the visible text too. foo@bar.com is so much better than Contact Email. Not everyone has email clients configured, and opening bulky clients when clicking a link is just bad UX. Or people might just want to note down the address, to contact later.


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/meta-programming-0/index.html b/posts/meta-programming-0/index.html new file mode 100644 index 0000000..1c37379 --- /dev/null +++ b/posts/meta-programming-0/index.html @@ -0,0 +1 @@ +Meta:Programming - Notes about the nature of software development · Sid Verma

‹ Sid Verma

Meta:Programming - Notes about the nature of software development

Jun 01, 2020

I’m hoping to write a blog series for my younger self. He is someone who used to look at a service and say - “I could build that over a weekend”. This is also someone who would look at a company with a small product, which rarely gets any new features, and wonder why that product needs 10 developers working fulltime on it.

I don’t plan on writing about the philosophical aspects of those questions. Maybe the weekend hack would come out better. Maybe that company is bad at resource utilization. Maybe capitalism is the root of all evil. I am taking the current state and processes at face value, and try to commentate on how and why this usually comes to be.

I hope that these posts don’t require a lot of technical knowledge, and are easily readable by beginners, or maybe non-technical folk.

  1. Decision making while writing software

Do keep in mind that these articles are restricted by my experience and perspective. If you feel that I might be wrong somewhere or am missing something important, feel free to suggest updates. The good thing about writing on the internet is that I can always update my old content.

Next : Decision making while writing software


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/meta-programming-1-making-decisions/index.html b/posts/meta-programming-1-making-decisions/index.html new file mode 100644 index 0000000..59f451b --- /dev/null +++ b/posts/meta-programming-1-making-decisions/index.html @@ -0,0 +1,2 @@ +Decision making while writing software · Sid Verma

‹ Sid Verma

Decision making while writing software

Jun 01, 2020

Post #1 in the Meta:Programming series.

Very often, a significant part of software development is making decisions between a couple of available options, over and over again.

In some areas, you would just skip the decision-making process by picking a default, which can be dictated by your experience, social circle, current market trends, or personal preference.

And conversely, sometimes you’d spent way too much time on deciding between the options, to the point of diminishing returns. This is called bikeshedding.

Consider a student, Alice, who’s just starting out as a software developer. She wants to create an Android app, for a small idea that she had. She starts with her usual first step - creating a private repository on Github, the most popular code-sharing site. Next, she goes on her favorite web-search, looks up how to build Android apps, and goes with the recommended starting point - installing a software called Android Studio.

While setting up a new project, the software offers her two choices: Which language do you want to use for writing this app - Java or Kotlin? Alice squints.

Alice went through two semesters of Java during college but had never heard of Kotlin before. She can either choose Java right now because she wants to get on with the development process, or she can spend some amount of time researching the two and make a more educated choice. Both are valid options, with their own pros and cons.

She fires up that browser again, goes through tons of search results, and decides to go with Kotlin – because she is no hurry to develop the app, and can take a small risk while using this opportunity to learn something new.

Alice&rsquo;s decision tree

Alice’s decision tree

This was the first major choice she made in the life-cycle of this software. +This is not a choice that is easily reversible down the road, and is going to affect the project for a long time. There’s a reason that developers are often seen spending large amounts of time exploring and researching different options, because the cost of changing that decision can be huge in the future. And when you do change such a decision, it leads to rewriting large chunks of code, which is best left to be discussed in a later post.

Now, if you were to take a second look at Alice’s actions so far, you’d see that this wasn’t a single choice with a long-term outcome, these were a series of choices, each with an almost equally enormous impact. Alice spent time on researching some choices, sped through some without realizing they were choices, and sped through others because she straight up accepted the prevailing common choices without dwelling too long on them. There’s a reason that some choices are so popular. This is also not something exclusive to software development, and can also be applied to life in general. Nevertheless, it certainly is something one should be actively aware of.

Let’s take another developer - Bob, who is at a different stage in his career with different sensibilities and priorities. He gets the same idea, but stops and considers a lot of different choices while arriving at the same final decision.

Bob&rsquo;s decision tree

Bob’s decision tree

Bob researches different ways to build mobile apps, looks into different frameworks, their pros and cons, takes into consideration the prospect of a future iOS application, and after balancing his priorities and current state, ends up going the same route as Alice.

But he could also have easily gone in a different direction if he had different priorities and timelines. Maybe he’d have gone with writing the app in Flutter if iOS application was a priority in the near future. Or if he was already familiar with React, and could’ve handle slight performance loss in favor of easier development, he’d have gone with React Native.

Even after spending so much time on this, Bob took shortcuts (and he spent A LOT of time on this, during which Alice might’ve already written the app). There are some frameworks he never considered. He sped through the choice of the version control because Git seemed popular and good enough so far. A different developer might have had a completely different decision tree, and would judge on different merits.

The ability to go through such a decision tree efficiently is often the difference between a junior developer and a senior one. Over time, you learn to set defaults for yourselves based on different requirements. You start to identify points that require more attention than others, and avoid bikeshedding. All this, while still being open to new options, because languages, paradigms and tools come and go at quite a fast rate. You start to compile and cache these procedures in your brain, or collaborate with other people who have gone through a similar process already.

There’s rarely is a catch-all universal answer to these choices. Some mature fields get dominated by a particular option, while others get swarmed by a number of choices, and then you start balancing the tradeoffs between them based on current requirements.


An example of choices that a former team of mine faced, which consumed multiple weeks cumulatively – Which language to use - slow loosely-typed language which has tons of frameworks vs fast strongly-typed language with slow development speed? Old featureless stable framework or the new up-and-coming featureful one with a tiny community? Which reverse proxy should we use? Do we even need a reverse proxy? Cloud or colocate? Which cloud platform? Should we worry about vendor lock-in? Kubernetes - Too complicated at this stage, or is it good to set it up early and reduce friction in the future? Which database should we use? Should we use an ORM? Which one? Which pattern to follow for writing tests? REST or GraphQL? Which monitoring stack to use?…

It is quite likely that we spent more time on making decisions than the time we’d have spent working around slightly worse choices. On the other hand, we did avoid any major revisions to the code during its lifetime, and the documentation of our research helped other teams shorten their decision-making process. It also helped newer members of our team to understand why some odd choices were made, and be more confident when making improvements to the code.

Factors which affected the above choices: The team size. The skills of the said team. The appetite for experimentation. Timeline of product launch. Minimum acceptable development speed. Ease of development vs performance of product. Testing protocols. Philosophical beliefs. Stress levels. Sleep deprivation. Is this tech cool enough to get to the Hacker News front page? Et cetera.


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/minimal-npm-packages/index.html b/posts/minimal-npm-packages/index.html new file mode 100644 index 0000000..6d61306 --- /dev/null +++ b/posts/minimal-npm-packages/index.html @@ -0,0 +1,2 @@ +Minimalistic npm packages. · Sid Verma

‹ Sid Verma

Minimalistic npm packages.

Aug 16, 2018

A follow up to my previous post, this time we look into some of the lesser known, but widely used javascript packages.

Javascript’s NPM package manager, is one of the biggest and fastest growing package manager out there. As of writing this:

  • RubyGems - 145,675 (25 new packages/day)
  • PyPI - 149,111 (104 new packages/day)
  • Packagist - 191,577 (103 new packages/day)
  • Maven Central - 244,143 (149 new packages/day)
  • npm - 679,009 (508 new packages/day)

Minimalism doesn’t only apply to design, lifestyle and ownership, but also to code. Here are some of the most minimal packages in npm:

is-false

Returns false if the value of a property is either strictly false, or it’s inverse is strictly true.

5 weekly downloads

Let’s take a look at its github repository:

Pretty standard set of files. You’ve got your test cases, test runner config, editor config, lint config, and other necessary files. Let’s look at the code:

Absolute minimalism.

 

is-even

Return true if the given number is even.

27,881 weekly downloads

This was slightly more minimalistic.

 

is-positive-integer

check if a number is a positive integer

173 weekly downloads

Oh, the beauty!*

 

More:

* The author has updated the code to a very non-minimalistic monstrosity. But for the sake of this post, we are gonna pretend that the +initial commit is where it’s at.


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/page/1/index.html b/posts/page/1/index.html new file mode 100644 index 0000000..9b22d52 --- /dev/null +++ b/posts/page/1/index.html @@ -0,0 +1 @@ +https://sidverma.io/posts/ \ No newline at end of file diff --git a/posts/personal-infrastructure-overview/index.html b/posts/personal-infrastructure-overview/index.html new file mode 100644 index 0000000..f7d4935 --- /dev/null +++ b/posts/personal-infrastructure-overview/index.html @@ -0,0 +1,15 @@ +Personal infrastructure overview · Sid Verma

‹ Sid Verma

Personal infrastructure overview

Jan 11, 2020

Writing intros to posts is such a hard thing. I’ve spent more time on what to write in this paragraph than the rest of this article. You’re supposed to start with a background and a motivation, and conclude with a sentence that you finally did it, and here is how.

I have not done it yet. This thing keeps evolving. As to why I started doing this: it’s fun. It’s fun and powerful to be in control of where your information resides. It’s fun to build a system to manage this efficiently. There are also some benefits too: much more control over my data and the services. These are also all open-source so I can add missing features which I really really want, and I don’t have to abide by the restrictive terms and limits of other platforms. And I don’t lose everything if a platform wants to shut itself down or delete my account for using their product wrong.

As for the disadvantages: Only a few services look as polished as their commercial counterparts. It costs money to host them yourself. Mobile apps are rare. You have to think about security yourself. And if things go wrong, you only have yourself to blame.


Most of my services reside across two servers, which are named HAL-9000 and SAL-9000.

HAL is a Raspberry Pi 4 connected to a single HDD, and acts as a tiny media server for personal use. It runs:

  • A samba server (allows the HDD to be available as a Windows share)
  • A DLNA server (most good media players can use this to get a media index off a server)
  • A Calibre web server (for serving eBooks indexed by Calibre)
  • Jellyfin (open source alternative to Plex, to organize media)
  • A suite of services for downloading media (Radarr, Sonarr, Jackett, Transmission)
  • Syncthing (a P2P file synchronization service)
  • Tinc VPN (to make this server reachable over the internet)
  • Some monitoring services (explained later).
HAL resides in a makeshift housing, connected to a cool status screen

HAL resides in a makeshift housing, connected to a cool status screen

SAL runs a lot more services, which I’ll refrain from listing here, as I keep adding and removing them over time. The most used ones are:

  • Mailman (for hosting a couple of private mailing lists)
  • Lounge + ZNC (A web IRC client for non-primary machines, and a bouncer for everywhere else)
  • Firefly III (Favorite expense manager)
  • Dokuwiki (As a personal knowledge base, also used as an idea-book and journal)
  • Wallabag (A self-hosted alternative to Pocket, the read-it-later thing)
  • FreshRSS (RSS reader with a decent frontend and Fever API support)
  • Radicale (A tiny cardDAV and calDAV server for syncing my contacts and calendars)
  • Kanboard (Kanban boards)
  • Tmate (an amazing tool which lets you share your current shell session with anyone else, over ssh)

The complete list of services can be found in the terraform files here.

Internal details

All of these services run in their own docker containers. This is a primary requirement for me, and I went to great lengths to make sure that nothing runs out of containers. Reasons are:

  • Easier management: I can store every configuration as static files, which can spin up and configure containers that are ready to go. I use terraform for this. Observing the state of my server becomes a breeze too.
  • Easier backups: I have to backup only the mounted volumes, which greatly reduce the backup sizes, and can be backed up predictably too.
  • Easier Upgrades: Upgrading services is as easy as updating the docker image tag. I don’t have to worry of how things might break. And if they do, I can just go back to the earlier version without a hiccup.
  • Security: Due to the isolated nature of containers, I feel much more safer running everything in containers, knowing that they don’t speak to each other unless I want them to.
  • Reproducibility: To set it up anew again, all I have to do is install and configure docker, make sure the OS itself is secure, and then my terraform files can take it from there. I rarely have to ever SSH into my host to make infrastructure changes.
  • Monitoring: A linux system in use has tons of processes running, and to monitor your services, you have to filter through everything, identify which processes are used by which service/user, and so much more. Using containers, I can just look at the resources the container uses.
Monitoring page of SAL-9000

Monitoring page of SAL-9000

How things actually connect

My home network sits behind my ISP’s NAT, so HAL cannot be reached directly from the Internet. To make it accessible, I use a VPN connection (tinc) between HAL and SAL to bridge the two servers, making HAL locally accessible from SAL. In this network, HAL gets the IP 10.0.0.2 while SAL is 10.0.0.1. This allows me to directly tunnel traffic from SAL to HAL, making it available over the internet.

Tunneling all traffic, though, would mean that services on SAL would be inaccessible. As it’s not guaranteed that all traffic can be identified, I cannot do this selectively for services too. The solution was to get a Floating IP on DigitalOcean and attach it to SAL. Floating IPs are reassignable IP addresses, which can be attached to running instances.

SAL, now has two public IP addresses, the floating IP and the instance’s own public IP. The floating IP connects to SAL through what DigitalOcean calls an Anchor IP, which is added as an alias to the default interface. Now, I can use two different IP addresses to reach my SAL. One by using the SAL‘s public IP, and the other via the floating IP (anchor IP on the instance).

                    +-------------------+
+                    |      SAL-9000     |
+                    | +---------------+ |
+                    | |    eth0       | |
+                    | |               | |
+Internet ------------>| 159.65.147.19 | |
+  |                 | | public IP     | |
+  |                 | |               | |
+  V                 | |               | |
+139.59.52.106 ------->| 10.47.0.5     | |
+Floating IP         | | anchor IP     | |
+                    | +---------------+ |
+                    +-------------------+
+

My DNS configuration says that *.hal-9000 should point to the floating IP, while *.sal-9000 should point to the SAL‘s public IP.

I use HAProxy to redirect traffic received on the anchor IP to HAL at 10.0.0.2 over the VPN, and keep the rest on the instance itself. This could be easily done with iptables too, but I wanted all configurations to live in Terraform, hence HAProxy. I’ll be switching to iptables as soon as I add support for them in the Linux Provider.

Once this step is cleared on both servers, all the traffic is forwarded to their respective docker containers. HTTP and TLS traffic, though, all goes to traefik, a reverse proxy with amazing support for Docker (with discovery), ACME, and some capable middlewares. Any contanier which needs to listen to HTTP or decrypted TCP traffic, registers itself with traefik and is ready to go. My traefik config is using Let’s Encrypt to get signed TLS certificates.

Monitoring

The following five services make up the monitoring stack of these servers:

  • prometheus as the time-series database for storing all metrics
  • node-exporter to export system metrics to prometheus
  • cadvisor exports metrics of docker containers to prometheus
  • loki for storing logs of services
  • promtail to put docker logs from the filesystem into loki

Data from both the servers’ prometheus and loki is displayed on a Grafana instance running on SAL, which is also used for some rudimentary alerting.

A friend once asked why I was using separate loki and prometheus to store data for different servers, when one could suffice. It’s so that HAL can continue to write metrics to its own databases even in case of internet disruption at my home.

Backups

I use restic to backup all my docker volumes to Backblaze. Restic is able to deduplicate blobs too, so the total capacity used for backups is less than the sum of all the backups.

Things I don’t host myself

I am using Migadu as my email provider for now, but plan to try hosting it myself on a separate server later this year. +I also use PIA as my VPN provider instead of hosting my own VPN server, mostly because I switch between regions often, and it was cheaper to use PIA than run VPN instances in different regions.

How much does it cost me?

ServiceCostNotes
Domain name$30/yearDepending on the TLD, it can be $0 to $$$
Cloud Server$240/yearI have a DigitalOcean instance with 4GB memory. A 512MB one costs $60/year
Email$48/yearI use migadu for my emails. It’s a Swiss provider which allow you to have multiple custom domains as long as you don’t send tons of emails everyday. I’d strongly recommend that you use your own domain for emails, to keep them migratory. But, if you don’t wanna shell out, you can go with free email providers too (Fastmail is pretty good), or maybe what Danny recommends if you really want that domain
Backup storage$0/yearThe 10GB free tier of Backblaze is able to store all my backups for now. It’s still pretty cheap at 0.5c/GB when it exceeds that limit though
Electricity$15/yearRaspberry Pi running at 135kWh/year at 10c/hr
VPN$40/yearI use PIA as my VPN provider. Alternatively, you can setup a VPN server on your machine too, if it fits your threat model and you don’t require all the different regions supported by PIA
Total$373/yearIf you just go with a small cloud server, and a cheap domain, you can probably bring this down to $61/year. If your home IP is not behind a NAT (static IP, or dynamic DNS), you can host this at your home too, bringing it down to just the hardware and electricity costs.

Host things yourself. It’s fun.


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/sublime-input/index.html b/posts/sublime-input/index.html new file mode 100644 index 0000000..2c070db --- /dev/null +++ b/posts/sublime-input/index.html @@ -0,0 +1,34 @@ +STDIN inputs via Sublime Text (sort of) · Sid Verma

‹ Sid Verma

STDIN inputs via Sublime Text (sort of)

Jan 03, 2015

I love Sublime Text. I really do. I can put a ring on it if it had any corporeal form. I’ve been using it so much, that trying to work on anything else is kind of a pain. And yet, when dealing with STDIN inputs, the magic falters. This method describes a workaround to give inputs without a prompt.

Recently, I tried my hand on Competitive Programming, and though I didn’t get really good at it, I did encounter a frustation. Entering the same input again and again after every change I make to the code. I wanted a simpler method.

Here’s what a friend of mine came up with: Enter the input in comments.

/*input
+2
+foo
+bar
+*/
+
+#include <stdio.h>
+int main() {
+  int n,i;
+  char s[10];
+  scanf("%d",&n);
+  for(i=0;i<n;i++) {
+    scanf("%s",s);
+    printf("%s\n",s);
+} }
+

gives the output:

foo
+bar
+

I wrote up a quick and really dirty plugin to do it for Python, and though it was rather clunky, I had a rough idea of what I wanted, and how to do it. Pipes! Good ol’ pipes!

Now, what I had was a clunky implementation which just executes the following command:

echo "input" | python program.py

I started jotting down a list of things I needed to add to the plugin. The first thing was to make the execution asynchronous. I couldn’t let the whole editor hang when a program’s under execution. Also, to be able to kill programs. And proper error reporting, platform independency, etc.

It turns out all these things were already implemented, in the default build system of Sublime Text itself. I decided to merge my plugin it.

Apart from things like input extraction, handling filenames, the behavious of things in Windows, etc, the main trick was changing

self.proc = subprocess.Popen(["/bin/bash", "-c", shell_cmd],
+                             stdout=subprocess.PIPE,
+                             stderr=subprocess.PIPE,
+                             startupinfo=startupinfo,
+                             env=proc_env,
+                             shell=False)

to

echo_input = subprocess.Popen('echo "' + user_input + '"',
+                              stderr=subprocess.STDOUT,
+                              stdout=subprocess.PIPE,
+                              shell=True)
+
+self.proc  = subprocess.Popen(["/bin/bash", "-c", shell_cmd],
+                              stdin=echo_input.stdout, #Input
+                              stdout=subprocess.PIPE,
+                              stderr=subprocess.PIPE,
+                              startupinfo=startupinfo,
+                              env=proc_env,
+                              shell=False)

A few other fixes, and the whole thing was running smooth as butter. No more rapid switching between the Console and Sublime Text to execute a program.


The plugin has now been nicely packaged and uploaded. It can easily be installed via Package Control, and the source is available on Github.


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/sysadmin-terraform/index.html b/posts/sysadmin-terraform/index.html new file mode 100644 index 0000000..279d879 --- /dev/null +++ b/posts/sysadmin-terraform/index.html @@ -0,0 +1,2 @@ +Doing sysadmin things through Terraform · Sid Verma

‹ Sid Verma

Doing sysadmin things through Terraform

Nov 15, 2019

Disclaimer: I have not worked as a sysadmin anywhere in my professional life, nor do I consider myself to be very good at it.

I’ve self-hosted a small part of my personal infrastructure (IRC bouncer, VPN server, torrent client, etc) for a while now. +These services were set up over the course of a week on the tiniest DigitalOcean instance five years ago, never to be touched again for the next three years.

Two years ago, at Hackbeach 2017, Arun Singh gave a small talk on Infrastructure as code and Terraform. Around then, I had recently started frequenting /r/selfhosted, and decided to start self-hosting more of my services. Upon finally logging in into my server after three years, I couldn’t understand anything about the way it was set up. Port 443 seemed to be occupied by OpenVPN (for punching through restrictive firewalls), which proxied HTTP traffic to HAProxy which proxied it to a web server, and so on.

I didn’t quite remember how I had set it up, which configurations should be where, and had to go through quite some documentation to get up to speed on navigating the system.

This reminded me of the very similar problems that Arun had mentioned, which Terraform was trying to solve. I decided to give it a go, using the Docker provider to manage all the services.

This led to me reworking my entire infrastructure, where every service was deployed via Docker, and managed by Terraform. This included monitoring infrastructure, an RSS reader, a VPN server, a mailing list, etc. Later on, I also started managing my home-server (mostly media related services) with Docker and Terraform, with the former server acting as the edge node of it. Even the DNS rules related to the infrastructure (domain names of the various services, mail-server related records, etc) are now managed by Terraform using the Cloudflare provider.

Even after all this, I noticed that I sometimes still had to SSH into my server to setup some new services. Upon identifying those, they mostly seemed to be creating users+groups, creating some folders with special permissions, modifying iptables rules, and cleaning up after the services I’d removed – deleting the associated users and files/folders they left behind on mounted volumes.

This has led to me writing a provider, which I have crudely named Linux Provider. I am aware that this is not remotely accurate name. If you have a better but not restrictive name, feel free to me.

As I am currently the only user I know who uses it ⁠— It mostly utilizes commands found in some common linux distros. Mine are Ubuntu and Raspbian.

I have now arrived at a state where I don’t ever (almost) have to SSH into my server, to set up, modify, or completely remove a service. I can just delete mailman.tf and everything related to the setup of my mailserver will be removed from the system (almost again - explanation below). And I can see everything about my configuration in just a single folder, while navigating around using simple grep commands.

Explanation for (almost): I am still working on adding more capabilities to the provider. I still have to sometimes login into the machine modify firewall rules, if dealing with a non-HTTP service. Also note that my motivation is not to never use SSH; it is to make the configuration powerful enough that it doesn’t need me to.

Links to the code:

  • Terraform Linux Provider - As of writing this, it supports connecting to the client with SSH (key-based or password-based), and manage CRUD operations on files, folders, users and groups. Will keep working on improving this to add more resources.
  • Terraform code of the infrastructure - This contains two terraform modules (folders, basically), HAL-9000 and SAL-9000. The former is my home-server, a Raspberry Pi 4, and the latter is a DigitalOcean instance (a basic 4GB RAM one, costs around $20 per month). The home-server runs services like Kodi for media browsing, samba server for sharing the media as a Windows Network Share with everyone connected on the Wi-Fi, monitoring infrastructure, etc. The cloud server would have much more services like a wiki server, IRC clients and bouncer, Finances and social management server, Kanban board, VSCode editor, Wallabag (Pocket alternative), CalDAV and CardDav servers, and some more.

I have shown this to some of my DevOps friends, and not everyone seems to be a fan of it. Common complaints were “too much abstraction”, which I somewhat agree with, but am fine with, as the pros outweigh the cons for me.

Another complaint was that this was adding an unnecessary tool to a system which is usually pretty minimal (just SSH into a server, run a few commands, and log out). My take is that since this works in an agentless way, I can always move back if I ever needed to. This gives me an added benefit of using version control to see the system history (and revert changes), have all services+configs be reproducible and in a single folder, and be able to browse my system in a safe and easy way.

If you too have some strong reasons about this should not be done, feel free to tell me through .


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/website-updates/index.html b/posts/website-updates/index.html new file mode 100644 index 0000000..c9f3a69 --- /dev/null +++ b/posts/website-updates/index.html @@ -0,0 +1 @@ +Website Updates · Sid Verma

‹ Sid Verma

Website Updates

Mar 07, 2020

Every once in a while, I get into this productivity slump where I don’t write code for weeks, and it gets hard to get back into the rhythm of working again. For me, the easiest way out of it is to redesign this website. It’s low-effort (relatively), gets some creative juices flowing and has little risk of not panning out ultimately.

And I guess it kinda worked. I spent two whole days on the redesign, and am pretty pleased with the results. Documenting the major decisions I took this time around in this post.

This page (in spirit, anyway) throughout the years

This page (in spirit, anyway) throughout the years

Switching from Jekyll to Hugo

The previous version of this blog was built using Jekyll, with a modified Lanyon theme(I added support for photo albums to it). But I was slowly getting tired of Jekyll, where it was getting in the way more often than facilitating things. Perhaps the only reason I was using it was because Github Pages supported building Jekyll projects by default, and I didn’t wanna run a CI server just for this. And I like not having to build and push the compiled HTML myself, as it removes some of the environment flexibility that I enjoy.

This time I went with Hugo to generate the blog, and am definitely more comfortable in it than with Jekyll. Quick rundown of differences I encountered:

  • Hugo is a magnitudes faster than Jekyll when building websites
  • Hugo is written in golang, which I’m very comfortable with (unlike Jekyll’s ruby), so I can browse through the code and patch bugs myself
  • Hugo has better built-ins like support for image manipulation, third-party markup shortcuts, etc
  • Hugo has a better directory structure than Jekyll, imo
  • Hugo has as better documentation than Jekyll, but is still hard to browse. Almost every documentation should have a ‘References’ section where you can find every function of every type in a single webpage. Hugo doesn’t have that.
  • Hugo’s templating language is slightly worse than Jekyll’s liquid syntax though. Liquid feels more explicit, and has saner scoping of variables than Hugo’s.
  • Hugo is relatively newer and hence, doesn’t have a very mature API. I often needed to do iffy hacks to get some things done (simple things like getting the current url in a paginated page)

As for generating and hosting the blog, I am sticking with Github Pages behind Cloudflare SSL for now, while using Github Actions to generate the final HTML from source. With those 2,000 free minutes per month, and how quick Hugo is, that’s almost 2,000 times I can compile this blog every month for free.

The theme

Switching from Jekyll to Hugo didn’t take a lot of time. They both take markdown files as a source, so it was just moving and renaming those files with some minor templating changes for Hugo’s Goldmark renderer.

Most of the time was spending on writing the website template, where I reconsidered all the extra standard junk content one puts in for SEO and general fanciness. Over the last few year, I’ve had a growing disdain for how complex and heavy simple webpages have become, with not much need or demand to do so. I really wanted to keep this theme very low on resources, and work perfectly with the simple lynx browser.

This theme is built from the ground-up without any frameworks. It also has:

  • No excess of <meta> tags. Just the one to define the viewport for mobile devices. Search engines stopped caring much about your keywords and description tags long ago with SEO shops propping up on every corner of the street.
    • No og: or twitter: meta tags either. Most social networks would pick up the title and an excerpt from the page itself. Twitter doesn’t, but I’m okay with that. That’s twitter’s decision, and I am not comfortable with adding tags to “attract attention” to a tweet.
  • No heavy apple-touch-icon images. For some reason, browsers do load the image without needing to. If it’s not a web-app which someone would pin to their homescreen, that tag is almost unnecessary, and just additional weight.
  • No essential javascript. I am not anti-javascript, but I do like to browse the web with javascript disabled by default. Most tracking, ads, popups and floating ‘SUBSCRIBE TO OUR NEWSLETTER NOW PLEASE’ banners go away without javascript.
    • The only javascript I have is for a fancy link in the footer and on the homepage. If you click on that link, the text changes to display my email-id (with a standard mailto: link). If you have javascript disabled, it redirects the user to the Contact page which has my email. Also, the email is loaded in the webpage as base64 encoded string, so simple bots shouldn’t be able to extract it and spam you. The reason for this is in the last point here.
  • Minimal @media CSS rules. This keeps the style simpler and smaller. This webpage was responsive without those 9 lines of media queries, but I chose to decrease the font size a bit for tiny devices. Using em as the unit in most of the stylesheet changes margins and paddings proportionally for the rest of the page.
  • No external fonts. System fonts are good enough on most devices. And a user is very used to seeing them everywhere anyway, so it’s less of a jarring experience.
  • Unicode symbols instead of Font Awesome symbols. Font Awesome is pretty nice, but I didn’t feel the huge need to load external font-files or glyphs to display a tiny amount of basic symbols. Unicode has a lot of characters available, and even more as emojis. The “tag” icon at the bottom of the post is U+1F3F7. The left angle on this webpage’s top-left corner is U+2039. For more complex shapes, I’m gonna still look at inline SVG symbols and CSS magic until I start getting diminishing returns. Also, writing ‘Github’ instead of displaying the Github logo can be cleaner.
  • Minimal chrome. The website title stays in a corner, slightly smaller than the article title. From then on, front and center is the blog title, the date, and the content. The footer includes the ‘about’ content, which is displayed only on blog posts and not on any other page, except on the top of the homepage, well, because it is the homepage.
  • No trackers. I don’t really need analytics on this personal blog, and not a lot of people do. So, enjoy a little more private web while you’re here.

The main goal of this theme was to design what I would personally like to browse on, rather than try to get the highest retention and the lowest bounce rates by using increasingly complex and heavy assets. As of writing this, the homepage of this website is 6.60 KB gzipped. If you want to test this out, the hugo theme is called Rocinante and is available here.


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/posts/wifi-positioning/index.html b/posts/wifi-positioning/index.html new file mode 100644 index 0000000..e8de2bc --- /dev/null +++ b/posts/wifi-positioning/index.html @@ -0,0 +1 @@ +Wi-Fi positioning woes · Sid Verma

‹ Sid Verma

Wi-Fi positioning woes

Jul 12, 2017

Alice lives in India. She has super-cheap cellular internet (less than $0.2/GB on some networks). Cheap enough for it to be her daily driver, using a number of portable Wi-Fi routers, which just sit on her desk. And since it is so cheap and portable and convenient and long-lasting, she just carries it everywhere in her purse, wherever she travels.

Alice also faces an a peculiar amount of problems with her GPS. She could be at a crowded bus station, trying to get an Uber, or stuck in a storm, again trying to get a cab, her phone just fails to locate her correctly long enough for the app to work. Either it’ll just be showing her previous location at the far away house, or it will keep fluctuating and jumping between her actual position, and her house. People around her sometimes get affected too. Maybe it’s a curse.

For most people, device positioning is synonymous with GPS. But these days, GPS is the last thing a smartphone checks when trying to locate itself. GPS takes some time to obtain a good fix, and drains a lot of battery. In contrasts, a lot of your phone radios are less power-hungry and always on. Mostly, it’s a combination of cellular, bluetooth and Wi-Fi. Basically, the signal strength from different cell towers help triangulate your approximate location. Some BLE devices can also advertise their location to nearby devices.

Apart from these, Companies like Google/Apple/Microsoft/Skyhook maintain a huge list of (Wi-Fi SSID + MAC) => Location combinations to find your location. You might have noticed your phone telling you to switch on Wi-Fi for more accurate positioning at some point. This is why. This method quite is power efficient, and quick. And in most cases, very accurate.

Note: This is one of the primary uses of Google Location Service on Android.

In our character’s case though, Alice’s wifi router normally always resides on her desk, at her home. The device has the MAC Address AB:CD:EF:GH:IJ:KL. It’s boring SSID is Alice's Wifi. Now, a lot of smartphones around her will be reporting this MAC+SSID combination to some server, along with their location. Alice, her guests, her neighbours, almost everyone around her. They don’t need to be connected to the network. Her router getting scanned is enough.

So, when travelling with the said hotspot on in her purse, if she tries using some location-requiring app, her phone gets wrong/conflicting location data. Depending on the neighboring conditions (the GPS strength, other Wi-Fi networks nearby, etc), she may see her actual location, or her far-away home, or even jumping between the currnt position and her home.

If you find yourself in such a situation and own the culprit router, just change the network name. This should solve the problem for you and people around you. Also, if you don’t have control over the router, try switching your phone from from A-GPS to GPS-only temporarily. It might be slow and power-hungry, but is accurate. Disabling your Wi-Fi doesn’t always prevent it from scanning for networks.

Example of Android&rsquo;s location settings

Example of Android’s location settings

BTW, this is also how your PCs sometimes know their location. Eg— when you visit Google Maps on the desktop.


Hey friend. I’m Sid.

This is my home on the internet. Come, have a tour. Please leave your shoes at the door.

I work with technology for a living - mostly as a software engineer. Some details are available in the resume below. In addition, I’m interested in filmmaking, tinkering with electronics, and building a decentralized internet.

I also like trees.

Email me if you’d like to work together. Or if you just wanna chat.

\ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..6dbe8d9 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1 @@ +https://sidverma.io/posts/indian-electrical-sockets-is1293/2023-03-07T00:00:00+00:00https://sidverma.io/posts/2023-03-07T00:00:00+00:00https://sidverma.io/2023-03-07T00:00:00+00:00https://sidverma.io/tags/2023-03-07T00:00:00+00:00https://sidverma.io/tags/tech/2023-03-07T00:00:00+00:00https://sidverma.io/posts/homelab-mesh-vpn/2023-01-03T00:00:00+00:00https://sidverma.io/tags/homelab/2023-01-03T00:00:00+00:00https://sidverma.io/tags/house/2022-12-01T00:00:00+00:00https://sidverma.io/photos/house22/2022-12-01T00:00:00+00:00https://sidverma.io/photos/2022-12-01T00:00:00+00:00https://sidverma.io/posts/meta-programming-1-making-decisions/2020-06-01T01:00:00+00:00https://sidverma.io/posts/meta-programming-0/2020-06-01T00:00:00+00:00https://sidverma.io/posts/diary-of-a-new-employee/2020-05-04T00:00:00+00:00https://sidverma.io/tags/humor/2020-05-04T00:00:00+00:00https://sidverma.io/posts/website-updates/2020-03-07T00:00:00+00:00https://sidverma.io/posts/personal-infrastructure-overview/2020-01-11T00:00:00+00:00https://sidverma.io/posts/firefly-iii-ios-shortcuts/2019-12-06T00:00:00+00:00https://sidverma.io/posts/iphone/2019-12-04T00:00:00+00:00https://sidverma.io/photos/backpacking19/2019-12-01T00:00:00+00:00https://sidverma.io/tags/travel/2019-12-01T00:00:00+00:00https://sidverma.io/posts/8-months-unemployment-traveling/2019-11-19T00:00:00+00:00https://sidverma.io/posts/sysadmin-terraform/2019-11-15T00:00:00+00:00https://sidverma.io/photos/ziro19/2019-09-26T00:00:00+00:00https://sidverma.io/posts/faceapp-much-ado-about-nothing/2019-07-19T00:00:00+00:00https://sidverma.io/posts/inattentional-blindness/2019-07-06T00:00:00+00:00https://sidverma.io/photos/andaman19/2019-06-01T00:00:00+00:00https://sidverma.io/photos/hillhacks19/2019-05-01T00:00:00+00:00https://sidverma.io/tags/conferences/2019-05-01T00:00:00+00:00https://sidverma.io/photos/goa19/2019-01-01T00:00:00+00:00https://sidverma.io/photos/hackbeach18/2018-11-01T00:00:00+00:00https://sidverma.io/photos/ziro18/2018-09-01T00:00:00+00:00https://sidverma.io/posts/minimal-npm-packages/2018-08-16T00:00:00+00:00https://sidverma.io/posts/javascript-mathematical-operations/2018-08-11T00:00:00+00:00https://sidverma.io/photos/leh18/2018-06-01T00:00:00+00:00https://sidverma.io/photos/hillhacks18/2018-05-01T00:00:00+00:00https://sidverma.io/posts/internet-kinda-sucks-nowadays/2018-04-10T00:00:00+00:00https://sidverma.io/posts/dumb-smartphone/2018-01-04T00:00:00+00:00https://sidverma.io/photos/jaisalmer18/2018-01-01T00:00:00+00:00https://sidverma.io/photos/hackbeach17/2017-11-01T00:00:00+00:00https://sidverma.io/posts/hillhacks-hackbeach/2017-10-10T00:00:00+00:00https://sidverma.io/posts/link-etiquettes/2017-08-02T00:00:00+00:00https://sidverma.io/posts/wifi-positioning/2017-07-12T00:00:00+00:00https://sidverma.io/photos/hillhacks17/2017-05-01T00:00:00+00:00https://sidverma.io/posts/sublime-input/2015-01-03T00:00:00+00:00https://sidverma.io/categories/https://sidverma.io/contact/https://sidverma.io/games/ \ No newline at end of file diff --git a/tags/conferences/index.html b/tags/conferences/index.html new file mode 100644 index 0000000..0631b77 --- /dev/null +++ b/tags/conferences/index.html @@ -0,0 +1,12 @@ +Conferences · Sid Verma

‹ Sid Verma

Tags › Conferences


\ No newline at end of file diff --git a/tags/conferences/index.xml b/tags/conferences/index.xml new file mode 100644 index 0000000..0c7b09a --- /dev/null +++ b/tags/conferences/index.xml @@ -0,0 +1,50 @@ +Conferences on Sid Vermahttps://sidverma.io/tags/conferences/Recent content in Conferences on Sid VermaHugo -- gohugo.ioen-usWed, 01 May 2019 00:00:00 +0000(Hillhikes and) Hillhacks 2019https://sidverma.io/photos/hillhacks19/Wed, 01 May 2019 00:00:00 +0000https://sidverma.io/photos/hillhacks19/<p>It felt disingenuous to just call this album Hillhacks 2019, given the extreme lack of actual conference photos here. The main motive of venturing out was Hillhacks, but the hikes we padded it with were much more photogenic.</p>Hackbeach 2018https://sidverma.io/photos/hackbeach18/Thu, 01 Nov 2018 00:00:00 +0000https://sidverma.io/photos/hackbeach18/<p>Hackbeach revisited the previous venue too in 2018. The water was way calmer, and almost every attendee learned to swim at least to a basic level in the ocean.</p>Hillhacks 2018https://sidverma.io/photos/hillhacks18/Tue, 01 May 2018 00:00:00 +0000https://sidverma.io/photos/hillhacks18/<p>Hillhacks repeats the venue in 2018, hence slightly easier to organise.</p>Hackbeach 2017https://sidverma.io/photos/hackbeach17/Wed, 01 Nov 2017 00:00:00 +0000https://sidverma.io/photos/hackbeach17/<p>Hackbeach 2017 happened right at the main beach in Gokarna.</p>Hillhacks and Hackbeachhttps://sidverma.io/posts/hillhacks-hackbeach/Tue, 10 Oct 2017 00:00:00 +0000https://sidverma.io/posts/hillhacks-hackbeach/<p>Hillhacks, <a href="https://hillhacks.in/about/" target="_blank">as defined by the website</a>:</p> +<blockquote> +<p>hillhacks is held in the lap of the stunning Dhauladhar Himalayas every summer.<br></p> +<p>People from different places, walks of life and lines of thought come together to share, collaborate and learn.<br></p> +<p>Hackers talk code. Artists share their creativity. Students join in from schools and colleges to learn new skills. Locals and globals mix and mingle. We build things like tables, hula hoops, interactive art installations, and solar lanterns. We connect. We dance and sing. Ideas emerge. Collaborations form. Lives change.<br></p> +<p>In the hacking, we get hacked ourselves.<br></p> +</blockquote> +<p>Hackbeach is the sister event of hillhacks, held in the winters, on one of India&rsquo;s coast.</p> +<p>What we don&rsquo;t have:</p> +<ul> +<li>Sponsors</li> +<li>Organizers</li> +<li>Welcome packages</li> +<li>Huge well-lit stage</li> +<li>Chairs around the said stage</li> +<li>Air conditioning</li> +<li>Booths and banners</li> +<li>T-Shirt and stickers table</li> +<li>Catered lunch</li> +<li>Coffee machine</li> +</ul> +<p>What we have:</p> +<ul> +<li>Space to camp</li> +<li>Beautiful views</li> +<li>A long unconference</li> +<li>2-4 day of main conference</li> +<li>Setup and teardown of the said conference</li> +<li>Talks and flash talks</li> +<li>Opportunities to learn new skills</li> +<li>Hackers</li> +</ul> +<p>What we might also have:</p> +<ul> +<li>Accountants, Anthropologist, Farmers, Activists, Geologists&hellip;</li> +<li>School programs to teach young kids about science and technology</li> +<li>Cooking</li> +<li>Slacklining</li> +<li>Hoola hoop lessons</li> +<li>Board/card games</li> +<li>Quiz nights</li> +<li>Hiking in the hills</li> +<li>All day swimming lessons</li> +<li>Paragliding</li> +<li>Sleeping on the sandy beaches</li> +<li>Cartons of all you can grab stickers</li> +<li>Open discusssions across a variety of subjects</li> +<li>Demostration of cool projects</li> +</ul> +<p><a href="https://hillhacks.in" target="_blank">Hillhacks</a> | <a href="https://hackbeach.in" target="_blank">Hackbeach</a></p>Hillhacks 2017https://sidverma.io/photos/hillhacks17/Mon, 01 May 2017 00:00:00 +0000https://sidverma.io/photos/hillhacks17/<p>Some Hillhacks 2017 photos and even more from a stop at Dharamshala and some hills.</p> \ No newline at end of file diff --git a/tags/conferences/page/1/index.html b/tags/conferences/page/1/index.html new file mode 100644 index 0000000..41c91c6 --- /dev/null +++ b/tags/conferences/page/1/index.html @@ -0,0 +1 @@ +https://sidverma.io/tags/conferences/ \ No newline at end of file diff --git a/tags/homelab/index.html b/tags/homelab/index.html new file mode 100644 index 0000000..f169e04 --- /dev/null +++ b/tags/homelab/index.html @@ -0,0 +1,4 @@ +homelab · Sid Verma

‹ Sid Verma

Tags › homelab


\ No newline at end of file diff --git a/tags/homelab/index.xml b/tags/homelab/index.xml new file mode 100644 index 0000000..c5e4de1 --- /dev/null +++ b/tags/homelab/index.xml @@ -0,0 +1,9 @@ +homelab on Sid Vermahttps://sidverma.io/tags/homelab/Recent content in homelab on Sid VermaHugo -- gohugo.ioen-usTue, 03 Jan 2023 00:00:00 +0000Comparing tools to connect your devices in a mesh VPNhttps://sidverma.io/posts/homelab-mesh-vpn/Tue, 03 Jan 2023 00:00:00 +0000https://sidverma.io/posts/homelab-mesh-vpn/<p>I have a nice little computer in my house which hosts a bunch of services I use. It sits behind a NAT, so I can&rsquo;t connect directly to it via my public IP address. Hence, I use a cheap cloud instance on DigitalOcean to act as the gateway for my home-server to the internet.</p> +<p>My <a href="https://sidverma.io/2020/01/11/personal-infrastructure-overview/#how-things-actually-connect">previous setup</a> was basically a VPN tunnel between a cloud server and my home server, where the cloud server forwarded TCP traffic to my home server, which served all my services.</p> +<p>Lately, I&rsquo;ve been rebuilding this infrastructure, and one of the things I was due for, is to have all my devices (my cloud server, home server, laptop, phone, etc) connected to each other all the time. Also, it needed to be in a mesh instead of hub-and-spoke, as there was no need for data to go over the internet if I&rsquo;m home, on the same physical network as my home-server.</p> +<p>I spent a good amount of time trying out a bunch of methods, until settling on one. This post runs through all the options I found, and why I chose what I chose. I won&rsquo;t go into how to set it up - there should be plenty of articles and documentation on the internet. +TLDR: I now use tailscale with a headscale server.</p>Personal infrastructure overviewhttps://sidverma.io/posts/personal-infrastructure-overview/Sat, 11 Jan 2020 00:00:00 +0000https://sidverma.io/posts/personal-infrastructure-overview/<p>Writing intros to posts is such a hard thing. I&rsquo;ve spent more time on what to write in this paragraph than the rest of this article. You&rsquo;re supposed to start with a background and a motivation, and conclude with a sentence that you finally did it, and here is how.</p> +<p>I have not <em>done it</em> yet. This thing keeps evolving. As to why I started doing this: it&rsquo;s fun. It&rsquo;s fun and powerful to be in control of where your information resides. It&rsquo;s fun to build a system to manage this efficiently. There are also some benefits too: much more control over my data and the services. These are also all open-source so I can add missing features which I really really want, and I don&rsquo;t have to abide by the restrictive terms and limits of other platforms. And I don&rsquo;t lose everything if a platform wants to shut itself down or delete my account for using their product wrong.</p>Doing sysadmin things through Terraformhttps://sidverma.io/posts/sysadmin-terraform/Fri, 15 Nov 2019 00:00:00 +0000https://sidverma.io/posts/sysadmin-terraform/<p><em>Disclaimer: I have not worked as a sysadmin anywhere in my professional life, nor do I consider myself to be very good at it.</em></p> +<p>I&rsquo;ve self-hosted a small part of my personal infrastructure (IRC bouncer, VPN server, torrent client, etc) for a while now. +These services were set up over the course of a week on the tiniest DigitalOcean instance five years ago, never to be touched again for the next three years.</p> +<p>Two years ago, at <a href="https://hackbeach.in" target="_blank">Hackbeach 2017</a>, <a href="https://twitter.com/aruns89" target="_blank">Arun Singh</a> gave a small talk on Infrastructure as code and <a href="https://www.terraform.io" target="_blank">Terraform</a>. Around then, I had recently started frequenting <a href="https://old.reddit.com/r/selfhosted" target="_blank">/r/selfhosted</a>, and decided to start self-hosting more of my services. Upon finally logging in into my server after three years, I couldn&rsquo;t understand anything about the way it was set up. Port 443 seemed to be occupied by OpenVPN (for punching through restrictive firewalls), which proxied HTTP traffic to HAProxy which proxied it to a web server, and so on.</p> \ No newline at end of file diff --git a/tags/homelab/page/1/index.html b/tags/homelab/page/1/index.html new file mode 100644 index 0000000..e7a181d --- /dev/null +++ b/tags/homelab/page/1/index.html @@ -0,0 +1 @@ +https://sidverma.io/tags/homelab/ \ No newline at end of file diff --git a/tags/house/index.html b/tags/house/index.html new file mode 100644 index 0000000..1960985 --- /dev/null +++ b/tags/house/index.html @@ -0,0 +1,3 @@ +House · Sid Verma

‹ Sid Verma

Tags › House


\ No newline at end of file diff --git a/tags/house/index.xml b/tags/house/index.xml new file mode 100644 index 0000000..4134371 --- /dev/null +++ b/tags/house/index.xml @@ -0,0 +1 @@ +House on Sid Vermahttps://sidverma.io/tags/house/Recent content in House on Sid VermaHugo -- gohugo.ioen-usThu, 01 Dec 2022 00:00:00 +0000House tourhttps://sidverma.io/photos/house22/Thu, 01 Dec 2022 00:00:00 +0000https://sidverma.io/photos/house22/<p>I moved into a much older house in Goa earlier this year, and had a lot of fun these past months setting it up and wiring it down. It&rsquo;s very janky, dusty, and lovely.</p> \ No newline at end of file diff --git a/tags/house/page/1/index.html b/tags/house/page/1/index.html new file mode 100644 index 0000000..45a5c0b --- /dev/null +++ b/tags/house/page/1/index.html @@ -0,0 +1 @@ +https://sidverma.io/tags/house/ \ No newline at end of file diff --git a/tags/humor/index.html b/tags/humor/index.html new file mode 100644 index 0000000..9039a9b --- /dev/null +++ b/tags/humor/index.html @@ -0,0 +1,2 @@ +humor · Sid Verma

‹ Sid Verma

Tags › humor


\ No newline at end of file diff --git a/tags/humor/index.xml b/tags/humor/index.xml new file mode 100644 index 0000000..a652e9a --- /dev/null +++ b/tags/humor/index.xml @@ -0,0 +1,24 @@ +humor on Sid Vermahttps://sidverma.io/tags/humor/Recent content in humor on Sid VermaHugo -- gohugo.ioen-usMon, 04 May 2020 00:00:00 +0000Diary of a new employeehttps://sidverma.io/posts/diary-of-a-new-employee/Mon, 04 May 2020 00:00:00 +0000https://sidverma.io/posts/diary-of-a-new-employee/<h4 id="monday">Monday</h4> +<p>Today was my first day at this stealth startup. The boss (CEO) is a dick, but we&rsquo;re building great stuff. The physical entertainment/tourism industry is a huge market, and it&rsquo;s very possible that we&rsquo;re going to be the next Disneyworld.</p> +<h4 id="tuesday">Tuesday</h4> +<p>Surprisingly, I feel halfway through my induction already. Things happen at such a fast pace here that it&rsquo;s a bit exhilarating. Some areas definitely need much more oversight though. Just a few weeks ago, a field employee had an accident, which led to us getting sued for millions of $$. Thank fuck for insurance.</p> +<p>In other news, I met the rest of the systems team today. I was expecting to go through some sort of imposter syndrome, working in such a lean team, but looks like that these guys aren&rsquo;t that much better than me. Except for Dennis, Dennis is the <em>GOAT</em>!</p> +<h4 id="wednesday">Wednesday</h4> +<p>We got news that some outside &ldquo;experts&rdquo; would be coming in over the weekend for inspection. Most likely in response to the concerns of investors and the insurance company over the lawsuit. VCs are sending this mathematician who deals with risk-prediction models (I think?). On the other hand, John, our CEO, is also bringing in some famous academics who&rsquo;d likely give us the required endorsement without much fuss.</p> +<p>Got to know more of my team today. Ray&rsquo;s the cheif engineer. Good guy, heavy smoker. We really need a policy against smoking indoors here. This is not the 80s. Dennis turned out to be a bit of an ass though. There&rsquo;s a lot of misplaced ego in him for building the system foundation.</p> +<h4 id="thursday">Thursday</h4> +<p>Induction got over, and today&rsquo;s my first <em>real</em> day at work. Now I have some clarity on how we&rsquo;ve been doing things so fast. Systems seem to be well-built on the surface, but we have almost no testing protocols, no failover plans, and tons of single point of failures. And there don&rsquo;t seem to be a lot of access controls in place too. We have all this high-tech environment, and almost any employee can shut down the system if they know no where to do it from.</p> +<p>On the plus side, the to-do list has points listing these problems. Though it&rsquo;s unlikely anyone&rsquo;s getting around to those anytime soon.</p> +<h4 id="friday">Friday</h4> +<p>Today we spent most of the day preparing for the visitors tomorrow. Mostly maintenance work around the facility, tightening nuts and bolts and recalibrating power levels. Some things are buggy, but nothing deal-breaking. We&rsquo;re told that John&rsquo;s family is also visiting the facility this weekend, to sorta &ldquo;beta-test&rdquo; the rides along with the experts.</p> +<h4 id="saturday">Saturday</h4> +<p>My shift just ended, and it&rsquo;s been a smooth day so far. The family turned out to be little kids (John&rsquo;s grandchildren, I assume). John insists that they are just visiting him, but I suspect he brought them in to try and butter up the experts. A lot is riding on their endorsements, and seeing kids experience the rides might give them a more positive outlook.</p> +<p>The tour had more kinks than we were expecting today. Ray&rsquo;s been counting every glitch that he comes across today, and was up to 151 the last time I checked. &ldquo;We have all the problems of a major theme park and a major zoo and the computers aren&rsquo;t even on their feet yet&rdquo;, his exact words.</p> +<p>To be very honest, I think he gives the system way less credit than its due. Sure, it&rsquo;s far from perfect, but given the timeline, the company really spared no expense in building this place.</p> +<h4 id="sunday">Sunday</h4> +<p>HOLY FUCK! <strong>WHAT THE FUCK!</strong> FUUUUUCK!</p> +<p>I&rsquo;m writing this entry in the morning itself, as I&rsquo;m not sure if I&rsquo;m gonna find the time again. There&rsquo;s a fair chance that we&rsquo;d get shut down by tomorrow, if we don&rsquo;t get arrested or get eaten by a stray disnoaur.</p> +<p>We don&rsquo;t have a complete clarity on what&rsquo;s happening. Power went out in most of the park yesterday, and is still out. Cage fences aren&rsquo;t working, and even the phone lines are down! Wireless seems to be fucked too because of a very coincidental storm.</p> +<p>It appears that Dennis shut down the electrical grids yesterday and fled this island. No one knows why. We even seem to be locked out of the control systems. With no documentation, logs and system access, we&rsquo;re probably not gonna be fixing this anytime soon.</p> +<p>Maybe a complete system restart throughout the park would work. Not ideal, but if there&rsquo;s one thing that anyone in the IT crowd knows - it&rsquo;s that turning computers off and on again is very magical.</p> +<p>Hopefully it works. Fuck you Dennis Nedry, and fuck you John Hammond!</p> \ No newline at end of file diff --git a/tags/humor/page/1/index.html b/tags/humor/page/1/index.html new file mode 100644 index 0000000..1ece462 --- /dev/null +++ b/tags/humor/page/1/index.html @@ -0,0 +1 @@ +https://sidverma.io/tags/humor/ \ No newline at end of file diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 0000000..75f3814 --- /dev/null +++ b/tags/index.html @@ -0,0 +1 @@ +Tags · Sid Verma

‹ Sid Verma

Tags

tech

homelab

House

humor

Travel

Conferences

\ No newline at end of file diff --git a/tags/index.xml b/tags/index.xml new file mode 100644 index 0000000..bd86f95 --- /dev/null +++ b/tags/index.xml @@ -0,0 +1 @@ +Tags on Sid Vermahttps://sidverma.io/tags/Recent content in Tags on Sid VermaHugo -- gohugo.ioen-usTue, 07 Mar 2023 00:00:00 +0000techhttps://sidverma.io/tags/tech/Tue, 07 Mar 2023 00:00:00 +0000https://sidverma.io/tags/tech/homelabhttps://sidverma.io/tags/homelab/Tue, 03 Jan 2023 00:00:00 +0000https://sidverma.io/tags/homelab/Househttps://sidverma.io/tags/house/Thu, 01 Dec 2022 00:00:00 +0000https://sidverma.io/tags/house/humorhttps://sidverma.io/tags/humor/Mon, 04 May 2020 00:00:00 +0000https://sidverma.io/tags/humor/Travelhttps://sidverma.io/tags/travel/Sun, 01 Dec 2019 00:00:00 +0000https://sidverma.io/tags/travel/Conferenceshttps://sidverma.io/tags/conferences/Wed, 01 May 2019 00:00:00 +0000https://sidverma.io/tags/conferences/ \ No newline at end of file diff --git a/tags/tech/index.html b/tags/tech/index.html new file mode 100644 index 0000000..d4e7200 --- /dev/null +++ b/tags/tech/index.html @@ -0,0 +1,19 @@ +tech · Sid Verma

‹ Sid Verma

Tags › tech


\ No newline at end of file diff --git a/tags/tech/index.xml b/tags/tech/index.xml new file mode 100644 index 0000000..7c4f2d1 --- /dev/null +++ b/tags/tech/index.xml @@ -0,0 +1,224 @@ +tech on Sid Vermahttps://sidverma.io/tags/tech/Recent content in tech on Sid VermaHugo -- gohugo.ioen-usTue, 07 Mar 2023 00:00:00 +0000IS 1293 : What are the different kinds of Indian electrical sockets?https://sidverma.io/posts/indian-electrical-sockets-is1293/Tue, 07 Mar 2023 00:00:00 +0000https://sidverma.io/posts/indian-electrical-sockets-is1293/<p>I spent a lot of time today reading the specifications of Indian electrical sockets, and since it took me way too long to find this information - here&rsquo;s a quick summary of what the different kinds of sockets mean. I hope at least one other person finds this useful.</p>Comparing tools to connect your devices in a mesh VPNhttps://sidverma.io/posts/homelab-mesh-vpn/Tue, 03 Jan 2023 00:00:00 +0000https://sidverma.io/posts/homelab-mesh-vpn/<p>I have a nice little computer in my house which hosts a bunch of services I use. It sits behind a NAT, so I can&rsquo;t connect directly to it via my public IP address. Hence, I use a cheap cloud instance on DigitalOcean to act as the gateway for my home-server to the internet.</p> +<p>My <a href="https://sidverma.io/2020/01/11/personal-infrastructure-overview/#how-things-actually-connect">previous setup</a> was basically a VPN tunnel between a cloud server and my home server, where the cloud server forwarded TCP traffic to my home server, which served all my services.</p> +<p>Lately, I&rsquo;ve been rebuilding this infrastructure, and one of the things I was due for, is to have all my devices (my cloud server, home server, laptop, phone, etc) connected to each other all the time. Also, it needed to be in a mesh instead of hub-and-spoke, as there was no need for data to go over the internet if I&rsquo;m home, on the same physical network as my home-server.</p> +<p>I spent a good amount of time trying out a bunch of methods, until settling on one. This post runs through all the options I found, and why I chose what I chose. I won&rsquo;t go into how to set it up - there should be plenty of articles and documentation on the internet. +TLDR: I now use tailscale with a headscale server.</p>Decision making while writing softwarehttps://sidverma.io/posts/meta-programming-1-making-decisions/Mon, 01 Jun 2020 01:00:00 +0000https://sidverma.io/posts/meta-programming-1-making-decisions/<p><em>Post #1 in the <a href="https://sidverma.io/2020/06/01/meta-programming-0/">Meta:Programming</a> series.</em></p>Meta:Programming - Notes about the nature of software developmenthttps://sidverma.io/posts/meta-programming-0/Mon, 01 Jun 2020 00:00:00 +0000https://sidverma.io/posts/meta-programming-0/<p>I&rsquo;m hoping to write a blog series for my younger self. He is someone who used to look at a service and say - &ldquo;I could build that over a weekend&rdquo;. This is also someone who would look at a company with a small product, which rarely gets any new features, and wonder why that product needs 10 developers working fulltime on it.</p> +<p>I don&rsquo;t plan on writing about the philosophical aspects of those questions. Maybe the weekend hack <em>would</em> come out better. Maybe that company <em>is</em> bad at resource utilization. Maybe capitalism <em>is</em> the root of all evil. I am taking the current state and processes at face value, and try to commentate on how and why this usually comes to be.</p> +<p>I hope that these posts don&rsquo;t require a lot of technical knowledge, and are easily readable by beginners, or maybe non-technical folk.</p> +<ol> +<li><a href="https://sidverma.io/2020/06/01/meta-programming-1-making-decisions/">Decision making while writing software</a></li> +</ol> +<p>Do keep in mind that these articles are restricted by my experience and perspective. If you feel that I might be wrong somewhere or am missing something important, feel free to suggest updates. The good thing about writing on the internet is that I can always update my old content.</p> +<p>Next : <a href="https://sidverma.io/2020/06/01/meta-programming-1-making-decisions/">Decision making while writing software</a></p>Website Updateshttps://sidverma.io/posts/website-updates/Sat, 07 Mar 2020 00:00:00 +0000https://sidverma.io/posts/website-updates/<p>Every once in a while, I get into this productivity slump where I don&rsquo;t write code for weeks, and it gets hard to get back into the rhythm of working again. For me, the easiest way out of it is to redesign this website. It&rsquo;s low-effort (relatively), gets some creative juices flowing and has little risk of not panning out ultimately.</p> +<p>And I guess it kinda worked. I spent two whole days on the redesign, and am pretty pleased with the results. Documenting the major decisions I took this time around in this post.</p>Personal infrastructure overviewhttps://sidverma.io/posts/personal-infrastructure-overview/Sat, 11 Jan 2020 00:00:00 +0000https://sidverma.io/posts/personal-infrastructure-overview/<p>Writing intros to posts is such a hard thing. I&rsquo;ve spent more time on what to write in this paragraph than the rest of this article. You&rsquo;re supposed to start with a background and a motivation, and conclude with a sentence that you finally did it, and here is how.</p> +<p>I have not <em>done it</em> yet. This thing keeps evolving. As to why I started doing this: it&rsquo;s fun. It&rsquo;s fun and powerful to be in control of where your information resides. It&rsquo;s fun to build a system to manage this efficiently. There are also some benefits too: much more control over my data and the services. These are also all open-source so I can add missing features which I really really want, and I don&rsquo;t have to abide by the restrictive terms and limits of other platforms. And I don&rsquo;t lose everything if a platform wants to shut itself down or delete my account for using their product wrong.</p>iOS Shortcuts for Firefly IIIhttps://sidverma.io/posts/firefly-iii-ios-shortcuts/Fri, 06 Dec 2019 00:00:00 +0000https://sidverma.io/posts/firefly-iii-ios-shortcuts/<p>I&rsquo;ve been using the excellent <a href="https://firefly-iii.org/" target="_blank">Firefly III</a> to manage my expenses for a while. As a result, I have developed a habit to actively monitor every transaction I do, which, in my opinion is a much better way than using other automated expense managers which can only track your non-cash expenses, without a lot of context.</p> +<p>Android had an <a href="https://f-droid.org/en/packages/xyz.hisname.fireflyiii/" target="_blank">unofficial app</a> which made it easier to interact with Firefly, but iOS doesn&rsquo;t seem to have one, and the web-ui is not a very mobile friendly one.</p> +<p>While searching for solutions, I came across <a href="https://www.jessedyck.me/2019/03/ios-shortcuts-firefly-iii/" target="_blank">this blog post by Jesse Dyck</a> where they utilised iOS Shortcuts to create transactions in Firefly. Honestly, I was pretty surprised that Shortcuts is powerful enough to do this, given Apple&rsquo;s approach to customization.</p> +<p>The shortcuts provided by Jesse didn&rsquo;t work for me (they were written for iOS 12, before Shortcuts were revamped for iOS 13), so I decided to build one for myself, with a UX more suited for my needs.</p>Moving to an iPhone (for now)https://sidverma.io/posts/iphone/Wed, 04 Dec 2019 00:00:00 +0000https://sidverma.io/posts/iphone/<p>I spent the last two days trying to switch from my three year old Oneplus 3, to a brand new iPhone 11. I thought I was probably done with expensive phones (I count Oneplus as an expensive purchase), but resigned to giving iOS a chance this time around.</p> +<p>The Oneplus has served as my phone for 33 months now, and has had its fair share of rough usage. The screen broke twice (and got replaced once). Its battery had degraded so much that I didn&rsquo;t dare go out without carrying a small sling bag with a charger and a power bank in it. Screen-on time would have been somewhere between 50-90 mins. At least it charged fast.</p> +<p>It wasn&rsquo;t a fast phone by any means anymore too, and I&rsquo;d gotten used to waiting a few seconds for apps to launch.</p> +<p>The iPhone, is a stark contrast to that. It&rsquo;s a recent phone with the latest and greatest Apple processor, and things are super fucking fast on it. I am almost in disbelief of how much the battery lasts on this thing. That carry bag isn&rsquo;t a necessity anymore (though I have gotten used to it - it came in handy a lot more times than it became a hindrance).</p>Doing sysadmin things through Terraformhttps://sidverma.io/posts/sysadmin-terraform/Fri, 15 Nov 2019 00:00:00 +0000https://sidverma.io/posts/sysadmin-terraform/<p><em>Disclaimer: I have not worked as a sysadmin anywhere in my professional life, nor do I consider myself to be very good at it.</em></p> +<p>I&rsquo;ve self-hosted a small part of my personal infrastructure (IRC bouncer, VPN server, torrent client, etc) for a while now. +These services were set up over the course of a week on the tiniest DigitalOcean instance five years ago, never to be touched again for the next three years.</p> +<p>Two years ago, at <a href="https://hackbeach.in" target="_blank">Hackbeach 2017</a>, <a href="https://twitter.com/aruns89" target="_blank">Arun Singh</a> gave a small talk on Infrastructure as code and <a href="https://www.terraform.io" target="_blank">Terraform</a>. Around then, I had recently started frequenting <a href="https://old.reddit.com/r/selfhosted" target="_blank">/r/selfhosted</a>, and decided to start self-hosting more of my services. Upon finally logging in into my server after three years, I couldn&rsquo;t understand anything about the way it was set up. Port 443 seemed to be occupied by OpenVPN (for punching through restrictive firewalls), which proxied HTTP traffic to HAProxy which proxied it to a web server, and so on.</p>Russians are harvesting our faces!https://sidverma.io/posts/faceapp-much-ado-about-nothing/Fri, 19 Jul 2019 00:00:00 +0000https://sidverma.io/posts/faceapp-much-ado-about-nothing/<br> +<video autoplay="true" loop="true" width="100%"> +<source src="https://sidverma.io/images/faceapp_old.mp4" +type="video/mp4"> +</video> +<p><a href="https://www.forbes.com/sites/johnkoetsier/2019/07/17/viral-app-faceapp-now-owns-access-to-more-than-150-million-peoples-faces-and-names/amp/?__twitter_impression=true" target="_blank">This Forbes article</a> says that Faceapp is evil because they are harvesting user-data:</p> +<blockquote> +<p>That (Faceapp&rsquo;s TOS) may not be dangerous and your likeness may stay on Amazon servers in America, as Forbes has determined, but they still own a license to do whatever they want with it. That doesn’t mean the app’s Russian parent company, Wireless Labs, will offer your face to the FSB, but it does have consequences, as PhoneArena’s Peter Kostadinov says:</p> +<blockquote> +<p>You might end up on a billboard somewhere in Moscow, but your face will most likely end up training some AI facial-recognition algorithm.</p> +</blockquote> +</blockquote> +<p>For context, here&rsquo;s the lines from <a href="https://faceapp.com/terms" target="_blank">FaceApp&rsquo;s Terms of Service</a> which are been targeted:</p> +<blockquote> +<p><sub>You grant FaceApp a perpetual, irrevocable, nonexclusive, royalty-free, worldwide, fully-paid, transferable sub-licensable license to use, reproduce, modify, adapt, publish, translate, create derivative works from, distribute, publicly perform and display your User Content and any name, username or likeness provided in connection with your User Content in all media formats and channels now known or later developed, without compensation to you. When you post or otherwise share User Content on or through our Services, you understand that your User Content and any associated information (such as your [username], location or profile photo) will be visible to the public.</sub></p> +</blockquote> +<p>In comparison, here are a few current (and one defunct) websites where users are known to share their faces quite a bit:</p>Kodi controllershttps://sidverma.io/posts/inattentional-blindness/Sat, 06 Jul 2019 00:00:00 +0000https://sidverma.io/posts/inattentional-blindness/<p>For the past five years, a Raspberry Pi, running <a href="https://kodi.tv/" target="_blank">Kodi</a>, has been attached to my TV. The Pi, TV and the software all get updated time to time, but the overall setup has been the same for most of it.</p> +<pre><code>+----+ +----+ +-----+ +| TV |----(HDMI)----| Pi |--(USB/DLNA)--| HDD | ++----+ +----+ +-----+ +</code></pre><p>Controllers I&rsquo;ve used for Kodi over the years -</p> +<ul> +<li>Desktop Keyboards (Wired/Wireless)</li> +<li>Wireless Mouse</li> +<li>Web Interface</li> +<li>Tasker scenes utilizing the web interface API</li> +<li>Kodi remote apps (for Android/iOS)</li> +<li>Emulated keyboard over SSH</li> +<li>VNC</li> +<li>Arduino based bluetooth remote</li> +<li>Game controllers</li> +</ul> +<p>Some of these were novelty ones, others were used because of circumstantial needs+availability.</p> +<p>My primary controller is the excellent app <a href="https://play.google.com/store/apps/details?id=org.leetzone.android.yatsewidgetfree" target="_blank">Yatse</a> (Lets you browse/play media on the phone itself - much faster than the TV UI). When the phone&rsquo;s not nearby, or there&rsquo;s a guest involved, I use a game controller (connected for retroPie anyway).</p> +<p>Last week, I was setting up Kodi (<a href="https://osmc.tv/" target="_blank">OSMC</a> to be exact) on my old roommate&rsquo;s Raspberry Pi. While I was installing Yatse on his phone, this other guy present there, who isn&rsquo;t familiar with the software, doesn&rsquo;t have any of the controller I know of, starts browsing movies on the TV. I look over, dumbfounded, and see him casually using the TV remote to play around in the UI.</p> +<p>Five years of having a <a href="https://en.wikipedia.org/wiki/Consumer_Electronics_Control" target="_blank">CEC</a>-compatible TV with a CEC-compatible SBC, and it never dawned on me to try the simplest UI possible - The TV remote.</p> +<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"> +<iframe src="https://www.youtube.com/embed/IGQmdoK_ZfY" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video"></iframe> +</div> +<br>Minimalistic npm packages.https://sidverma.io/posts/minimal-npm-packages/Thu, 16 Aug 2018 00:00:00 +0000https://sidverma.io/posts/minimal-npm-packages/<p>A follow up to <a href="https://sidverma.io/2018/08/11/javascript-mathematical-operations/">my previous post</a>, this time we look into some of the lesser known, but widely used javascript packages.</p> +<p>Javascript&rsquo;s NPM package manager, is one of the <a href="http://www.modulecounts.com/" target="_blank">biggest and fastest growing</a> package manager out there. As of writing this:</p> +<ul> +<li>RubyGems - 145,675 (25 new packages/day)</li> +<li>PyPI - 149,111 (104 new packages/day)</li> +<li>Packagist - 191,577 (103 new packages/day)</li> +<li>Maven Central - 244,143 (149 new packages/day)</li> +<li><strong>npm - 679,009 (508 new packages/day)</strong></li> +</ul> +<p>Minimalism doesn&rsquo;t only apply to design, lifestyle and ownership, but also to code. Here are some of the most minimal packages in npm:</p>Mathematical operations on objects in javascript.https://sidverma.io/posts/javascript-mathematical-operations/Sat, 11 Aug 2018 00:00:00 +0000https://sidverma.io/posts/javascript-mathematical-operations/<p><em>All of these were executed on Node.js 6.9.1</em></p> +<pre><code>&gt; [] + [] +'' +</code></pre><p>Obviously.</p> +<pre><code>&gt; [] + {} +'[object Object]' +</code></pre><p>Less obvious, but okay.</p> +<pre><code>&gt; {} + [] +0 +</code></pre><p>Huh?</p> +<pre><code>&gt; {} + {} +'[object Object][object Object]' +</code></pre><p>Oh, fuck off.</p> +<p>I&rsquo;d rather just add strings to these from now on:</p> +<pre><code>&gt; [] + '' +'' +</code></pre><pre><code>&gt; [] + '1' +'1' +</code></pre><pre><code>&gt; [] + 'a' +'a' +</code></pre><pre><code>&gt; {} + '' +0 +</code></pre><pre><code>&gt; {} + '1' +1 +</code></pre><pre><code>&gt; {} + 'a' +NaN +</code></pre><p>Lol.</p> +<p>Okay, subtraction maybe:</p> +<pre><code>&gt; [] - [] +0 +</code></pre><pre><code>&gt; {} - {} +NaN +</code></pre><pre><code>&gt; [] - '' +'' +</code></pre><pre><code>&gt; [] - '1' +-1 +</code></pre><pre><code>&gt; [] - {} +NaN +</code></pre><p>FML.</p> +<p>But, my favorite one is this:</p> +<pre><code>&gt; {} - [] +-0 +</code></pre><p>Follow-up post: <a href="https://sidverma.io/2018/08/16/minimal-npm-packages/">Minimalistic javascript packages</a></p>The internet kind of sucks now.https://sidverma.io/posts/internet-kinda-sucks-nowadays/Tue, 10 Apr 2018 00:00:00 +0000https://sidverma.io/posts/internet-kinda-sucks-nowadays/<p><em>This is mostly a rant, over my increasing frustration with how the internet works nowadays. Maybe it&rsquo;s just nostalgia with rose-colored glasses. I still want to shout this here in this void.</em></p> +<p>I wasn&rsquo;t there during the early days of internet. The first time I went online, was probably in 2005. That&rsquo;s only a little over a decade, but I remember it way too differently from what it is now. Now, it&rsquo;s way too&hellip; homogenized is probably the right word.</p> +<p><strong>Chat sucks the most</strong>. Probably the worst victim of the walled-garden approach. +Things I have installed right now - Facebook messenger, Whatsapp, Telegram, Signal, Threema, Hangouts, Slack, AndroIRC, Riot.</p> +<p><em>At some point last year, I got fed up and turned off notifications for all of these except Telegram on my phone. I still keep them installed, but everything is pull-based now, when someone asks me to look at something.</em></p> +<p>I am not new to being on loads of platforms. A decade ago, I used to have accounts on MSN and Yahoo messenger, Google talk, (even facebook too), IRC networks, and probably a dozen I can&rsquo;t remember. But at some point, I found out about XMPP and pidgin, and how open protocols are such great things. mIRC used to be the hangout app, and pidgin the IM app. Any platform, ultimately boiled down to one of these. Then, one by one, almost everyone started killing off their XMPP gateways. They cited low volume, and lack of support for their <em>exciting and new features</em>. It&rsquo;s always animated emojis or fucking stickers. Even slack shut down their IRC gateway earlier this year.</p> +<p><em>It&rsquo;s on my To-do list to configure bitlbee and libpurple and put everything on libpurple.</em></p> +<p><strong>Communities suck too</strong>. Everything is a facebook group and a subreddit now. Forums are ghost towns in comparison. Forums, which had basic to extremely detailed information, queries, all sorted and tagged, categorized. The forums dedicated to Lost and Doctor Who were way more fun than the show itself. You go to <a href="https://reddit.com/r/startrek" target="_blank">/r/startrek</a> now, and you&rsquo;re bombarded with memes, cosplay, news about the upcoming Discovery season, theories, past episode-appreciation posts, and general rants. Feel free to try to use the broken filter-by-flair. When you visited the phpBB forum for the same, there were so many subcategories, and years old active threads with lots of archived information. There&rsquo;s one for artwork, one for theories, one for episode discussions, another for character discussion, another for fan-fiction. Karma fishing and reposts wasn&rsquo;t even a problem.</p> +<p><em>I&rsquo;m honestly surprised that XDA and DeviantArt, some of my oldest communities, have stuck around for so long.</em></p> +<p><strong>And then there&rsquo;re social networks</strong>. My friends, at the very least, don&rsquo;t &ldquo;share&rdquo; things online anymore. Everything is a carefully worded, edited, instagram-filtered broadcast to the world. Nothing feels personal. I had better communication with my deviantArt friends than I have with my facebook friends now. If I <a href="https://chrome.google.com/webstore/detail/news-feed-eradicator-for/fjcldmjmjhkklehbacihaiopjklihlgg" target="_blank">unblock my facebook news feed</a> right now, this is what I see: Random selfie #9 this week, anti-Trump news, anti-BJP news, anti-BJP posts, rants against patriarchy. Once in a while I find out something interesting about poeple: a new relationship, a new job, a new city. But everything else is just people shouting the same thing in an echo chamber. Or else, it&rsquo;s a whole lot of self-promotion.</p> +<p>I remember this being way different in 2010: There was a group for post-class hangout, another for books present in our library, and countless others. News feed used to be people sharing opinions without fear, and way less fishing for &lsquo;likes&rsquo;. People planned things using their status. Comments were more conversational than &lsquo;👍🏼&rsquo; and &lsquo;nice pic.'. All the things I despise right now did exist then, but in a far lesser amount.</p> +<p><em>I dread the day when <a href="https://np.reddit.com/r/announcements/comments/863xcj/new_addition_to_sitewide_rules_regarding_the_use/dw2rwy1/?context=3" target="_blank">reddit finally turns into a social network</a>.</em></p> +<p><strong>I also miss RSS</strong>. Nowadays, my RSS feed is just news and comics. At some point, people used to have blogspot and wordpress accounts, where they tagged posts. I subscribed to the &lsquo;travel&rsquo; feed for someone, &lsquo;personal&rsquo; of someone else, &lsquo;essays&rsquo; of the other. Now everything is just there, flat on Facebook/Twitter. Even they used to offer RSS feeds, which they phased out. Fucking twitter, where you get just one feed, with people sharing memes, jokes, news, achievements, all floating in the same cesspool of diarrhea, just begging for retweets.</p>Dumb smartphone is the best smartphone.https://sidverma.io/posts/dumb-smartphone/Thu, 04 Jan 2018 00:00:00 +0000https://sidverma.io/posts/dumb-smartphone/<p>Quick recap: I dropped my Oneplus 3 six months ago - didn&rsquo;t get it repaired for a month. Instead, carried this $10 phone with me for a while.</p> +<figure> +<img src="https://sidverma.io/images/dumbphone.jpg" +alt="My interimn phone"/> <figcaption> +<p>My interimn phone</p> +</figcaption> +</figure>Hillhacks and Hackbeachhttps://sidverma.io/posts/hillhacks-hackbeach/Tue, 10 Oct 2017 00:00:00 +0000https://sidverma.io/posts/hillhacks-hackbeach/<p>Hillhacks, <a href="https://hillhacks.in/about/" target="_blank">as defined by the website</a>:</p> +<blockquote> +<p>hillhacks is held in the lap of the stunning Dhauladhar Himalayas every summer.<br></p> +<p>People from different places, walks of life and lines of thought come together to share, collaborate and learn.<br></p> +<p>Hackers talk code. Artists share their creativity. Students join in from schools and colleges to learn new skills. Locals and globals mix and mingle. We build things like tables, hula hoops, interactive art installations, and solar lanterns. We connect. We dance and sing. Ideas emerge. Collaborations form. Lives change.<br></p> +<p>In the hacking, we get hacked ourselves.<br></p> +</blockquote> +<p>Hackbeach is the sister event of hillhacks, held in the winters, on one of India&rsquo;s coast.</p> +<p>What we don&rsquo;t have:</p> +<ul> +<li>Sponsors</li> +<li>Organizers</li> +<li>Welcome packages</li> +<li>Huge well-lit stage</li> +<li>Chairs around the said stage</li> +<li>Air conditioning</li> +<li>Booths and banners</li> +<li>T-Shirt and stickers table</li> +<li>Catered lunch</li> +<li>Coffee machine</li> +</ul> +<p>What we have:</p> +<ul> +<li>Space to camp</li> +<li>Beautiful views</li> +<li>A long unconference</li> +<li>2-4 day of main conference</li> +<li>Setup and teardown of the said conference</li> +<li>Talks and flash talks</li> +<li>Opportunities to learn new skills</li> +<li>Hackers</li> +</ul> +<p>What we might also have:</p> +<ul> +<li>Accountants, Anthropologist, Farmers, Activists, Geologists&hellip;</li> +<li>School programs to teach young kids about science and technology</li> +<li>Cooking</li> +<li>Slacklining</li> +<li>Hoola hoop lessons</li> +<li>Board/card games</li> +<li>Quiz nights</li> +<li>Hiking in the hills</li> +<li>All day swimming lessons</li> +<li>Paragliding</li> +<li>Sleeping on the sandy beaches</li> +<li>Cartons of all you can grab stickers</li> +<li>Open discusssions across a variety of subjects</li> +<li>Demostration of cool projects</li> +</ul> +<p><a href="https://hillhacks.in" target="_blank">Hillhacks</a> | <a href="https://hackbeach.in" target="_blank">Hackbeach</a></p>Link etiquettes for web developers.https://sidverma.io/posts/link-etiquettes/Wed, 02 Aug 2017 00:00:00 +0000https://sidverma.io/posts/link-etiquettes/<p>This post might seem like nitpicking, or unnecessary to a lot of people, but it&rsquo;s frustrating when links don&rsquo;t work how they&rsquo;re expected to.</p> +<ul> +<li> +<p>DO NOT use <code>&lt;span&gt;</code> or <code>&lt;div&gt;</code> tags and then proceed to handle their <code>click</code> events. Use proper <code>&lt;a&gt;</code> tags. This breaks so many things!</p> +<ul> +<li>People can&rsquo;t use them if they have disabled javascript or it just failed to load.</li> +<li>Ctrl-click will not open a new tab unless you explicitly handle the situation. (More on that below)</li> +<li>Even then, you just dumbed down your users&rsquo; context menus. No <em>Open link in new tab</em>, or <em>Copy link address</em>.</li> +<li>The same situation on mobile. Long click will copy the text instead of showing helpful actions.</li> +<li>The javascript might break, throw an unexpected error, or burn down your house, rendering that &ldquo;link&rdquo; useless.</li> +</ul> +</li> +<li> +<p>Even when you are using <code>&lt;a&gt;</code> tags:</p> +<ul> +<li>If possible, execute whatever JS you want, and then let the link do its job. Don&rsquo;t <code>preventDefault()</code> and open the link through javascript.</li> +<li>If you really have to open it through JS, take care of Ctrl-clicks. And Cmd-clicks in case of macOs. <a href="http://unixpapa.com/js/key.html" target="_blank">Old browsers might make this difficult</a>.</li> +</ul> +</li> +<li> +<p>Put <code>mailto:</code> links only where the email-id is the visible text too. <a href="mailto:foo@bar.com">foo@bar.com</a> is so much better than <a href="mailto:foo@bar.com">Contact Email</a>. Not everyone has email clients configured, and opening bulky clients when clicking a link is just bad UX. Or people might just want to note down the address, to contact later.</p> +</li> +</ul>Wi-Fi positioning woeshttps://sidverma.io/posts/wifi-positioning/Wed, 12 Jul 2017 00:00:00 +0000https://sidverma.io/posts/wifi-positioning/<p>Alice lives in India. She has super-cheap cellular internet (less than $0.2/GB on some networks). Cheap enough for it to be her daily driver, using <a href="http://www.amazon.in/D-Link-DWR-720-HSPA-Mobile-Router/dp/B00PVD1RV2" target="_blank">a</a> <a href="https://www.amazon.com/Hotspot-Unlocked-Worldwide-Huawei-E5220s-6/dp/B06XJ5NF8W/" target="_blank">number</a> <a href="https://www.amazon.com/Verizon-Wireless-LTE-Prepaid-Smartphone/dp/B014RJJXUW/" target="_blank">of</a> <a href="https://www.amazon.com/Hotspot-Unlocked-MF65-Router-Mobile/dp/B01KGCMUQ8/" target="_blank">portable</a> Wi-Fi routers, which just sit on her desk. And since it is so cheap and portable and convenient and long-lasting, she just carries it everywhere in her purse, wherever she travels.</p> +<p>Alice also faces an a peculiar amount of problems with her GPS. She could be at a crowded bus station, trying to get an Uber, or stuck in a storm, again trying to get a cab, her phone just fails to locate her correctly long enough for the app to work. Either it&rsquo;ll just be showing her previous location at the far away house, or it will keep fluctuating and jumping between her actual position, and her house. People around her sometimes get affected too. Maybe it&rsquo;s a curse.</p>STDIN inputs via Sublime Text (sort of)https://sidverma.io/posts/sublime-input/Sat, 03 Jan 2015 00:00:00 +0000https://sidverma.io/posts/sublime-input/<p>I love Sublime Text. I really do. I can put a ring on it if it had any corporeal form. I&rsquo;ve been using it so much, that trying to work on anything else is kind of a pain. And yet, when dealing with STDIN inputs, the magic falters. This method describes a workaround to give inputs without a prompt.</p> +<p>Recently, I tried my hand on Competitive Programming, and though I didn&rsquo;t get really good at it, I did encounter a frustation. Entering the same input again and again after every change I make to the code. I wanted a simpler method.</p> +<p>Here&rsquo;s what a friend of mine came up with: Enter the input in comments.</p> +<div class="highlight"><pre class="chroma"><code class="language-cpp" data-lang="cpp"><span class="cm">/*input +</span><span class="cm">2 +</span><span class="cm">foo +</span><span class="cm">bar +</span><span class="cm">*/</span> +<span class="cp">#include</span> <span class="cpf">&lt;stdio.h&gt;</span><span class="cp"> +</span><span class="cp"></span><span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span> +<span class="kt">int</span> <span class="n">n</span><span class="p">,</span><span class="n">i</span><span class="p">;</span> +<span class="kt">char</span> <span class="n">s</span><span class="p">[</span><span class="mi">10</span><span class="p">];</span> +<span class="n">scanf</span><span class="p">(</span><span class="s">&#34;%d&#34;</span><span class="p">,</span><span class="o">&amp;</span><span class="n">n</span><span class="p">);</span> +<span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o">&lt;</span><span class="n">n</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span> +<span class="n">scanf</span><span class="p">(</span><span class="s">&#34;%s&#34;</span><span class="p">,</span><span class="n">s</span><span class="p">);</span> +<span class="n">printf</span><span class="p">(</span><span class="s">&#34;%s</span><span class="se">\n</span><span class="s">&#34;</span><span class="p">,</span><span class="n">s</span><span class="p">);</span> +<span class="p">}</span> <span class="p">}</span> +</code></pre></div> +<p>gives the output:</p> +<pre><code>foo +bar +</code></pre> \ No newline at end of file diff --git a/tags/tech/page/1/index.html b/tags/tech/page/1/index.html new file mode 100644 index 0000000..eb56354 --- /dev/null +++ b/tags/tech/page/1/index.html @@ -0,0 +1 @@ +https://sidverma.io/tags/tech/ \ No newline at end of file diff --git a/tags/travel/index.html b/tags/travel/index.html new file mode 100644 index 0000000..4b76839 --- /dev/null +++ b/tags/travel/index.html @@ -0,0 +1,27 @@ +Travel · Sid Verma

‹ Sid Verma

Tags › Travel


\ No newline at end of file diff --git a/tags/travel/index.xml b/tags/travel/index.xml new file mode 100644 index 0000000..267e82a --- /dev/null +++ b/tags/travel/index.xml @@ -0,0 +1,50 @@ +Travel on Sid Vermahttps://sidverma.io/tags/travel/Recent content in Travel on Sid VermaHugo -- gohugo.ioen-usSun, 01 Dec 2019 00:00:00 +0000Backpacking 2019https://sidverma.io/photos/backpacking19/Sun, 01 Dec 2019 00:00:00 +0000https://sidverma.io/photos/backpacking19/<p>Been backpacking for a few months, while severely reducing camera time. Here are some photos from Goa, Kolkata, Bangkok and Pai.</p>Eight months of unemployment and travelinghttps://sidverma.io/posts/8-months-unemployment-traveling/Tue, 19 Nov 2019 00:00:00 +0000https://sidverma.io/posts/8-months-unemployment-traveling/<p>In March 2019, I left my job at <a href="https://www.tower-research.com" target="_blank">Tower Research Capital</a>, to take a small break from work and live aimlessly for a while. My mental health had been declining steadily for the last few years, and going away for a while seemed like the only way out.</p>Ziro Festival 2019https://sidverma.io/photos/ziro19/Thu, 26 Sep 2019 00:00:00 +0000https://sidverma.io/photos/ziro19/<p>I was not planning to go to the Ziro Festival this year, but the dates coincided with a layover in Kolkata, and hence made the stop.</p>Andaman Islandshttps://sidverma.io/photos/andaman19/Sat, 01 Jun 2019 00:00:00 +0000https://sidverma.io/photos/andaman19/<p>Family took a few days off to spend some time in the Andaman Islands.</p>(Hillhikes and) Hillhacks 2019https://sidverma.io/photos/hillhacks19/Wed, 01 May 2019 00:00:00 +0000https://sidverma.io/photos/hillhacks19/<p>It felt disingenuous to just call this album Hillhacks 2019, given the extreme lack of actual conference photos here. The main motive of venturing out was Hillhacks, but the hikes we padded it with were much more photogenic.</p>Week in Goahttps://sidverma.io/photos/goa19/Tue, 01 Jan 2019 00:00:00 +0000https://sidverma.io/photos/goa19/<p>The annual trip with a couple of close friends took us to Arambol, Goa this year. We did spend more time in the hills of Goa rather than the beaches this time around.</p>Hackbeach 2018https://sidverma.io/photos/hackbeach18/Thu, 01 Nov 2018 00:00:00 +0000https://sidverma.io/photos/hackbeach18/<p>Hackbeach revisited the previous venue too in 2018. The water was way calmer, and almost every attendee learned to swim at least to a basic level in the ocean.</p>Ziro Festival 2018https://sidverma.io/photos/ziro18/Sat, 01 Sep 2018 00:00:00 +0000https://sidverma.io/photos/ziro18/<p>Ziro Festival of Music is a music festival which takes place in the Ziro Valley (duh) every year. Probably one of the prettiest places to have a concert in the country.</p>Trip to Lehhttps://sidverma.io/photos/leh18/Fri, 01 Jun 2018 00:00:00 +0000https://sidverma.io/photos/leh18/<p>Left hillhacks early to visit the Ladakh area with my family.</p>Hillhacks 2018https://sidverma.io/photos/hillhacks18/Tue, 01 May 2018 00:00:00 +0000https://sidverma.io/photos/hillhacks18/<p>Hillhacks repeats the venue in 2018, hence slightly easier to organise.</p>Road trip to Jaisalmerhttps://sidverma.io/photos/jaisalmer18/Mon, 01 Jan 2018 00:00:00 +0000https://sidverma.io/photos/jaisalmer18/<p>Road trips aren&rsquo;t usually my thing, nor deserts. But this trip turned out to be fun anyway.</p>Hackbeach 2017https://sidverma.io/photos/hackbeach17/Wed, 01 Nov 2017 00:00:00 +0000https://sidverma.io/photos/hackbeach17/<p>Hackbeach 2017 happened right at the main beach in Gokarna.</p>Hillhacks and Hackbeachhttps://sidverma.io/posts/hillhacks-hackbeach/Tue, 10 Oct 2017 00:00:00 +0000https://sidverma.io/posts/hillhacks-hackbeach/<p>Hillhacks, <a href="https://hillhacks.in/about/" target="_blank">as defined by the website</a>:</p> +<blockquote> +<p>hillhacks is held in the lap of the stunning Dhauladhar Himalayas every summer.<br></p> +<p>People from different places, walks of life and lines of thought come together to share, collaborate and learn.<br></p> +<p>Hackers talk code. Artists share their creativity. Students join in from schools and colleges to learn new skills. Locals and globals mix and mingle. We build things like tables, hula hoops, interactive art installations, and solar lanterns. We connect. We dance and sing. Ideas emerge. Collaborations form. Lives change.<br></p> +<p>In the hacking, we get hacked ourselves.<br></p> +</blockquote> +<p>Hackbeach is the sister event of hillhacks, held in the winters, on one of India&rsquo;s coast.</p> +<p>What we don&rsquo;t have:</p> +<ul> +<li>Sponsors</li> +<li>Organizers</li> +<li>Welcome packages</li> +<li>Huge well-lit stage</li> +<li>Chairs around the said stage</li> +<li>Air conditioning</li> +<li>Booths and banners</li> +<li>T-Shirt and stickers table</li> +<li>Catered lunch</li> +<li>Coffee machine</li> +</ul> +<p>What we have:</p> +<ul> +<li>Space to camp</li> +<li>Beautiful views</li> +<li>A long unconference</li> +<li>2-4 day of main conference</li> +<li>Setup and teardown of the said conference</li> +<li>Talks and flash talks</li> +<li>Opportunities to learn new skills</li> +<li>Hackers</li> +</ul> +<p>What we might also have:</p> +<ul> +<li>Accountants, Anthropologist, Farmers, Activists, Geologists&hellip;</li> +<li>School programs to teach young kids about science and technology</li> +<li>Cooking</li> +<li>Slacklining</li> +<li>Hoola hoop lessons</li> +<li>Board/card games</li> +<li>Quiz nights</li> +<li>Hiking in the hills</li> +<li>All day swimming lessons</li> +<li>Paragliding</li> +<li>Sleeping on the sandy beaches</li> +<li>Cartons of all you can grab stickers</li> +<li>Open discusssions across a variety of subjects</li> +<li>Demostration of cool projects</li> +</ul> +<p><a href="https://hillhacks.in" target="_blank">Hillhacks</a> | <a href="https://hackbeach.in" target="_blank">Hackbeach</a></p>Hillhacks 2017https://sidverma.io/photos/hillhacks17/Mon, 01 May 2017 00:00:00 +0000https://sidverma.io/photos/hillhacks17/<p>Some Hillhacks 2017 photos and even more from a stop at Dharamshala and some hills.</p> \ No newline at end of file diff --git a/tags/travel/page/1/index.html b/tags/travel/page/1/index.html new file mode 100644 index 0000000..b71ab58 --- /dev/null +++ b/tags/travel/page/1/index.html @@ -0,0 +1 @@ +https://sidverma.io/tags/travel/ \ No newline at end of file diff --git a/themes/rocinante b/themes/rocinante deleted file mode 160000 index 33e60f1..0000000 --- a/themes/rocinante +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 33e60f1714f2ab21207a7dd38b3bae6e9a6ed398 diff --git a/themes/rocinante-2/LICENSE b/themes/rocinante-2/LICENSE deleted file mode 100644 index 1d25903..0000000 --- a/themes/rocinante-2/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2020 Sid Verma - @mavidser - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/themes/rocinante-2/README.md b/themes/rocinante-2/README.md deleted file mode 100644 index 2c32e26..0000000 --- a/themes/rocinante-2/README.md +++ /dev/null @@ -1,135 +0,0 @@ -# Rocinante theme for Hugo - -Rocinante is a minimal and lightweight theme for hugo. It has minimal non-essential components, and supports normal blog posts and photoblogs. - -[Here][1] are some opinions used in building a theme. In short, extremely minimal footprint (under 5kB) with good contrast for accessibility. - -###### [Demo link](https://sidverma.io/hugo-rocinante/) - -![Rocinante Screenshot 1](https://raw.githubusercontent.com/mavidser/hugo-rocinante/master/images/tn.png) - -![Rocinante Screenshot 2](https://raw.githubusercontent.com/mavidser/hugo-rocinante/master/images/screenshot.png) - -## Features - -- Pagination -- Tags support -- Mobile support -- RSS Feeds -- No essential Javascript -- Custom CSS support - -The only javascript in the theme is for an optional enhancement to Email link, where it shows the email ID upon clicking such links. See the demo on the 'Email' link on [the demo website](https://sidverma.io/hugo-rocinante/). If javascript is disabled, it works as a normal link. - -## Installation - -Inside the folder of your Hugo site run: - - $ git submodule add https://github.com/mavidser/hugo-rocinante.git themes/rocinante - -For more information read the official [setup guide](//gohugo.io/overview/installing/) of Hugo. - -## Configuration options - -Put these in the `params` section of config.toml - -- **customCSS** - An array of paths to css files in the `assets` directory. Eg: `customCSS = ["css/style.css"]`. -- **mainSections** - An array containing either `"posts"`, `"photos"` or both. Only the content type listed in the array gets listed on the homepage. Eg: `mainSections = ["post", "photos"]` -- **email** - A string which will be used in the `mailto` link if smart email links are being used. Details on smart links are below, in the links option details. Eg: `email = "email@example.com"` -- **favicon** - A string of the favicon path in the `static` directory. Eg: `favicon = "icon/favicon.jpg"` -- **about** - A string of the about text. This is slightly ugly, sorry. Eg: `about = """Hi. Welcome to my website"""` -- **links** - A table which contains array of `link` tables. This one is easier to explain using an example. Details of the link `table`: - - name - String containing the text of the link - - href - String containing URL of the link - - newTab = Boolean, to open link in a new tab - - specialEmailLink = Boolean. If true, a javascript snippet is included which changed link behavior. Text will change to the content of `email` param upon clicking once, after which it follows a `mailto:` link to the same. See example on the Email link in the about section of the demo page. - - Example: - ```toml - [[params.links]] - [[params.links.link]] - name = "About" - href = "https://en.wikipedia.org/wiki/Don_Quixote" - newTab = true - specialEmailLink = true - ``` - -## Getting started - -After installing the theme successfully it requires a just a few more steps to get your site running. - -### Update config file - -Example: - -```toml -baseURL = "https://example.com/" -languageCode = "en-us" -title = "Rocinante" -theme = "rocinante" -paginate = 3 - -[markup] - [markup.goldmark.renderer] - unsafe= true - -[params] - colorScheme = "light" # "light" or "dark" or "auto". Defaults to light. - mainSections = ["posts", "photos"] - email = "mail@example.com" - favicon = "icons/favicon.png" - about = """ -About section. Enter details about you here. -""" - - [[params.links]] - [[params.links.link]] - name = "Resume" - href = "/Resume.pdf" - [[params.links.link]] - name = "Email" - href = "/contact" - specialEmailLink = true - - [[params.links]] - [[params.links.link]] - name = "Github" - href = "https://github.com/" - newTab = true - [[params.links.link]] - name = "Mastodon" - href = "https://mastodon.social/" - newTab = true - [[params.links.link]] - name = "Twitter" - href = "https://twitter.com/" - newTab = true - [[params.links.link]] - name = "Instagram" - href = "https://instagram.com/" - newTab = true -``` - -### Check your site - -In order to see your site in action, run Hugo's built-in local server. - -`$ hugo server` - -Now enter [`localhost:1313`](http://localhost:1313/) in the address bar of your browser. - -## Post configurations: - -### Hidden posts: - -To hide a post from appearing in the homepage or any other list of posts, add the following to the front matter of the post: - -```toml -hidden: true -``` - -## License - -MIT - -[1]: https://sidverma.io/2020/03/07/website-updates#the-theme \ No newline at end of file diff --git a/themes/rocinante-2/archetypes/default.md b/themes/rocinante-2/archetypes/default.md deleted file mode 100644 index 02f9385..0000000 --- a/themes/rocinante-2/archetypes/default.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: "{{ replace .Name "-" " " | title }}" -draft: true ---- \ No newline at end of file diff --git a/themes/rocinante-2/archetypes/photos.md b/themes/rocinante-2/archetypes/photos.md deleted file mode 100644 index 256ee63..0000000 --- a/themes/rocinante-2/archetypes/photos.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "{{ replace .Name "-" " " | title }}" -date: {{ .Date }} -location: -tags: [] -footer: -banner: -draft: true ---- - - \ No newline at end of file diff --git a/themes/rocinante-2/archetypes/posts.md b/themes/rocinante-2/archetypes/posts.md deleted file mode 100644 index 7bf7c3d..0000000 --- a/themes/rocinante-2/archetypes/posts.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "{{ replace .Name "-" " " | title }}" -date: {{ .Date }} -tags: [] -draft: true ---- - - \ No newline at end of file diff --git a/themes/rocinante-2/assets/css/includes.scss b/themes/rocinante-2/assets/css/includes.scss deleted file mode 100644 index 2ba9780..0000000 --- a/themes/rocinante-2/assets/css/includes.scss +++ /dev/null @@ -1,57 +0,0 @@ -/* http://meyerweb.com/eric/tools/css/reset/ - v2.0 | 20110126 - License: none (public domain) -*/ - -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} -body { - line-height: 1; -} -ol, ul { - list-style: none; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; -} -table { - border-collapse: collapse; - border-spacing: 0; -} - -/* https://www.paulirish.com/2012/box-sizing-border-box-ftw/ */ -/* apply a natural box layout model to all elements, but allowing components to change */ -html { - box-sizing: border-box; -} -*, *:before, *:after { - box-sizing: inherit; -} \ No newline at end of file diff --git a/themes/rocinante-2/assets/css/monokai-dark.scss b/themes/rocinante-2/assets/css/monokai-dark.scss deleted file mode 100644 index 37744a3..0000000 --- a/themes/rocinante-2/assets/css/monokai-dark.scss +++ /dev/null @@ -1,86 +0,0 @@ -/* Background */ .bg { color:#f8f8f2;background-color:#272822; } -/* PreWrapper */ .chroma { color:#f8f8f2;background-color:#272822; } -/* Other */ .chroma .x { } -/* Error */ .chroma .err { color:#960050;background-color:#1e0010 } -/* CodeLine */ .chroma .cl { } -/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit } -/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; } -/* LineTable */ .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; } -/* LineHighlight */ .chroma .hl { background-color:#3c3d38 } -/* LineNumbersTable */ .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f } -/* LineNumbers */ .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f } -/* Line */ .chroma .line { display:flex; } -/* Keyword */ .chroma .k { color:#66d9ef } -/* KeywordConstant */ .chroma .kc { color:#66d9ef } -/* KeywordDeclaration */ .chroma .kd { color:#66d9ef } -/* KeywordNamespace */ .chroma .kn { color:#f92672 } -/* KeywordPseudo */ .chroma .kp { color:#66d9ef } -/* KeywordReserved */ .chroma .kr { color:#66d9ef } -/* KeywordType */ .chroma .kt { color:#66d9ef } -/* Name */ .chroma .n { } -/* NameAttribute */ .chroma .na { color:#a6e22e } -/* NameBuiltin */ .chroma .nb { } -/* NameBuiltinPseudo */ .chroma .bp { } -/* NameClass */ .chroma .nc { color:#a6e22e } -/* NameConstant */ .chroma .no { color:#66d9ef } -/* NameDecorator */ .chroma .nd { color:#a6e22e } -/* NameEntity */ .chroma .ni { } -/* NameException */ .chroma .ne { color:#a6e22e } -/* NameFunction */ .chroma .nf { color:#a6e22e } -/* NameFunctionMagic */ .chroma .fm { } -/* NameLabel */ .chroma .nl { } -/* NameNamespace */ .chroma .nn { } -/* NameOther */ .chroma .nx { color:#a6e22e } -/* NameProperty */ .chroma .py { } -/* NameTag */ .chroma .nt { color:#f92672 } -/* NameVariable */ .chroma .nv { } -/* NameVariableClass */ .chroma .vc { } -/* NameVariableGlobal */ .chroma .vg { } -/* NameVariableInstance */ .chroma .vi { } -/* NameVariableMagic */ .chroma .vm { } -/* Literal */ .chroma .l { color:#ae81ff } -/* LiteralDate */ .chroma .ld { color:#e6db74 } -/* LiteralString */ .chroma .s { color:#e6db74 } -/* LiteralStringAffix */ .chroma .sa { color:#e6db74 } -/* LiteralStringBacktick */ .chroma .sb { color:#e6db74 } -/* LiteralStringChar */ .chroma .sc { color:#e6db74 } -/* LiteralStringDelimiter */ .chroma .dl { color:#e6db74 } -/* LiteralStringDoc */ .chroma .sd { color:#e6db74 } -/* LiteralStringDouble */ .chroma .s2 { color:#e6db74 } -/* LiteralStringEscape */ .chroma .se { color:#ae81ff } -/* LiteralStringHeredoc */ .chroma .sh { color:#e6db74 } -/* LiteralStringInterpol */ .chroma .si { color:#e6db74 } -/* LiteralStringOther */ .chroma .sx { color:#e6db74 } -/* LiteralStringRegex */ .chroma .sr { color:#e6db74 } -/* LiteralStringSingle */ .chroma .s1 { color:#e6db74 } -/* LiteralStringSymbol */ .chroma .ss { color:#e6db74 } -/* LiteralNumber */ .chroma .m { color:#ae81ff } -/* LiteralNumberBin */ .chroma .mb { color:#ae81ff } -/* LiteralNumberFloat */ .chroma .mf { color:#ae81ff } -/* LiteralNumberHex */ .chroma .mh { color:#ae81ff } -/* LiteralNumberInteger */ .chroma .mi { color:#ae81ff } -/* LiteralNumberIntegerLong */ .chroma .il { color:#ae81ff } -/* LiteralNumberOct */ .chroma .mo { color:#ae81ff } -/* Operator */ .chroma .o { color:#f92672 } -/* OperatorWord */ .chroma .ow { color:#f92672 } -/* Punctuation */ .chroma .p { } -/* Comment */ .chroma .c { color:#75715e } -/* CommentHashbang */ .chroma .ch { color:#75715e } -/* CommentMultiline */ .chroma .cm { color:#75715e } -/* CommentSingle */ .chroma .c1 { color:#75715e } -/* CommentSpecial */ .chroma .cs { color:#75715e } -/* CommentPreproc */ .chroma .cp { color:#75715e } -/* CommentPreprocFile */ .chroma .cpf { color:#75715e } -/* Generic */ .chroma .g { } -/* GenericDeleted */ .chroma .gd { color:#f92672 } -/* GenericEmph */ .chroma .ge { font-style:italic } -/* GenericError */ .chroma .gr { } -/* GenericHeading */ .chroma .gh { } -/* GenericInserted */ .chroma .gi { color:#a6e22e } -/* GenericOutput */ .chroma .go { } -/* GenericPrompt */ .chroma .gp { } -/* GenericStrong */ .chroma .gs { font-weight:bold } -/* GenericSubheading */ .chroma .gu { color:#75715e } -/* GenericTraceback */ .chroma .gt { } -/* GenericUnderline */ .chroma .gl { } -/* TextWhitespace */ .chroma .w { } diff --git a/themes/rocinante-2/assets/css/monokai-light.scss b/themes/rocinante-2/assets/css/monokai-light.scss deleted file mode 100644 index a8e52a0..0000000 --- a/themes/rocinante-2/assets/css/monokai-light.scss +++ /dev/null @@ -1,86 +0,0 @@ -/* Background */ .bg { color:#272822;background-color:#fafafa; } -/* PreWrapper */ .chroma { color:#272822;background-color:#fafafa; } -/* Other */ .chroma .x { } -/* Error */ .chroma .err { color:#960050;background-color:#1e0010 } -/* CodeLine */ .chroma .cl { } -/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit } -/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; } -/* LineTable */ .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; } -/* LineHighlight */ .chroma .hl { background-color:#e1e1e1 } -/* LineNumbersTable */ .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f } -/* LineNumbers */ .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f } -/* Line */ .chroma .line { display:flex; } -/* Keyword */ .chroma .k { color:#00a8c8 } -/* KeywordConstant */ .chroma .kc { color:#00a8c8 } -/* KeywordDeclaration */ .chroma .kd { color:#00a8c8 } -/* KeywordNamespace */ .chroma .kn { color:#f92672 } -/* KeywordPseudo */ .chroma .kp { color:#00a8c8 } -/* KeywordReserved */ .chroma .kr { color:#00a8c8 } -/* KeywordType */ .chroma .kt { color:#00a8c8 } -/* Name */ .chroma .n { color:#111 } -/* NameAttribute */ .chroma .na { color:#75af00 } -/* NameBuiltin */ .chroma .nb { color:#111 } -/* NameBuiltinPseudo */ .chroma .bp { color:#111 } -/* NameClass */ .chroma .nc { color:#75af00 } -/* NameConstant */ .chroma .no { color:#00a8c8 } -/* NameDecorator */ .chroma .nd { color:#75af00 } -/* NameEntity */ .chroma .ni { color:#111 } -/* NameException */ .chroma .ne { color:#75af00 } -/* NameFunction */ .chroma .nf { color:#75af00 } -/* NameFunctionMagic */ .chroma .fm { color:#111 } -/* NameLabel */ .chroma .nl { color:#111 } -/* NameNamespace */ .chroma .nn { color:#111 } -/* NameOther */ .chroma .nx { color:#75af00 } -/* NameProperty */ .chroma .py { color:#111 } -/* NameTag */ .chroma .nt { color:#f92672 } -/* NameVariable */ .chroma .nv { color:#111 } -/* NameVariableClass */ .chroma .vc { color:#111 } -/* NameVariableGlobal */ .chroma .vg { color:#111 } -/* NameVariableInstance */ .chroma .vi { color:#111 } -/* NameVariableMagic */ .chroma .vm { color:#111 } -/* Literal */ .chroma .l { color:#ae81ff } -/* LiteralDate */ .chroma .ld { color:#d88200 } -/* LiteralString */ .chroma .s { color:#d88200 } -/* LiteralStringAffix */ .chroma .sa { color:#d88200 } -/* LiteralStringBacktick */ .chroma .sb { color:#d88200 } -/* LiteralStringChar */ .chroma .sc { color:#d88200 } -/* LiteralStringDelimiter */ .chroma .dl { color:#d88200 } -/* LiteralStringDoc */ .chroma .sd { color:#d88200 } -/* LiteralStringDouble */ .chroma .s2 { color:#d88200 } -/* LiteralStringEscape */ .chroma .se { color:#8045ff } -/* LiteralStringHeredoc */ .chroma .sh { color:#d88200 } -/* LiteralStringInterpol */ .chroma .si { color:#d88200 } -/* LiteralStringOther */ .chroma .sx { color:#d88200 } -/* LiteralStringRegex */ .chroma .sr { color:#d88200 } -/* LiteralStringSingle */ .chroma .s1 { color:#d88200 } -/* LiteralStringSymbol */ .chroma .ss { color:#d88200 } -/* LiteralNumber */ .chroma .m { color:#ae81ff } -/* LiteralNumberBin */ .chroma .mb { color:#ae81ff } -/* LiteralNumberFloat */ .chroma .mf { color:#ae81ff } -/* LiteralNumberHex */ .chroma .mh { color:#ae81ff } -/* LiteralNumberInteger */ .chroma .mi { color:#ae81ff } -/* LiteralNumberIntegerLong */ .chroma .il { color:#ae81ff } -/* LiteralNumberOct */ .chroma .mo { color:#ae81ff } -/* Operator */ .chroma .o { color:#f92672 } -/* OperatorWord */ .chroma .ow { color:#f92672 } -/* Punctuation */ .chroma .p { color:#111 } -/* Comment */ .chroma .c { color:#75715e } -/* CommentHashbang */ .chroma .ch { color:#75715e } -/* CommentMultiline */ .chroma .cm { color:#75715e } -/* CommentSingle */ .chroma .c1 { color:#75715e } -/* CommentSpecial */ .chroma .cs { color:#75715e } -/* CommentPreproc */ .chroma .cp { color:#75715e } -/* CommentPreprocFile */ .chroma .cpf { color:#75715e } -/* Generic */ .chroma .g { } -/* GenericDeleted */ .chroma .gd { } -/* GenericEmph */ .chroma .ge { font-style:italic } -/* GenericError */ .chroma .gr { } -/* GenericHeading */ .chroma .gh { } -/* GenericInserted */ .chroma .gi { } -/* GenericOutput */ .chroma .go { } -/* GenericPrompt */ .chroma .gp { } -/* GenericStrong */ .chroma .gs { font-weight:bold } -/* GenericSubheading */ .chroma .gu { } -/* GenericTraceback */ .chroma .gt { } -/* GenericUnderline */ .chroma .gl { } -/* TextWhitespace */ .chroma .w { } diff --git a/themes/rocinante-2/assets/css/rocinante-dark.scss b/themes/rocinante-2/assets/css/rocinante-dark.scss deleted file mode 100644 index 21afb7e..0000000 --- a/themes/rocinante-2/assets/css/rocinante-dark.scss +++ /dev/null @@ -1,31 +0,0 @@ -:root { - --color-scheme: dark; - --background-color: #1a1a1a; - --text-color: #e0e0e0; - --title-color: #efefef; - --link-color: #88aaff; - --link-hover-color: #aaccff; - --code-background: #2a2a2a; - --code-color: #e6a0a7; - --figcaption-color: #999; - --blockquote-color: #999; - --blockquote-border: #333; - --table-border: #444; - --table-alt-background: #2a2a2a; - --header-link-color: #99f; - --header-link-hover: #f99; - --header-link-active: #4c4; - --footer-background: #222; - --date-color: #777; - --horizontal-link-border: #444; - --post-list-hover: #aaccff; - --tag-link-color: #666; - --tag-link-hover: #999; - --paginator-disabled: #666; - --current-page-color: #666; - --location-color: #777; - --location-border: #555; - --gradient: linear-gradient(to right, #797cff, #ee7fff, #f79662, #ee7fff, #797cff); -} - -@import 'monokai-dark'; \ No newline at end of file diff --git a/themes/rocinante-2/assets/css/rocinante-light.scss b/themes/rocinante-2/assets/css/rocinante-light.scss deleted file mode 100644 index f7d3556..0000000 --- a/themes/rocinante-2/assets/css/rocinante-light.scss +++ /dev/null @@ -1,31 +0,0 @@ -:root { - --color-scheme: light; - --background-color: #f2f2f2; - --text-color: #333333; - --title-color: #000000; - --link-color: #2200CC; - --link-hover-color: #5544FF; - --code-background: #f9f9f9; - --code-color: #9E525A; - --figcaption-color: #666; - --blockquote-color: #666; - --blockquote-border: #eee; - --table-border: #ddd; - --table-alt-background: #f8f8f8; - --header-link-color: #77f; - --header-link-hover: #f77; - --header-link-active: #2a2; - --footer-background: #e2e2e2; - --date-color: #888; - --horizontal-link-border: #ccc; - --post-list-hover: #5544FF; - --tag-link-color: #aaa; - --tag-link-hover: #888; - --paginator-disabled: #aaa; - --current-page-color: #aaa; - --location-color: #888; - --location-border: #ccc; - --gradient: linear-gradient(to right, #2c50df, #bc12d5, #e43535, #bc12d5, #2c50df); - } - -@import 'monokai-light' \ No newline at end of file diff --git a/themes/rocinante-2/assets/css/rocinante.scss b/themes/rocinante-2/assets/css/rocinante.scss deleted file mode 100644 index b1db9cf..0000000 --- a/themes/rocinante-2/assets/css/rocinante.scss +++ /dev/null @@ -1,433 +0,0 @@ -@import 'includes'; - -/* https://markdotto.com/2018/02/07/github-system-fonts/ */ -$fonts: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - -{{ if eq .Site.Params.colorScheme "dark" }} - @import 'rocinante-dark'; -{{ else if eq .Site.Params.colorScheme "auto" }} - @media (prefers-color-scheme: light) { - @import 'rocinante-light'; - } - @media (prefers-color-scheme: dark) { - @import 'rocinante-dark'; - } -{{ else }} - @import 'rocinante-light'; -{{ end }} -:root { - --footer-cursor: url("data:image/svg+xml;utf8,✌️"); -} - -body { - background-color: var(--background-color); - font-family: $fonts; - color: var(--text-color); - font-size: 16px; - line-height: 1.6; -} - -p { - margin: 1.25em 0; -} - -em, i { - font-style: italic; -} - -strong, b { - font-weight: bold; -} - -h1, h2, h3, h4, h5, h6 { - font-weight: bold; - margin: 1.5em 0 1em 0; - line-height: 1em; -} - -h1 { - font-size: 1.625em; -} -h2 { - font-size: 1.375em; -} -h3 { - font-size: 1.125em; -} -h4 { - font-size: 1em; -} -h5 { - font-size: 0.875em; -} -h6 { - font-size: 0.75em; -} - -h4, h5, h6 { - text-transform: uppercase; - letter-spacing: 1px; - margin-top: 2.5em; -} - -a { - color: var(--link-color); - transition: all 0.1s ease; - - &:hover { - color: var(--link-hover-color); - } -} - -ol li { - list-style: decimal; - margin-left: 1.25em; - margin-bottom: 0.2em; -} - -ul li { - list-style: disc; - margin-left: 1.25em; - margin-bottom: 0.2em; -} - -dt { - font-weight: bold; -} -dd { - margin-left: 1.25em; -} - -hr { - margin: 2em 0; - border: 0; - border-top: 2px dotted var(--horizontal-link-border); -} - -pre, code { - font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; - border-radius: 3px; -} -code { - background: var(--code-background); - font-size: 0.9em; - padding: 0.25em 0.5em; - color: var(--code-color); -} -pre code { - background: var(--code-background); - display: block; - margin: 1em 0; - padding: 0.75em 1em; - color: inherit; - overflow: auto; -} - -img, video { - max-width: 100%; - height: auto; - border-radius: 3px; -} -a > img:hover { - opacity: 0.75; - transition: 0.25s; -} -figure { - width: 100%; - margin: 2em 0; - text-align: center; -} -figcaption { - p { - margin: 0; - } - text-align: center; - font-size: 0.9em; - color: var(--figcaption-color); -} - -blockquote { - padding-left: 1.25em; - padding-right: 1.5em; - border-left: .25em solid var(--blockquote-border); - color: var(--blockquote-color); -} - -table { - margin-bottom: 1em; - width: 100%; - border: 1px solid var(--table-border); -} - -td, th { - vertical-align: middle; - padding: .25rem .5rem; - border: 1px solid var(--table-border); -} - -th { - font-weight: bold; -} - -tbody tr:nth-child(2n+1) td, tbody tr:nth-child(2n+1) th { - background-color: var(--table-alt-background); -} - -sup, sub { - font-size: 0.8em; -} -sup { - vertical-align: super; -} - -main { - max-width: 740px; - padding: 0 20px; - margin: 0 auto; -} - -@keyframes shine { - to { - background-position: 200% center; - } -} - -header h2 { - margin: 1em; - a { - user-select: none; - text-decoration: none; - border: none; - background: var(--gradient); - background-clip: text; - background-size: 200% auto; - color: transparent !important; - display: inline-block; - animation: shine 1s linear 1; - - &:hover { - animation: shine 1s linear infinite; - // color: var(--header-link-hover) !important; - } - - &:active { - color: #00000055 !important; - } - } -} - -.combined-title-pagination { - margin-top: 2.5em; - h1 { - display: inline; - a { - text-decoration: none; - border: none; - } - } - h3 { - display: inline; - margin-left: 0.2em; - } -} - -.title-group { - .title h1 { - color: var(--title-color); - margin-bottom: 0.5em; - } - .date h5 { - color: var(--date-color); - margin: 0; - } - margin-bottom: 1.5em; -} - -.title-group-solo { - a { - color: var(--title-color); - text-decoration: none; - .title { - margin-bottom: 0.5em; - h3 { - text-decoration: underline transparent; - transition: all 0.1s ease; - display: inline; - font-size: 1.1em; - // font-size: 1.0em; - font-weight: 400; - } - } - .date { - text-decoration: none; - transition: all 0.1s ease; - color: var(--date-color); - margin: 0; - font-family: monospace; - } - - &:hover { - color: var(--title-color); - .title { - h3 { - text-decoration: underline var(--title-color); - } - } - .date { - color: var(--title-color); - } - } - } -} - -footer { - margin-top: 3em; - .content-container { - background: var(--footer-background); - padding: 2em 0; - .content { - max-width: 740px; - padding: 0 20px; - margin: 0 auto; - } - } -} -.footer-text { - font-size: 1.5em; - text-align: center; - margin: 0 auto; - margin-top: 1em; -} -.footer-text.index-page { - margin-top: 0; - margin-bottom: 1.5em; -} -.footer-emoji { - cursor: var(--footer-cursor) 8 8, auto; - user-select: none; - margin: 0 auto; - text-align: center; -} - -.horizontal-links { - width: 100%; - margin-top: 0; - margin-bottom: 0.25em; - a { - border-right: 2px solid var(--horizontal-link-border); - padding-right: 0.5em; - margin-right: 0.5em; - } - a:last-child { - border: none; - } - &:last-child { - margin-bottom: 1.25em; - } -} - -.post-list { - h1 a { - color: var(--title-color); - text-decoration: none; - border: none; - - &:hover { - color: var(--post-list-hover); - } - } - .read-more { - margin-bottom: 1.25em; - } - - padding-bottom: 1em; - // border-bottom: 1px solid var(--horizontal-link-border); -} - -.tags { - user-select: none; - font-size: 0.9em; - .links { - display: inline; - a { - border: 1px solid var(--tag-link-color); - border-radius: 3px; - padding: 0.2em 0.4em; - color: var(--tag-link-color); - text-decoration: none; - margin: 0; - margin-right: 0.5em; - &:hover { - color: var(--tag-link-hover); - // text-decoration: underline; - } - } - } -} - -.paginator { - margin: 2em 0; - .disabled { - color: var(--paginator-disabled); - } - .newer { - float: right; - clear: both; - } -} - -.current-page { - color: var(--current-page-color); -} - -.album { - .date, .date h5, .location, .location h5 { - display: inline; - } - .location { - color: var(--location-color); - border-left: solid 2px var(--location-border); - padding-left: 1em; - margin-left: 1em; - } - .photos { - display: grid; - grid-template-columns: repeat(2, 1fr); - gap: 0.7em 0.7em; - a { - display: grid; - } - a.full-size { - grid-column-start: 1; - grid-column-end: 3; - } - } -} - -@media (max-width:400px) { - body { - font-size: 14px; - } - .album .photos { - grid-template-columns: 1fr; - a { - grid-column-start: 1; - grid-column-end: 3; - } - } -} - -// .list-content { -// margin-right: 200px; -// } -.sidebar { - position: fixed; - top: 0; - right: 0; - bottom: 0; - // left: 800px; - width: 200px; - background: #777; - float: right; - overflow-y: scroll; -} diff --git a/themes/rocinante-2/assets/js/rocinante.js b/themes/rocinante-2/assets/js/rocinante.js deleted file mode 100644 index b86a960..0000000 --- a/themes/rocinante-2/assets/js/rocinante.js +++ /dev/null @@ -1,89 +0,0 @@ -(function(document) { - document.addEventListener('click', function(e) { - const target = e.target; - const emailHooks = document.getElementsByClassName('email-hook'); - const emailText = document.querySelector(`#email-text-${target.id}`); - if(emailHooks.namedItem(target.id)) { - if (emailText) { - if (emailText.innerHTML == emailId) - emailText.innerHTML = ''; - else { - emailText.innerHTML = emailId; - emailText.href = 'mailto:'+emailId - } - } else { - target.innerHTML = emailId; - target.href = 'mailto:'+emailId - target.className = '' - } - e.preventDefault(); - } - }, false); - - // Event listener for footer emoji - var r = document.querySelector(':root'); - var rs = getComputedStyle(r); - let enableEmojiBurst = false; - const footerEmoji = document.querySelector('.footer-emoji'); - if (footerEmoji) { - footerEmoji.addEventListener('click', function(e) { - const colors = ['✌️', '✌🏻', '✌🏼', '✌🏽', '✌🏾', '✌🏿']; - let currentIndex = colors.indexOf(this.textContent); - currentIndex = (currentIndex + 1) % colors.length; - r.style.setProperty('--footer-cursor', rs.getPropertyValue('--footer-cursor').replace(this.textContent, colors[currentIndex])); - this.textContent = colors[currentIndex]; - - if (currentIndex === 0) { - enableEmojiBurst = true; - } - if (enableEmojiBurst) { - createEmojiBurst(e, colors[currentIndex]); - } - }); - } - - function createEmojiBurst(e, burstEmoji) { - const burstCount = 20; - const container = document.body; - - for (let i = 0; i < burstCount; i++) { - const emoji = document.createElement('span'); - emoji.textContent = burstEmoji; - emoji.style.position = 'fixed'; - emoji.style.left = `${e.clientX - 24}px`; - emoji.style.top = `${e.clientY - 48}px`; - emoji.style.fontSize = 24 + Math.random() * 50 + 'px'; - emoji.style.pointerEvents = 'none'; - container.appendChild(emoji); - - const angle = (Math.random() * Math.PI) + Math.PI; - const velocity = 10 + Math.random() * 10; - const dx = Math.cos(angle) * velocity; - const dy = Math.sin(angle) * velocity * 2; - - let x = e.clientX; - let y = e.clientY; - let gravity = 0.5; - let opacity = 1; - - function animate() { - x += dx; - y += dy + gravity; - opacity -= 0.01; - gravity += 0.5; - - emoji.style.transform = `translate(${x - e.clientX}px, ${y - e.clientY}px)`; - emoji.style.opacity = opacity; - - if (opacity > 0) { - requestAnimationFrame(animate); - } else { - container.removeChild(emoji); - } - } - - requestAnimationFrame(animate); - } - } - -})(document); \ No newline at end of file diff --git a/themes/rocinante-2/exampleSite/config.toml b/themes/rocinante-2/exampleSite/config.toml deleted file mode 100644 index 629d2a8..0000000 --- a/themes/rocinante-2/exampleSite/config.toml +++ /dev/null @@ -1,55 +0,0 @@ -baseURL = "https://example.com" -languageCode = "en-us" -title = "Don Quixote" -theme = "rocinante" -paginate = 3 -summaryLength = 0 - -[markup] - [markup.highlight] - tabWidth = 2 - [markup.goldmark.renderer] - unsafe= true - -[author] - name = "Sid Verma" - -[params] - mainSections = ["post", "photos"] - email = "email@example.com" - favicon = "icon/favicon.jpg" - about = """ -Hi. I'm **Don**. Some people also know me as Alonso Quixano. - -I ride around on my dear horse called _Rocinante_, being the best knight I can be. I named horse Rocinante because it's the best and the most powerful horse around. - -_If you see injustice around you, and need the help of an ingenious gentleman, feel free to reach out anytime. I'm usually always available._ -""" - - [[params.links]] - [[params.links.link]] - name = "About" - href = "https://en.wikipedia.org/wiki/Don_Quixote" - newTab = true - [[params.links.link]] - name = "Email" - href = "/contact" - specialEmailLink = true - - [[params.links]] - [[params.links.link]] - name = "Goodreads" - href = "https://www.goodreads.com/book/show/3836.Don_Quixote" - newTab = true - [[params.links.link]] - name = "Gutenberg" - href = "https://www.gutenberg.org/files/996/996-h/996-h.htm" - newTab = true - [[params.links.link]] - name = "Twitter" - href = "https://twitter.com/search?q=%23twijote%20source%3Atwijote&src=typed_query&f=live" - newTab = true - [[params.links.link]] - name = "Creator" - href = "https://sidverma.io" - newTab = true \ No newline at end of file diff --git a/themes/rocinante-2/exampleSite/content/contact.md b/themes/rocinante-2/exampleSite/content/contact.md deleted file mode 100644 index f7d3132..0000000 --- a/themes/rocinante-2/exampleSite/content/contact.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Contact -hidden: true ---- -You can reach me by Email at _email[at]example.com_ \ No newline at end of file diff --git a/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/img2.jpg b/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/img2.jpg deleted file mode 100644 index 18bd642..0000000 Binary files a/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/img2.jpg and /dev/null differ diff --git a/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/img3.jpg b/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/img3.jpg deleted file mode 100644 index 78411cf..0000000 Binary files a/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/img3.jpg and /dev/null differ diff --git a/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/img37-Pano.jpg b/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/img37-Pano.jpg deleted file mode 100644 index 30dfb68..0000000 Binary files a/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/img37-Pano.jpg and /dev/null differ diff --git a/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/img4.jpg b/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/img4.jpg deleted file mode 100644 index d8f8925..0000000 Binary files a/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/img4.jpg and /dev/null differ diff --git a/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/img5.jpg b/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/img5.jpg deleted file mode 100644 index 350173d..0000000 Binary files a/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/img5.jpg and /dev/null differ diff --git a/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/index.md b/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/index.md deleted file mode 100644 index 979d4f8..0000000 --- a/themes/rocinante-2/exampleSite/content/photos/here-are-some-photos/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Here are some photos -date: 2017-09-09 -location: La Mancha, Spain -tags: ["Something", "Samples", "Example"] -footer: Taken from picsum.photos -banner: img5.jpg ---- -Here are some photos for your viewing pleasure. - - \ No newline at end of file diff --git a/themes/rocinante-2/exampleSite/content/photos/only-one-more-after-this/img10.jpg b/themes/rocinante-2/exampleSite/content/photos/only-one-more-after-this/img10.jpg deleted file mode 100644 index b4b6b1f..0000000 Binary files a/themes/rocinante-2/exampleSite/content/photos/only-one-more-after-this/img10.jpg and /dev/null differ diff --git a/themes/rocinante-2/exampleSite/content/photos/only-one-more-after-this/index.md b/themes/rocinante-2/exampleSite/content/photos/only-one-more-after-this/index.md deleted file mode 100644 index 9583490..0000000 --- a/themes/rocinante-2/exampleSite/content/photos/only-one-more-after-this/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Just one more after this -date: 2017-08-08 -location: La Mancha, Spain -tags: ["Example", "Specimen", "Prototype"] -footer: Taken from picsum.photos -banner: img10.jpg ---- -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. - - \ No newline at end of file diff --git a/themes/rocinante-2/exampleSite/content/photos/some-more-photos-are-here/img10.jpg b/themes/rocinante-2/exampleSite/content/photos/some-more-photos-are-here/img10.jpg deleted file mode 100644 index 1263989..0000000 Binary files a/themes/rocinante-2/exampleSite/content/photos/some-more-photos-are-here/img10.jpg and /dev/null differ diff --git a/themes/rocinante-2/exampleSite/content/photos/some-more-photos-are-here/img6.jpg b/themes/rocinante-2/exampleSite/content/photos/some-more-photos-are-here/img6.jpg deleted file mode 100644 index 8ff50dd..0000000 Binary files a/themes/rocinante-2/exampleSite/content/photos/some-more-photos-are-here/img6.jpg and /dev/null differ diff --git a/themes/rocinante-2/exampleSite/content/photos/some-more-photos-are-here/img7.jpg b/themes/rocinante-2/exampleSite/content/photos/some-more-photos-are-here/img7.jpg deleted file mode 100644 index 2553804..0000000 Binary files a/themes/rocinante-2/exampleSite/content/photos/some-more-photos-are-here/img7.jpg and /dev/null differ diff --git a/themes/rocinante-2/exampleSite/content/photos/some-more-photos-are-here/img8.jpg b/themes/rocinante-2/exampleSite/content/photos/some-more-photos-are-here/img8.jpg deleted file mode 100644 index f9f8761..0000000 Binary files a/themes/rocinante-2/exampleSite/content/photos/some-more-photos-are-here/img8.jpg and /dev/null differ diff --git a/themes/rocinante-2/exampleSite/content/photos/some-more-photos-are-here/index.md b/themes/rocinante-2/exampleSite/content/photos/some-more-photos-are-here/index.md deleted file mode 100644 index d2457be..0000000 --- a/themes/rocinante-2/exampleSite/content/photos/some-more-photos-are-here/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Some more photos are here -date: 2017-08-09 -location: La Mancha, Spain -tags: ["Samples", "Example", "Specimen"] -footer: Taken from picsum.photos -banner: img6.jpg ---- -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. - \ No newline at end of file diff --git a/themes/rocinante-2/exampleSite/content/photos/yes-this-is-the-last/img11.jpg b/themes/rocinante-2/exampleSite/content/photos/yes-this-is-the-last/img11.jpg deleted file mode 100644 index 6858f96..0000000 Binary files a/themes/rocinante-2/exampleSite/content/photos/yes-this-is-the-last/img11.jpg and /dev/null differ diff --git a/themes/rocinante-2/exampleSite/content/photos/yes-this-is-the-last/img12.jpg b/themes/rocinante-2/exampleSite/content/photos/yes-this-is-the-last/img12.jpg deleted file mode 100644 index 387fe98..0000000 Binary files a/themes/rocinante-2/exampleSite/content/photos/yes-this-is-the-last/img12.jpg and /dev/null differ diff --git a/themes/rocinante-2/exampleSite/content/photos/yes-this-is-the-last/img13.jpg b/themes/rocinante-2/exampleSite/content/photos/yes-this-is-the-last/img13.jpg deleted file mode 100644 index 01cf6ae..0000000 Binary files a/themes/rocinante-2/exampleSite/content/photos/yes-this-is-the-last/img13.jpg and /dev/null differ diff --git a/themes/rocinante-2/exampleSite/content/photos/yes-this-is-the-last/index.md b/themes/rocinante-2/exampleSite/content/photos/yes-this-is-the-last/index.md deleted file mode 100644 index 66210a0..0000000 --- a/themes/rocinante-2/exampleSite/content/photos/yes-this-is-the-last/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: This is definitely the last -date: 2017-07-08 -location: La Mancha, Spain -tags: ["Specimen", "Prototype", "Chimichanga"] -footer: Taken from picsum.photos -banner: img11.jpg ---- -Lorem ipsum dolor sit amet. - - \ No newline at end of file diff --git a/themes/rocinante-2/exampleSite/content/post/another-blog-post.md b/themes/rocinante-2/exampleSite/content/post/another-blog-post.md deleted file mode 100644 index 41a7b21..0000000 --- a/themes/rocinante-2/exampleSite/content/post/another-blog-post.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Another post is here -date: 2017-09-07 -tags: ["Samples", "Example", "Specimen"] ---- - -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. - - - -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. - -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. \ No newline at end of file diff --git a/themes/rocinante-2/exampleSite/content/post/even-more-posts.md b/themes/rocinante-2/exampleSite/content/post/even-more-posts.md deleted file mode 100644 index 30aee9c..0000000 --- a/themes/rocinante-2/exampleSite/content/post/even-more-posts.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: Even more posts -date: 2017-08-10 -tags: ["Example", "Specimen", "Prototype"] ---- - -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. - - - -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. - -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum. \ No newline at end of file diff --git a/themes/rocinante-2/exampleSite/content/post/this-is-a-blog-post.md b/themes/rocinante-2/exampleSite/content/post/this-is-a-blog-post.md deleted file mode 100644 index 7c09a63..0000000 --- a/themes/rocinante-2/exampleSite/content/post/this-is-a-blog-post.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -title: This is a blog post -date: 2017-10-10 -tags: ["Something", "Samples", "Example"] ---- - -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - - - -# Heading 1 -Lorem ipsum dolor [link](/), consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - -## Heading 2 -_Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum._ - -### Heading 3 -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - -#### Heading 4 -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - -##### Heading 5 -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - -###### Heading 6 -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - -{{< figure src="/images/img1.jpg" caption="Image caption" >}} - -**Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum.** - -> Blockquote Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - -``` -code block -Lorem ipsum dolor sit amet -tempor incididunt ut labore et -quis nostrud exercitation ullamco laboris -consequat. Duis aute irure -cillum dolore eu fugiat nulla -proident, sunt in culpa -``` - - - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod - - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, - - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse - - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non - - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - -Another list: - - 1. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod - 1. tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, - 1. quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - 1. consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse - 1. cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non - 1. proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - -And table: - -| Lorem | ipsum | dolor | sit | amet | -|-------|-------|-------|-----|------| -| tempor | incididunt | ut | labore | et | -| quis | nostrud | exercitation | ullamco | laboris | -| consequat | Duis | aute | irure | dolor | -| cillum | dolore | eu | fugiat | nulla | -| proident | sunt | in | culpa | qui | \ No newline at end of file diff --git a/themes/rocinante-2/exampleSite/content/post/this-is-the-last.md b/themes/rocinante-2/exampleSite/content/post/this-is-the-last.md deleted file mode 100644 index b311f53..0000000 --- a/themes/rocinante-2/exampleSite/content/post/this-is-the-last.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: This is the last one -date: 2017-07-10 -tags: ["Specimen", "Prototype", "Chimichanga"] ---- - -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. - diff --git a/themes/rocinante-2/exampleSite/static/icon/favicon.jpg b/themes/rocinante-2/exampleSite/static/icon/favicon.jpg deleted file mode 100644 index f30c72e..0000000 Binary files a/themes/rocinante-2/exampleSite/static/icon/favicon.jpg and /dev/null differ diff --git a/themes/rocinante-2/exampleSite/static/images/img1.jpg b/themes/rocinante-2/exampleSite/static/images/img1.jpg deleted file mode 100644 index e5ee268..0000000 Binary files a/themes/rocinante-2/exampleSite/static/images/img1.jpg and /dev/null differ diff --git a/themes/rocinante-2/images/screenshot.png b/themes/rocinante-2/images/screenshot.png deleted file mode 100644 index fc8d6dd..0000000 Binary files a/themes/rocinante-2/images/screenshot.png and /dev/null differ diff --git a/themes/rocinante-2/images/tn.png b/themes/rocinante-2/images/tn.png deleted file mode 100644 index 667f9d8..0000000 Binary files a/themes/rocinante-2/images/tn.png and /dev/null differ diff --git a/themes/rocinante-2/layouts/404.html b/themes/rocinante-2/layouts/404.html deleted file mode 100644 index b09a277..0000000 --- a/themes/rocinante-2/layouts/404.html +++ /dev/null @@ -1,4 +0,0 @@ -{{ define "main" }} -

404: Page not found

-

Why are you here? Who sent you? It's probably your fault anyway. Go back!

-{{ end }} \ No newline at end of file diff --git a/themes/rocinante-2/layouts/_default/_markup/render-link.html b/themes/rocinante-2/layouts/_default/_markup/render-link.html deleted file mode 100644 index a5cd49a..0000000 --- a/themes/rocinante-2/layouts/_default/_markup/render-link.html +++ /dev/null @@ -1 +0,0 @@ -{{ .Text | safeHTML }} \ No newline at end of file diff --git a/themes/rocinante-2/layouts/_default/baseof.html b/themes/rocinante-2/layouts/_default/baseof.html deleted file mode 100644 index 40fae5c..0000000 --- a/themes/rocinante-2/layouts/_default/baseof.html +++ /dev/null @@ -1,26 +0,0 @@ - -{{ if eq .Site.Params.colorScheme "dark" }} - -{{ else if eq .Site.Params.colorScheme "auto" }} - -{{ else }} - -{{ end }} - {{- partial "head.html" . -}} - -
- {{- partial "header.html" . -}} -
-
- {{- block "main" . }}{{- end }} -
- {{- partial "footer.html" . -}} - {{ $js := resources.Get "js/rocinante.js" | resources.Minify }} - - {{- if isset .Site.Params "specialemail" }} - - {{- end -}} - - diff --git a/themes/rocinante-2/layouts/_default/list.html b/themes/rocinante-2/layouts/_default/list.html deleted file mode 100644 index 6e902f5..0000000 --- a/themes/rocinante-2/layouts/_default/list.html +++ /dev/null @@ -1,10 +0,0 @@ -{{ define "main" }} -

{{ .Title }}

- {{ range .Data.Pages }} -
-

- {{ .Title }} -

-
- {{ end }} -{{ end }} \ No newline at end of file diff --git a/themes/rocinante-2/layouts/_default/single.html b/themes/rocinante-2/layouts/_default/single.html deleted file mode 100644 index 9372b7b..0000000 --- a/themes/rocinante-2/layouts/_default/single.html +++ /dev/null @@ -1,23 +0,0 @@ -{{ define "main" }} - -
-
-
-

{{ .Title }}

-
-
{{ .Params.date.Format "Jan 02, 2006" }}
-
-
- {{ .Content }} -
- {{ with .Params.tags }} -
-
- -
- {{ end }} - - -{{ end }} \ No newline at end of file diff --git a/themes/rocinante-2/layouts/index.html b/themes/rocinante-2/layouts/index.html deleted file mode 100644 index 15499ab..0000000 --- a/themes/rocinante-2/layouts/index.html +++ /dev/null @@ -1,13 +0,0 @@ -{{ define "main" }} - {{ $paginator := .Paginate (where site.RegularPages "Type" "in" site.Params.mainSections) }} - {{ .Scratch.Set "pagenumber" .Paginator.PageNumber }} - {{ if eq .Paginator.PageNumber 1 }} - {{- partial "about.html" . -}} - {{ else }} -

Page {{.Paginator.PageNumber}}

- {{ end }} -
- - {{- partial "listcontent.html" . -}} - {{- partial "pagination.html" . -}} -{{ end }} \ No newline at end of file diff --git a/themes/rocinante-2/layouts/partials/about.html b/themes/rocinante-2/layouts/partials/about.html deleted file mode 100644 index 762b4d6..0000000 --- a/themes/rocinante-2/layouts/partials/about.html +++ /dev/null @@ -1,14 +0,0 @@ -{{ .Site.Params.about | .RenderString }} - -{{ range $links := .Site.Params.links }} - -{{ end }} diff --git a/themes/rocinante-2/layouts/partials/footer.html b/themes/rocinante-2/layouts/partials/footer.html deleted file mode 100644 index 0245dfd..0000000 --- a/themes/rocinante-2/layouts/partials/footer.html +++ /dev/null @@ -1,12 +0,0 @@ -{{ if not .IsNode }} -
-
-
- {{- partial "about.html" . -}} -
- -
-
-{{ else }} - -{{ end }} diff --git a/themes/rocinante-2/layouts/partials/head.html b/themes/rocinante-2/layouts/partials/head.html deleted file mode 100644 index 26ad470..0000000 --- a/themes/rocinante-2/layouts/partials/head.html +++ /dev/null @@ -1,25 +0,0 @@ - - - -{{ if ne .Title .Site.Title }}{{ .Title }} · {{ end }}{{ .Site.Title }} - -{{ $options := (dict "outputStyle" "compressed" "enableSourceMap" true) }} - -{{ $style := resources.Get "css/rocinante.scss" | resources.ExecuteAsTemplate "css/rocinante.scss" . | resources.ToCSS $options | resources.Minify }} - - - -{{- if isset .Site.Params "customcss" }} - {{ range .Site.Params.customCSS }} - {{ $customstyle := resources.Get . | fingerprint }} - - {{ end }} -{{- end -}} - -{{ with .Site.Params.favicon }} - -{{ end }} - -{{ range .AlternativeOutputFormats -}} - {{ printf `` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }} -{{ end -}} \ No newline at end of file diff --git a/themes/rocinante-2/layouts/partials/header.html b/themes/rocinante-2/layouts/partials/header.html deleted file mode 100644 index b0c74bc..0000000 --- a/themes/rocinante-2/layouts/partials/header.html +++ /dev/null @@ -1,9 +0,0 @@ -{{ if and (.IsHome) (not (.Scratch.Get "pagenumber")) }} -

- › {{ .Site.Title }} -

-{{ else }} -

- ‹ {{ .Site.Title }} -

-{{ end }} \ No newline at end of file diff --git a/themes/rocinante-2/layouts/partials/listcontent.html b/themes/rocinante-2/layouts/partials/listcontent.html deleted file mode 100644 index f3e0774..0000000 --- a/themes/rocinante-2/layouts/partials/listcontent.html +++ /dev/null @@ -1,31 +0,0 @@ - \ No newline at end of file diff --git a/themes/rocinante-2/layouts/partials/pagination.html b/themes/rocinante-2/layouts/partials/pagination.html deleted file mode 100644 index 9550d73..0000000 --- a/themes/rocinante-2/layouts/partials/pagination.html +++ /dev/null @@ -1,15 +0,0 @@ -{{ if gt .Paginator.TotalPages 1 }} -
- {{ if .Paginator.HasNext }} - « Older posts - {{ else }} - « Older posts - {{ end }} - - {{ if .Paginator.HasPrev }} - Newer posts » - {{ else }} - Newer posts » - {{ end }} -
-{{ end }} \ No newline at end of file diff --git a/themes/rocinante-2/layouts/photos/list.html b/themes/rocinante-2/layouts/photos/list.html deleted file mode 100644 index a1eee21..0000000 --- a/themes/rocinante-2/layouts/photos/list.html +++ /dev/null @@ -1,11 +0,0 @@ -{{ define "main" }} -
-

{{ .Title }}

- {{ if ne .Paginator.PageNumber 1 }} -

Page {{.Paginator.PageNumber}}

- {{ end }} -
-
- {{- partial "listcontent.html" . -}} - {{- partial "pagination.html" . -}} -{{ end }} \ No newline at end of file diff --git a/themes/rocinante-2/layouts/photos/single.html b/themes/rocinante-2/layouts/photos/single.html deleted file mode 100644 index f4aac2a..0000000 --- a/themes/rocinante-2/layouts/photos/single.html +++ /dev/null @@ -1,44 +0,0 @@ -{{ define "main" }} -
-
-
-

{{ .Title }}

-
-
{{ .Params.date.Format "2006 Jan" }}
{{ .Params.location }}
- -
-
- {{ .Content }} -
- {{ range .Resources }} - {{ if in .Name "Pano" }} - {{ $image := .Resize "700x q100" }} - - - - {{ else }} - {{ $image := .Resize "350x q100" }} - - - - {{ end }} - {{ end }} -
-

- {{ .Params.footer }} -

-
- {{ with .Params.tags }} -
-
- -
- {{ end }} - - -{{ end }} \ No newline at end of file diff --git a/themes/rocinante-2/layouts/posts/list.html b/themes/rocinante-2/layouts/posts/list.html deleted file mode 100644 index a1eee21..0000000 --- a/themes/rocinante-2/layouts/posts/list.html +++ /dev/null @@ -1,11 +0,0 @@ -{{ define "main" }} -
-

{{ .Title }}

- {{ if ne .Paginator.PageNumber 1 }} -

Page {{.Paginator.PageNumber}}

- {{ end }} -
-
- {{- partial "listcontent.html" . -}} - {{- partial "pagination.html" . -}} -{{ end }} \ No newline at end of file diff --git a/themes/rocinante-2/layouts/taxonomy/tag.html b/themes/rocinante-2/layouts/taxonomy/tag.html deleted file mode 100644 index 39daad6..0000000 --- a/themes/rocinante-2/layouts/taxonomy/tag.html +++ /dev/null @@ -1,11 +0,0 @@ -{{ define "main" }} -
-

Tags › {{ .Name }}

- {{ if ne .Paginator.PageNumber 1 }} -

Page {{.Paginator.PageNumber}}

- {{ end }} -
-
- {{- partial "listcontent.html" . -}} - {{- partial "pagination.html" . -}} -{{ end }} \ No newline at end of file diff --git a/themes/rocinante-2/theme.toml b/themes/rocinante-2/theme.toml deleted file mode 100644 index f90c0d3..0000000 --- a/themes/rocinante-2/theme.toml +++ /dev/null @@ -1,13 +0,0 @@ -name = "Rocinante" -license = "MIT" -licenselink = "https://github.com/mavidser/hugo-rocinante/blob/master/LICENSE" -description = "Minimal and very lightweight hugo theme." -homepage = "https://github.com/mavidser/hugo-rocinante/" -tags = ["blog", "minimal", "simple", "clean", "gallery"] -features = ["blog", "gallery"] -min_version = "0.66" -demosite = "https://sidverma.io/hugo-rocinante/" - -[author] - name = "Sid Verma" - homepage = "https://sidverma.io"