I notice that the result of seven cubes needed is a little more than I would expect from the four squares to obtain the same, and yet there even is a few numbers where eight cubes is needed.
This new theorem should be named Siksek's eight-cubes theorem.
While this theorem may have no practical use, I am still satisfied to know the truth.
The 15 minutes duration of each podcast is perfect timed with the driving time to my workplace...
As part of the BBC's Make it Digital Season, Aleks Krotoski presents a brief history of some of the most famous high-level programming languages. Each of these easily digested programmes is only fifteen minutes long and is available online as a stream and as a podcast or MP3 file.
Aleks Krotoski explores the history of programming languages. The history of computing is dominated by the hardware; the race for speed and power has overshadowed how we've devised ways to instruct these machines to do useful tasks.
Listen here (15 min streams): ▽
These programmes should be available worldwide without restriction. They are easiest to play on a computer (Flash) although they will work on iOS with a few extra clicks and on Android after the BBC media player http://goo.gl/oHuhfM is installed.
The Tower of Babel: http://goo.gl/eo0jL2
Podcast and MP3s: http://goo.gl/qCgm70
BBC Make it Digital: http://goo.gl/3am6qs
The one to the right in wrap (Seaweed 120cm*120cm) is sold to and is copy #3 and final print of this fractal.
The two to the left (Turtle and Octopus) are replacements of the two sold to .
The two middle smaller fractals are on printed on glass and due to reflections very hard to catch sharp on camera.
During lunch discussion at my workplace we started wondering if there existed a fixpoint for the md5 cryptographic hash function.
That is a point such that md5('x')='x' where x is the 32-digit hexadecimal string representation.
To be completely truthful the md5 algorithm works on 512 bit values. A 32-digit hexidecimal string is 128 bit and is first padded(with zeroes) to 512 bits before the md5 function is taken and
returns a 128 bit value which then is converted to a 32 digit hexidecimal string thus explaining my md5('x')='x' expression.
Some googling showed this is known as the "Kember Identity" and is an unsolved problem. Also a few programmers had tried to brute force it over the years with no luck (not surprisingly as you will see below). Even though I would never succeed I decided to look into the problem anyway.
Interestingly there is a simple mathematical argument that there is ~63.21% probability for at least one fixpoint. This does not mean there is one of course! But it also reveals there is probably only a few, if any! The argument is based on the same principly that when you shuffle a deck of card, what is the probability that at least one card will end up in the same position in the deck. The probability actually converges to 1-1/e very fast as the number of the elements shufled increases. There is no guarantee that the md5 function is a shuffling though, there could exist different 32-digit hexidecimal strings x,y such that md5(x)=md5(y). But such collisions are extremtly rare and would not change the overall probability by much.
Examples of different x,y with same hashing value does exist , see http://en.wikipedia.org/wiki/MD5 etc. But this example is 512 bit and not 128 bit (32 hexidecimal). The md5 hash function is not considered safe anymore due to collision vulnerabilities , but this is completly irrelevant to my mission of finding a fix point.
Lets see how futile a brute force attempt will be:
There are 2^128= 32^16 ~ 3.4*10E38 different values.
My brute force program can do 3.5M hash/sec (For each CPU used)
This gives 3*10E24 years to try all combinations (Using 1 CPU).
Not a very uplifting result and now you know why I used the word futile.
So without a cryptographic breakthrough, humanity will never know if such a point indeed does exist.
And now back to my brute force attempt:
I made a small Java program that can be found on Github on the link below.
Thanks to for doubling the performance using tricky bit manipulation instead of the standard Java methods as substring, equals etc.
The code is much harder to read now though, nothing comes for free...
The program starts with a random 32 digit hexadecimal string (for each CPU) and then iterative computes md5(x) and check if it matches x. Using this endless chaining of md5 values there is no performance overhead from generating a a lot of random strings. Of course there is a (tiny!) probability that this would result in an endless loop as it eventually is bound to do! But cycle detection would slow
the program down and detecting a cycle having 1E10 elements would take way too many resources anyway. Also I restarted the program
regulary over the 2 weeks I had it running on 24 CPUs and this would have reset any loops.
Since I would not find a fix-point but still would like to program to output somthing, I logged the maximum prefix and suffix match for md('x')='x'
The maximum match I found was a 12 character suffix and a 12 character prefix match shown below:
54db1011d76dc70a0a9df3ff3e0b390f -> 54db1011d76d137956603122ad86d762
df12c1434cec7850a7900ce027af4b78 -> b2f6053087022898fe920ce027af4b78
Remember this used 24*2weeks = 0.9 year CPU time. If you run it and find a 13 character match or more, I would like to hear for you of course.
On the other hand it would surely improve on the prefix and suffix matches.
The awesome team behind TWDK (http://www.thingswedontknow.com/team.php) have started a fundraising campaign to cover some of the basic costs involved in running the site such as research, artwork, writing expense etc.
I was contacted by the TWDK team and asked if I wanted to help with this charity campaign and since it both involved teaching science and environmental awareness, I instantly agreed.
Six of my best fractals all resembling marine creatures can be picked as rewards when donating more than £150 GBP. I am selling the fractals very close to my production/shipping cost so donaters will get some value for their money. The total price for supporting the project and getting a fractal is still less than my regular price for the same fractal.
The campaign is scheduled to run for 60 days.
And if you want a small recap of what happened in the previous four seasons these gorillas have a very short version of the plot :)
After 200+ years of collecting all danish newspapers and stacking them in warehouses or copying them to microfilms, they can now be accessed online for free! At The State And University Library Aarhus we have been working on this project for years and are very happy to open it to the public today.
We have build a powerful search engine on top of all data so it is easy to find text matches down to a specific page with highlighting and you can download the newspaper as a PDF. For historians this is a gold mine and the general public will be able to search for family members or old articles they want to read again.
So far we have only 1 million news paper pages in the index, but this will increase to over 32 million pages over the next year.
You can only search in newspapers that are older than 100 years, unless you search from the computers within the State and University Library where there is no limitations.
The OCR (Optical character recognition) is not perfect and this is most evident in oldest newspapers, but we have several ideas how to improve this over time.
Since we just went live today there is a heavy load on the site - so be gentle :)
The 'Langlands program' can be compared to the similar hunt for a "Unified Theory" in physics. The program is trying to connect previous believed totally unrelated branches of mathematics and some of the found connections is still a mystery.
If you want a much deeper understanding about this project I can recommend reading "Love and Math" by Edward Frenkel. But the book require some mathematical knowledge to understand the concepts in more details. I did not understand everything since it require knowledge in so many different branches of mathematics. Still the book is the best way to gain a deeper insight into the frontiers of mathematical research.
Zhang's example shows that it's possible to do top level mathematical research outside of the academia. Good new for all of us, and... shame on you, academia!
- Århus UniversitetCand. Scient, Mathematics/Physics, 1991 - 2000
I blog about my mathematical adventures, where I, among other things, solve various puzzles, which often involves brute force CPU attack on the problems.
In my spare time I use mathematics to create art.
For the last 12 years I have worked as a Java programmer.
I like retro-gaming, and I never become tired of talking about old-school games or computer
I love animals - especially cats - and I have two cats of my own.
- StatsbiblioteketIT Consultant, 2011 - present
- IBMAdvisory IT Specialist, 2006 - 2011
- AcureSoftware developer, 2005 - 2006
- Mærsk DataConsultant, 2003 - 2005
- LECConsultant, 2000 - 2003
De svære emner... stress og depression | Therese Hansen
Der er emner, der er svære at tage op med kollegerne. De mange sygemeldinger, det dårlige humør, de pludselige følelsesudbrud, de glemte aft
Solutions to Martin Gardner's best mathematical puzzles
Last week I posed eight conundrums from the puzzle maestro’s archive. Here are the answers.
When Extrapolation Fails Us: Incorrect Mathematical Conjectures | WIRED
It is well-known that our intuition is not perfect. We are predictably irrational in a huge number of ways in our everyday lives. But what a
Mathematics – Community – Google+ (CommunityRank: 76) ─ CircleCount.com
The CommunityRank of Mathematics – Community – Google+ is 76! Their about: A community for mathematicians, students, and mathematics enthusi
How to use the Solr Data Import Handler to index a MySQL database table ...
In this article we will go through Importing and indexing My Sql database table data in solr4 using Data Import Handler. In solr4 database t
Aldeles uopfordret ansøgning | Den sidste romantiker
Jeg ansøger hermed uopfordret om en stilling i en af fremtidens verdensomspændende virksomheder med hovedsæde i Beijing, Mumbai, Moskva, Rio
Apache Tapestry 5 Makes Java Web Development Easy | Javalobby
I went through the Apache Tapestry 5 tutorial today and found it surprisingly easy to use. The two most productive features I love are auto
Gamasutra: Ramin Shokrizade's Blog - The Top F2P Monetization Tricks
[UPDATE: Alex Dale, the CMO of King.com, has graciously taken his time to clarify a few points related to CCS, and I have edited this paper