Log in

drostie [entries|archive|friends|userinfo]

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

More delays, more delays. [Jan. 3rd, 2009|04:41 am]
So here's where I am right now.

Physically, I'm in Ithaca for another week, before I return to finals in Delft.

December 17th, my web host (crissic.com) went down. Like, in a serious way: data was unrecoverable, the main site was down, eventually even the DNS records for crissic.com started to fail. And nobody heard from the webmaster for the entire weekend thereafter, with a bunch of people worried on the WebHostingTalk.com forums.

I tried my best to keep people sane there -- a lot of them seemed to believe that the Crissic guy was maliciously absconding with our money and data; and just a moment's reflection suffices to reveal that this couldn't be the case. Part of it was other web hosts stirring the pot quite a bit.

But when the webmaster finally got back online, the damage was done and everyone was leaving the ship.

After long attempts by me to get my domain name -- drostie.org -- back again, only today did I manage to get through to the webmaster, to get my domain name transfered to a godaddy.com account in my name. It's not actually back quite yet; I still need to wait 5 days or so. Then I need to start my server from scratch.

Meanwhile, I'm looking for a tablet PC. I only have $1000 in bank money right now, but dividends may soon change that; we'll see. I need about $1500 to get the laptop, and then I need a week or so to polish it up to my standards. And then I have exams, and maybe then I can return to LJ.

Time is wasting, but the weekend is upon me. Quite possibly, I'll just need to take the computer on credit, then repay the fines when the dividend cash comes in -- otherwise, there's no guarantee that I get it in my hands before next weekend. It's all very :-/ right now. But we'll see, we'll see, we'll see.
LinkLeave a comment

drostie's kickass fajitas. [Dec. 7th, 2008|12:25 am]
[Tags|, ]

My moratorium on livejournal due to my lack of a laptop had to end tonight, though it will continue in a little while again. I'm sorry, but without a laptop, I have no internet efficiency, so each moment I spend on the internet is spent somewhat carefully.

The big project right now is setting up drostie.org for email, since cornell.edu is kicking me off in a week or so. I almost had the damn thing running, but then I thought, "Oh, Ubuntu has upgraded from 'hardy' to 'intrepid' and there's some new packages in intrepid that I'd like." Big mistake. My VPS server did not like the ubuntu upgrade, and I had to reset everything and start from scratch.

On the plus note, I now have an opportunity to create a server tutorial to be hosted on drostie.org. I had promised one to the WebHostingTalk forums, but then I had forgotten to copy-and-paste my setup steps after browsing through other tutorials.

Anyway. The point of this post, as the subject says above, is to introduce you to my kickass fajitas. They're probably not really fajitas, but they look generally similar.

Prep work is relatively easy. You need fillets of a bird (I used turkey and enjoyed it); you need a red and a green bell pepper, sliced into half-centimeter wide slivers, some shredded iceberg lettuce and grated cheese, and you need pico de gallo
. I am a heretic with my pico de gallo
. I use minced, uncooked garlic, instead of chiles, to give it its punch -- and I flavor it with oregano, a little olive oil, salt, pepper, and basil. Just think, "What would an Italian do to make pico de gallo?" and you have my recipe for it.

Take a spash of sweet white wine, a splash of olive oil, and a splash of water, salt and pepper to taste, and some small chopped pieces of bacon, and stir them around in a pan under low-ish heat. You're going to poach a bird product (in this case, I used 1cm-ish thick turkey filets) within their marinade. The amount of marinade is somewhat crucial -- you want it to be mostly-oil by the time you add the mushrooms, so that they don't boil so much; but you want to steam the peppers.

Slice a green and a red bell pepper into small slivers, coating them with a little olive oil and a splash of the same wine, and some salt. Then, once the bird has been lightly poached, start to take out the filets and slice them into something more linear, resembling the peppers in length, if wider. Return them to the marinade and turn up the heat, with the bell peppers going in with them.

As the marinade steams the peppers, keep the mixture tossed and moving. Add sliced mushrooms when it gets to be more like a thin layer of olive oil than a marinade.

Put them all together in a tortilla, optionally with sour cream -- but the cheese, lettuce, and pico de gallo are part of the soul of the dish, and shouldn´t be omitted for anything. It should end up sweet, savory, a little messy from what's left of the marinade/sauce, and, in addition, absolutely delicious.

I have no idea what to call them. They aren't, strictly speaking, grilled -- more like poached, steamed, then lightly fried. So "fajita" is the wrong word. But US folk would be misled if I just called them "tacos."

I thought about adding corn to the mix as well, but I have the feeling you wouldn´t taste it in the end product. There's already a huge amount going on.
Link1 comment|Leave a comment

Hiatus [Nov. 20th, 2008|09:22 pm]

Hey guys. I am unfortunately going to have to stop updating this journal. My laptop of two years (named "Basilisk") has died, and I really don't have the financial resources right now to buy a new one. I might be able to return shortly if I receive dividends and/or can sell back stock to my Dad's company; or he might arrange for me to be able to sell shares to him. (It's privately traded and escaped the worst of the current Wall Street crisis.) But for now, I have no regular computer that I can turn to. Ç'est la vie.
LinkLeave a comment

Hash functions, pwext, password lengths [Nov. 7th, 2008|08:36 pm]
[Tags|, ]

There was recently a deadline, at Halloween, for hash function submissions to the US government, for the sake of producing the next Secure Hash Algorithm (SHA3). And there were a lot of submissions made just recently. The winners will gain the applause of the cryptographic world and international fame, in about four years time or so, as finalists are selected and the crypto community weeds out the bad.

Confused? A hash function, in the broad sense, takes a file and gives you back a number. And since a file is just a string of 1's and 0's, just about anything can go into a hash function, to get back a relatively small, manageable, number.

Have you ever sorted files by file size, before? Congrats, you've used a hash function -- in this case, a "naive" hash function, one that's easy for a malicious person to duplicate. A secure or cryptographic hash function is just a hash function which is hard for a malicious person to duplicate. They're used, for example, to guarantee that a downloaded file is the same as the source file: if the numbers match, then there's only a very small probability -- that the files are different. (For a 128-bit hash, it's three billionths of one billionth of one billionth of one billionth of a percent.) And this is a small number (16 bytes) which can be posted on the internet or otherwise transferred rather easily. If you use BitTorrent, the bulk of the .torrent file is hash values for each little "piece" of the file, to make sure that you've downloaded it all correctly.

Now, you know me -- if a deadline for this sort of contest arises, then I'm off having a codegasm. In particular, I've got an ongoing project called pwext, a password extension for Firefox.

Read on...Collapse )
Link10 comments|Leave a comment

Dream job? [Nov. 2nd, 2008|12:59 pm]
[Tags|, ]

In my dream, last night, I was in the Amsterdam streets, just outside of Station Amsterdam Centraal, where all of the tourists walk out into the city for the first time ever.

"One euro, and I'll explain anything!" I pitched in front of my stand. "Why is the sky blue? What do women want? Why are vegetable oils liquid and animal oils solid? How many angels can dance on the head of a pin? Is there a God? Any question, answered for one euro!"

Call it the Drostie version of busking, I suppose.

(This was probably influenced by the fact that I went to sleep after playing air guitar to a whole slew of my favorite songs. When I'm playing air guitar, there's always some sort of implicit busking/performance element to it, somewhere in my head.)
Link1 comment|Leave a comment

"Acceptable" superpowers [Nov. 1st, 2008|08:53 pm]
[Tags|, ]

A while back, I read Steven Gould's Jumper novels. You may recall the movie-with-no-plot of the same name, which was "based on" the book in the sense that absolutely nothing that happens in the book happens in the movie, and vice versa. I blogged about it in kentox roughly when the movie came out or so.

Anyway, in the novels, the protagonist has the ability to teleport. The NSA and CIA do not like the prospects for this, since it means that he can be Terrorist Threat Number One if he so chooses.

Now, this has recently become a subject of my musings. I love to think through superpowers, in particular because I've seen and read about lots of superpowers which aren't well-thought-through. (I'm looking at you, Hiro Nakamura.) The idea proposed by Jumper -- that some superpowers are a political threat and will land you in pre-emptive jail of some sort -- is something in this vein.

So, define a PC-power as a "politically correct" power, by which I mean that the NSA and CIA will not be worried about your existence in the world. What sorts of powers are PC? What sorts of powers are "politically incorrect" by this standard?

Actually, most superpowers are politically incorrect. Some are a little surprising: if you had the superpower of being able to factor large numbers and do discrete logarithm problems, the NSA might be very worried about your cryptanalytic potential.

Here are some PC-powers:
1. Super-linguistics. (That is, the ability to understand any given language.)
2. Flight, probably.
3. Super-strength, maybe, but probably not super-speed. After all, someone with super-strength can still be tasered.
4. Super wit. (It's on bestthing.info. It counts.)
5. Possibly mind-reading. Probably not mind-control.
6. Basic telekinesis.
7. Omen-reading -- that is, basic predictions about the future.

Any others you guys can think of?
Link24 comments|Leave a comment

Ethics, check. But being a good person? I still need to work on that. [Oct. 28th, 2008|07:23 am]
[Tags|, ]

I breezed through the mandatory ethics course, with the sixth highest exam grade out of the 96 people who took the course. (An 8.0 -- highest was 8.5.) That's, needless to say, an "A" in ECTS terms.

My exam in basic statistical mechanics is today. Here's hoping.

[Edit: I destroyed that exam. There was only a smoking crater remaining behind to remind posterity of the sheer power that I brought to bear against that test's meek and puny frame.]
Link3 comments|Leave a comment

Xenophobic Cat [Oct. 24th, 2008|11:23 pm]

Uncle Guus has a cat.

A boy cat with a stubby tail, who is terrified of people. I mean, he comes into our garden to dine every night, but he hates to approach if you're too close, and runs off. Xenophobic cat. Maybe I should just call him Xeno.

I have a long history both of loving cats and being allergic to them. At Amy's bridal shower, for example, I had to wash my hands every five minutes, because Amelia's cats would ambush me for love and attention, and I could tell that I was pretty damn allergic to them. I kept petting them, but each time that my nose or eyes itched, I had to get up and wash my hands before I could scratch said itch.

It's a formula that works pretty well.

Anyways, Xenophobic Cat has been my personal project. I've been feeding him personally, even eating my meals alongside when I'm not serving other guests. Xeno wasn't comfortable with coming indoors until just recently, and today I made one major point of headway: today Xeno came inside and let me pet him for the sake of being pet. No bribing him with dinner; just me scratching at a purring cat's face and neck.

I don't know why people and animals inherently trust me. Admittedly, my baby nephew didn't automatically take a shine to me, but I think that's because I was the first person he'd ever seen with a beard. And he got used to me relatively quickly. Maybe everyone secretly inherently trusts everyone. Regardless, I like having that property, as a personal asset.
LinkLeave a comment

Blum Blum Shub [Oct. 23rd, 2008|10:42 am]

Ugh. I just found out that my Basic Stat Mech class is, in fact, only a half-semester class, and so I've got an exam next week to study for. So maybe my coding has to be put on hold. Blech.

Blum Blum Shub is a simple pseudorandom number generator: given two prime numbers p and q, and some random number x between, say, sqrt(pq) and pq, you just start squaring x, modulo pq. You usually just take one or two bits from the result, so that it's hard to find out subsequent numbers. And it has one magical property: *any* statistical attack on Blum Blum Shub is also a statistical attack on integer factorization. So if you can statistically predict Blum Blum Shub, you can also statistically predict how to factor N = pq. (Unfortunately, the proof of this fact is asymptotic, and so we don't even know what "small" means when we say, 'for small N, this proof might fail.')

In any case, I've implemented Whirlpool in Javascript, and am now turning to Blum Blum Shub. Javascript doesn't have a good long-integer type. In fact, Javascript doesn't have integers at all: numbers are always secretly stored as double-precision floating point numbers (52 bits of precision). To do Blum Blum Shub at its maximum speed, then, we would need x^2 to be less than 2^52. Hence x must be less than 2^26, hence pq must be less than 2^26, so we're looking at factoring a number that's around 64 million.

In other words, an efficient Blum-Blum-Shub generator in Javascript *must* break up its numbers into arrays, because I can probably easily factor a 26-bit number. I mean, the largest that my lookup table needs to be is sqrt( 226 ) = 213 = 8192, and there's only on the order of a thousand or so entries for that. I can create a script that does a thousand % operations. No problem.

Probably, my best bet is to break them up into 24-bit blocks, for some N. Why? Well, you probably know this trick for calculating whether a number is divisible by 3 or 9: add up all of the digits individually, then see if the result is divisible by 9. It turns out that this works because 9 is the number-system base (10) minus 1 -- and all factors of B-1 will have that property in base B arithmetic.

In particular, in 3-bit octal arithmetic, 8-1 = 7 has that property; and in 4-bit hexadecimal, 3 and 5 (factors of 16-1 = 15) has that property. In 12-bit arithmetic, both of these conditions coincide. For example, the factors of 212 - 1 are: = 212 - 1 = 4095 = 3*3*5*7*13. (Just divide by 5 first, 9 second, and 7 third. Easy peasy.)

Since 224 - 1 = (212+1)(212-1) = 4095 * 4097, and no prime factor of 4095 could divide 4097 (they're just too close together), we can quickly search for prime factors of 4097: we check 2 (easy no) and then 11 (another easy no) and finally 17 (harder, but 4097 = 17*241). And 241 is less than 172, so because it's not divisible by 2, 3, 5, 7, 11, or 13, it must also be prime. (You don't need to actually divide by any of those to see that, because, again, 4097 is too close to 4095.)

So 224-1 = 3*3*5*7*13*17*241. If I divide my numbers into 24-bit blocks, I can rapidly test for divisibility by 2 by checking the last bit, and I can sum the blocks together to test for divisibility by 3,5,7,13,17, and 241. That reduces my search space for primes to around 1/5 of its former size with almost no real effort.

And the native data type of Javascript is large enough that I should be able to carry out the long multiplication algorithm in-place, since b1*b2 is never more than 48 bits, and I have 52 to work with. I don't know whether peculiarities occur when it transfers from integer mode to float mode, but I'll find that out when I implement it.
LinkLeave a comment

Gnocchi in Red Bell Pepper Sauce [Oct. 21st, 2008|05:19 pm]

Hey look~! My first post in this journal. Here's hoping that it works out well.

I'm back living on my own, which means more fun cooking. I figured a foodie post was always a good start to this blog. Anyways, I managed to get my hands on fresh gnocchi yesterday; so I was in for a treat. (I can make it myself, but it takes about an hour and I've been doing other things recently.)

I built a wonderful sauce as follows:

(1) I blanched and then peeled three Roma tomatoes, dicing the soft flesh over a large cutting board.
(2) I very lightly roasted a red pepper over the gas grill flame, to peel it. It got diced.
(3) I sauteed the pepper with a little olive oil in a side pan while building up a roux in my main saucepan.
(4) The tomato paste and red bell peppers went in with the roux and some extra water. The mixture was kept uncovered, just under a boil.
(5) Seasonings were added: parsley, salt, pepper, oregano, and basil, to taste. Also, two cloves of minced garlic or so -- I would later wish that I had added a third.
(6) Finally, two chicken fillets were cut widthwise into slices around half an inch to a quarter of an inch thick, and poached in the sauce.

Just as the fillets were finishing, I started the gnocchi, so that they could both get plated right as they finished.

It was incredibly good. I thought I would be making enough for today as well, but I couldn't get enough of the flavor for dinner last night, and ate it all then. There is something about that mixture of tomato, red pepper, garlic, olives, and parsley that just... sings.

Sorry, no photos. My battery charger for my camera can't plug into my converter-plug for the outlets here, so I'll have to make the dish again, after I buy a new battery charger. Maybe I'll make it the next time I have guests over. These sorts of dishes rarely work so well on their first try, but this one worked beautifully.
LinkLeave a comment

[ viewing | 10 entries back ]
[ go | later ]