November 11th, 2018
The Alchemist by Paulo Coelho is a very easy read that provides more inspiration than it does practical advice. However, while there is no central theme of this blog, i would say i aim to make practical advice for myself and others a key pillar of its mission. So to leave with some practical advice, we will take a quote from the book,
If you start out by promising what you don't even have yet, you'll lose your desire to work toward getting it.
and go over it.
I feel that for software developers, these words of wisdom ring with truth regarding taking any form of investment for your project. The psychological shift that occurs when you receive money for your idea in exchange for a portion of the future fortunes can be enough to prevent you from realizing your goal. Here are the some of the negative consequences:
1. You no longer can stand up and proudly say, "this is my project, and my project alone."
2. Your vision will no longer be your vision but a blur of your vision and someone else's.
3. You will have to constantly consult all interested parties about almost every action you take. You will have extra overhead work of keeping everyone informed.
Software projects are special because they require almost no capital investment. With a good laptop and perhaps a server you can start cranking right away. If you take an investment in return for a promise of future profits, you will negatively affect the most important factor to your project's success: your drive to succeed.
Posted in Old Blog | No Comments »
November 9th, 2018
I remember the day at MIT where a "great discovery of our universe" was made. As I walked through the hallways the flags of the United States were waving on the screen while a women in a suit was standing behind the podium announcing the results of a finding at the LIGO lab. She was saying that a great theory regarding gravitational waves predicted by none other than Einstein himself had been confirmed with the help of some very expensive equipment. The halls of the university were packed with excitement, all of our teachers announced the finding in the beginning of class, and i had the feeling we were all supposed to be very happy about this great scientific accomplishment ~ regardless of our ability to understand it.
Shortly after many videos were released to help 'non-sciency' people understand the work of the great scientists. I recall lots of videos with a bed sheet spread taught and a marble placed in the middle drawing objects closer together was supposed to somehow explain this gravity finding (isn't that circular reasoning - gravity is the thing that's pulling things together on the bed sheet?) I digress.
Every truth in the world has a cost to confirm for yourself. Some truths, such as the presence of a force that attracts objects together based on their mass and distance apart are very cheap to verify for yourself. It's cheap to see that there is another electromagnetic force between things called magnetics. It doesn't cost so much to see that oil and water don't mix. It's cheap to see computers are the king of chess - just download stockfish.
Others truths, like the presence of microscopic bacteria, cost a little bit more to verify for yourself. A good microscope for this purpose may run you between $100-$500. Still doable, but the range of people who can confirm this truth is narrowed.
And lastly there are truths that most individuals will never have the resources to be able to confirm themselves. This is the Big Science. This is Google's supercomputer powered AI. This is the LIGO experiment. This is CERN. This is the Manhattan Project. This is the images from the Hubble telescope.
Big science is incredibly important, and with its use a few people are able to make profound discoveries. But to an individual, its authenticity forever can be put into question.
Posted in Old Blog | No Comments »
November 9th, 2018
Once the bits have been published to the public, it is very hard to prevent them from being copying. If you write a book, it will eventually appear on b-ok.org or some other book hosting site. If you create a video, it's only a matter of time before it's on the pirate bay. So if you're a content creator and you do private sales to individuals, eventually one of those individuals leaks the content to the world.
So I suggest a new payment model. A content creator creates a video, and puts up a public address with a target amount of payment to receive (let's say 1 btc)
He then has a script running on a computer
(defparameter *target-payment* 1.0)
(defparameter *crowd-source-address* 1Fx3N5iFPDQxUKhhmDJqCMmi3U8Y7gSncx)
(if (> (get-amount *crowd-source-address*) *target-payment*)
(release-content))
The "community" then has the ability to unlock whatever: a new album, a new videogame, etc by coming together and hitting the target. Perhaps trusted addresses could have a refund system if the target is not hit by a certain time.
It is very important that the content is released on a code trigger running on a server, that will fire as soon as the target address has enough funds and a few block confirmations have occurred. If the users have to wait for the creator to check his address and manually release the product, the system loses a lot of its magic.
Posted in Bitcoin, Old Blog | No Comments »
November 9th, 2018
The theory that we are in a simulation, i.e. stuck in a matrix that is a subset of a bigger world running on what we would think of as a computer, is bullshit.
Being in a simulation of a bigger universe has a probability of strictly less than being in a "real" outer-most-level universe. This is because being in a simulation would still require a universe, and on top of that it would require a universe with sufficient technology to create "sub-universe" simulations.
We cannot create any sub-universe simulations. If we were in a simulation there is no reason not to expect this to recurse infinitely downward. I.e. knowing that we are at the "bottom-level" is evidence that that "bottom-level" is the "top-level."
Posted in Old Blog | No Comments »
November 7th, 2018
Many SV companies have an issue of thinking that all of their customers would never want to interface with their product through code they wrote themselves. It is quite frustrating to always be forced to use their products through a GUI.
Take AirBNB for example. What I want from AirBNB is a get request endpoint that takes params:
latitude
longitude
radius
rent-start-date
rent-end-date
optional: max-price
optional: num-bedrooms
etc.
When I make the get request with the params i should get an array of available places.
Of course they already have something like this behind the scenes, as there is no other way the website could possibly work. But they obfuscate the api from the user. Perhaps the reason they do not publish an api is because they want to be able to feel that they can update their api without having to worry about breaking other people's code. ...Or some companies do not want anyone to be able to easily index their database.
Both the Apollo Music Project and Zylon will be built with an api that is documented and readily available for the user.
Posted in Old Blog | 1 Comment »
November 7th, 2018
A full block gets about .2 btc in fees, so roughly .2 btc / 1MB of space. The human genome is allegedly somewhere between 1.5GB - 2.0GB of ATGC data.
Now there is going to be some extra space needed, because as you try to stuff your dna in the blockchain there is going to be other transactions inbetween. So you're going to need to put pointers to where your last data segment was so that you can reconstruct your genome in the future. But we're going to ignore all that overhead and get a lower bound of the price.
2,000MB * .2 btc / MB ~= 400 btc
Immortality isn't cheap!
Posted in Bitcoin, Old Blog | No Comments »
November 7th, 2018
When you ssh into a box, often times you want to run a program that will keep running even when you close your terminal window. There are basically two options i know of that do this:
1. nohup
2. screen
I recommend using screen. To run a program with screen simply type:
$screen -L ./my-program
Then you will be put into a new shell, the "screen" that will persist even when you close your terminal window. Then do Ctrl-a D to detach from the screen and return your normal terminal. Now you can close your terminal window and ssh back into your box. To view all your programs running through screen type
$screen -list
Then to go back into the screen that is running your program run
$screen -r
I don't know how to use screen beyond this. But these few simple commands are very powerful.
Posted in Old Blog | No Comments »
November 5th, 2018
(while 't
(report-with-email-if-nil
(expected-elements-present?
(get-website *my-website*)))
(sleep-seconds 60))
Run on a separate server, and be the first to know that your website is down.
Posted in Old Blog | No Comments »
November 3rd, 2018
Updates / style changes for the blog that I want to put in:
1. A better organization of archives. Possibly by dates. Definitely an "All" button.
2. A better design for mobile, so that all the text can fit on the screen.
3. More/any pictures.
4. Syntax coloring for blocks of code.
5. Random article feature.
Posted in Old Blog | 1 Comment »
November 3rd, 2018
Apollo should be able to put two instruments inside of a parens to have them start at the same time.
For example
((1/4 "guitar" C D E) (1/8 "piano" C D C D))
should have both the guitar and piano play a C note at time 0, it should have the piano play a D note at 1/8 seconds, and have the guitar and piano play a D and C at 1/4 seconds, and then the piano play another D at 3/8 seconds, and the guitar play at 1/2 seconds into the song.
Then any other notes after should continue at 3/4 seconds.
Some other notes: The quotes should not be necessary around the instruments, and there should be documentation for all the instruments that contains the function used to generate them and the wave sample for each note on the instrument.
Posted in Old Blog | No Comments »