Vpatch Study Part 2 - Topological Sort Example

October 18th, 2019

I have written a program that topologically sorts a list of python tuples representing vpatches1 as an exercise to understand V. A few tests are included. From this exercise I learned that I don't know exactly what it means for a vpatch to be a parent of another vpatch. I hope to resolve this point of confusion shortly.

I do not plan to continue working on this program unless otherwise directed. My next step is to publish my understanding of the what and why of V, followed by my annotations of asciilifeform's v.py.

  1. The datatype has the minimum information I believe is necessary to be able to perform a topological sort. []

Tokyo, Japan

October 16th, 2019

The last stop in our Japan/Korea trip was Tokyo.

Tokyo is the city I wish New York was. Its layout is chaotic yet functional. Train tracks and different width roads wind in every direction. Sometimes you cross the street via crosswalk, sometimes via pedestrian overpass. The overpasses are wide and can stretch for many blocks, making parts of the city vertically layered. Tokyo is not shaped in a grid like Manhattan, but their well engineered train network makes it easy to get from point A to point B. The beauty of Tokyo is that there are enclaves of residential housing in the heart of busy areas. One can often disappear from the commercial street filled with lights, cars, and hordes of people by walking down an alleyway.

city1

residential

residential

The residential areas are small and quiet. The cars on the road are replaced by people on their bikes.1 Seeing the bikes and laundry hung outside on balconies2 while walking through the residential parts gives one the feeling that they're in a rural village.

--

The first place we went to in Tokyo was 東京都庁, the Tokyo Metropolitan Government Building. The building has two towers that give a 360 view of the city. The weather was right for us to be able to see Mount Fuji in the background behind the city. I learned that to remove glare from windows in camera shots you press your lens right up against the glass.

observatory1

observatory3

observatory5

And with Mount Fuji in the background.

observatory4

While walking around Tokyo we noticed what appeared to be large arcades with scantily dressed anime characters posted all over the walls. We learned these were casinos that offered the game pachinko, the Japanese equivalent of slots. I have nothing to compare these to since I have never been inside a casino in the US. But it was eerie walking into the pachinko stations. Older men and women who looked like their souls had been sucked out of them were staring at the machines while smoking cigarettes and monotonously pressing buttons.

pachinko1

pachinko2

pachinko3

On one night we rounded up the energy to go out clubbing until 5am.3 It is not uncommon for people to stay out this late in Tokyo because the trains are closed between 2am-5am. We avoided the tourist4 facing clubs and found a club that looked local.

The club had lots of little rooms with hidden entrances that you could discover by roaming around. We wandered into a small room of ~twenty people where there was a nice balance of drinking, conversing, and dancing. The Japanese were incredibly friendly and tried hard to chat with us despite their minimal English and our nonexistent Japanese. Later in another room of the club, a stranger paid for our drinks while shouting "Welcome to Japan!" We talked with him for a bit and I think he said that the next day he was competing to be world number one in some iPhone game.

After leaving the club we found a bar that seemed to be populated only with friends of the owner. Unsure of whether or not we were welcome, we walked up the stairs to the seating area. There was one group of friends getting hammered together. One of the girls in the friend group asked us what we wanted to drink and then went downstairs to grab the drinks for us. After getting our beers she went back to get shots for the group. The next round they bought shots for us and we later returned the favor. They were very friendly and, like the people in the club, worked with the little English they spoke to have a conversation with us.

Outside the clubs we saw love hotels, hook up rooms available for rent. At the time of this picture 1 dollar ~= 107 yen.
lovehotel

--

Our last days centered around our restaurant reservations. We had booked one night at a hotel so that the concierge service could reserve restaurants that required a Japanese person to speak on our behalf. The concierge had us sign a contract stating we would pay in full and miss our dinner if we did not show up on time to our reservations.

The restaurants we went to are designed for the efficient serving of freshly prepared food. The guests sit at a bar facing the cooking staff. The master chef(s) prepares the food in front of the guests and the cooking staff serves everyone the same dish as soon as its ready. The waiting staff stands behind the guests at full attention replacing their tea, water, wasabi, ginger, etc.

The food was delicious at all of the restaurants, but the cost varied wildly. We had just as good an experience when we paid $60 per meal as when we paid $150 per meal.

--

Tokyo was my favorite place we went to during the trip. I was not as trigger happy there with my camera as I was at our prior destinations, maybe because I was enjoying my time more. I'd be happy to live there.

Let's end with a friendly looking samurai on a horse.

samurai

  1. In Japan no one locks their bike. As far as I know, it is impossible to leave a bike unlocked in any major city in the US without it being stolen. []
  2. Dryers are apparently less popular here than they are in the US. []
  3. I am normally not found of staying out late nor being in over packed clubs. When I first was living in Costa Rica I would go to bars early and chat up the few people there and then leave when the crowd started to arrive. []
  4. We found out to our dismay that the Rugby World Cup was being hosted in Japan during our stay. So there was a high number of burly English/Aussie/New Zealand lads loudly roaming the streets at night. []

V Study Part 1 - Vpatches and Vdiff

October 15th, 2019

Creating source using V is done by sequentially applying a set of vpatches through a process known as pressing. To press, V is given the most recent vpatch and an output directory. V then finds a path from the given vpatch to the genesis vpatch. Starting with the genesis vpatch, V applies each vpatch along the found path and dumps the result into the given output directory. In this post I go over how the vpatches used in this process are created.

To make a vpatch, a developer starts with a copy of the source already pressed to the previous most recent vpatch. We'll say for example this source is in a directory named oldversion. The developer then copies the source in oldverison to another directory that we'll call newversion. In the directory newversion he makes the source modifications that will constitute the vpatch. When finished, the developer runs

vdiff oldversion newversion

An example of the code for the vdiff program, taken from the bitcoin foundation, is reproduced in one line below:


diff -uNr $1 $2 | awk 'm = /^(---|\+\+\+)/{s="sha512sum \"" $2 "\" 2>/dev/null  " | getline x; if (s) { split(x, a, " "); o = a[1]; } else {o = "false";} print $1 " " $2 " " o} !m { print $0 }'

Running vdiff on the two directories creates the vpatch file, which is similar to a diff file obtained from running

diff -uNr oldversion newversion

The difference is vdiff replaces vanilla diff's file modification timestamps with hashes1 of the file's content. spyked articulates the importance of this in a recent thread he had with me in #o.

spyked: whaack, problem is that classical diff/patch leave room for ambiguity, i.e. in principle it's possible to (cleanly) apply a single hashless patch to different files, which results in different presses. so hashes are needed in order to identify the file (not only path/name, which is only metadata required for retrieval) as it is before/after applying the patch.

I still need to fully digest the awk command that is replacing the file timestamps with the file content hashes. But one quirk I noticed was that certain crafted files would cause the awk command to incorrectly match on certain lines. For example if you have


$tree
.
├── newversion
│   └── fool.txt
├── oldversion

$cat newversion/fool.text
++ trick.txt this_should_be_in_the_vpatch2

then

$vdiff oldversion newversion

will produce


diff -uNr oldversion/fool.txt newversion/fool.txt
--- oldversion/fool.txt false
+++ newversion/fool.txt 27991f54fb2534c59b6c0667f9a91d8bd9173b5cc3184aeea251c2435b7808457a5492add5646793738a1f3e9c32892a2261e18eb0e3a2d0d7a0486735bf43a8
@@ -0,0 +1 @@
+++ trick.txt false

the last line should be

+++ trick.txt this_should_be_in_the_vpatch

but it was mistakenly altered by the awk command. This incorrect modification to the vpatch makes the resulting fool.txt file have the wrong contents after pressing.3 However if, while pressing, V checks that the hashes of the resulting files match the intended files hashes found in the vpatch, V will correctly spot this error and fail to press. This gives an example of how diana_coman was right when responding to my point of confusion here

whaack: got it, i understand that the hashes are needed to identify the files. but regarding hashing the files yourself after every patch, the vpatches already let you know what the output hash will be. so if you trust the vpatch to the point where you're going to run the code outputted by it, then you should trust its claim of what the output of the hash would be. hashing the output files yourself after every patch then becomes more of a
whaack: data-integrity check.
diana_coman: the vpatches let you know what the output hash *should be*
diana_coman: nobody can let you know upfront what it *will be*; in general

  1. Originally, the hash function used in vdiff was sha512, as I have in the vdiff program I posted. Now the hash function used is keccak. The benefits of using keccak over sha512 are beyond the scope of both me and the post. []
  2. Note that I put two +'s at the start of the one line in this file. To show this line was added, the diff command's output will contain a "+" followed by the line's contents. This will cause there to be a line in the diff output with three sequential +'s that refers to a file's content. The awk command will incorrectly match to this line and attempt to replace this_should_be_in_the_vpatch with the hash of the non existent file trick.txt. []
  3. "this_should_be_in_the_vpatch" was replaced with the word "false" because the hash of the file "trick.txt" does not exist. []

V Study Reference Links

October 15th, 2019

My master diana_coman has assigned me the task of creating a report on my understanding of V that includes a v.py with my own annotations. I have collected related links for my reference as well as for the reference for anyone else on a similar path. I will update this post as I locate more material.

  1. ben_vulpes's V-tronics 101: A gentle introduction to The Most Serene Republic of Bitcoin's cryptographically-backed version control system 1
    1. mp's ode to V / ode to Genesis patch2
    2. mp's v manual genesis.
    3. mod6's perl v
  2. esthlos's a v-tron, a cl V he made himself. He has many updates to this vtron that are found on his homepage.
  3. asciilifeform's v.py3
  4. A note from spyked's blog about the shortcoming of v.py.
  5. trinque's v-manifest spec draft4
  1. This post has links to other useful material some of which I include on this post as well. []
  2. link dead at time of writing mod6 has fixed the link. []
  3. This was written by asciilifeform but I only have found phf's signature. There is a patch by phf to have asciilifeform's v.py use vtools. []
  4. Linking archived version until trinque recovers his blog. []

Differences Between English-Spanish Pronunciation Part 3 - Diphthongs

October 13th, 2019

This is my notes from the information found on 123teachme. There they also list example words with sound files.

A diphthong1 is formed in Spanish when the unaccented vowel i or u proceeds or follows another vowel, or a y follows a vowel. Attaching an i adds a "y" sound, attaching u adds a "w" sound.2

No diphthong is formed during a combination of two of the following vowels: a, e, o.

  1. two vowels glided together and pronounced within the same syllable []
  2. The Spanish y is said, i believe, with putting the tip of your tongue towards the bottom of your mouth by the gum of your bottom teeth. This is in contrast to English where the tip stays neutral or even goes up towards the roof of the mouth when making the "y" sound. []

What I Find Worthy of My Time

October 13th, 2019

whaack: asciilifeform: following from http://logs.nosuchlabs.com/log/ossasepia/2019-09-23#1003544 I am considering submitting to training under diana_coman, but before I pulled the trigger I thought I should stop here and ask if you feel it would be wiser for me to submit to training under you. Is this something you are interested in, and if so what would be required of me for you to take me?

asciilifeform: whaack: i can't answer this w/out knowing ~something~ about your interests1

whaack: asciilifeform: Okay, I think that itself deserves a blog post. The short answer is: programming ( have enjoyed going through SICP quite a bit, although its on hold, I want to learn how to program faster to eat through lots of saltmine work quickly), cryptography (i want to have trb "fit in head"), learning 2nd language (Spanish) , playing the guitar

And now for the long(er) answer. My six main interests are:

(1) Academic and TMSR Related - programming, cryptography,2 Spanish, and reading
(2) Non-Academic / Non-TMSR Related - guitar and surfing

For each of these I describe:

i) My relevant history.
ii) Why i want to pursue the interest.
iii) My related future goals.

I Programming

i) History

I first started programming when I was twelve-years-old. Since then I have done a number of personal projects, learned a few programming languages, got a bachelors at MIT, worked in the startup circus, and interned at various USG corps (including Goolag.) There is more detail I can go into with my programming history than my other interests, so I will save the expanded CV for another post.

ii) Why

I like the problem solving aspect of programming as well as the rewards of automation. It is incredible to be able to construct strings that can affect the physical universe.

Another reason I program is it is a way to whore out for cash. I sometimes enjoy programming for saltmines work, just like an actual whore might enjoy sleeping with some of her clients. But the goal is to get a large slice of the easy credit pie.

iii) Future Goals

I want to develop my programming ability in two different areas. One is improving my understanding of programming related topics by getting the CS education I should have received while at MIT. A good start for this would be: reading through the great books, completing the FFA series, and writing my own V. The other separate skill I want to develop is the ability to prostitute myself efficiently. I would like to learn how to make big bucks by quickly putting together websites/apps/what have you. This has to do with self-marketing and entrepreneurship as much as it does with programming.

II Cryptography

i) History

I first learned about the field of cryptography through reading a magazine called 2600. I read about RSA, but the math behind the algorithm was an enigma to me. I knew only that it had something to do with prime numbers and modular arithmetic.

Later in my discrete math course3 at MIT we went through the entirety of the algorithm. The same year I learned RSA in college, I got my first bitcoins. After successfully transacting with them, I figured that the blockchain4 was an important discovery5 and started investigating. Not too long after MtGox collapsed I learned about bitcoin-assets. I read How to airgap. A practical Guide. as well as a qntra post The Hard Fork Missle Crisis.6 It became clear that tmsr was the only place where anyone knew wtf they were talking about regarding bitcoin. Thus the logs became my source of information for everything related to cryptography.

ii) Why

One, cryptography gives the tools that allow a human to be an individual rather than a cell of neoplasm. I don’t want to be a helpless dependent to the person who programs the tools i use - be it gpg or my bitcoin wallet.

Two, bitcoin is what is important in our world. And true to the younghands.club slogan, I want to work on what matters, so I matter too.

iii) Future Goals

Much of my goals with cryptography are the same as my goals with programming. I would like to better understand the cryptography tools that I use by doing the relevant reading and writing my own versions of RSA, V, SHA256, and ECDSA. This knowledge would then be used to contribute to tmsr by being less of a liability while creating new tools.

III Spanish

i) History

I took Spanish from 6th grade of middle school up until junior year of high school. Throughout that time, I and most of my teachers did not intend for me to ever actually learn the language. Like most I would only plan to memorize a week’s worth of ~20 vocabulary cards and a new grammar rule for the week's test. I didn’t quite grok how in civilized society being monolingual stamps one as uneducated.

My quest to not be ESLtarded began in my last year at MIT. I signed up for a Spanish class with the intention of actually trying to learn the language. I started using Duolingo and went through all of their exercises multiple times. I lived in Tamarindo, Costa Rica for a year.

I set out goals for myself for learning Spanish, but I have been far from steadfast in completing them. Currently, I am reading Por Quien Doblan Las Campañas by Hemingway and adding words I don’t know to Anki.7 When I’m in routine mode I try to add 30 words a day, and review all my past words. I have made about 1,200 flashcards this way.

ii) Why

I began learning Spanish for the sake of being bilingual. I want to expand the capacity of my mind by allowing it to model situations in a language other than English. I also want to develop the discipline that is necessary to learn a second language.

Of course there is an appreciation of the social benefit of learning a second language. The apartment I am renting in Costa Rica would have been unavailable to me had I been unable to converse with the Spanish speaking owners. It costs about half the price I would pay for an equivalent apartment through a gringo facing website like airbnb.

iii) Future Goals

My study goals are laid out in my fixing my affliction of monoligiusm post. There I detail specific time commitments I would like to give each day to vocab, grammar, etc. I have fallen behind on those goals, but it may not be too late for me to repent and catch up. One major change that should occur from moving to my move to CR is having my mechanical vocab study become secondary to having real world interactions in Spanish.

After reaching an acceptable level of fluency in Spanish, I would like to learn a third language. I will most likely choose a language that uses a different alphabet, such as Japanese or Russian.

IV Reading

i) History

Growing up I read little more than Harry Potter and the books required for school. Like most dumb children in usaschwitz, I believed that skimming articles on the internet8 sufficed for reading. Luckily for me, I eventually stumbled upon trilema. I saw for myself the ability that a superior intellect could obtain from reading copious numbers of books.

I began to read somewhat regularly. I learned how slow a reader I was and how much trouble I had with concentration. My wpm reading was low and I usually could only go ~fifteen minutes without my mind wandering off. But I started to push through more and more books. I got a lot of pleasure through reading. It became easier, and a 200 page book turned into a one day rather than one week endeavor.

ii) Why

The rewards of reading are clear so I won't belabor the obvious but instead just mention the important points. Reading allows one to learn much faster than one can learn from a lecture in a classroom. In terms of raw data transfer, a speaker can only talk at roughly 100wpm while an average reader can digest a book at 400wpm. Reading lots of different material helps one fight against the 'you don't know what you don't know' problem. Going through a few books on an activity before doing it can, in just a few hours, give one the knowledge a previous expert spent their lifetime obtaining.

iii) Future Goals

I would like to read more and comprehend better through the following means. First, by keeping a list of books I have read and writing a summary for each one. The summary could include whether or not I believe that this book is worth rereading, and then if it is, a timeline for rereading the book. Second, by improving my system for choosing my next book. Lastly, by improving my reading technique. I still sound out the majority of words I read; perhaps killing that bad habit and building other ones could help me read more books.

V Guitar

i) History

I picked up the guitar in Costa Rica because my neighbor had one lying around. The guitar quickly began my preferred way to waste time. I've been playing now for about a year and a half, and for a decent amount of that time I was practicing for an hour daily. I have given two abysmal live performances during open mics in Tamarindo. I play fingerstyle on an acoustic guitar with an appreciation for all genres but a preference for classical and flamenco.

ii) Why

Playing the guitar gets me more out of my leisure time. It gives a road to travel down where I can always improve myself. It teaches myself self-discipline and muscle control. Performing in front of people gives me a way to train handling my nerves. And jamming with others is a great way to have fun and make friends.

iii) Future Goals

I would like to learn how to site read music, this is a skill that every other musician learns but is often neglected for the guitar. Other than that, my goal is to use the guitar as a device for training my ability to focus. So my goal for the guitar is simply to create a practice regiment and stick to it. I hope that as I improve my self discipline with the guitar my discipline will increase in other areas of life.

VI Surfing

i) History

I have been swimming in the ocean for as long as I can remember. My parents had a tiny beach house on Fire Island, a barrier island in New York off the coast of Long Island. I learned to body surf and boogied board there. For a short period I also surfed, although the waves mostly broke on the sand so this was not so feasible.

When I first arrived in Costa Rica, I had a lot of free time. I was in Tamarindo, where the economy is based around surf tourism. So I started surfing everyday and became amigos with arguably the best surfers in town. I spent a year enjoying the hedonism. I made new friends and girlfriends and traveled to spots all along the west coast of Costa Rica as well as to Peru and Nicaragua.

ii) Why

Surfing is one of the most enjoyable activities I've done in my life. The time between catching waves spaces dopamine kicks obtained from riding them into nice intervals. Surfing stays entertaining because every wave is a different experience. It also keeps me in great shape.

iii) Future Goals

My goals with surfing are more based around aspects of surfing to avoid. There is a dark side of surfing. It's an easy way to escape from problems in life. You have to do this important job X? Oh well the waves are calling, there's a swell and it may not be here again for months, btw why don't you smoke a joint before and after? The other problem with surfing is that the sun takes quite a toll on your skin. I visually aged during the year I spent surfing, and if I'm not careful I could wind up with skin cancer. Thus my aim with surfing is to use it as a meditative exercise that I do during sunrise or sunset.

*****

These are the main areas I enjoy and I'd like to develop myself in.9 The next step after this post is to evaluate the amount of time I should invest in my different interests and create concrete goals with timelines for them.

  1. I was surprised that while looking for a master to train under my interests were considered. There's ample writing in the republicsphere on how learning comes from being forced to do what's uncomfortable instead of from following your feelings. Why should an educator care about what their student is interested in? []
  2. I considered combining this category with programming. There is a lot of overlap between the two, since having control of your computer is a necessary requirement for doing work with crytography. I decided to keep them separate since there are aspects of programming separate from cryptography, and I didn't want to create an entire new category for those aspects. []
  3. taught by Albert Meyer []
  4. the blockchain. not blockchain technologees []
  5. Since at least high school I was dubious about the legitimacy of the USG’s financial system. I have always been shocked how heathens spend their lives chasing money without putting a drop of effort to learn about money itself. []
  6. Unavailable at the time of writing. []
  7. Anki is a flash card app that claims to have an optimal algorithm for spacing out cards you are learning to minimize the amount of time you need to memorize a large set []
  8. from USG spamsites, as I would later learn []
  9. Another one that I didn't mention is writing, which perhaps could be categorized with reading. []

Seoul, Korea

October 12th, 2019

The airport in Seoul was inconvenient. We tried to buy train tickets to our place in Donggyo-Dong, but the machines only accepted cash in Won. We looked for a bank or a currency exchange booth, but they were all closed (it was ~10pm) So we were forced to take a cab.

bankclosed

Our taxi drivers in Seoul varied in style. Some cab drivers were patient, always stopping before yellow lights and staying within the speed limit. But one cab driver that took us home from a club treated red lights as merely suggestions.

Seoul had more of a night life compared to Kyoto. There is a culture of beauty there based around plastic surgery and generous use of makeup. The popular look for Korean women is an application of makeup that creates snow white skin and red lips. Yes, the Koreans look photoshopped. But they embrace their superficial culture. They have a term in Korean, aegyo (애교), for when a person pretends to be cute.

I ate a lot of meat in Seoul. There are many restaurants where either you cook the food yourselves or it is cooked right in front of you. This one had an ugly tube that sucked up the heat and smoke from the grill.

meattube

They have a horrible system here where tables have buttons you press to call the waiter. When you press them a loud beep sounds and your table number appears on a screen. The waiter, who always looks pissed off, comes over to take your order. They will not come to your table to refill water or for any other circumstance other than you having pressed the button.

You will be waiting for a while for your check if you forget to press this.
thebutton

We saw posters for this 17-year-old emo pop idol Billie Eilish everywhere.

billie

We wandered into what appeared to be a children’s toy store. They had multiple floors of weird shit with huge screens playing cartoon ads for the store.

store

store

store

store

The toystore had an "adult" section upstairs. Seeing as we were in a toy store, we figured this may be a mistranslation, but we went upstairs to investigate. We were prompted for our IDs when we reached the top floor.

Here we have standard equipment.

standard1

And comfort for the lonely anime enthusiast.

nonstandard2

A helpful diagram.

nonstandard3

Later we indulged in the traditional Korean dish of ice cream waffles.

waffle1

waffle2

After stuffing ourselves with those waffles we went on a food tour throughout a street market where we met some German ladies and a sign interpreter1 from Minnesota.

We ate some live octopus. Chop sticks are difficult to use when your food is using its suckers to stick itself to the plate.

itmoves

Afterwards we went with the Germans to karaoke. We found an alcohol free teenager spot. Almost everything there was written in Korean and the person working desk spoke ~no English. But we managed to figure out how to rent a room for an hour. The room had two microphones and this hand held device that let you pick songs, change effects on the mic, etc. Everything on the device was written in Korean. We clicked around and eventually found the section with pop songs in English. Among others we found Bad Guy by Billie Eilish.

karaoke

The next day we journeyed to the Gyeongbokgung Palace.

gpalace

gpalace

gpalace

gpalace

gpalace

gpalace

Then to an old village with traditional architecture.

peaceful

peaceful

That night we went out drinking. Beware of the sweet soju. On our last day there I woke up at 2:30pm.2. We went on a tour of Gangnam.

Here is a bookstore. True to the superficial Korean culture, the books on the shelves are merely frames of books and not actual books.

books

We walked by a pop up Kpop concert. No one but the performers were dancing. We also saw a monument to one of Youtube’s most watch videos.

gstyle

Only a few hundred meters away from the kpop concert was a tranquil Buddhist temple.

buddhist

buddhist

buddhist

buddhist

buddhist

We got a view of the Han river and the Lotte World Tower.

hanriver

They have a street with a monument to all the biggest kpop bands.

kpop

kpop

And one for Psy, Gangnam's king.

kpop

Next up, Tokyo!

  1. I learned that different countries have different sign languages. And sign languages do not directly correspond to a spoken language, they're languages with their own grammar. []
  2. I normally wake up at 6am and have been waking up in Asia at around 7:30am. Thank you soju. []

Recovery

October 10th, 2019

The little hut known as ztkfg.com was engulfed by the flames of the recent fire within tmsr. This blog now temporarily lives in enemy territory while I wait for republic lands to return to their inhabitable state.

Previous blog posts should be restored shortly.

UPDATE: Previous posts have been salvaged from the fire.1

  1. Thanks to BingoBoingo saving my ass with the help of trinque. []

Kyoto, Japan

October 2nd, 2019

Note: This is meant to be a picture post. But I failed to do a systems check on my blog before heading out, so I don't have the ability to upload photos. Consequently, the picture part of this picture post will have to wait until I get back.

UPDATE: Photos uploaded.

My 28 hour journey from NYC to Kyoto was made pleasurable by enjoying the superiority of Japanese transit. This began with Japan airlines.

jpairlines

The stewardesses on Japan airlines spoke in such a soft gentle manner that it was nice to hear any announcement they had to make. The main course meal they served was notbad for airplane food, certainly better than anything I have ever had on a US airline. They also had red wine bottles as a standard free drink, which the passenger sitting next to me took full advantage of.

After about thirteen hours of flying, we arrived in Tokyo Narita airport. We took a local train to another station to get on the famous bullet train.

localtrain1

localtrain2

While waiting for the local train I noticed that different trains arriving on our track were coming/going from different directions. While on the train, they announced that after a certain station cars 1-p would split off into one direction and p+1-n would go in another. A nice feature of the disassembling, multi-direction-track train was little lockers for your luggage. luggagelock

They announced that should you forget your combo, you would need to ride the train all the way to the terminal station to get your bag.

The bullet train station had floor diagrams of how to stand in line for the arriving trains.

floorline1

floorline2

What's the point of making a train hit 300km/h if it loses time to dorks shuffling into the cars at every station?

bullettrain

Our white privilege was checked by Kyoto's dangerously low entryway height. We have a running counter of how many times we have each banged our forehead on some doorway our trip. My counter is already at 4.

In Kyoto, there are vending machines everywhere.
vmachine1

vmachine2

vmachine3

The first site seeing we did was the Kiyomizu Temple.

kiyomizu

kiyomizu

kiyomizu

kiyomizu

kiyomizu

kiyomizu

kiyomizu

kiyomizu

kiyomizu

kiyomizu

kiyomizu

kiyomizu

We did this tour through "the womb" where you are taken through a completely pitch-black tunnel, guided by holding a handrail. The spiritual experience was ruined by a child screaming ahead of us.

Off the beaten path near the temple was a large graveyard.

gy

gy

gy

gy

"Not bad for a canned coffee from a vending machine in a graveyard"

gycoffee

Oh hey it's my neighbor Totoro

totoro

Next up was a World War II memorial.

ww2

ww2

ww2

ww2

ww2

ww2

ww2

ww2

ww2

ww2

ww2

ww2

ww2

Throughout everywhere they have flowing water with ladles you use to pour the water on your hands as some sort of spiritual cleanse.

cleanse

bonustemple

bonustemple

bonustemple

bonustemple

bonustemple

bonustemple

bonustemple

bonustemple

bonustemple

Appalling littering on shrines or liquid donations to the dead?

offering

Money is thrown into all sorts of things for good luck.

wish

Now this is what I call a flower.

flower

We went to some street market after temple seeing. Have you tried Melonpan?

streetmarket

melonpan

streetmarket

streetmarket

streetmarket

The next day we went to a bamboo forest.

bamboo1

bamboo2

Not pictured: around here they have carriages for couples - but instead of being pulled by horses they are pulled by young, fit Japanese men.

Next up, the Tenry-ji Temple and garden.

tenry

tenry

tenry

tenry

The gravel in front of this pond is raked in neat lines. A tourist stepped over the fence and a police officer came running to throw them out, and called in the incident so that the gravel would be reraked.

tenry

After walking about in the heat we decided to check out an Onsen, a Japanese bathhouse. These are nude-required and tattooed-person-banned "hot springs." The land of 100 dicks had a bunch of different stations: a normal shower, jacuzzis with massage jets, muddy "hot spring' water, a freezing cold pool "the shrinker', a sauna, and a massage room. I paid thirty bucks extra to get the massage. But instead of the borderline sexual experience I was hoping for, I was scrubbed down furiously by an older Korean woman. I can't say I felt particularly relaxed afterwards, but I did feel clean.

That night we went to a bar where the bartenders are incentivized to make the cocktails nice.

cocktails

cocktails

Our last day in Kyoto was spent at the orange gates. They did an exhibit of this once in Central Park in NYC when I was younger.

But first, conveyer belt sushi. The way this works is that each different colored plate has a different price. When you're done eating they tally up all the plates you have to pay.

csushi1

csushi2

We also stumbled upon a University campus on our way to the orange gates.

uni

uni

uni

gates

gates

gates

gates

gates

gates

gates

It's a decent hike up, as you get closer to the top there are more opportunities for pics without hundreds of people in the gates.

gatesmap

whaackhimself

And that wraps it up for Kyoto, next up Seoul, Korea.

Past TMSR Work, Potential Future TMSR Work

September 22nd, 2019

My contributions to the republic, while having spent years twiddling my thumbs reading the logs, are as follow:

1. 5 Qntra posts, found here: 1

My first post was an inside perspective of MIT's "blockchain" curriculum. It confirmed what the republic already knew, namely that there was no interesting work going on at MIT re bitcoin, and any "work" being done there was hostile towards republican interests. Two other posts were tabloidal, making fun of pantsuitism. And the last two posts were reports on Coinbase shenanagins during the bitcoin cash hard fork.

2. Setting up my own trb bitcoin node. (failed)

There was naivety in my attempts to setup a running bitcoin node. When I first attempted to setup a node, I tried to get it goig on an old unused laptop. One mistake was believing that 2gb of ram is enough to get a timely block sync. I had thought at the time that the only bottleneck to getting a node up to speed was downloading the blocks, and I did not intuit the time it takes to locally verify all the blocks along the way2 I later attempted to sync a node on a dedicated machine hosted by dreamhost.com,3 paying a little over $100 usd per month. I can't quite recall what happened, but I think around block 350,000 it got stuck. Later, without trying to reboot bitcoind, I decided to cut my expense with dreamhost and gave up on running a full node.

3. Researching how many bitcoins are tied up in P2SH4 (failed)

The goal was getting an upper bound of how many coins are in anyone-can-spend scripts in order to answer the question: how many coins are in addresses related to segwit?

To do this, I first used ben_vulpes's block explorer5 to grab sexprs containing the data for every block. This was obtained by looping from 0...max_block_height and running
wget -0 http://mimisbrunnr.cascadianhacker.com/blocks/blk{n}
where {n} was the block number. While I was running a loop performing this task I noticed that occasionally ben's block explorer would give me some malformed file - and I had to simply re-wget the same url until i got back a properly formatted sexpr. It took a while to download all the blocks from Ben (even though I was not verifying them) and so I paid for a digitalocean droplet to run my scraper script on.6

Once I had blocks 0..n, I ran a script7 that would go through a chunk of blocks and keep an ongoing hashmap mapping "(txn hash, output number) -> num_satoshis_sent_to_output" for all the outputs in the block that were sent to non-trb conforming addresses. For each new block, the script would first iterate through the txns in the block to see if any of them spent the coins in the ongoing hashmap obtained from all the previous blocks. If a txn in the new block consumed one of the P2SH UTXOs that was being stored, that UTXO would be deleted from the ongoing hashmap. Once the purge of transaction outputs that had just been spent was completed, the script reiterated through the new block's txns to add any txn outputs that were directed to non-trb P2SH's to the ongoing hashmap. After iterating through all the blocks, one could calculate how many satoshis were in non-trb addresses by summig up all the values in the obtained hashmap.

I don't recall at what point/why I just faded away and stopped working on this tool. It may have been because I hit a problem with running out of memory for storing all the segwit UTXOs. It was an interesting investigation and perhaps the republic would still find a counter of coins that are contained in non-trb addresses useful. Which brings us to part two of this post:

Potential Future TMSR Work

diana_coman: whaack_pura_vida: that8 is obsolete so not a lot of help in itself; nobody is going to make the list ready for you to pick and choose, wtf.
diana_coman: whaack_pura_vida: publish what you figure out by Sunday together with *how you went about* the figuring out

My initial internal response to diana_coman was " (1) why is that a ridiculous expectation since there previously was a list of entry points? and (2) how is that list obsolete if a young hand such as shrysr is digesting V, which is more or less a task on that list?"

The best answer I can come up with to my own questions are "Yes, a list was once generously made, but doesn't mean that lords have time to keep an up to date task list for noobs. That post was THREE YEARS AGO and now there are new tasks to do - which you must find yourself. The current task list may or may not coincide with the three year old post, you have to have read the logs to find out."

With that being said, and keeping with the "how you went about figuring out", here is a list of potential tasks, with an annotation denoting how/why I came to choose that task.

1. Creating my own V9
2. Related to 1, taking up the task of maintaining a vpatch viewer10
3. Creating a new trb block explorer11
4. Continuing fighting the war on Segwit, first by completing the task of sizing up the coins held in P2SH. 12
5. Learning ADA and completing Stan's FFA series.13

Tasks (3) and (4) seems the most interesting to me, but I believe the v-related tasks (1) and (2) should be my starting point.

  1. These were edited by BingoBoingo, and one was improperly formatted wthen sent to him. So these contributions may have even been net negative depending on how much time BingoBoingo had to spend to correcret my mistakes. []
  2. My intuition was likely skewed because my first experience with running a bitcoin node was using power ranger software which used SPV, effectively making my computer search for the longest chain instead of the longest valid chain. []
  3. Originally I had thought, what help is it to run a node on someone else's iron? I still believe it is not that useful, you are only temporarily increasing the redundancy of the bitcoin network, but at any moment the enemy can flip a switch and you go offline. Adding a node to pizarro also has dubious utility, because from my understanding the republic already has a few nodes there at 161.0.121.248 and 161.0.121.250. []
  4. pay to script hash []
  5. dead at time of writing []
  6. This was also discontinued when I did some cleaning out of expenses. And I wiped everything off the droplet without first taking a local copy. []
  7. A lot of CL weird and sloppy code. Some of it is copy and pasted from code Ben was using to analyze his own block explorer. []
  8. http://trilema.com/2016/how-to-participate-in-the-affairs-of-the-most-serene-republic/ []
  9. The initial idea was planted by the trilema post of entry to affairs. That being said, V seems a natural starting point for working with republican code. It demonstrates understanding of the tool required to publish and use any code in the republic []
  10. per the suggestion of trinque. []
  11. Found this may be useful by going through old tasks and noting that Ben's old block explorer mimisbrunnr had died. []
  12. I figure that the lords best spend their time fortifying their castle walls rather than going out to fight against nonsense like Segwit. But perhaps a noob could prove his worth by taking on this neglected task. []
  13. This task seems a useful start for the same reason the V tasks seem useful: to prepare a young hand by learning the tools used to contribute to the republic. In addition, from my understanding only a few have gone through any of Stan's series. But apart from the additional proofread, this is a personal development goal rather than a contribution. []