I need a 3GB internal harddrive. Looking through statistic data from BackBlaze, it seems that Seagate is the worst solution because of it HUGE failure rate. Yes the prices are good for this drive but you don't want a cheap drive that will fail after 2 years. Right?
The next brand with high failure rate is Western Digital.
Both Seagate and WesternDigital drive have price in the 100 euros range.
Toshiba has a much better failure rate.
But the winner is HGST. It has a significant higher price (126 euro) but totally worth it.
You want to do amateur or power-level computing? Then there is no other choice than Windows! Period. As a Windows user you don't have to spend tons of a money for a Mac PC (sorry Mac guys but Mac is nothing else than an expensive PC now) and you don't have to waste time on forums to learn how install stuff. All that Linux/Mac can offer you can get on Windows and get is better. I spent many years working with Linux but it was always only my second choice. Sorry Linux friends, but I said it.
Tuesday, September 20, 2016
Friday, August 19, 2016
Top Windows, HTML 5, WYSIWYG HTML editors
Do you need a free web editor that supports HML5? I needed one and I really had to waste some time to review some. Here are the conclusions (and the conclusions only). NOTE: See the 2017 update at the end of the post!
BlueGriffon
2015
Price: Free or 70 euros: http://www.bluegriffon.org/#whatsinside
Comment: Seems robust and mature
Maqetta
Discontinued may 2013, but still online
Price: free
Kit size: 86MB
Conclusion: Difficult to Install. Needs Java 6!
LibreOffice
2015
Price: free
OpenOffice.org 2014
It only has a web page editor (not web site builder)
Dreamweaver 2015
Conclusion: Nice but way too expensive!
Microsoft Expression 2012
(discontinued)
openElement 2014
Free
Kits size: 47MB
oXygenXML Editor 2015
Conclusion: not tested yet
TOWeb 2013
Conclusion: not tested yet
WebStorm IDE 2013
Conclusion: not tested yet
Based on: https://en.wikipedia.org/wiki/Comparison_of_HTML_editors
______________
UPDATE 2017
Stormy Website Builder is the ultimate tool for building a web site (CMS). It has a beautiful WYSIWYG html editor. You can have a site up an running in only 4 minutes.
Stormy Website Builder wants to be a lightweight alternative for Joomla CMS.
Tuesday, August 16, 2016
Saturday, August 6, 2016
Embarcadero finally decided to fix SOME bugs in Delphi
In the new road map, Embarcadero finally decided to fix SOME bugs in Delphi.
It seems good news but hold your horses:
1. They not always keep their promise related to the road map.
2. There are not so many bugs
3. They won't do all the fixes at once, but until 2018
4. Until 2018 another 500 new bugs (AT LEAST) will be introduced
5. We have to pay (not 59 bucks but HARD money) to get that non-buggy version of Delphi.
And in the end, what the fuck are we so happy that Embarcadero is fixing some bugs? Is not a present, a gift from heavens! Those bugs SHOULD NOT BE THERE anyway!
So, thank you Embarcadero for finally thinking to fix some bugs and FUCK YOU.
PS: In the next road map maybe you will introduce an item likes "free updates".
http://community.embarcadero.com/article/news/16418-product-roadmap-august-2016
Labels:
borland,
bug,
bug fix,
bugs,
crash,
customer,
delphi,
delphi roadmap,
embarcadero,
free,
fuck you embarcadero,
money,
paid,
road map,
unhappy,
update
Monday, August 1, 2016
Computer Virus that infects real-world DNA?
A computer code that is supposed to be able to infect DNA was found.
The corresponding article posted ~2.5 years, and some c++ codes. Citation:
So could there really be a computer virus
that infects DNA?Virus code is here: http://pastebin.com/NiQc55rr |
Answer:
It is NOT impossible for a computer virus to infect real DNA because 'artificial' life was already created from synthetic DNA by Craig Institute. Proof. That synthetic DNA coming from files that were generated in a computer. So, if the virus happens to be in the right computer, at the right time... But the chance is small.
However, in the next 10 years, that virus might be a real problem as every year it is more and more easy to create 'artificial' life.
IMPORTANT UPDATE!
I have found this comment in the C++ code:
// Encode own file into Craig Venter's DNA encoding languageIt looks like this virus was designed expressly for Craig Venter! So the chances for this virus to work (affect real-world DNA) are even more realistic!!
Validity of the code
Less experienced people doubt the validity of the code. However, no proof was brought to demonstrate that the code might fail (and why). Though, I haven't spend hours to read the code line by line and thoroughly analyze it, I did pick a look at it and it seem sound and valid. The fact that the author of the code targets a very specific organization (that "happens" to generate DNA from computer files) tells us that he knows what he is doing.
Purpose
As somebody already brought to our attention, there is no purpose in creating this virus. But this is totally irrelevant to the original question. Even if the DNA virus will destroy the host cell and even if it won't be able to replicate in real world (and it won't) it is irrelevant. If in the right computer, the computer virus will pass from the virtual world to the real world, and this is OP's question (I think).
Conclusion
The question asked was: "can a computer virus could infect DNA"?. The question is ambiguous. If it refers to the DNA of some living cell the answer is no. HOWEVER, if the question refers to a human-created cell, the answer is YES. Craing Venter creates DNA from computer ('fasta') files. If one of those files happens to be modified or 'infected' by the computer virus then the computer virus will have effect in real world (the DNA synthesized by Venter will contain the code injected by the computer virus).
Friday, April 29, 2016
Is (Embarcadero) Delphi's code optimized for speed? No? Here is how to optimize string speed
The short answer is a big NO!
No the long answer:
Today I needed a function that will wrap a string (a contiguous block of characters with no spaces) after 80 characters. Not only that I have found SysUtils.WrapText unsuitable (it can only wrap text IF the text contains spaces) but it is also terrible slow.
So I build my own function:
function WrapString(CONST s: string; RowLength: integer): string;
VAR i, Row: Integer;
Begin
Row:= 0;
Result:= '';
for i:= 1 TO Length(s) DO
begin
inc(Row);
Result:= Result+ s[i];
if Row >= RowLength then
begin
Result:= Result+ CRLF;
Row:= 0;
end;
end;
End;
Works nice but is is also slow. If you look into the code the problem is Result:= Result+ CRLF . It involves too many memory allocations.
Solution. The solution is to pre-allocate space for the result.
For this I created a new class TCStringBuilder:
TYPE
TCStringBuilder = class(TObject)
private
s: string;
CurBuffLen, BuffPos: Integer;
public
BuffSize: Integer;
constructor Create(aBuffSize: Integer= 10*Kb);
procedure AddChar(Ch: Char);
procedure AddEnter;
function AsText: string;
procedure Clear;
end;
IMPLEMENTATION
constructor TCStringBuilder.Create(aBuffSize: Integer= 10*Kb);
begin
BuffSize:= aBuffSize;
Clear;
end;
procedure TCStringBuilder.Clear;
begin
BuffPos:= 1;
CurBuffLen:= 0;
s:= '';
end;
function TCStringBuilder.AsText: string;
begin
SetLength(s, BuffPos-1); { Cut down the prealocated buffer that we haven't used }
Result:= s;
end;
procedure TCStringBuilder.AddChar(Ch: Char);
begin
if BuffPos > CurBuffLen then
begin
SetLength(s, CurBuffLen+ BuffSize);
CurBuffLen:= Length(s)
end;
s[BuffPos]:= Ch;
Inc(BuffPos);
end;
procedure TCStringBuilder.AddEnter;
begin
if BuffPos+1 > CurBuffLen then { +1 because we enter two characters into the string instead of 1 }
begin
SetLength(s, CurBuffLen+ BuffSize);
CurBuffLen:= Length(s)
end;
s[BuffPos ]:= CR;
s[BuffPos+1]:= LF;
Inc(BuffPos, 2);
end;
Speed test:
I used a buffer of 10K. but the ideal buffer size would be the size of the input text plus 3%.
Please let me know if you can further improve this. Enjoy.
____
Further reading:
https://www.delphitools.info/2013/10/30/efficient-string-building-in-delphi/2/
No the long answer:
Today I needed a function that will wrap a string (a contiguous block of characters with no spaces) after 80 characters. Not only that I have found SysUtils.WrapText unsuitable (it can only wrap text IF the text contains spaces) but it is also terrible slow.
So I build my own function:
function WrapString(CONST s: string; RowLength: integer): string;
VAR i, Row: Integer;
Begin
Row:= 0;
Result:= '';
for i:= 1 TO Length(s) DO
begin
inc(Row);
Result:= Result+ s[i];
if Row >= RowLength then
begin
Result:= Result+ CRLF;
Row:= 0;
end;
end;
End;
Works nice but is is also slow. If you look into the code the problem is Result:= Result+ CRLF . It involves too many memory allocations.
Solution. The solution is to pre-allocate space for the result.
For this I created a new class TCStringBuilder:
TYPE
TCStringBuilder = class(TObject)
private
s: string;
CurBuffLen, BuffPos: Integer;
public
BuffSize: Integer;
constructor Create(aBuffSize: Integer= 10*Kb);
procedure AddChar(Ch: Char);
procedure AddEnter;
function AsText: string;
procedure Clear;
end;
IMPLEMENTATION
constructor TCStringBuilder.Create(aBuffSize: Integer= 10*Kb);
begin
BuffSize:= aBuffSize;
Clear;
end;
procedure TCStringBuilder.Clear;
begin
BuffPos:= 1;
CurBuffLen:= 0;
s:= '';
end;
function TCStringBuilder.AsText: string;
begin
SetLength(s, BuffPos-1); { Cut down the prealocated buffer that we haven't used }
Result:= s;
end;
procedure TCStringBuilder.AddChar(Ch: Char);
begin
if BuffPos > CurBuffLen then
begin
SetLength(s, CurBuffLen+ BuffSize);
CurBuffLen:= Length(s)
end;
s[BuffPos]:= Ch;
Inc(BuffPos);
end;
procedure TCStringBuilder.AddEnter;
begin
if BuffPos+1 > CurBuffLen then { +1 because we enter two characters into the string instead of 1 }
begin
SetLength(s, CurBuffLen+ BuffSize);
CurBuffLen:= Length(s)
end;
s[BuffPos ]:= CR;
s[BuffPos+1]:= LF;
Inc(BuffPos, 2);
end;
Speed test:
- 500x loop
- test file: TesterForm.pas 2.7K
- wrap after 20 chars
- 484ms SysUtils.WrapText - unbuffered
- 5788ms WrapString - unbuffered (Result:= Result+ s[i])
- 31ms WrapString - buffered (using cStrBuilder)
I used a buffer of 10K. but the ideal buffer size would be the size of the input text plus 3%.
Please let me know if you can further improve this. Enjoy.
____
Further reading:
https://www.delphitools.info/2013/10/30/efficient-string-building-in-delphi/2/
Labels:
class,
cpu,
delphi,
memory allocation,
optimization,
speed,
string,
string builder
Wednesday, April 20, 2016
Animated desktop wallpaper
BioniX Wallpaper Animator v3 is ready for download. That is great about this new version is that it is (should be) able to paint the animation UNDER desktop icons.
However, since we cannot test it on all Windows operating systems we need some help. If you can run it on any of the following systems please let us know the results.
Download link:
www.bionixwallpaper.com/downloads/Animated Desktop Wallpaper
Win 98 | Win 2K | Win Me | Win XP | Win Vista | Win 7 Aero | Win 7 Aero disabled | Win 8 | Win 10 |
? | ? | ? | ? | ? | OI | ? (should work) | ? | UI |
Legend:
UI = under icons
OI = over icons
? = unknown (not tested)
______________________________________
Plans for the next version:
- Support for AVI files
- Lower memory footprint
Friday, April 8, 2016
Three software programs that [used to] plague our computers: Acrobat, Java, Flash
There used to be three programs that really made our computer miserable. They were slow, bloated, intrusive and a lot of security holes opened with them when you installed.
Java - Probably Java is the nastiest of all
Until few years ago you could not browse some web sites because some derailed 'web developers' decided to put some 'cool' animations and menus on their web site that required Java, forcing YOU to install Java, this way.
Now, Java is a really intrusive mammoth that starts at computer start up, installs background services, make your browser literary crawl eating A LOT of memory and keep wasting your Internet bandwidth by checking and downloading updates. And boy, Java needs updates because every 3-4 days a MAJOR security hole was discovered! And every security hole in Java is a security hole in YOUR computer.
ACTUALLY, Java is so dangerous for your computer that "The U.S. Department of Homeland Security is advising people to temporarily disable the Java software on their computers to avoid potential attacks" floridatoday.com
It is so bad that Firefox won't even let you activate it.
I uninstalled Java maaaaany years ago from my computer and I vehemently refuse to install it. Not a single time! And many others like me have forced the web designer community not to use Java on their web site. Now probably less than 1 in 5000 web sites still have Java. So, you miss it a bit.
Acrobat Reader - Big deal for nothing
Adobe Acrobat Reader is basically a notepad. Its task should be to open a PDF file and show it on screen. It does this in such a bombastic way that 3 minutes later after Acrobat, but it is still crunching data, you forgot why you wanted to open that PDF anyway.
Same bubonic 'features' as Java: eats up lots or memory and disk space, invades you with background services, system tray icons and installs itself to run at computer start up.
Security wholes? Plenty.
Alternatives: Foxit PDF (once a decent and fast PDF viewer, now starting to step on exactly the same sick path as Acrobat Reader), Sumatra PDF. More about these Acrobat Reader alternatives.
And something else: Next time somebody sends you a PDF send him an email back and say "I politely request to send me the document as DOC or RTF. They are as good as PDF" then optionally sign: "Fuck you and best regards retard".
Adobe Flash Player
The Flash Player literary built and shaped the web as we know it. And this is not the web should be.
Firefox will also deactivate the Flash plugin when a MAJOR security whole is discovered. And boy, coming from Adobe, there are lots of those!
Alternatives: HTML5 - After all those years, the web community is finally coming to its senses trying to replace Flash with HTML 5, a major update of (too) old HTML. This change should have been done 25 years ago (which on Internet time-scale means 2 eons ago).
Most web sites already abandoned Flash and switched to HTML 5. So, it is not the time to turn off the Flash plugin in your browser and finally take a fresh breath of Flash-free Internet.
Also see "Flash is dying a death by 1,000 cuts, and that's a good thing" by TheGuardia.
Java - Probably Java is the nastiest of all
Until few years ago you could not browse some web sites because some derailed 'web developers' decided to put some 'cool' animations and menus on their web site that required Java, forcing YOU to install Java, this way.
Now, Java is a really intrusive mammoth that starts at computer start up, installs background services, make your browser literary crawl eating A LOT of memory and keep wasting your Internet bandwidth by checking and downloading updates. And boy, Java needs updates because every 3-4 days a MAJOR security hole was discovered! And every security hole in Java is a security hole in YOUR computer.
ACTUALLY, Java is so dangerous for your computer that "The U.S. Department of Homeland Security is advising people to temporarily disable the Java software on their computers to avoid potential attacks" floridatoday.com
It is so bad that Firefox won't even let you activate it.
I uninstalled Java maaaaany years ago from my computer and I vehemently refuse to install it. Not a single time! And many others like me have forced the web designer community not to use Java on their web site. Now probably less than 1 in 5000 web sites still have Java. So, you miss it a bit.
Acrobat Reader - Big deal for nothing
Adobe Acrobat Reader is basically a notepad. Its task should be to open a PDF file and show it on screen. It does this in such a bombastic way that 3 minutes later after Acrobat, but it is still crunching data, you forgot why you wanted to open that PDF anyway.
Same bubonic 'features' as Java: eats up lots or memory and disk space, invades you with background services, system tray icons and installs itself to run at computer start up.
Security wholes? Plenty.
Alternatives: Foxit PDF (once a decent and fast PDF viewer, now starting to step on exactly the same sick path as Acrobat Reader), Sumatra PDF. More about these Acrobat Reader alternatives.
And something else: Next time somebody sends you a PDF send him an email back and say "I politely request to send me the document as DOC or RTF. They are as good as PDF" then optionally sign: "Fuck you and best regards retard".
Adobe Flash Player
The Flash Player literary built and shaped the web as we know it. And this is not the web should be.
Firefox will also deactivate the Flash plugin when a MAJOR security whole is discovered. And boy, coming from Adobe, there are lots of those!
Flash is so wrong in every possible way: difficult to program, terribly slow (and I mean it), bulky and unsafe. But Adobe really pushed money into it so they managed to shovel it down to our throats.
Alternatives: HTML5 - After all those years, the web community is finally coming to its senses trying to replace Flash with HTML 5, a major update of (too) old HTML. This change should have been done 25 years ago (which on Internet time-scale means 2 eons ago).
Most web sites already abandoned Flash and switched to HTML 5. So, it is not the time to turn off the Flash plugin in your browser and finally take a fresh breath of Flash-free Internet.
Also see "Flash is dying a death by 1,000 cuts, and that's a good thing" by TheGuardia.
Saturday, March 12, 2016
List of microcontrollers that can be programmed in Pascal (and Pascal-like) language
By micro-controller
Arduino
Lazarus?
Oberon Astrobe (Windows)
8051
Turbo51 (Windows)
PascalLite - unspecified price
MicroPascal
Pic 10 to Pic 18
Pic Micro Pascal
ATMEGA
MicroPascal Pro
XMEGA/XTINY from Atmel
MicroPascal Pro
Raspberry Pi projects (ARM v6/ARM11)
Lazarus
____________________________________________
By language
Pascal-scm for Atml
Amtel AVR(Arduino)
MicroPascal
Free
mikroPascal Pro
$250
Supported micro-controllers:
Name | Pin Count | Program Memory (KB) | CPU Speed (Mhz) | RAM (KB) |
---|
AT90PWM161 | 20 | 16 | 16 | 1 |
ATMEGA3250A | 100 | 32 | 20 | 2 |
ATMEGA325PA | 64 | 32 | 20 | 2 |
ATMEGA6450P | 100 | 64 | 20 | 4 |
ATMEGA6490P | 100 | 64 | 20 | 4 |
ATTINY441 | 14 | 4 | 16 | 0.25 |
ATTINY841 | 14 | 4 | 16 | 0.25 |
ATXMEGA16E5 | 32 | 16 | 32 | 2 |
ATXMEGA32D3 | 64 | 32 | 32 | 4 |
ATXMEGA8E5 | 32 | 8 | 32 | 1 |
ATMEGA168PB | 32 | 16 | 20 | 1 |
ATMEGA3250PA | 100 | 32 | 20 | 2 |
ATMEGA3290A | 100 | 32 | 20 | 2 |
ATMEGA645P | 64 | 64 | 16 | 4 |
ATTINY1634 | 20 | 16 | 12 | 1 |
ATTINY828 | 32 | 8 | 20 | 0.5 |
ATTINY84A | 14 | 8 | 20 | 0.5 |
ATXMEGA32C3 | 64 | 32 | 32 | 4 |
ATXMEGA32E5 | 32 | 32 | 32 | 4 |
AT90CAN128 | 64 | 128 | 16 | 4 |
AT90CAN32 | 64 | 32 | 16 | 2 |
AT90CAN64 | 64 | 64 | 16 | 4 |
AT90PWM1 | 24/32 | 8 | 16 | 0.5 |
AT90PWM2 | 24 | 8 | 16 | 0.5 |
AT90PWM2B | 24 | 8 | 16 | 0.5 |
AT90PWM216 | 24 | 16 | 16 | 1 |
AT90PWM216 | 24 | 16 | 16 | 1 |
AT90PWM3 | 32 | 8 | 16 | 0.5 |
AT90PWM3B | 32 | 8 | 16 | 0.5 |
AT90PWM316 | 32 | 16 | 16 | 1 |
AT90PWM81 | 20/32 | 8 | 16 | 0.25 |
AT90S2313 | 20 | 2 | 20 | 0.12 |
AT90S2323 | 20 | 2 | 20 | 0.12 |
AT90S2343 | 20 | 2 | 20 | 0.12 |
AT90S4414 | 40 | 8 | 16 | 0.5 |
AT90S4433 | 28 | 4 | 8 | 0.12 |
AT90S4434 | 40/44 | 8 | 16 | 0.5 |
AT90S8515 | 40 | 8 | 8 | 0.5 |
AT90S8535 | 40/44 | 8 | 16 | 0.5 |
AT90USB1286 | 64 | 128 | 16 | 8 |
AT90USB1287 | 64 | 128 | 16 | 8 |
AT90USB162 | 32 | 16 | 16 | 0.5 |
AT90USB646 | 64 | 64 | 16 | 4 |
AT90USB647 | 64 | 64 | 16 | 4 |
AT90USB82 | 32 | 8 | 16 | 0.5 |
ATmega103 | 64 | 128 | 6 | 4 |
ATmega128 | 64 | 128 | 16 | 4 |
ATmega1280 | 100 | 128 | 16 | 8 |
ATmega1281 | 64 | 128 | 16 | 8 |
ATmega1284 | 40/44 | 128 | 20 | 16 |
ATmega1284P | 40/44 | 128 | 20 | 16 |
ATmega128A | 64 | 128 | 16 | 4 |
ATmega16 | 40/44 | 16 | 16 | 1 |
ATmega161 | 40 | 16 | 8 | 1 |
ATmega162 | 40/44 | 16 | 16 | 1 |
ATmega163 | 40/44 | 16 | 8 | 1 |
ATmega164 | 40/44/49 | 16 | 20 | 1 |
ATmega164A | 40/44/49 | 16 | 20 | 1 |
ATmega164P | 40/44/49 | 16 | 20 | 1 |
ATmega164PA | 40/44/49 | 16 | 20 | 1 |
ATmega165 | 64 | 16 | 16 | 1 |
ATmega165A | 64 | 16 | 16 | 1 |
ATmega165P | 64 | 16 | 16 | 1 |
ATmega165PA | 64 | 16 | 16 | 1 |
ATmega168 | 28/32 | 16 | 20 | 1 |
ATmega168A | 28/32 | 16 | 20 | 1 |
ATmega168P | 28/32 | 16 | 20 | 1 |
ATmega168PA | 28/32 | 16 | 20 | 1 |
ATmega169 | 64 | 16 | 16 | 1 |
ATmega169A | 64 | 16 | 16 | 1 |
ATmega169P | 64 | 16 | 16 | 1 |
ATmega169PA | 64 | 16 | 16 | 1 |
ATmega16A | 40/44 | 16 | 16 | 1 |
ATmega16HVA | 28/36 | 16 | 4 | 0.5 |
ATmega16HVB | 44 | 16 | 8 | 1 |
ATmega16M1 | 32 | 16 | 16 | 1 |
ATmega16U2 | 32 | 16 | 16 | 0.5 |
ATmega16U4 | 44 | 16 | 16 | 2.1 |
ATmega16U4 | 44 | 16 | 16 | 2.1 |
ATmega2560 | 100 | 256 | 16 | 8 |
ATmega2561 | 64 | 256 | 16 | 8 |
ATmega323 | 40/44 | 32 | 8 | 2 |
ATmega324 | 40/44/49 | 32 | 20 | 2 |
ATmega324A | 40/44/49 | 32 | 20 | 2 |
ATmega324P | 40/44/49 | 32 | 20 | 2 |
ATmega324PA | 40/44/49 | 32 | 20 | 2 |
ATmega325 | 64 | 32 | 16 | 2 |
ATmega3250 | 100 | 32 | 16 | 2 |
ATmega3250P | 100 | 32 | 20 | 2 |
ATmega325A | 64 | 32 | 20 | 2 |
ATmega325P | 64 | 32 | 20 | 2 |
ATmega328 | 28/32 | 32 | 20 | 2 |
ATmega328P | 28/32 | 32 | 20 | 2 |
ATmega329 | 64 | 32 | 16 | 2 |
ATmega3290 | 100 | 32 | 16 | 2 |
ATmega3290P | 100 | 32 | 20 | 2 |
ATmega329A | 64 | 32 | 20 | 2 |
ATmega329P | 64 | 32 | 20 | 2 |
ATmega329PA | 64 | 32 | 20 | 2 |
ATmega32A | 40/44 | 32 | 16 | 2 |
ATmega32C1 | 32 | 32 | 16 | 2 |
ATmega32HVB | 44 | 32 | 8 | 2 |
ATmega32M1 | 32 | 32 | 16 | 2 |
ATmega32U2 | 32 | 32 | 16 | 1 |
ATmega32U4 | 44 | 32 | 16 | 3.3 |
ATmega32U6 | 44 | 32 | 16 | 3.3 |
ATmega406 | 48 | 40 | 1 | 2 |
ATmega48 | 28/32 | 4 | 20 | 0.5 |
ATmega48A | 28/32 | 4 | 20 | 0.5 |
ATmega48P | 28/32 | 4 | 20 | 0.5 |
ATmega48PA | 28/32 | 4 | 20 | 0.5 |
ATmega64 | 64 | 64 | 16 | 4 |
ATmega640 | 100 | 64 | 16 | 8 |
ATmega644 | 40/44 | 64 | 20 | 4 |
ATmega644A | 40/44 | 64 | 20 | 4 |
ATmega644P | 40/44 | 64 | 20 | 4 |
ATmega644PA | 40/44 | 64 | 20 | 4 |
ATmega645 | 64 | 64 | 16 | 4 |
ATmega6450 | 100 | 64 | 16 | 4 |
ATmega6450A | 100 | 64 | 20 | 4 |
ATmega645A | 64 | 64 | 16 | 4 |
ATmega649 | 64 | 64 | 16 | 4 |
ATmega6490 | 100 | 64 | 16 | 4 |
ATmega6490A | 100 | 64 | 20 | 4 |
ATmega649A | 64 | 64 | 16 | 4 |
ATmega649P | 64 | 64 | 16 | 4 |
ATmega64A | 64 | 64 | 16 | 4 |
ATmega64C1 | 32 | 64 | 16 | 2 |
ATmega64M1 | 32 | 64 | 16 | 4 |
ATmega8 | 28/32 | 8 | 16 | 1 |
ATmega8515 | 40/44 | 8 | 16 | 0.5 |
ATmega8535 | 40/44 | 8 | 16 | 0.5 |
ATmega88 | 28/32 | 8 | 20 | 1 |
ATmega88A | 28/32 | 8 | 20 | 1 |
ATmega88P | 28/32 | 8 | 20 | 1 |
ATmega88PA | 28/32 | 8 | 20 | 1 |
ATmega8A | 28/32 | 8 | 16 | 1 |
ATmega8HVA | 28/36 | 8 | 4 | 0.5 |
ATmega8U2 | 32 | 8 | 16 | 0.5 |
ATtiny13 | 8/10/20 | 1 | 20 | 0.064 |
ATtiny13A | 8/10/20 | 1 | 20 | 0.064 |
ATtiny167 | 20/32 | 16 | 16 | 0.5 |
ATtiny22 | 14/20 | 8 | 20 | 0.5 |
ATtiny2313 | 20 | 2 | 20 | 0.128 |
ATtiny2313A | 20 | 2 | 20 | 0.128 |
ATtiny24 | 14/20 | 2 | 20 | 0.128 |
ATtiny24A | 14/20 | 2 | 20 | 0.128 |
ATtiny25 | 20 | 2 | 20 | 0.128 |
ATtiny26 | 20/32 | 2 | 16 | 0.128 |
ATtiny261 | 20/32 | 2 | 20 | 0.128 |
ATtiny261A | 20/32 | 2 | 20 | 0.128 |
ATtiny4313 | 20 | 4 | 20 | 0.128 |
ATtiny43U | 20 | 4 | 8 | 0.256 |
ATtiny44 | 14/20 | 4 | 20 | 0.256 |
ATtiny44A | 14/20 | 4 | 20 | 0.256 |
ATtiny45 | 20 | 4 | 20 | 0.256 |
ATtiny461 | 20/32 | 4 | 20 | 0.256 |
ATtiny461A | 20/32 | 4 | 20 | 0.256 |
ATtiny48 | 32 | 4 | 12 | 0.064 |
ATtiny84 | 14/20 | 8 | 20 | 0.5 |
ATtiny85 | 20 | 8 | 20 | 0.5 |
ATtiny861 | 20/32 | 8 | 20 | 0.5 |
ATtiny861A | 20/32 | 8 | 20 | 0.5 |
ATtiny87 | 20/32 | 8 | 16 | 0.5 |
ATtiny88 | 32 | 8 | 12 | 0.5 |
ATxmega128A1 | 100 | 128 | 32 | 8 |
ATxmega128A3 | 64 | 128 | 32 | 8 |
ATxmega128D3 | 64 | 128 | 32 | 8 |
ATxmega16A4 | 44/49 | 16 | 32 | 2 |
ATxmega16D4 | 44/49 | 16 | 32 | 2 |
ATxmega192A3 | 64 | 192 | 32 | 16 |
ATxmega192D3 | 64 | 192 | 32 | 16 |
ATxmega256A3 | 64 | 256 | 32 | 16 |
ATxmega256A3B | 64 | 256 | 32 | 16 |
ATxmega256D3 | 64 | 256 | 32 | 16 |
ATxmega32A4 | 44/49 | 32 | 32 | 4 |
ATxmega32D4 | 44/49 | 32 | 32 | 4 |
ATxmega64A1 | 100 | 64 | 32 | 4 |
ATxmega64A3 | 64 | 64 | 32 | 4 |
ATxmega64D3 | 64 | 64 | 32 | 4 |
ATxmega128A3U | 64 | 128 | 32 | 8 |
ATxmega16A4U | 44 | 16 | 32 | 3.3 |
ATxmega192A3U | 64 | 192 | 32 | 16 |
ATxmega256A3BU | 64 | 256 | 32 | 16 |
ATxmega256A3U | 64 | 256 | 32 | 16 |
ATxmega32A4U | 44 | 32 | 32 | 4 |
ATxmega64A3U | 64 | 64 | 32 | 4 |
Monday, March 7, 2016
How to definitively turn off the Foxit updater
The updater in Foxit is really annoying. And even if you turn it off via the GUI the updater application will still run in background. This will delay the main Foxit window start up.
So, here is the trick: the the updater to think that it already checked for updates:
Open the registry (RegEdit) to:
\\\Registry\HKEY_CURRENT_USER\Software\Foxit Software\Foxit Reader 7.0\plugins\Updater\LastDay
Edit the LastDay key and put a higher number. In my case, instead of 0518357,1447384350 I put 0618357,1457384350.
If you are lazy, here is the REG file script (copy/paste the text below in a text file and change its extension to .REG then run the file):
_________________________
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Foxit Software\Foxit Reader 7.0\plugins\Updater]
"LastDay"="0618357,1457384350"
_________________________
Now Foxit will start almost instantaneously.
Firefox, suck it!
So, here is the trick: the the updater to think that it already checked for updates:
Open the registry (RegEdit) to:
\\\Registry\HKEY_CURRENT_USER\Software\Foxit Software\Foxit Reader 7.0\plugins\Updater\LastDay
Edit the LastDay key and put a higher number. In my case, instead of 0518357,1447384350 I put 0618357,1457384350.
If you are lazy, here is the REG file script (copy/paste the text below in a text file and change its extension to .REG then run the file):
_________________________
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Foxit Software\Foxit Reader 7.0\plugins\Updater]
"LastDay"="0618357,1457384350"
_________________________
Now Foxit will start almost instantaneously.
Firefox, suck it!
Tuesday, February 23, 2016
Adding Windows 10 to Windows' 7 boot menu
So, I installed Windows 10. I didn't liked it (at all) so I installed after that Windows 7 (on a different partition).
Now after 6 months I would like to see if Window 10 has improoved a bit, but Windows 7 won't show it in its boot menu. So, I cannot boot into Win 10 anymore.
Solution: bcdedit
Run the command prompt as administrator. Type bcdedit and it will show all installed operating systems (that it can recognize).
In my case (Win 7 primary, Win 10 'lost' partition) the output is this:
C:\>bcdedit
Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=K:
description Windows 10
locale en-US
inherit {globalsettings}
default {current}
resumeobject {24334bef-7a25-11e5-866b-bca012dbdc37}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 0
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.exe
description Windows 7
locale en-US
inherit {bootloadersettings}
recoverysequence {24334bf1-7a25-11e5-866b-bca012dbdc37}
recoveryenabled Yes
osdevice partition=C:
systemroot \Windows
resumeobject {24334bef-7a25-11e5-866b-bca012dbdc37}
nx OptIn
As you can see the current OS is Windows 7 on C: partition.
First of all, make a backup copy of your boot entries, in case you fuck up something:
C:\>bcdedit /export c:\bdc_entry_backup
The operation completed successfully.
Then type the following command. It will add Win 10 (identified as 'bootmgr') at the list of available bootable OS's:
C:\>bcdedit /displayorder {current} {bootmgr}
Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=K:
description Windows 10
locale en-US
inherit {globalsettings}
default {current}
resumeobject {24334bef-7a25-11e5-866b-bca012dbdc37}
displayorder {current}
{bootmgr}
toolsdisplayorder {memdiag}
timeout 0
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.exe
description Windows 7
locale en-US
inherit {bootloadersettings}
recoverysequence {24334bf1-7a25-11e5-866b-bca012dbdc37}
recoveryenabled Yes
osdevice partition=C:
systemroot \Windows
resumeobject {24334bef-7a25-11e5-866b-bca012dbdc37}
nx OptIn
Done.
_________
More details about bcdedit here: https://msdn.microsoft.com/en-us/library/windows/hardware/ff541231%28v=vs.85%29.aspx#editing_the_boot_menu_in_windows_vista_and_later
Now after 6 months I would like to see if Window 10 has improoved a bit, but Windows 7 won't show it in its boot menu. So, I cannot boot into Win 10 anymore.
Solution: bcdedit
Run the command prompt as administrator. Type bcdedit and it will show all installed operating systems (that it can recognize).
In my case (Win 7 primary, Win 10 'lost' partition) the output is this:
C:\>bcdedit
Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=K:
description Windows 10
locale en-US
inherit {globalsettings}
default {current}
resumeobject {24334bef-7a25-11e5-866b-bca012dbdc37}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 0
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.exe
description Windows 7
locale en-US
inherit {bootloadersettings}
recoverysequence {24334bf1-7a25-11e5-866b-bca012dbdc37}
recoveryenabled Yes
osdevice partition=C:
systemroot \Windows
resumeobject {24334bef-7a25-11e5-866b-bca012dbdc37}
nx OptIn
As you can see the current OS is Windows 7 on C: partition.
First of all, make a backup copy of your boot entries, in case you fuck up something:
C:\>bcdedit /export c:\bdc_entry_backup
The operation completed successfully.
Then type the following command. It will add Win 10 (identified as 'bootmgr') at the list of available bootable OS's:
C:\>bcdedit /displayorder {current} {bootmgr}
Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=K:
description Windows 10
locale en-US
inherit {globalsettings}
default {current}
resumeobject {24334bef-7a25-11e5-866b-bca012dbdc37}
displayorder {current}
{bootmgr}
toolsdisplayorder {memdiag}
timeout 0
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.exe
description Windows 7
locale en-US
inherit {bootloadersettings}
recoverysequence {24334bf1-7a25-11e5-866b-bca012dbdc37}
recoveryenabled Yes
osdevice partition=C:
systemroot \Windows
resumeobject {24334bef-7a25-11e5-866b-bca012dbdc37}
nx OptIn
Done.
_________
More details about bcdedit here: https://msdn.microsoft.com/en-us/library/windows/hardware/ff541231%28v=vs.85%29.aspx#editing_the_boot_menu_in_windows_vista_and_later
Labels:
bcdedit,
boot,
boot manager,
install,
OS,
windows 10,
Windows 7
Subscribe to:
Posts (Atom)