Journal of Omnifarious

Dec. 31st, 2037

23:59 - To all of my friends

A note to all of my friends or those who would friend me

Could you also please friend [info]omnifarious' OpenID account [omnifarious.org] by clicking here: and put that user (who is also me) in all the same groups you put me. If LJ ever lets you use your OpenID identity to log into an existing journal, this may be moot. but I'm not counting on that feature ever happening.

As an aside, if you click on the icon in [info]omnifarious' OpenID account [omnifarious.org], it takes you someplace different than clicking on the hopper [omnifarious.org] does. The takes you to the LJ user info page, and the hopper [omnifarious.org] part takes you to the homepage for the ID.

Tags: ,
Current Mood: [mood icon] working
(30 comments | Leave a comment)

Jun. 29th, 2009

20:59 - I will be in Minnesota from the 1st through the 12th

I will be in Minnesota for Convergence. I will be bringing [info]tazfrog with me, and I'll be staying at [info]rosencrantz319's house.

I hope to see all of my friends who live in Minnesota. :-)

Tags: ,
Current Mood: [mood icon] excited
(Leave a comment)

Jun. 27th, 2009

00:22 - Programmer's block

I've been working on coming up with a nice C++ (or, actually, C++0x) interface to Skein hash function.

Skein has an interesting tree mode in which it's possible to parallelize the hash function calculation to a significant degree. I wanted to write a general interface for this so I could make a command line utility that used it to test it against sha256sum command.

Applying a tree hash to an existing file is a no-brainer. But I wanted to be able to handle much more general cases in which the leaf data may not be available on a random-access basis. In particular if the file is coming in on stdin or something similar.

I was having difficulty coming up with a general extensible interface for this. Partly the interface for the system for handling leaf data needed a way to allocate chunks of leaf data to work on, and then release them. This would allow for a sliding window type approach to fetching leaf data.

My biggest and most recent breakthrough was realizing that the leaf data objects were like ::std::auto_ptr objects. I didn't want to force heap use, so I needed the data about a leaf to be copyable. But I didn't want to have to have any kind of silly reference counts or anything like that. So that meant I needed it to be moveable, not copyable. Just like auto_ptr. But auto_ptr is a klduge in C++. In C++0x there is a very nice concept called rvalue references that let you implement move semantics very cleanly.

It took me awhile to realize I wanted move semantics. I kept on beating on the interface and coming up with usage scenarios that were just awkward and broken. Once I figured it out, things went a lot easier.

Here is a link to what I finally came up with: skeintreepp.hpp.

Tags: , , ,
Current Mood: [mood icon] pleased
(Leave a comment)

Jun. 14th, 2009

02:08 - Number puzzle

Many years ago I was presented with an interesting puzzle. I did not solve it. I had to be told the answer. It is a very simple answer, but it isn't dumb. Figuring it out requires a significant leap of lateral thinking.

I figured I'd put it here for the amusement of others. Comments will be screened. I will eventually reveal the correct answer, but it may be a few months. :-) And now for the puzzle itself:

What is the next number in this sequence?

Tags: , ,
Current Mood: [mood icon] amused
(1 comment | Leave a comment)

Jun. 8th, 2009

06:47 - Bizarre dream

The dream had two bizarre parts. The first was clearly ridiculous, and the second was just over-the-top strange.

In my dream there was a giant meteor shower. The sky was full of streaks. The bizarre part was that the meteors were all just barely making it to the ground and hitting people. But it was like having hot sand thrown at you, it didn't hurt.

The second thing was that there was this experiment in which people were being uploaded into the biosphere. Sort of a proof by creation of the Gaia hypothesis. The actions of all the myriad creatures that made up a given region of forest or whatever mapped directly onto the thought processes of an individual. Reminiscent of one of the mind types described in The Golden Age series.

Tags: ,
Current Mood: [mood icon] contemplative
(Leave a comment)

May. 23rd, 2009

18:36 - What I've been up to for the past few days

Well, actually, a whole lot of stuff, including spending some time with [info]klicrai and someone who tends to go by Crymerci online, but doesn't have an active LJ.

But, the topic of this LJ entry is the work I've been doing on creating a nice C++ interface for Skein, Bruce Schneier and friends entry into the NIST SHA-3 competition.

Anyway, I'm basing my work on the code in their NIST submission. And, as I said before, it's a nice C++ wrapper for Skein that attempts to give access to all of Skein's nifty features that are in excess of the NIST requirements. It's a hash function, it's a PRNG, it's a MAC algorithm! No, it's Skein!

One kind of gets the impression that Bruce and company are miffed by the fact that Rijndael was chosen over Twofish for the AES competition. And their response was to create a new algorithm that was faster, probably more secure, inordinately flexible and impossible to level the "it's too complicated to analyze effectively" criticism against. That criticism was one of the reasons Twofish wasn't selected in the AES competition.

Tags: , , ,
Current Mood: [mood icon] geeky
(Leave a comment)

May. 14th, 2009

18:18 - Statistical patterns in primes

There is an interesting new result showing that the distribution of prime numbers obeys a modified version of Benford's Law. The result also shows that another sequence who's distribution is somehow fundamentally related to the distribution of primes, the 0s of the Reimann zeta function.

It is my feeling that results like this do not strongly affect the usefulness of prime number based cryptography algorithms like RSA. But this is just a guess on my part. Does anybody have a more definitive answer?

Tags: , ,
Current Mood: [mood icon] curious
Current Music: Cowboy Junkies - Seventeen Seconds
(3 comments | Leave a comment)

May. 12th, 2009

15:41 - I sympathize with Dick here

The Daily WTF is a publication I generally really enjoy. Their recent article Java is Slow! is one I sort of take issue with.

I don't like Java or anything to do with it. I've said that before in this blog and I'll say it again. I can write a Python script to print "Hello world!" that takes less time to run than an equivalent Java program.

There are sweet spot for being simple to develop in, speed and language verbosity. Java completely fails to hit any of them. It has many of the ills of a compiled language with regards to how easy it is to develop in, and is even slower in many regards than most interpreted languages, and it's almost as verbose as COBOL.

And many of you will complain that Python is definitely slower than Java and point at benchmarks. The benchmark I care the most about though is "Hello world!", and that's a benchmark Java fails miserably at.

The reason I care so much about that particular benchmark is that Java's miserable failure at it is seen by people who want to use Java as a reason absolutely EVERYTHING should be in Java. Because the JVM is so expensive to start, you should only start it once, and then Java should become your OS.

I'm sorry, but no. Python has a perfectly acceptable VM, and it starts up in 10s of milliseconds or less. It's not compiled, so it's quick and easy to develop in, and maybe it isn't as fast in the long haul, but those other attributes more than make up for it.

If I really care about speed and want to use a compiled language, I will use C++. If I don't and I want a nice, easy to develop in language, I will use Python. Others can use Perl or Ruby if they want to. Java has no reasonable place in the development landscape, and it never will.

Tags: ,
Current Mood: [mood icon] annoyed
(Leave a comment)

May. 10th, 2009

04:02 - SHA-1 has been broken

It's sort of been broken for awhile. There were some attacks on it that were cheaper to perform than you'd expect given it's 160-bit hash length, but they were still not in the practical range for current computing hardware. Now there's an attack in 252 steps, which is well within the range of current computing hardware. Still not in the range for a desktop PC to be sure, but definitely doable.

The problem is that all of the replacements are woefully undertested and/or based on the same design principles as SHA-1 and so are also not particularly safe. The NIST hash function won't have good results for at least another 2-3 years. :-(

Tags: ,
Current Mood: [mood icon] worried
(Leave a comment)

May. 2nd, 2009

10:51 - Two relevant words to capture the import of The Colbert Flu

Of course, this sort of flies in the face of my determination to rename the flu 'The Colbert Flu', but...

Hamthrax (perhaps this one sort of fits) and the Aporkalypse.

Tags: , ,
Current Mood: [mood icon] amused
Current Music: The Police - Every Little Thing She Does Is Magic
(1 comment | Leave a comment)

May. 1st, 2009

09:47 - The Colbert Flu

The World Health Organization wants people to stop calling it "the swine flu" citing the fact that middle easterner's feel that swine is unclean. I suspect the real reason is the pork industry, but...

Stephen Colbert is famous for a number of things. And largely I think he's an excellent comedian. I really appreciated his George Bush impersonation a few years ago.

But I do think he should be ashamed of a few things. First he should be ashamed of having his audience attack Wikipedia, and I think he should be ashamed of asking people to stuff a NASA poll to ask that an ISS module be named after him. In both instances he encouraged people to abuse a public resource to make a comic point, and I don't think either instance is OK.

But, as payback, I think we should all start calling "the swine flu" "the Colbert flu". I picked this idea up from a Slashdot article. I want this partly because I can't see how this flu is any more deadly than any other flu that's been spreading around and consequently can't see the reaction of governments world-wide as anything but panic and/or asserting their dominance and giving themselves an apparent reason to exert power. Naming the flu after a comedian is, I think, the appropriate response. Secondly, he deserves it. If he wants an ISS component named after himself as a joke, he can certainly take a joke and have a flu virus named after him.

Tags: , , ,
Current Mood: [mood icon] amused
(2 comments | Leave a comment)

Apr. 21st, 2009

00:43 - Thoughts on CodeCon presentations

All the DIY BIO (Do It Yourself BIOlogy (synthetic biology in particular))

Wow! This stuff was really impressive. The basic idea being that biology is in the same place now as computing was not long before the MITS Altair came out. Sadly, the demonstrations of working code are a little hard to do when your experiment takes a few hours to run.

BitTorrent DNA

Commercial website thingy. Not interesting or relevant to me. Sadly, I paid attention to a good portion of the talk before realizing this.

Distributed Transaction Layer for Google App Engine

Well, this is mighty interesting. I sort of thought Amazon needed something like this a few years ago when I worked for them. Very relevant to anybody who wants to build reliable applications in a service oriented architecture.

Helios Voting

Secure electronic voting, for real. Probably more secure than paper ballot voting even. Really! The question I meant to ask, but forgot, was how it handles write-in candidates because right now it doesn't seem to have a really good way to do it.

Libevent

You know, I really ought to connect up StreamModule to use this. It would save me a whole lot of work. I didn't remember to ask if they had a good way of treating the release of a mutex as an event.

Pork

I was expecting to see tools for changing class names and all kinds of things. What I saw was a tool that had been painstakingly crafted to automate one change to Firefox's huge code base. Not that that isn't special, but I don't want to make that change, I want to make a different one.

All the people in the audience seemed to care about was how you could possibly trust the code the tool generated. And that's an interesting question, but not half so interesting as asking how easy it is to transform things in ways other than the particular fixup done to the Firefox code base.

It is clear that there is some pretty useful general infrastructure here. Something that can reliably keep track of the lexical structure of code before and after C/C++ macro expansion is pretty impressive.

OneSwarm

I wasn't so interested in what this particular tool did. I'm more interested in their overall research into the topology of Bittorrent networks and their effects on anonymity, performance and ISP friendliness. The tool itself is neat, it uses a few trusted friends to effectively hide your bittorrent downloads from prying eyes, of which there appear to be many right now.

Parallel Web Browser

Fine-grained parallelism in a web browser. And a really good source of ideas for how to accomplish fine-grained parallelism in a lot of other places too. A really interesting talk about how to put multiple cores to good use.

Switzerland

They started by asking what sorts of evil things your ISP is doing to your Internet traffic. They discovered that a possibly more interesting question is what kinds of evil things is your NAT or 'firewall' (note that a firewall's job most emphatically does not typically involve altering traffic, it's just a filtering device) is doing to your Internet traffic. I do not want to be randomly sending out an X-Cool-Jobs header with every web request, thank you very much.

I really wish they would do a survey of consumer NAT hardware and tell people how evil any given piece is.

Anyway, it's a pretty darned interesting research tool that I may have to run on my own network to help them out.

Tahoe, the Least-Authority Filesystem

Oh no! He's got an axe! And he's attacking the computer! Really!

An excellent demonstration of a distributed encrypted filesystem that can handle the random removal of nodes for reasons ranging from the node purposefully reporting invalid results to the node being randomly physically destroyed by someone with an axe.

TorFlow

A lot of interesting analysis of the Tor network to help identify misbehaving and/or malicious nodes as well as make the network a lot more efficient.

I should've asked questions as to whether or not using the data it generates to help you build more efficient circuits would compromise your anonymity. I was feeling very tired that day. :-(

Trend Profiler / trend-prof

A really interesting tool for identifying superlinearities in your code. This is a big help for taking performance profiles for small data sets and making good, educated guesses as to what they will look like for larger data sets. Also a good way to identify where someone used a bubble sort for something they most definitely shouldn't have.

Typhon / Scream

Unfortunately, I almost completely ignored this presentation. Nothing in the name or writeup of the presentation gave me a clue as to why I'd care. The demonstration of Quake 3 running on an Android G1 was pretty eye catching though. If I ever want to do that kind of thing I'll have to come back and look this project up.

Tags: , , ,
Current Location: Seattle, WA (The 18 bus)
Current Mood: [mood icon] exhausted
(1 comment | Leave a comment)

Apr. 16th, 2009

10:28 - Off to CodeCon

I'm flying off to CodeCon in San Francisco today. I will be back late on Monday.

Tags: ,
Current Mood: [mood icon] excited
(1 comment | Leave a comment)

Apr. 4th, 2009

18:43 - The real cost to us of "Gitmo".

I have a rather odd view of some things. One of my views is that evil ultimately costs more than good. That evil is ultimately self-destructive.

We've committed evil recently. Our imprisonment and interrogation of hundreds of people in Guantanamo Bay and other lesser well known facilities around the world is evil. That evil is now costing us something, and as near as I can tell we got no benefit whatsoever from doing it.

What the evil has cost us )

Tags: , ,
Current Mood: [mood icon] angry
(1 comment | Leave a comment)

Apr. 1st, 2009

12:12 - Switching ISps today

I'm switching ISPs today, and that means I will be down until it's all done. I meant to send email out to various people who rely on me for some services, but I forgot to. Bad sysadmin!

Anyway, many of them read this LJ, so here's my message to you telling you that my systems are going to be down for a little while. I'm hoping they'll be up today.

Tags: , ,
Current Location: 2237 NW 62nd ST, 98107
Current Mood: [mood icon] anxious
(Leave a comment)

Mar. 20th, 2009

10:21 - Eskimo North Internet questions

I've been looking to change ISPs. Recently Speakeasy's service has seemed to be really going downhill. And most recently, they want to charge me $300 to disconnect from a service they never connected and a line over which not a single packet has ever transited.

One ISP on my radar is Eskimo. One gigantic huge blinking plus for me is that they might support IPv6 natively. The carrier they use for DSL in this area is Mammoth Networks, which does support IPv6.

The problem is, I've called them twice and each time I've gotten a salesperson who was weak on the technical details and instead of punting my question to a technical person, they got huffy with me.

Has anybody had any experience with them? Is the level of poor service I'm getting from the salesperson indicative of how they run their operation in general?

Tags: , ,
Current Mood: [mood icon] curious
(10 comments | Leave a comment)

Mar. 15th, 2009

15:33 - There's a new term

For those who are not aware, Dan Savage has coined another new term. The term in question is 'saddlebacking', named after Rick Warren's Saddleback Church.

I encourage you all to tell your friends and link liberally.

Tags: , , ,
Current Location: 5463 Leary Ave NW, 98107
Current Mood: [mood icon] amused
(2 comments | Leave a comment)

Mar. 14th, 2009

23:22 - For [info]rosencrantz319, new Shakespeare portrait discovered

There is a Slashdot article about an Original Shakespeare Portrait Discovered, Disputed. It links to an article in the New York Times titled Is This a Shakespeare Which I See Before Me?.

Tags: , ,
Current Mood: [mood icon] curious
Current Music: Sade - No Ordinary Love
(Leave a comment)

Mar. 11th, 2009

15:13 - Rant about filesystems

Here is a response I wrote to the Slashdot article titled: Apps That Rely On Ext3's Commit Interval May Lose Data In Ext4 . In particular, some people are trying to say that it is unreasonable of app makers to create thousands of small files and they ought to use a database like sqlite or something instead.

Filesystems that cannot handle thousands of tiny files efficiently are completely broken. I think the Linux filesystem people have been complete idiots for years for not considering this use case to be worth it. Too many big iron database vendors whispering in their ears apparently.

I want to be able to use the filesystem to appropriately name and reference my data. I do not want to have to rely on some completely different set of tools to actually see what data I have stored on my filesystem. If that's the case, I'll just use LVM for my 'filesystem' and use something vaguely decent to actually hold my data and use those tools instead of the Unix filesystem tools.

Now, those applications that are broken because they are written incorrectly should be re-written so they are correct and coincidentally god-awful slow on ext4. Then maybe the designers of ext4 will get a clue and actually write a filesystem instead of a glorified version of LVM with fancy hierarchical namespace for partitions instead of the the flat one LVM has.

Tags: , ,
Current Location: 1500 Dexter Ave N, 98109
Current Mood: [mood icon] aggravated
(1 comment | Leave a comment)

Mar. 9th, 2009

13:59 - Computer name

I named the computer I'm using for [info]tazfrog's firewall 'Santa'. It decides who's naughty or nice. :-) Also, it fits in with the 'childhood fear' theme for the names of my other computers. The kid that bursts into tears on Santa's lap is afraid.

I like the fact that it twists something cheerful and bright into something dark with a fearful edge to it. Not that I think Christmas is bunk or anything like that. I like Christmas (or, well, the secular version - commercialism anyway). It's just interesting and intriguing that even the brightest and most cheery things can be ominous or scary from the right perspective.

Tags: , ,
Current Music: Enya - Evacuee
(2 comments | Leave a comment)

Navigate: (Previous 20 Entries)