9 posts • joined 7 Aug 2009
HTTP Pipelining != SPDY
SPDY frequently asked questions
Q: Doesn't HTTP pipelining already solve the latency problem?
A: No. While pipelining does allow for multiple requests to be sent in parallel over a single TCP stream, it is still but a single stream. Any delays in the processing of anything in the stream (either a long request at the head-of-line or packet loss) will delay the entire stream. Pipelining has proven difficult to deploy, and because of this remains disabled by default in all of the major browsers.
There are ads on Android?!
I've got so used to the Cyanogen mod custom ROMs on my devices and a /etc/hosts file that redirects the ad-server host-names to localhost that I'd totally forgotten most devices suffer from over-ad-dose!
Pint since I'd rather pay beer money for applications and be in control of what I see. hear, and download to my own devices.
Microsoft has multiple certificate authorities
The CA certificate used to issue the billing.microsoft.com certificate, valid for one year from 9th July 2010, has the key ID:
08 42 e3 db 4e 11 66 f3 b5 08 c5 40 db 55 7c 33 46 11 83 38
and the name "Microsoft Secure Server Authority".
In Firefox 3.6/3.7 the current valid CA certificate for that name is valid for just under three years from 9th April 2008 and has the key ID:
14 55 c4 39 e0 3d 2e d1 55 2e 48 96 b0 d8 7e 14 22 06 93 bc
Looking at Firefox 4.0 beta 3 there are *no* Microsoft certificate authorities included in the default certificate store.
Lightspark, LGPL, a viable alternative
* JIT compilation of ActionScript to native x86 bytecode using LLVM
* Hardware accelerated rendering using OpenGL Shaders (GLSL)
* Very good and robust support for current-generation ActionScript 3
* A new, clean, codebase exploiting multithreading and optimized for modern hardware. Designed from scratch after the official Flash documentation was released.
Could be WINE based, not simply a remote desktop
A remote desktop solution implies a Windows licence is required by someone somewhere to run the 'legacy' application.
It could be lined into WINE and therefore doesn't require a Windows host OS or licence. Maybe a simple WINE <-> VNC interface that takes advantage of the VNC java client, or possibly WINE <> Neatx (NX) <> browser plug-in ?
The reason Flash hogs the CPU
The guy that heads up the Linux Flash team has been taking it in the neck over the CPU hogging and in a blog post gave a good explanation of why it is so, compared to playing raw videos. Mike Melanson has been a long-time contributor to the ffmpeg project before he joined the Adobe Flash Linux team.
"The Flash Player solves a different problem than your favorite video player."
He goes on to explain that because of the need to combine video with vector objects, fonts and other elements, Flash cannot simply blit its output to the screen or make use of pure hardware decoding of H.264 and the like.
A video player does: encoded video data > decoder >YUV > window
Flash player does: encoded video data > decoder > YUV > YUV-to-RGB > RGB > Blend-Flash-elements > browser window.
The key aspect here is the blending step.
For 'just' video streams therefore the player has to be prepared to do blending but it isn't used, but prevents any optimisations for 'movies'.
A further issue for the Linux player currently is his belief that H.264 video can't be hardware-decoded using VAAPI/VDPAU since those APIs can't decode to a memory buffer. Others have pointed out that belief is incorrect, so it is possible if that information is followed up the Linux player may see some useful speed increases for H.264 decoding.
It has also been pointed out that the blended elements could be made into GPU textures in the YUV colourspace, which would allow much of the blending operation to be hardware-accelerated on suitable systems.
So, in terms of performance I think there are two issues people who complain need to understand:
1. It isn't fair to compare playing an FLV video in a standalone player with it being displayed within a Flash applet since the applet could contain elements that need to be blended into the video image (these aren't like simple on-screen-display overlays).
2. There are several areas where the Flash applet could be made much more efficient which would reduce CPU usage on many modern systems with hardware support.
Truly fantastic absorbing read
Incredibly raw draft material at times gives an unique and genuinely stunning insight into the mind-set of someone who dared to believe in the dream and has the passion to chase it.
The story itself and the way Tony tells it really does stir the excitement of space exploration that I thought had been lost in the noise of popular science-fiction, thanks to Star Trek et al.
Amazing to find out that some of the core technology required for the IceShip and nuclear steam-ship propulsion has been around and tested since the 1960s.
The chapter on Epochal events is unnerving in many ways but explains much of what our technological age has been noticing as skill-sets become obsolete in less than a career-span.
Definitely one to read if you want your imagination fired. Highly recommended.
Get the facts right!
Never let the facts get in the way of a good rant!
In a hearing in May 2008 the Judge DENIED a motion to dismiss and motion for summary judgement moved by AutoCAD.
The Judge also DECIDED as a matter of law that Vernor does OWN the copies of AutoCAD and the U.S.A.'s first-sale doctrine applies. He relied on a 9th circuit precedent but took time to also point of more recent cases that might have pushed his decision the other way if they had more standing.
The case is NOT about a garage-sale copy, although Vernor did obtain a previous copy that way. In this case Vernor bought FOUR copies from a company called CTA who were the first-sale purchaser, who no longer required the copies.
AutoCAD is now trying to claim that Vernor and any subsequent buyer of the copies is bound by the license agreement that CTA entered into. The judge pointed out in the May 2008 ORDER that the AutoCAD license agreement with CTA has a NON-TRANSFERABLE clause and therefore it is unlikely Vernor or subsequent purchases of the copies are bound by the CTA license.
It is possible to enable VT
I bought a VGN FE-41Z in early 2007. It had the same issue - BIOS set-up has no facility to enable VT on the Intel Core 2 Duo CPU. I bought it for the virtualization functionality. I use Linux rather than Windows and use KVM extensively.
I investigated the Phoenix BIOS and discovered that by changing a bit flag in the NVRAM settings VT can be enabled since the BIOS code that enables VT *does* check the flag. It is just that Sony don't provide a menu option for it and the default state is disabled. Each setting in NVRAM is called a Token and each has a number.
Using the Phoenix symcmos.exe utility with FreeDos on a bootable CD the token can be changed in NVRAM.
From May 2007 the FE41Z has had VT enabled and I've never had to mess with the flag again.
I posted my findings and several other people were able to enable the VT on their Vaios too.
Unfortunately there isn't a universal foolproof method of determining which NVRAM token to change - each model is different (based on the options built into each BIOS image).
The key is to extract the BIOS image into its constituent modules and then find the code that checks the token and sets the CPU flags (usually in BIOSCOD6.rom).
The code will look something like this (my comments added):
0000A855 0FA2 cpuid
0000A857 25FF0F and ax,0xfff
0000A85A 3DE106 cmp ax,0x6e1
0000A85D 722E jc 0xa88d
0000A85F 660FBAE105 bt ecx,0x5
0000A864 7327 jnc 0xa88d
0000A866 66B93A000000 mov ecx,0x3a ; MSR VMX control
0000A86C 0F32 rdmsr
0000A86E 660FBAE000 bt eax,0x0
0000A873 7218 jc 0xa88d
0000A875 50 push ax
0000A876 B89501 mov ax,0x0195
0000A879 9A204100F0 call 0xf000:0x4120
0000A87E 58 pop ax
0000A87F 7405 jz 0xa886 ; ZF set == VMX disabled
0000A881 660FBAE802 bts eax,0x2 ; Enable VMX
0000A886 660FBAE800 bts eax,0x0 ; Lock MSR until power cycle
0000A88B 0F30 wrmsr
Locate this code by finding the instructions:
66B93A000000 mov ecx,0x3a
The code following is likely to be the setting code, but needs confirming. There can be other reads of this MSR.
The Token number is then seen in the AX register when calling the BIOS's Read NVRAM token sub-routine:
In this case the Token is 0x0195
Use symcmos.exe to save the text file containing all the tokens and their values:
A:\ symcmos.exe -Lliteral.txt
( SYMBOLIC CMOS EDITOR - Version 643710-032 )
( BIOS Version: NAPA0001.86C.0032.D.0702051952 )
CRC = 2786
Edit the text file, change the token you've identified from 0000 to 0001, save the file, then use symcmos to rewrite the settings into NVRAM
Restart and if you've done it correctly VT is enabled.
- Leaked screenshots show next Windows kernel to be a perfect 10
- Amazon warming up 'cheapo web video' cannon to SINK Netflix
- Something for the Weekend, Sir? I need a password to BRAKE? What? No! STOP! Aaaargh!
- Episode 13 BOFH: WHERE did this 'fax-enabled' printer UPGRADE come from?
- Vulture at the Wheel Ford's B-Max: Fiesta-based runaround that goes THUNK