You are limited to one background page per extension. There is no need for more than one. If you want concurrent code you will probably be able to use an HTML5 web worker or something like that, or at least fake it by using setTimeout.
Separate process implies separate threads, which can run on any core that the OS decides to assign them to. So yeah the more cores you have the more efficient Chrome will be, extensions or not.
AdBlock+ has not noticeably affected my browser speed (single core proc here).
I wrote an extension that uses what's probably on par with a "typical" extension's usage of localStorage. Again, no noticeable browser slowdown that I've seen.
I'm using this, which appears to be more configurable and takes AdBlock Plus subscriptions (it doesn't appear to be related to AdBlock Plus, just rips off the name).
I wouldn't say "never". I am sure we will see new extension apis in the future. Why don't you open an issue report on http://crbug.com/ and request them?
Do any OSs support this though? AFAIK neither Ubuntu or Windows present an option for an alternate port in the UI. Maybe behind the scenes there's an option (I'm guessing definitely on Linux) but in Windows I have no clue...
All it does is has Windows start the Chrome browser on startup instead of explorer.exe. Not really much to see here, unless you REALLY don't need the taskbar, desktop, and file browsing capabilities of Explorer.
Instead of having a button on the computer to connect you to police, let's have someone stationed with the child while they're using the internet! Maybe one person per 1 or 2 or 3 kids. This way, the workload is dispersed amongst more people and it doesn't have to go to the police.
Oooh! We can even have this person, or even two people per 1 or 2 or 3 kids, perhaps working in shifts, raise the kid or kids and team them right from wrong and other stuff like that. We'll call them "parents"! Man I am so clever sometimes.
Nope, you're confusing assembly code and shell/machine code, which are two different things.
Assembly is text-based, and is readable for people who know the language. Each operation is a keyword, and some take arguments. It's basically the lightest-weight possible programming language (although it's not really considered a programming language, it's so light weight!) A computer cannot run assembly code directly.
Machine code is what you get if you take the assembly and run it through an assembler to produce code that the computer can understand. The computer can then execute it. It is not human readable unless you've memorized which opcodes correspond to which assembly keywords. Far easier to pipe it through a disassembler to get the assembly code back and read that.
To answer the GP's question this sounds like they mean shell code. It wouldn't be very useful as assembly code anyway. ("To claim your free iPod, run this sentence through masm and run the resulting EXE file.") Most people don't have an assembler and the ones who do aren't usually susceptible to malware anyway.
What about all this emissions stuff they've been strapping to my engine?
Won't help much if the Chinese make 10 cars for every car we make "green".
There was an article on here (or digg?) which showed photographs of the incredible water and air pollution in China. It looked worse than a third world country. I can believe they are responsible for most of the CO2 increase.
I don't suppose anyone else has run into this problem, the VirtualBox forum community doesn't seem to be any help with this:
After I log in, a gradient blue backdrop appears along with a mouse cursor. Then nothing. I can move the cursor around but other than that the system seems frozen.
I tried 5 different builds... one of which I compiled myself. 3 of them had this problem, the other two couldn't even find the network card and had no offline user so I couldn't get past the login screen.
It's looking like Chrome will have "locked down", minimal privileges extensions. At least, in theory. An extension can request only the privileges it requires (manipulate tabs, manipulate windows, access specific wildcarded urls) and the user is notified of what the extension will be able to access when it is installed.
Unfortunately this price seems to be that extensions are far more limited in Chrome than they are in Firefox since that have limited access to the UI and such. For example, you can do a page action, which is an address bar button that appears in reaction to page contents or whatever, or you can do a browser action which is a toolbar button which is always visible (there's nothing preventing you from making a page action always visible though). But you can have only either one or the other, and only one of that kind or else the extension won't load!
Desktop wallpapers can be big, too. Internally, they are being converted to BMPs (AFAIK) no matter which format you use for the wallpaper (only thing that isn't converted is bit depth AFAIK, but everyone uses 24 or 32-bit wallpapers these days). So a 2560x1024 24-bit wallpaper takes up 8mb of memory right there.
Of course this is XP and GDI, Vista/7 uses DirectX and I dunno how it handles desktop rendering. Maybe the wallpaper is stored as a texture in the graphics card...
I personally find the animation with the colored boxes fun!
Then IE has to go and make all the boxes gray and screw up the rendering so you can't read it, bleh.:(
Seriously though, it's lots of fun to see it go faster and faster with each new browser release, and see the list when you click the A get shorter and shorter. Even if it doesn't mean anything.
You can't upload such extensions to addons.mozilla.org, thus it isn't likely many people will use it. Right now extensions can only specify up to 3.6.*.
This is different from that. Those are actually packaged as add-ons so this change wouldn't affect them at all.
What Mozilla should do about those IMO is one of two things: 1) Enable the uninstall button for globally installed extensions (IE installed for all users) on Administrator accounts (in Windows; root on Linux... assuming Linux has global extensions) 2) Take steps to prevent or discourage apps from trying to plop extensions down and install them in Firefox without the user's consent. The "official" way for installers to install extensions should be to invoke Firefox with the URL of the XPI. Then the user would get the normal Firefox "Do you want to install this extension?" dialog and they can decide. Of course it would be impossible to fully prevent extensions from being covertly installed, but I think it would be worth the effort to lay down a few roadblocks if only to indicate to extension devs "don't do it this way".
Perhaps, but this exact reasoning is why "prior art" is considered in copyrights (IANAL, it just makes sense). Check the dates?
Also some other bits for your consideration:
The Microsoft tool was only released a few weeks ago.
Reflector-decompiled code is not exact to the source code. Stuff like constants, comments, and some variable names will be stripped out, as well as code formatting of course. It would require refactoring to get it into the same shape as the ImageMaster source.
Microsoft is not known for their opensource apps. The tool is not one of them.
Does the spec suggest you should create a helper class called "UdfHelper"? Does it suggest other class and type names to use? IMO too many of them match up to be coincidence.
.NET Reflector cannot show the exact original source code, as some bits are lost during the optimization and compiling into MSIL, and decompiling isn't going to get you back to the original code entirely. But the code it does spit out should be close.
Why don't you check it yourself and find out instead of calling someone a liar with no evidence to back your claim? I mean really, if what you're saying is true, it should be trivial to produce the mismatched code samples, right?
Some of my own real observations:
You are limited to one background page per extension. There is no need for more than one. If you want concurrent code you will probably be able to use an HTML5 web worker or something like that, or at least fake it by using setTimeout.
Separate process implies separate threads, which can run on any core that the OS decides to assign them to. So yeah the more cores you have the more efficient Chrome will be, extensions or not.
AdBlock+ has not noticeably affected my browser speed (single core proc here).
I wrote an extension that uses what's probably on par with a "typical" extension's usage of localStorage. Again, no noticeable browser slowdown that I've seen.
I'm using this, which appears to be more configurable and takes AdBlock Plus subscriptions (it doesn't appear to be related to AdBlock Plus, just rips off the name).
I wouldn't say "never". I am sure we will see new extension apis in the future. Why don't you open an issue report on http://crbug.com/ and request them?
Chrome updates extensions in the background without prompts. I was actually surprised when I realized this had happened, didn't expect it.
Do any OSs support this though? AFAIK neither Ubuntu or Windows present an option for an alternate port in the UI. Maybe behind the scenes there's an option (I'm guessing definitely on Linux) but in Windows I have no clue...
All it does is has Windows start the Chrome browser on startup instead of explorer.exe. Not really much to see here, unless you REALLY don't need the taskbar, desktop, and file browsing capabilities of Explorer.
Instead of having a button on the computer to connect you to police, let's have someone stationed with the child while they're using the internet! Maybe one person per 1 or 2 or 3 kids. This way, the workload is dispersed amongst more people and it doesn't have to go to the police.
Oooh! We can even have this person, or even two people per 1 or 2 or 3 kids, perhaps working in shifts, raise the kid or kids and team them right from wrong and other stuff like that. We'll call them "parents"! Man I am so clever sometimes.
Doing math with strings will guarantee your code a place on the front page of thedailywtf.com
Where do the numbers print out I don't see325072$OGO^%$#G@!!)%@^)&@!^%$$36PEER TIMEOUT
Nope, you're confusing assembly code and shell/machine code, which are two different things.
Assembly is text-based, and is readable for people who know the language. Each operation is a keyword, and some take arguments. It's basically the lightest-weight possible programming language (although it's not really considered a programming language, it's so light weight!) A computer cannot run assembly code directly.
Machine code is what you get if you take the assembly and run it through an assembler to produce code that the computer can understand. The computer can then execute it. It is not human readable unless you've memorized which opcodes correspond to which assembly keywords. Far easier to pipe it through a disassembler to get the assembly code back and read that.
To answer the GP's question this sounds like they mean shell code. It wouldn't be very useful as assembly code anyway. ("To claim your free iPod, run this sentence through masm and run the resulting EXE file.") Most people don't have an assembler and the ones who do aren't usually susceptible to malware anyway.
What about all this emissions stuff they've been strapping to my engine?
Won't help much if the Chinese make 10 cars for every car we make "green".
There was an article on here (or digg?) which showed photographs of the incredible water and air pollution in China. It looked worse than a third world country. I can believe they are responsible for most of the CO2 increase.
I don't suppose anyone else has run into this problem, the VirtualBox forum community doesn't seem to be any help with this:
After I log in, a gradient blue backdrop appears along with a mouse cursor. Then nothing. I can move the cursor around but other than that the system seems frozen.
I tried 5 different builds... one of which I compiled myself. 3 of them had this problem, the other two couldn't even find the network card and had no offline user so I couldn't get past the login screen.
It's looking like Chrome will have "locked down", minimal privileges extensions. At least, in theory. An extension can request only the privileges it requires (manipulate tabs, manipulate windows, access specific wildcarded urls) and the user is notified of what the extension will be able to access when it is installed.
Unfortunately this price seems to be that extensions are far more limited in Chrome than they are in Firefox since that have limited access to the UI and such. For example, you can do a page action, which is an address bar button that appears in reaction to page contents or whatever, or you can do a browser action which is a toolbar button which is always visible (there's nothing preventing you from making a page action always visible though). But you can have only either one or the other, and only one of that kind or else the extension won't load!
For more science and less guessing, try about:memory in Chrome. Very nifty.
Desktop wallpapers can be big, too. Internally, they are being converted to BMPs (AFAIK) no matter which format you use for the wallpaper (only thing that isn't converted is bit depth AFAIK, but everyone uses 24 or 32-bit wallpapers these days). So a 2560x1024 24-bit wallpaper takes up 8mb of memory right there.
Of course this is XP and GDI, Vista/7 uses DirectX and I dunno how it handles desktop rendering. Maybe the wallpaper is stored as a texture in the graphics card...
I personally find the animation with the colored boxes fun!
Then IE has to go and make all the boxes gray and screw up the rendering so you can't read it, bleh. :(
Seriously though, it's lots of fun to see it go faster and faster with each new browser release, and see the list when you click the A get shorter and shorter. Even if it doesn't mean anything.
Don't worry. once they do, they'll leave IE in the dust again.
You can't upload such extensions to addons.mozilla.org, thus it isn't likely many people will use it. Right now extensions can only specify up to 3.6.*.
This is different from that. Those are actually packaged as add-ons so this change wouldn't affect them at all.
What Mozilla should do about those IMO is one of two things: 1) Enable the uninstall button for globally installed extensions (IE installed for all users) on Administrator accounts (in Windows; root on Linux... assuming Linux has global extensions) 2) Take steps to prevent or discourage apps from trying to plop extensions down and install them in Firefox without the user's consent. The "official" way for installers to install extensions should be to invoke Firefox with the URL of the XPI. Then the user would get the normal Firefox "Do you want to install this extension?" dialog and they can decide. Of course it would be impossible to fully prevent extensions from being covertly installed, but I think it would be worth the effort to lay down a few roadblocks if only to indicate to extension devs "don't do it this way".
Perhaps, but this exact reasoning is why "prior art" is considered in copyrights (IANAL, it just makes sense). Check the dates?
Also some other bits for your consideration:
I like your "BTW". It implies both the ImageMagik devs and Microsoft managed to both make the same mistakes.
Does the spec suggest you should create a helper class called "UdfHelper"? Does it suggest other class and type names to use? IMO too many of them match up to be coincidence.
http://www.withinwindows.com/wp-content/uploads/2009/11/example1.png
Reflector is a decompiler. It takes the MSIL codes and translates them back into VB.NET or C# instructions.
.NET Reflector cannot show the exact original source code, as some bits are lost during the optimization and compiling into MSIL, and decompiling isn't going to get you back to the original code entirely. But the code it does spit out should be close.
Why don't you check it yourself and find out instead of calling someone a liar with no evidence to back your claim? I mean really, if what you're saying is true, it should be trivial to produce the mismatched code samples, right?