- SMCL: J. Nielsen and M. Schwartzbach. A domain-specific programming language for secure multiparty computation. In PLAS ’07: Programming languages and analysis for security, pages 21–30. ACM, 2007.
- PySMCL: S. Meldgaard, CACE project deliverable D4.5.
- EDSL in Haskel: A domain-specific language for computing on encrypted data
A.M. Bain, J.C. Mitchell, R. Sharma, D. Stefan and J. Zimmerman. - Fairplay: Dahlia Malkhi, Noam Nisan, Benny Pinkas, and Yaron Sella. Fairplay – Secure Two-Party Computation System. In USENIX Security Symposium, pages 287– 302. USENIX, 2004.
- FairplayMP: Assaf Ben-David, Noam Nisan, and Benny Pinkas. FairplayMP: a system for secure multi-party computation. In Peng Ning, Paul F. Syverson, and Somesh Jha, editors, ACM Conference on Computer and Communications Security, pages 257–266. ACM, 2008.
- VIFF - The Virtual Ideal Functionality Framework. I. Damgaard, M. Geisler, M. Krøigaard, and J. B. Nielsen. Asynchronous multiparty computation: Theory and implementation. In Public Key Cryptography, pages 160–179, 2009.
- Sharemind: D. Bogdanov, S. Laur, and J. Willemson. Sharemind: A framework for fast privacy-preserving computations. In ESORICS, pages 192–206, 2008.
- SMCR: Peter Bogetoft, Ivan Damgaard, Thomas Jakobsen, Kurt Nielsen, Jakob Pagter, and Tomas Toft. Secure computing, economy, and trust: A generic solution for secure auctions with real-world applications. Technical Report RS-05-18, BRICS, June 2005. 37 pp.
Frameworks and Languages for SMC
Posted in Uncategorized
Commiting only parts of a file in Mercurial
Let say you have a file and by accident changed two unrelated part of the file. Now it would be nice if one could commit each of the changes in their own changeset.
The solution for Mercurial is an extension called record.
You enable the extension in your hgrc file. You would properly want to do it in the ~/.hgrc file to make it system wide.
Just add:
hgext.record =
Then you just write:
hg record
You might also consider these other extensions:
hgext.fetch =
hgext.churn =
hgext.mq =
hgext.patchbomb =
hgext.graphlog =
hgext.highlight =
bfiles = ~/path_to_bfiles
Continious Integration
Today I have install my first system for continious integration (CI). Initially I thought that I would be using Cruise Control. Mainly because it is used on the Fortres project which I have been involved with, so I know that it works well. However I have never installed it myself, or configured it.
I downloaded Cruise Control and got it running the accompaning example within minutes. But trying to add my own java project in a mercurial project wasn’t as easy as I would have liked. A colleage of mine suggested that I looked at a CI system called Hudson, and I liked what I saw. It prmissed Web interface for defining builds, easy setup, and easy integration with mercurial.
I downloaded Hudson, and within minutes I had it running my own java project from a mercurial repository. Building every 5 minutes and when changes where discovered in the repository.
It is as easy as java -jar hudson.war –httpPort=7000 to get it running on a non standard port (the default is 8080). Then go to http://localhost:7000 where you find the Hudson dashboard. From the dashboard you can easily create build jobs.
I am no expert on CI but Hudson seems like a great system and not only for Java. Also Hudson supports distributed builds.
All in all, I like what I see.
Python setlocale on Windows XP
In a development project we had some problems with guessing the correct locale string on Windows XP, and there seems to be no copy’n'paste solution on the web, so here it is:
# Import sys packages.
import locale
import os
local = 'da_DK' # Danish locale unix: 'da_DK'
if os.name is "nt":
local = "Danish_Denmark"
# Danish locale on Windows: "Danish_Denmark" or "Danish"
locale.setlocale(locale.LC_ALL, local)
See the following links for inspiration on how to guess your locale:
http://msdn.microsoft.com/en-us/library/hzz3tw78(VS.80).aspx
http://msdn.microsoft.com/en-us/library/39cwe7zf(VS.80).aspx
Posted in Programming languages
Java 5 Grammar for Sablecc 3.2 – Now with copyright
I have finally found the original author of the Java 5 grammar for SableCC that I posted here. I contacted author and the file has now been updated with appropriate author and license information.
Adding GPL or LGPL license information to a distribution is quite forward. There is a very straight forward howto: here at gnu.org.
Also I have added license information for my accompanying prettyprinter class. Both are available for download as tar-balls,
here and here.
Posted in Announcement, Java, Projects
Sun certified Java Programmer
Yesterday I went to the Prometric testing site here in Austin to take my Sun certified Java Programmer Java SE 6.0 exam. After more than 3 hours of counting parenthesis and trying lure pitfalls and traps out of small pieces of Java code I hit the “end” button and a test report was printet. I went out of the testing room and was handed the test report which showed that I passed, hurray!
So now I am officially good at writing Java code. This might seem like a joke especially since I have spent quite some time studying programming language at large and written a substantial number of lines of Java code. Even so I must admit that I have learned quite a bit about Java during the preparation for the exam. This surprised my at first, but then I noticed that I only use a rather well defined subset of Java and didn’t think that much about the rest of the language, because I didn’t need that
Well so I thought, but I have learnt some new stuff, and even some of it that I can put into good use when I write my next Java class. So studying for these kinds of exams can have some value. And then it is fun to dig out the corner cases and understand how the various parts fit together
Posted in Announcement, Java
How to make your garmin gps work on mac
I have had much success by following the instructions of this link.
I usually clear my gps of tracks before going on a hike and then download the new tracks to my Mac using GPSBabel+ as described in the link above. I open the track in Google Earth and work with it there and finally export it to the web look at my walk around Town Lake in Austin:
Town Lake hike
Posted in Misc
If I ever get to play with RFID tags…
Then this site may be a good place to start: http://www.rfidtoys.net/
Posted in Projects
The Purple Dragonbook
I went to the post office today to pick up a package from Amazon UK. The package contained the purple Dragonbook (Compilers Principles, Techniques, and Tools) by Aho, Lam, Sethi, and Ullman which is a classic in compiler design. Being a phd studendent working on programming languages it is a must have, and since a new edition has recently been published it was obvious to buy the book. I have agreed to review the book for the computer science association in Denmark (Datalogforeningen) which will be in danish, I expect to write a short summary here in English.
From the first look at the book I must say that I am excited. It looks really nice. I read some of the parts concerning parsers and it all seemed to make perfect sense from a first calsual reading. The reason I read about parser was my curiousity towards why approx. 200 pages out of approx. 1000 where devoted to lexical analysis and parsing. It seems a lot but from my first reading they also get into some of the stuff which is often left out of other compiler books.
I look forward to read the rest of the book and I will write a post when that happens.
Have a nice weekend.
Posted in Books, Programming languages, Projects
Back from San Diego
Last week I returned from a great trip to San Diego where I visited the FCRC Conference. I attended the History of Programming Language conference (HOPL-III), the Programming Language Design and Implementation (PLDI), and finally I presented a paper at the Programming Language and Analysis for Security workshop, which was the main purpose of my trip.
The HOPL conference was a big hit, many good talks on why or why not succes of programming languages like AppleScript, Lua, Modula-2 and Oberon, ZPL, Erlang, C++, Haskel and Beta. For the first time I saw Niklaus Wirth the maker of Pascal, the first programming language I learned. He seemed a bit uncontent with the present state of programming language too much abstraction and too little focus on fast implementations. I disagree. Raising the level of abstraction is natural and good programming style, the compiler should do the hard work of optimizing the code.
PLDI was a good experience many good presentations. There where a lot of presentations after 10 hours of talks my head was spinning and dangrously close to mental overload. I meet a lot of people doing interesting research nice to experience the state of art this close.
PLAS was a good experience the presentation went well, and the questions easy to answer. The other presentations where interesting so it was a good day.
San Diego is a nice city. It felt like a good place to be, especially the Gas lamp quater was nice. Lots of resteurants and shops. And the weather was great, 25-35 degress celcious and a nice refreshing wind.
I have placed some pictures from my trip, see the menu on the right and select pictures. The hotel was fine but the decoration sucks big time looks like something some the early 80′s
Posted in Phd, Programming languages, Publications