Archive for the ‘Computer Science’ Category

Esoteric Algorithms and Esoteric Programming Languages

I’ve recently gained interest in esoteric algorithms and languages. They are fun to read and write. The most famous one of them is quantum bogosort that I describe below, Quantum bogosort: Assume that you have a deck of cards. If you you have a quantum computer one of the most efficient sorting algorithm will probably [...]

Importance Sampling

Importance sampling is probably one of the easiest sampling algorithm and one of the most fundamental one as well. The main purpose of it is to  estimate the properties of a particular distribution, while only having samples generated from a different distribution rather than the distribution of interest. Depending on the application, the term may [...]

Writing your own toy OS kernel

Every young programmer/computer scientist (at least the ones I know) has at least one time in their life dreamed about writing their own OS. Because it is one of the most complex computer program that you can write and there is a great challenge plus chance to hack in front of you. I fell in [...]

Scalability Tips for Building Fast Applications

Optimising code performance is known to be the black art and don’t worry about optimisation until you really need it. Hence don’t forget that, “premature optimisation is the root of evil”. Here are some useful points that you should consider while writing your code: You can really increase the speed of hashing by using fast [...]

Advices to a Beginning Graduate Student

Manuel Blum, a computer scientist in CMU has given a great talk  about advices to phd students. There are very nice advices in this talk and they are not only for graduate students but as well as people who like doing research can benefit it. The original source of this article is this talk, I [...]

Hypercomputation

You think that anything computable can be computed with a Turing machine. Now forget about Church-Turing Thesis for a while and ladies and gentlemen, here comes the HyperComputers!: Christof Teuscher et al, 2002, Hypercomputation: hype or computation? Copeland and Proudfoo, Alan Turing’s Forgotten ideas, 1999, Scientific American Selim G. Akl, The Myth of Universal computation, [...]

Should implementing ML algorithms banned for Production Systems?

Nowadays everybody is talking about the how machine-learning algorithms can be useful your business, but now I’ll discuss here how it can harm your business . As a design principle(best practice),   for the sake of security-preservation and efficiency in cryptographic systems, implementation of cryptographic algorithms isn’t recommended for production systems when there is already [...]

Perl Poetry

Yeah again I didn’t bother writing a blog-post myself and thereof I’m putting here an interesting  fragment from Larry Wall’s big Camel (see: judgin’ a book by its cover) book. The forgery in the attendant sidebar appeared on Usenet on April Fool’s Day, 1990. It is presented here without comment, merely to show how disgusting [...]

Measure Kolmogorov Complexity of a file with the Lazy Man’s technique in *nix

With the gnu ent command you get the entropy of a file in an easy way. For example: 1 2 3 4 5 6 7 8 9 10 11 12 13 caglar@caglar-desktop:/tmp$ cat /dev/urandom | base64 | head -c 1200 > rand.txt caglar@caglar-desktop:/tmp$ ent rand.txt Entropy = 5.982286 bits per byte.   Optimum compression would [...]

Natural Language Programming For Working Developer

The title explains all the buzz. If you are seeking for a short, brief but an informative introduction to NLP. The following web site is suitable for you. Also that site explains the fundamentals of Haskell in a very approachable way. Link: Natural Language Programming For the Working Programmer Related Posts:Learn you a haskell for [...]