HNHacker News
TopNewBestAskShowJobs

vasi

198 karma · joined March 30, 2009

submissionscomments
vasi··on A parallel implementation of gzip for modern multi-processor multi-core machines
xz in multithreaded mode supports random access too, at least theoretically. But there's no reasonable way with xz to actually find the file in a tarball you want to access, it's that bit that pixz provides.

Another nice thing about pixz is it does parallel decompression, as well as compression.

(Disclaimer: I'm the original author of pixz.)

vasi··on LXD 2.0: Introduction to LXD
I like almost everything about LXD, except the attitude towards networking. The project has rejected simple solutions such as port forwarding, saying that managing the network shouldn't be LXD's job. Instead, they'd like the user to manually configure their own bridges or routes or iptables chains.

I can kinda understand their point of view, there's no simple solution that will please everyone. But most developers or IT folks aren't networking experts, and LXD won't be an intuitive tool for them without a simpler mode of operation.

vasi··on I made a patch for Mozilla, and you can do it too
I did it! https://bugzilla.mozilla.org/show_bug.cgi?id=548763

Unfortunately it took quite a long time, the Mozilla process is quite confusing to a newcomer, even one with a lot of open source project experience. I definitely second the recommendation of finding a mentor.

vasi··on Happy new year and goodbye bzip2
lzma parallelizes very well! My implementation of parallel xz ( https://github.com/vasi/pixz ) works quite well. There are others as well, including pxz and the alpha version of the standard xz. All these tools produce compressed files that conform to the xz format and can be decompressed by any xz utility.
vasi··on Candy – a JavaScript-based multi-user XMPP chat client
Metafilter chat has been using this for a few months: https://chat.metafilter.com/
vasi··on Firefox 22 released
My feature, progress bars for downloads in the OS X Dock, made Firefox 22! Hope you all like it, and be sure to report any bugs.

https://bugzilla.mozilla.org/show_bug.cgi?id=548763

vasi··on Ubuntu Community Manager: RMS's Post Seems a Bit Childish To Me and spreads FUD
Your first point is interesting, but I'm no so sure about the second one:

Given certain search strings it should be possible for amazon to detect that this [person] engages in piracy.

Amazon does not see the search as coming from an individual. Rather, the Ubuntu servers act as an intermediary. All Amazon can see is "some unidentifiable Ubuntu user is searching for this". That's hardly something they could report to any authorities.

vasi··on Gmvault v1.7-beta, Gmail backup simply: The initial version I wanted to build
Yeah, I understand the advantages of Gmvault :)

I also realize it might not make sense to use Maildir as the native DB for Gmvault, since you don't want to store multiple copies of each email like OfflineIMAP does. A 'gmvault export' option would be sufficient for my purposes.

Let me know if there's anything I can do to help!

vasi··on Gmvault v1.7-beta, Gmail backup simply: The initial version I wanted to build
Yeah, I'm currently using OfflineIMAP until I find something better. But it's really not a perfect solution: it downloads emails multiple times (once per label), it doesn't restore to Gmail terribly well, it's pretty slow, and it crashes sometimes. If Gmvault adds some sort of export facility, I'd switch.
vasi··on Gmvault v1.7-beta, Gmail backup simply: The initial version I wanted to build
The #1 reason I want Gmail backup is to be able to migrate in case something goes wrong with Gmail. Does Gmvault make this possible? I don't see any documentation about exporting from Gmvault to another IMAP server, or to a common format like Maildir or mbox so that I could run my own server.
vasi··on History of the treemap filesystem viewers
There's a rough open source clone of Filelight for Macs[1]. Disclaimer: I'm the original author, but no longer involved.

A commercial app in the same genre, DaisyDisk[2], is much more flashy and polished. You can also get the KDE/Mac version filelight from MacPorts, as part of package 'kdeutils4'.

[1] https://github.com/jvhaarst/MacFileLight [2] http://www.daisydiskapp.com/

vasi··on Massive Speed Gains via Parallelized BZIP2 Compression
I welcome anybody who'd like to package it! I think it's already available in Arch Linux.
vasi··on Massive Speed Gains via Parallelized BZIP2 Compression
Glad to hear it's been of use :)

The author of xz is working on a parallel compression implementation of his own, which will hopefully be in future versions of xz.

vasi··on Massive Speed Gains via Parallelized BZIP2 Compression
Remember that compressors, including xz, support multiple compression levels. The default level for xz is 6, which is perhaps too far on the small-but-slow side. Levels 2 and lower tend to give similar compression levels to bzip2, and are considerably faster.

Also, note that decompressing bzip2 is very slow, xz usually beats it by a factor of two or more.

vasi··on Massive Speed Gains via Parallelized BZIP2 Compression
I've also got my version of parallel xz: https://github.com/vasi/pixz

It doesn't require use of large temporary files like pxz, and the xz files it produces can also be decompressed in parallel.

vasi··on A Better Strategy for Hangman
This is great, but it's just a first-order strategy! Once your opponent knows you're following these (quite rational) rules, she could pick words where the rules fail particularly badly.

I look forward to seeing your analysis of how to deal with that :)

vasi··on Why you should always use gzip instead of deflate compression
Good post, but it would be great if "for HTTP" was added to the title. This has nothing to do with other use cases.
vasi··on The Test: Civilization at a Crossroads
Some of his list of rules sound useful, some less so. I'd like to hear more analysis of each rule, though, rather than simply assuming it must be a good idea.

For example, decentralization can be useful in some cases. But differing laws in different can be a trade barrier, as companies have to lawyer up for each and every jurisdiction. There can also be arbitrage problems, eg: getting your free education in a generous-public-welfare state, then going to work afterwards in a low-tax state.

Another example is term limits. It has been suggested that in the presence of term limits, lobbyists end up with more political experience than elected representatives, which allows them to capture the political process. There's also the issue that without concern for re-election, an incumbent might feel no restraint in dishing out favors.

So my addition to the list of rules would be: "For each rule, consider how it could go wrong." It might make it harder to rile up the base even when that's appropriate, and it might make discussion take longer than it should, but I think it's worth it.

vasi··on The crappy Google problem that dogs Mitt Romney
I definitely see a difference with santorum, at least. Initially it was just a googlebomb, but now it's actually in common use as the term for the er, "frothy mix". I would not be at all surprised if some folks have only heard of that definition, and never of the man behind it.

Not sure what that means Google should do with the romney definition.

vasi··on The Manhattan Grid extended to every point on Earth
Wow, it lines up almost perfectly with Montreal's rather askew grid, what a coincidence.
vasi··on Why the Mac App Sandbox makes me sad
While it's possible that Apple could ban non-App Store programs, I don't see this as the likely threat. More plausible to me is that new APIs in OS X will, like iCloud, become available only to App Store apps.

Eventually anything that's not in the App Store will feel like the most ancient Carbon apps feel now. Why prompt an exodus of users over a mass ban of apps, when you can just slowly and surely take over the market instead?

vasi··on Firefox 8 for Windows x64: Has 64-bit browsing finally come of age?
x86-64 has many more registers than x86, which can minimize pushing values on the stack, and therefore boosts speed. On 64-bit you can also assume that at least SSE2 is available, which can help optimizations in some cases.
vasi··on Poll: Should HN display comment scores?
I'm a mostly-lurker. I only comment when I something to say that surpasses my fairly high threshold of "worth spending other peoples' time on".

On this issue, I'll break my pattern and post my half-formed thoughts, because to me HN was much more valuable with scores shown. The two main reasons:

1. Being able to skim just the top few comments allows me to read the threads, even on posts I'm not initially that interested in. Without the scores, I have to make an immediate judgement of whether I want to wade through hundreds of comments to find the diamonds in the rough. I feel like I'm now limiting myself on HN to only those issues I already know about.

2. I'd like to think that people might occasionally notice the more informative of my comments, infrequent though they may be. Without scores, my ideas may be drowned out by the quantity of other posts, which discourages me from commenting.

I understand the need to avoid comment wars, though the fact they're happening at all is rather disappointing. (Is the HN community really that petty that out-scoring those you're talking with is felt necessary, and rewarded? I'd like to think not!)

But let's not throw the baby out with the bathwater: Leave some way to separate the wheat from the chaff. I don't really care whether it's low-precision indicators, or clamped scores, or a setting to filter the highest comments, just so long as there's something.

vasi··on Buying VMWare Fusion: A lesson in how to drive customers away
Yup, it's using the physical partition, so all changes are preserved. Whether you want that or not.

I suppose you could use a snapshot VMDK to put the FS changes into a file, which you could then keep or discard. No idea if VBox or even VMWare actually supports this behaviour. Nor can I think of any particularly good use for it!

vasi··on Buying VMWare Fusion: A lesson in how to drive customers away
VirtualBox can actually do physical-partition virtualization, but you have to produce a VMDK file that points to the partition you want, and use that as the virtual disk. (Oh, and run VBox as root.) Conveniently, I've written some code to produce such a file: https://github.com/vasi/vmdk-raw-parts . Enjoy!
vasi··on FFI and Ruby 1.9.2 |
This is a lot harder than it sounds. A library doesn't contain any indication of the type of the functions inside, just their names. You could instead read the header to get the types, but that requires that the development package is installed, oh and also you have to be able to parse arbitrary C code. Yikes!

Thankfully, someone's done a great part of the work. MacRuby and PyObjC need to be able to call C functions, so Apple threw together BridgeSupport: http://bridgesupport.macosforge.org/trac/wiki . It uses the clang front-end to parse headers, and outputs an XML file with the function info. It would be really cool if you could do this on non-Mac platforms, presumably it wouldn't be terribly much work...

vasi··on Reflections on Objective-C
Reference-counting in Objective-C is probably an improvement compared to the very basic memory management of C++. (C++ fans, yes, RAII is better than nothing, but no, it's not enough.) But ref-counting is also a far cry from the tracing garbage collectors most of us expect in a modern language.

There are plenty of gotchas in non-GC'ed Obj-C memory management, see my previous comment in a different thread: http://news.ycombinator.com/item?id=1986799 . Also, the interaction of ref-counting with multi-threading is just awful: objects that some code uses but doesn't own must be obsessively retained-and-autoreleased in case another thread preempts and releases them. Behind the scenes, this takes and releases a lock on the object, which doesn't exactly help efficiency.

I'd rather hear about more of the things that Objective-C really gets right, instead of another "omg, I'd never heard of ref-counting before!" post. Here's a couple to start people off:

* Using named messages (instead of vtables a la C++) provides quite good introspection and run-time modification of the class hierarchy. This allows cool features like "delegates" that implement a subset of extension behaviours, and method forwarding.

* Objective-C's "informal protocols" are what we'd now call duck-typing.

vasi··on No GPL Apps for Apple's App Store
I mostly agree with you, but you're incorrect about WebCore/WebKit. For the first couple of years of WebKit development, Apple did indeed only release WebCore, but since 2005 all of WebKit has been released. Otherwise, how could Gnome (Epiphany), KDE (rekonq), Chromium, etc be using it?
vasi··on Booting ISO images from within GRUB2
This isn't possible in the generic case. Once the OS loads, its kernel will look for a root filesystem somewhere, and the ISO isn't one of the usual places it will look (ie: a partition).
vasi··on Mac App Store: Open for Business
TextWrangler is available, but has removed the command-line 'edit' command, and the ability to authenticate to edit root-owned files. So it begins...
Page 1 of 2Next →