I started porting the 7zip C++ code a few months back, but it was pretty slow going. It's some of the worst code I've had to parse. Had to give up eventually- it was easier just to exec() the native ones.
- Matt Mastracci
from iPhone
Yeah, a lot of those codecs look like that, and the Java ports tend to be really nasty. The only real way to do it is reimplementation, not C->Java translation, which means spending time learning exactly how the implementation works, and rewriting it. A tall order, but maybe the open source community can help.
- Ray Cromwell
BTW, I've been able to demonstrate a 25% reduction on image bundles generated by ClientBundle by running them through a PNG optimizer. It makes me wonder if optimal PNG sprite packaging should take into account not only minimizing wasted space/dimensions, but also, the effect of ordering different images next to one another will have on DEFLATE.
- Ray Cromwell
I was hoping to take a first stab at a direct port, the try to reverse engineer what I had done once it worked. Would be nice to have a proper clean room apache version of it (any direct port would likely inherit the LGPL).
- Matt Mastracci
from iPhone
Interested to see what you come up with on the PNG side. Most PNG optimizers just brute force different codecs and interlace flags. I doubt there's been any real study of doing it with a more refined approach yet. Plus all of them use libpng's subpar zlib compression in the end :)
- Matt Mastracci
from iPhone
I think the AdvanceCOMP has a tool that uses 7-zip's implementation of deflate to recompress PNGs.
- Ray Cromwell
Matt, if you have some partial code, I can contribute, although it will probably have to be 2 weeks out, as I've got some big patches in the pipeline right now. But getting a Java implementation of 7-zip deflate in the linker is definitely on my wish list, and we can reuse the suffix tree implementations to implement LZDIST to improve clustering as well.
- Ray Cromwell
Why you don't use Fusion? We use a lot it also with multiple machine opened at the same time on our MacBook Pro. Sometime we just stop the OS without suspending the VM and after that everything is still working fine...Fusion is really a great product.
- Alan Lugiai
Yeah, I'm gonna switch when I get a copy. I made the mistake of paying for parallels, and got suckered into paying for upgrades every year, parallels 2->3->4. A total dollar auction.
- Ray Cromwell
Hm. Parallels and vmware both use the virtualization stuff built into your CPU and some clever but simple passthroughs for other devices. Crashes are more likely indicative of failing hardware. You can try virtualbox to see if it does the same thing. Be sure to uninstall parallels first (don't delete your image, you just want to get rid of the parallels kernel extensions)
- mjc
from iPhone
After writing my post I tested the rel. 3 of Fusion yesterday. Seems faster then the old one...they say that it fully support Snow Leopard and is entirely 64bit...
- Alan Lugiai
Yes, they both use the VT-x stuff, but I think the crashes might come in some of the virtual device driver stuff, e.g. mapping gfx calls to OSX. This was definitely the case with 3d support.
- Ray Cromwell
@cwilso Chrome OS video said it makes the computer stateless not 'the system'. And that's true, except for cookies/cache/html5 storage.
You can never find a good Ukkonen Generalized Suffix Tree with Lowest Common Ancestor implementation when you need one. (hmm, biojava.org seems to have one, but it's LGPL :( )
"The Internet has finally paid off. I may have harbored doubts, but deep down, I knew it was all leading to something." -- Reddit comment on the Miss Universe sex-tape.
Imagine this story: "Japanese Head of State visits White House and refuses to shake hands!" or in Japanese Media "Japanese Emperor shakes hands with US President. How long will we grovel before other nation's hand germs?" Why is bowing any worse than any other greeting?
- Ray Cromwell
from Bookmarklet
"The verbosity of the Hypertext Markup Language (HTML) remains one of its main weaknesses. This problem can be solved with the aid of HTML specialized compression algorithms. In this work, we describe a visually lossless HTML transform that, combined with generally used compression algorithms, allows to attain high compression ratios. Its core is a transform featuring substitution of words in an HTML document using a static English dictionary, effective encoding of dictionary indexes, numbers, and specific patterns. Visually lossless compression means that the HTML document layout will be modified, but the document displayed in a browser will provide the exact fidelity with the original. The experimental results show that the proposed transform improves the HTML compression efficiency of general purpose compressors on average by 21% in the case of gzip, achieving comparable processing speed. Moreover, we show that the compression ratio of gzip can be improved by up to 32% for the price of higher memory requirements and much slower processing."
- Ray Cromwell
This is an HTML analog to my JS "one way transform" clustering work.
- Ray Cromwell
Neat paper. The end result of this transform isn't displayable by a browser though, unlike your re-ordered JS that can still be executed. Still a pretty cool idea for archiving vast quantities of HTML (something we're actually doing). Technically any time you strip whitespace, you run the risk of changing visual fidelity, thanks to white-space: pre.
- Matt Mastracci
Yeah, although I like the idea of recognizing various browser's liberal tolerance for broken HTML and removing theoretically required constructs or end tags with full knowledge that the parser will add them back in.
- Ray Cromwell
I've been running all of our static content through the validator.nu parser, then using the Java transformer code to output HTML4. There's a lot of repeated close tags in the output (</li> is a big one). Might make for an interesting experiment to see what sort of savings you could see.
- Matt Mastracci
Why doesn't the HTML5 <video> or <audio> elements address *recording* as well? Leaving lots of potential on the table. Codec legal issues?
I took a look at this a while ago. It seemed obvious since Flash can do it HTML should do it too. The good news is that there is a W3 workgroup for it: http://www.w3.org/2009..., with some relevant requirements: http://dev.w3.org/2009.... The bad news is that it's a W3 workgroup, AND the only browser rep. on it is from Opera.
- Nick Lothian
When I was on the XForms WG, they had an alternate way of doing this using file upload: http://www.w3.org/MarkUp... You could specify mime-types and if there was a device capable of producing that type, it would use it. Obviously, it would be better to have a more JS friendly procedural API. I'd say the HTML5 community should aim high, you...
more...
- Ray Cromwell
Somehow I doubt they'd add a huge leap of functionality at this point in time. WebSockets would need support for binary to make this work efficiently (otherwise, JS would have to base-64 encode outgoing stream data in real time). Plus, the video tag would need a way to stream-in/out blocks at a time rather than reference complete movies, and it's not clear a dataURL hack would work....
more...
- Ray Cromwell
I'd be happy with a way to get local video into the browser, even if there was no sensible way to post it. At the moment you need to do VLC + stream to HTTP, plus the video needs to come from the same port any JS is served from to do video+canvas manipulation. That means you need mod_rewrite, too. I wonder how Palm/WebOS handles it?
- Nick Lothian
Don't understand Maine. How can what other people do change the sanctity of *your* marriage? How can social conservatives justify a free market ideology, but then turn around and support government restraint on the types of contracts people can enter into? Gubmint,hands off! But stop those people!
I've always wondered why it's not humiliating to these people that their notion of marriage is so weak and unstable that it is jeopardized by what other people do. Isn't that ultimately a vote of no confidence in their own institution.
- Kelly Norton
This Android GPS talk got me thinking, what was the first in-car GPS map to appear in TV/Movies? Kitt on Knight-Rider?
Google Navigation is not "evil" putting car GPS vendors out of business, it was inevitable result of 4 trends. A) Price of online/cloud driving directions is already zero B) GPS got miniaturized/commoditized into phones (+SkyHook) C) 3G got rolled out, now reasonable bandwidth available in your car D) Phones got smart, powerful CPU and graphics.
I've seen numerous comments calling this act a violation of "do not evil". If you've had free online driving directions for the last 10 years, and a phone with GPS that can run complex apps, then all you need to do is add in ubiquitous bandwidth/connectivity to bring the cloud based mapping ($0 price) to the car device, obviating the need for a single function device. The ecosystem trends already pointed to the eventual doom of these devices, the writing was on the wall. Google just moved first on Droid.
- Ray Cromwell
couldn't agree more, wasn't "no turn by turn using google maps api" a big enough clue for people?
- lypanov
People often say the Web has Won. But they used to say the internet won, that it routes around roadblocks. Thus, if the web gave birth to centralized walled-garden social networks, *inter-networking* will be their death. If connecting people is so valuable, its future is as a commodity network layer like TCP/IP. Internet :: Novell :: ?? :: Facebook
Awesome new internet meme: Remove special effects from blockbuster movies, only actors speaking! (2012 trailer, "Actors Version") - http://www.youtube.com/watch...
"Interprocess communication between the hypermedia browser and the embedded application program is ongoing after the program object has been launched. The use is able to use a vast amount of computing power beyond that which is contained in the user's client computer."
- Tracy
I wonder if anyone patented the "buy/develop bullshit submarine patents, wait until someone else does all the hard work to implement them, then sue" business method? Perhaps counter-suing them based on that might work? ;)
- Nick Lothian
"However, even if there were a last-minute u-turn at the Louvre, statistics suggest the battle of Le Big Macs has already been lost. France has become McDonald's biggest market in the world outside of the US, according to the chain. While business in traditional brasseries and bistros is in freefall, the fast food group opened 30 new outlets last year in France and welcomed 450 million customers – up 11 per cent on the previous year."
- Ray Cromwell
ChrisRock:"People are defending Roman Polanski because he made good movies 30 years ago? Are you kidding me? Even Johnny Cochran didn't have the nerve to go, 'Well did you see OJ play against New England?'"