When I learned Bayesian Inference, it recalls me the proof of Bayes' theorem. It’s one of the simplest proof which derives an important theorem. Let be an event. The following formula are the definition of conditional probability. Do a sim…
Bayesian Inference is a method for estimating a true probability distribution from samples of the distribution. When I read the article in the wikipedia, I didn’t get the point. But I found a better article that gives me more intuitive und…
After writing [the previous post, I think I understand Box-Muller transform. I’m implementing it in this post. Original form of Box-Muller transform is as follows: : random variables from uniform distribution (0,1) However it includes squa…
When I read the post, I got an intuitive understanding of Box Muller Transformation because it has a lot of images. However I didn’t think I fully understand Box-Muller transformation and I didn’t understand the reason why we need to draw …
In the previous post, it’s easy to transform it to a sample from a normal distribution with mean and variance by calculating if we can draw a sample x from a normal distribution with mean 0 and variance 1. Then I started googling how to dr…
In the following previous posts, I mentioned about rejection sampling. nakaly.hatenablog.com nakaly.hatenablog.com But I was a little confused when I learn rejection sampling. Because we need a known distribution which we already know how …
Before going to MCMC, I would like to implement a test code by using rejection sampling. Since I am a little bit familiar with python, I’m choosing python(python3). And I would like to plot the result that I draw from a distribution to see…
In previous post, I introduced the simple idea of rejection sampling algorithm. But the step 2 (Accept the sample with a probability ()) should be elaborated when you actually use it. Draw a sample from G (which is a known distribution tha…
In previous post, I mentioned about the naive sampling method. I would like to mention about rejection sampling which is more efficient than the naive method. You have the target distribution(F) which you would like to draw samples from. A…
A very simple example: ^[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+){1,}$ From org.apache.common.validator: DOMAIN_LABEL_REGEX \p{Alnum}(?>[\p{Alnum}-]*\p{Alnum})* TOP_LABEL_REGEX \p{Alpha}{2,} DOMAIN_NAME_REGEX ^(?:" + DOMAIN_LABEL_REGEX + "\.)+" + "("…
When I learned about machine learning (especially deep learning), I sometimes see the word “sampling” such as gibbs sampling, MCMC. However I don’t think I fully understand sampling. I start learning it. When I think sampling, the first th…
It’s not difficult to create live streaming Android app that can record a video and send it to a server in real time. You can use do it by using javacv and they have a sample project for android. The sample project still works even though …
When using mockito, we should use eq for String. It seems that we should use eq even for long. If we foget to use it as follows: when(mockService.method(longValue, any(ClassA.class))).thenReturn(true); You will get the following error. org…
As I wrote in this post, a video consists of a sequence of frames and a frame consists of pixels. A pixel is represented by color. Color has various forms of its representation, which is called color space. The most popular color space is …
As I wrote in this post, a image data is usually compressed. You need to decode (uncompressed) it, when you edit a video. Because you cannot access a frame without decoding(uncompress) it. ffmpeg enables you to access a frame easily by tak…
In this post, I wrote about video file format and video code. When you want to do live streaming, you need to know video streaming protocols. You can upload a video as a file (flv, mp4 gif). However you cann’t download it after finishing u…
ffmpeg is a well known command line tool that allow you to edit videos. You can edit not only a video file but also a video stream. Probably its main function is to convert video format/codec. There are many video codes and formats. But wh…
My colleagues and I made an app that can do live streaming with style-transfer filter. (its repo) last year. I did some research about streaming servers. WOWZA A widely-used commercial streaming server. It’s not free since it’s a commercia…
I made a code to enumerate pairings in Round-robin tournament. nakaly.hatenablog.com And I found better algorithm written in Ruby. nakaly.hatenablog.com I ported it to Java. gist.github.com
You cann't have a private static field in Java interface even though you use Java8 which you can have default implementation. There is a hack for this. public interface InterfaceContainsPrivateStaticFields { class _PrivateStaticFields { pr…
DNS records are cached within TTL. That's why it takes time to see the change when you update a DNS record. Even if you add a new record in DNS, you may need wait for some time to see the new record. It may be caused by DNS master-slave re…
You can use lombok @Value annotation with Jackson, since Jackson 2.7 added support for ConstructorProperties. However you need to add @AllArgsConstructor too when you use @Value with @Builder. You can also Use @JsonDeserialize but it's a l…
You must have annotatedWith even though the actual classes (BbcFeed.class, CnnFeed.class) are bind to different providers as follows: public static class FeedModule extends AbstractModule { protected void configure() { ThrowingProviderBind…
It doesn't seem to be recommended. Because Optional is designed for return value according to OpenJDK emails below: Shouldn't Optional be Serializable? Loose ends: Optional java.util.Optional fields
There are some ways to save a object (e.g. Java object) into database. One of the ways is to serialize a object and store it into a text column. We can serialize a object by implementing serializable interface in Java. But it is difficult …
We can resolve a hostname from IP address if we have searchlist in /etc/resolv.conf to define DNS suffix. domain example.com options timeout:1 attempts:4 nameserver xxx.yyy.zzz.aaa search example2.com example3.com By default dig don't use …
I'm confusing App Indexing & App Links & Universal Links. App Indexing enables you to show app deep links in a google search result. As long as your app has deep links (even though you use custom URL scheme), you can see deep links for the…
ZonedDateTime.toString() occasionally does not have millisec as follows: gist.github.com ZonedDateTime.toString() uses LocalTime.toString(). And LocalTime.toString() omits trailing zeros. The output will be one of the following ISO-8601 fo…
We sometimes want to do something before destroying an injected object. (such as closing DB connection). However guice does not have lifecycle support (such as @PostConstruct, @PreDestroy) intentionally. An issue for having lifecycle has b…
You can store multiple scalar values in groonga vector column. Basically you can find documents in the official website. I tried it. ❯ groonga -n vector_column [04:15:13] > table_create Bookmarks TABLE_HASH_KEY ShortText [[0,1482779729.125…