tag:blogger.com,1999:blog-92042496625235488572024-03-13T02:57:07.926+01:00It's a Windows' worldYou 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.Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.comBlogger138125tag:blogger.com,1999:blog-9204249662523548857.post-46065965428873233882021-10-10T21:19:00.001+02:002021-10-10T21:19:02.944+02:00How to fix Undear Engine 4 Api-ms-win-downlevel-kernel32-l2-1-0.dll not found<p> UnreadEditor does not start because Api-ms-win-downlevel-kernel32-l2-1-0.dll not found?</p><p>Solution is simple:<br /></p><ul style="text-align: left;"><li>Open Explorer. </li><li>Go to c:\Windows\System32\CompatTel\</li><li>Locate the DLL and copy it to c:\Windows\System32\</li></ul><p><br /></p>Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-89483577179590309322020-11-12T20:01:00.001+01:002020-11-12T20:01:03.658+01:00How to see who wakes up the harddrive (HDD) from sleep?<p>Usually I have my D: drive sleeping because it is too loud.<br />But sometimes, without obvious reason somebody wakes it up.</p><p>To see who does that, you need to install the Sysinternals Process Monitor (Microsoft website).<br />At startup you need to cancel the filter dialog that will be presented.<br /></p><p>In the program, under the Filter main menu, tick Enable Advanced Output and Drop Filtered Events.<br />Then in the same menu, create (Ctrl+L) a filter rule like this:<br /> "Path contains D:\", then click the "Include" option.</p><p><br />Now keep the program running until you see who accesses the D: drive.</p>Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-23886041961717625812020-11-06T20:31:00.001+01:002020-11-06T20:31:21.209+01:00PaintShop Pro won't save images as JPG (Fixed)<p>Today I was not able to save anymore images in PainShop Pro as jpg (png will work). PainShop Pro will simply freeze if I try to do this.</p><p>The issue: a clipboard monitor called PureText was conflicting with PainShop Pro. Closing the program solved the issue. </p><p>I have no clue why the programmers of PainShop Pro chose to hook to the clipboard while saving the output as JPG but obviously is not only pointless but also poorly implemented.</p><p>Case solved.<br /></p>Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-31395626107962001462019-11-02T10:07:00.000+01:002019-11-02T10:07:00.396+01:00How I fixed blurry/fuzzy camera image on Samsung Galaxy s6?How I fixed blurry/fuzzy image on Samsung Galaxy s6?<br />
<br />
The solution was amazingly simple: shake the phone very aggressively!. Looks like the camera actuator mechanism sometimes gets stuck in a certain position. This will fix it. Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-23495871194721326582019-07-20T17:58:00.000+02:002019-07-20T18:02:04.427+02:00Can you tell if the machine on which you are running is a virtual machine installed secretly by some malware/hacker?<span style="font-family: "arial";">Somebody asked me: can you tell if the machine on which you are running is a virtual machine installed secretly by some malware/hacker?</span><br />
<span style="font-family: "arial";"><br />
</span><br />
<span style="font-family: "arial";"><br />
</span><br />
<span style="font-family: "arial";">I thought about that question and the answer is SURE. Without any doubt.<br />
A virtual machine will consume some resources by itself (quite a lot).
If you observe these missing resources you can figure out that something
is wrong. <br />
</span><br />
<span style="font-family: "arial";"><br />
</span><br />
<span style="font-family: "arial";"><br />
</span><br />
<span style="font-family: "arial";"><b>Method 1 - Graphics</b><br />
</span><br />
<span style="font-family: "arial";">You don't even need to start a program to </span><span style="font-family: "arial";"><span style="font-family: "arial";">accurately </span>measure the missing resources. <br />
You can tell if the machine in which you are running is a virtual machine or not, simply by running a game. <br />
Most virtual machines have problems with accelerated graphics. Simply
put, you cannot play resource-intensive 3D games in a virtual machine. <br />
</span><br />
<br />
<br />
<span style="font-family: "arial";"><span style="font-family: "arial";"><b>Method 2 - RAM</b><br />
</span></span><br />
<span style="font-family: "arial";">Now to tell exactly if you are
running in a virtual machine, you don't need advanced hacker tools.
Simply press Ctrl+Shift+Esc to start TaskManager. Under "Physical Memory
(MB)" and </span><span style="font-family: "arial";"><span style="font-family: "arial";">watch
the 'Total' field. In my case is shows 32GB which is indeed the amount I
have physically installed. This number can be also seen in the Control
Panel\All Control Panel Items\System (Win+Break key).</span></span><br />
<br />
<br />
<span style="font-family: "arial";"><span style="font-family: "arial";"><span style="font-family: "arial";"><span style="font-family: "arial";"><b>Method 2 - CPU</b><br />
</span></span></span></span><br />
<span style="font-family: "arial";"><span style="font-family: "arial";">Another method is to run a tool like </span></span><span style="font-family: "arial";"><span style="font-family: "arial";"><span class="Title16">(<a href="http://www.soft.tahionic.com/download-hdd_id/index.html" target="_blank">Hardware ID Extractor</a>) that gives you the theoretic speed of the
CPU and the real (measured) speed of the CPU. If real speed of the CPU
is smaller than the theoretic speed, then something is fishy. </span><br />
</span></span><br />
<span style="font-family: "arial";"><span style="font-family: "arial";">Also the CPU ID might give info about this. I will investigate it.<br />
</span></span><br />
<span style="font-family: "arial";"><span style="font-family: "arial";"><br />
</span></span><br />
<span style="font-family: "arial";"><span style="font-family: "arial";">Remember: </span></span><span style="font-family: "arial";"><span style="font-family: "arial";"><span style="font-family: "arial";"><span style="font-family: "arial";"><span class="Title16">also collaborate the data shown by software with writes on your actual CPU/RAM.</span></span></span></span></span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipB1hCcQGe0zt9PjAoGUsL3ncOcKi-MM-nPYKbcI2Tm9k2uKOrDHjV-DgkUgyRhIor2yUy0sSFNGMGyNU1R5wUR9ETuVxN9V_lV16Tl_SL3v9HQ-UTo-DKnnB-l-cpMIZ8-Mig0pTshyphenhyphen7H/s1600/hardware+ID+screenshot+long.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="812" data-original-width="526" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipB1hCcQGe0zt9PjAoGUsL3ncOcKi-MM-nPYKbcI2Tm9k2uKOrDHjV-DgkUgyRhIor2yUy0sSFNGMGyNU1R5wUR9ETuVxN9V_lV16Tl_SL3v9HQ-UTo-DKnnB-l-cpMIZ8-Mig0pTshyphenhyphen7H/s320/hardware+ID+screenshot+long.png" width="207" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<span style="font-family: "arial";"><span style="font-family: "arial";"><br />
</span></span><br />
<span style="font-family: "arial";"><span style="font-family: "arial";"><br />
</span></span><br />
<br />
<br />Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-77077759886869852272018-10-26T11:50:00.002+02:002018-10-26T11:50:26.941+02:00<span style="font-family: Arial, Helvetica, sans-serif;"><a href="https://www.crossvcl.com/">KSDev</a> released <i>this year</i> CrossVCL - a framework that allows you to build multi-platform applications.</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><b>What is the difference between Firemonkey and CrossVCL?</b><br />
If you want to make your current app multi platform, you need to port it
to Firemonkey. With CrossVCL you don't need anything!!! </span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br />
Embarcadero should fear them! <span class="moz-smiley-s1"></span><br />
And learn a lesson form them!</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br />
They really upgraded Delphi/C++ programming to a brand new level!</span>
Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-18743938694628706122018-02-15T11:49:00.002+01:002018-02-18T11:07:54.373+01:00Cool features and functions in Delphi <span style="font-size: large;"> </span><br />
<br />
<span style="font-size: large;"><b>List of IDE features </b><span style="font-size: small;">that are cool</span></span><span style="font-size: small;"> (when they work)</span><br />
<br />
<ul>
<li><b>Search backwards</b> - Ctrl+F to do a search in your code. F3 to go to the next position Shift+F3 to go to <i>previous </i>position.</li>
<li><b>Move/Relocate/Rename</b> project's files directly from Project Manager</li>
<li><b>Navigate to recently modified code</b> - Ctrl+Shift+F7 and Ctrl+Shift+F8</li>
</ul>
<ul>
</ul>
<ul>
<li><b><b>Search for usage</b></b> - Right click a variable and invoke 'search for
usage'. A panel will list all places in current project where that
variable is used. In my cases this will make the IDE to freeze. </li>
<li><b>UML diagrams</b> (Live Diagrams) - simply doesn't work </li>
<li><b>IDE insight</b> (F6) - It could be useful but seems to list a lot of random items.</li>
<li><b>CodeSite </b>- a logging system - I couldn't really find it useful</li>
<li><b>AQTime </b>- Performance profiler + memory allocation debugger - I couldn't really find it useful</li>
</ul>
<br />
<br />
<b><span style="font-size: large;">List of functions/units/classes</span> </b>that are cool (when they work)<br />
<br />
<ul>
<li>SysUtils.GetHomePath - Returns c:\users\username\appdata\roaming.</li>
<li>IOUtils - Lots of new cool functions. Totally broken.</li>
<li>SplitString - Example of usage at the end of this document. Unfortunately, the function is VERY slow!</li>
<li>FindCmdLineSwitch - Example: System.SysUtils.FindCmdLineSwitch('-f', sFileName)</li>
<li>TThread.ProcessorCount; { Specifies the number of CPU cores in the system }</li>
<li>TBinaryReader / TBinaryWriter - Nice but only half ass - Interesting but I recommend this library which is much faster: https://stackoverflow.com/questions/5639531</li>
<li>System.Diagnostics.TStopWatch - Can be used to precisely time your code.</li>
<li>$WeakLinkRTTI - Put these two directives in your DPR file (at the very top) to reduce exe size with 4%:<code><span class="com"> {$WEAKLINKRTTI ON}</span></code><code><span class="com"> {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}</span></code></li>
<li>TStringBuilder - It was supposed to help you build strings. But it is horrible! Simply don't use it. It is painful slow.</li>
<li>PtInCircle & PtInRect - Tells you if a point is located in a circle. Could be handy one day.</li>
<li><b class="selflink">TTimeSpan</b> (System unit) is a data structure used for
holding information about a period of time. The smallest unit
of time is a tick which is 100 nanoseconds. The largest unit of time is a day.</li>
</ul>
<b>CONST</b> <br />
<ul>
<li>SLineBreak - global constant that changes its value depending on target platform (Win/Linux/Mac)</li>
<li>Win32MajorVersion & Win32MinorVersion - To get current Windows version</li>
</ul>
<br />
<br />
<b><span style="font-size: large;">List of VCL controls </span></b>that are cool (when they work)<br />
<br />
<ul>
<li>TJumpList - To list a custom file in a JumpList your program must be registered (in Windows registry) to be able to open that type of file. Another problem is that when the user clicks a 'recent file' in the JumpList, the message is not sent to your app directly. You need to intercept that message.</li>
</ul>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
_________________________________<br />
<br />
function CountWords(CONST s: string): Integer; { Might be faster than the one above }<br />
VAR<br />
sArray: TStringDynArray;<br />
begin<br />
sArray:= System.StrUtils.SplitString(s, '.,? =<>*!-:;()/\'+cr+lf);<br />
Result:= Length(sArray);<br />
end;<br />
<br />
<br />
<div class="s3gt_translate_tooltip_mini_box" id="s3gt_translate_tooltip_mini" is_mini="true" style="background: initial !important; border-collapse: initial !important; border-radius: initial !important; border-spacing: initial !important; border: initial !important; box-sizing: initial !important; color: inherit !important; direction: ltr !important; display: initial !important; flex-direction: initial !important; font-family: X-LocaleSpecific, sans-serif, Tahoma, Helvetica !important; font-size: 13px !important; font-weight: initial !important; height: initial !important; left: 13px; letter-spacing: initial !important; line-height: 13px !important; margin: auto !important; max-height: initial !important; max-width: initial !important; min-height: initial !important; min-width: initial !important; opacity: 0.8; outline: initial !important; overflow-wrap: initial !important; padding: initial !important; position: absolute; table-layout: initial !important; text-align: initial !important; text-shadow: initial !important; top: 574px; vertical-align: top !important; white-space: inherit !important; width: initial !important; word-break: initial !important; word-spacing: initial !important;">
<div class="s3gt_translate_tooltip_mini" id="s3gt_translate_tooltip_mini_logo" title="Translate selected text">
</div>
<div class="s3gt_translate_tooltip_mini" id="s3gt_translate_tooltip_mini_sound" title="Play" title_play="Play" title_stop="Stop">
</div>
<div class="s3gt_translate_tooltip_mini" id="s3gt_translate_tooltip_mini_copy" title="Copy text to Clipboard">
</div>
<link href="moz-extension://295c824e-6193-4415-9fce-08a5ae3bc501/skin/s3gt_tooltip_mini.css" rel="stylesheet" type="text/css"></link><style media="print" type="text/css">#s3gt_translate_tooltip_mini { display: none !important; }</style></div>
Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-25421253003236903912017-11-22T14:36:00.004+01:002017-11-22T14:36:58.992+01:00Fix Firefox v57 (Firefox Quantum) high memory utilization (for computers with 4GB RAM or less)When Firefox Quantum was launched everybody praised it as the next best thing (browser).<br />But if you look closelly you will only see modest speed improvements into the browser. HOWEVER, you will see massive slowdowns in Windows. At least I did in mine. Why because instead of taking 600-900MB for regular browsing the new Firefox takes not 2GB!<br />
<br />
This is because a thing called "multi-process Firefox" was activated by default. The multi-process was suposed to make Firefox more stable. However, it also makes the browser much much larger.<br />
<br />
So, how do you make Firefox behave? You disable multi-process:<br />
1. Type "about:config" in Firefox Address bar (where you enter the address of a website).<br />
2. Do a search for "browser.tabs.remote.autostart"<br />
3. Disable it.<br />
<br />
_________________<br />
<br />
More gory details about this here:<br />
https://www.ghacks.net/2016/07/22/multi-process-firefox/<br />
TLDRGuruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-77364331797279582592017-11-09T12:15:00.002+01:002017-11-09T12:15:40.830+01:00False antivirus reports on installers created with WinRAR <br />I recently observed that Setup files created with WinRar have a high false positive detection rate from antiviruses.<br />Here are the conclusions of some test I made, in order to reduce the false positive rate:<br /><br />RAR version SFX module Detection ratio<br />WinRar 3.11 32bit 1/66<br />WinRar 4.2 32bit? 3/66<br />WinRar 5.50 32bit 6/67<br />WinRar 5.50 64bit 1/67<br /><br />Notes:<br />The detection ratio is not affected by the 32/64 bit version of WinRAR program at all. <br />However, it is strongly affected by the SFX module used.<br /><br />The test file created with WinRar was named Setup.exe and it contained a single URL file in it.<br />In one test, the Setup file was packed with UPX. This reduced the detection ratio from:<br /> 8 false positives to only 4<br /> 6 false positives to 6 (no reduction), in other case<br /><br />A program built in Delphi raises more false positives if the 'Compiler optimizations' is on.<br />Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com2tag:blogger.com,1999:blog-9204249662523548857.post-51824979243544569962017-11-03T11:52:00.003+01:002017-11-03T11:52:48.664+01:00Thunderbird cannot connect to gmail after changing password [FIXED]0) <strong>ALLOW LESS SECURE APPS:</strong> Login to gmail using your browser, switch to your google account (top-right round button), go to <strong>Sign-in & Security</strong>><strong>Connected apps & sites</strong>, scroll down until reach <strong>Allow less secure apps:OFF</strong> and turn it ON (if it's already on, leave as it is);<br />
<br />
1) <strong><span style="background-color: red;">DELETE OLD GMAIL PASSWORD</span>:</strong> Launch Thunderbird,
select Preferences>Security>Passwords>Saved Passwords, select
the gmail account from the list and click <strong>Remove</strong>;
2) <strong>CHANGE GMAIL ACCOUNT SETTINGS:</strong> Launch Thunderbird, go to <strong>Tools</strong>><strong>Account Settings</strong>><strong>Server Settings</strong> of the gmail account you need to bring back to work, switch <strong>Authentication Method</strong> from Oauth2 to Normal Password and click <strong>OK</strong> (when requested by Thunderbird, digit the new gmail password);<br />
<br />
3) Scroll down to the end of your account list on the left side of the window until you reach <strong>Outgoing Server (SMTP)</strong> and select it;
4) Select your gmail address from the list, click Edit, switch the <strong>Authentication Method</strong> to Normal Password as well and click OKGuruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-45487493741924661622017-11-03T10:17:00.002+01:002017-11-03T10:17:38.582+01:00How to fix invalid Google Drive quota!I recently have seen that 25% of my GDrive quota was occupied by something. But my GDrive has in it only 0.7GB. So, who gets the rest of the space.<br />
It turns out that there are files in my Google Drive that are not assigned to a folder. Therefore they are "hidden" from view.<br />
<br />
To see these files just click this link:<br />
<a href="https://drive.google.com/drive/search?q=is:unorganized%20owner:me">https://drive.google.com/drive/search?q=is:unorganized%20owner:me</a><br />
Review what you want to keep/delete (probably you will delete them all) and get rid of them. Don't forget to empty your trash also.<br />
<br />
No my quota shows only 6% occupied.Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-59158308568356273922017-09-01T08:54:00.003+02:002017-09-01T09:00:36.938+02:00Yet another EurekaLog bug. How many until now?I stepped last week in a multiple-bug situation with EurekaLog for Delphi. I again wasted MORE than a day with this buggy "exception tracer tool".<br />
<br />
My DRP file is like this:<br />
<br />
<blockquote class="tr_bq">
PROGRAM MyProgram;<br />
uses<br />
{$ifdef win32}fastmm4,{$endif}<br />
EurekaLog_units_come_here </blockquote>
<br />
This worked fine until I compiled the program to 64 bits.<br />
On 64 bit, EurekaLog refused to work. After lots of emails exchanged with their (slow) customer support I got NOTHING.<br />
In the end I have found the problem: a bug (oh yes, another one) in EurekaLog. Eureka v7.4 could not properly parse the DRP file when it contains conditional directives like {$ifdef}.<br />
So, because EurekaLog parse my dpr file was like this<br />
<br />
<blockquote class="tr_bq">
<br />
PROGRAM MyProgram;<br />
uses<br />
{$ifdef win32}fastmm4,<br />
EurekaLog_units_come_here <br />
{$endif}</blockquote>
<br />
<b>Solution? </b>None. The support guy from EurekaLog (Alex) invided me to pay for a new license on order to get a small update (same version, so update, no upgrade) to v7.5 which allegedly works. I won't do that. I should receive the UPDATE to the non-bugged version for free AT LEAST for the reason that I have invested time to help them locate the bug.<br />
<br />
________________<br />
<br />
Maybe they should write a bug tracker tool for their one bug tracker tool :) Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-10819564633647511112017-08-14T14:35:00.001+02:002017-08-14T14:35:59.929+02:00Delphi programs have too many false positive detectionsMost of my Delphi programs are flagged as virus by some antivirus programs. Some of these antivirus programs are really cheap/under-the-table products (such as Baidu and Comodo) other are big (TOP) name like Kaspersky.<br />
<br />
In theory you should report a false positive to the antivirus producers so they can fix their bug but if the list is too long and you are lazy here is what you can do to decrease the number of false positive reports:<br />
<ul>
<li>Don't turn on "compiler optimizations" when you release your app. It seems that more false alarms are triggered when this is turned on in the project.</li>
<li>If you MUST turn one the "compiler optimizations" you can pack your exe with UPX. This should shut up most antiviruses as they don't know to look inside the UPX</li>
<li>If you use WinRar, downgrade to v3.11 as this version does not give false positives (only one out of 64).</li>
</ul>
Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-47319113071301063612017-03-21T18:39:00.001+01:002018-02-07T10:02:08.792+01:00How to configure EurekaLog to send bugs via email<span class="f_Heading1"><span class="f_Heading1">Email sender settings in EurekaLog v7</span></span><br />
<span class="f_Heading1"><span class="f_Heading1"> </span></span>
<br />
<table border="1" cellpadding="4" cellspacing="0" style="width: 100%px;">
<colgroup><col width="46*"></col>
<col width="55*"></col>
<col width="33*"></col>
<col width="58*"></col>
<col width="34*"></col>
<col width="29*"></col>
</colgroup><tbody>
<tr>
<td width="18%"><br />
<br /></td>
<td style="text-align: center;" width="21%"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>SMTP
Server </b></span></span><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><span style="font-size: xx-small;">[<span style="font-family: "arial" , sans-serif;">1</span>]</span></span></span>
</td>
<td style="text-align: center;" width="23%"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>Simple
MAPI</b> </span></span>
</td>
<td style="text-align: center;" width="13%"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>MAPI</b></span></span></td>
<td style="text-align: center;" width="11%"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>Shell
</b>(MailTo)</span></span></td><td style="text-align: center;" valign="top"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b> SMTP
client</b><span style="font-size: xx-small;"> </span><span style="font-size: xx-small;">[3]</span></span></span></td>
</tr>
<tr>
<td width="18%"><b><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">Can
attach the ELP file </span></span></b>
</td>
<td style="text-align: center;" width="21%"><span style="color: #579d1c;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>Yes</b></span></span></span></td>
<td style="text-align: center;" width="23%"><span style="color: #579d1c;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>Yes
</b><span style="color: black;"><span style="font-size: xx-small;"><span style="font-weight: normal;">[2]</span></span></span></span></span></span></td>
<td style="text-align: center;" width="13%"><span style="color: #579d1c;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>Yes
</b><span style="color: black;"><span style="font-size: xx-small;"><span style="font-weight: normal;">[2]</span></span></span></span></span></span></td>
<td style="text-align: center;" width="11%"><span style="color: #c5000b;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>No</b></span></span></span></td><td style="text-align: center;" valign="top"><span style="color: #579d1c;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>Yes</b></span></span></span></td>
</tr>
<tr>
<td width="18%"><b><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">See
sender's email </span></span></b>
</td>
<td style="text-align: center;" width="21%"><span style="color: #c5000b;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>No
</b><span style="color: black;"><span style="font-size: xx-small;"><span style="font-weight: normal;">[<span style="font-family: "arial" , sans-serif;">4</span>]</span></span></span></span></span></span></td>
<td style="text-align: center;" width="23%"><span style="color: #579d1c;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>Yes</b></span></span></span></td>
<td style="text-align: center;" width="13%"><span style="color: #579d1c;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>Yes</b></span></span></span></td>
<td style="text-align: center;" width="11%"><span style="color: #579d1c;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>Yes</b></span></span></span></td><td style="text-align: center;" valign="top"><span style="color: #c5000b;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>No</b></span></span></span></td>
</tr>
<tr>
<td width="18%"><b><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">Email
client software*</span></span></b></td>
<td style="text-align: center;" width="21%"><span style="color: #38761d;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">Not
required</span></span></span></td>
<td style="text-align: center;" width="23%"><span style="color: #c5000b;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">Required</span></span></span></td>
<td style="text-align: center;" width="13%"><span style="color: #c5000b;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">Required</span></span></span></td>
<td style="text-align: center;" width="11%"><span style="color: #c5000b;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">Required</span></span></span></td><td style="text-align: center;" valign="top"><span style="color: #38761d;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">Not
required</span></span></span></td>
</tr>
<tr>
<td width="18%"><b><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">Chance
of success</span></span></b></td>
<td style="text-align: center;" width="21%"><span style="color: #38761d;"><span style="color: #38761d;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><span style="color: #741b47;">Highest chance among all methods</span></span></span></span></span></td>
<td style="text-align: center;" width="23%"><span style="color: #274e13;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">High if email client </span></span><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">installed</span></span></span></td>
<td style="text-align: center;" width="13%"><span style="color: red;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">WinMail & Outlook <span style="color: #c5000b;">only!!</span></span></span></span></td>
<td style="text-align: center;" width="11%"><span style="color: #274e13;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">High if email client </span></span><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">installed</span></span></span></td><td style="text-align: center;" valign="top"><span style="font-size: x-small;"><span style="color: #741b47;">I get a 'revocation function' error but for others is working</span></span></td>
</tr>
<tr>
<td width="18%"><b><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">Can
tell if email was successfully sent?</span></span></b></td>
<td style="text-align: center;" width="21%"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><span style="color: #c5000b;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>No </b></span></span></span></span></span></td>
<td style="text-align: center;" width="23%"><span style="color: #579d1c;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>Yes</b></span></span></span></td>
<td style="text-align: center;" width="13%"><span style="color: #579d1c;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>Yes</b></span></span></span></td>
<td style="text-align: center;" width="11%"><span style="color: #579d1c;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>Yes</b></span></span></span></td><td style="text-align: center;" valign="top"><br />
<span style="color: #579d1c;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><b>Yes</b></span></span></span></td>
</tr>
</tbody></table>
<br />
<br />
<span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><span style="font-family: "arial" , sans-serif;"><span style="font-family: "arial" , sans-serif;">1</span></span> - <span style="font-family: "arial" , sans-serif;">Many antivirus products will flag your EXE as virus</span></span></span><br />
<span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><span style="font-family: "arial" , sans-serif;"><br /></span></span></span>
<br />
<div style="margin-bottom: 0in;">
</div>
<div style="margin-bottom: 0in;">
<span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">2
- if "Append bug report text in the message text" is
<span style="color: #741b47;">UNCHECKED</span> </span></span>
</div>
<div style="margin-bottom: 0in;">
<br /></div>
<div style="margin-bottom: 0in;">
<span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">3
- Typically, you should use either SMTP server or SMTP client, but
not both methods simultaneously.<br />Bugged in EurekaLog v7.4.8.0 RC 1
- Error code = -2146885613 - The revocation function was unable to
check revocation because the revocation server was offline. Maybe
because: “Currently EurekaLog supports AUTH LOGIN and AUTH PLAIN
authentication methods”?</span></span></div>
<div style="margin-bottom: 0in;">
<br />
<span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><span style="font-family: "arial" , sans-serif;">4</span> - could be enabled via SetUserEMail function) </span></span></div>
<div style="margin-bottom: 0in;">
<span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">*
If required: Email client must be installed and properly
reconfigured. User must to click on "Send" in their e-mail
clients. Automatic send without user actions is not possible. </span></span><br />
<br />
<span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;">_____________ </span></span><br />
<br />
<span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><span class="f_Heading1"><span class="f_Heading1"><span style="font-family: "arial" , sans-serif;">P</span>lease note that EurekaLog </span></span></span></span><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><span class="f_Heading1"><span class="f_Heading1"><span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><span class="f_Heading1"><span class="f_Heading1">v7 </span></span></span></span>is also plagued with several serious <a href="http://thesunstroke.blogspot.de/2017/03/another-bug-in-eurekalog-7.html" target="_blank">bugs</a><span style="font-family: "arial" , sans-serif;">!</span></span></span> I con<span style="font-family: "arial" , sans-serif;">tacted the producer but he didn't bother to reply<span style="font-family: "arial" , sans-serif;"> <span style="font-family: "arial" , sans-serif;">until now.</span></span></span></span></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5aC3zXl0HmI5pMauIADZkVRsh_WOHzokiyxyWux5dz3Fa64wxmh1WCesLL8nDHaUHAJr_r8OzPzeA-mDUAgbURlSDxWFR_tgYFj9ppN0kdJNs2KOvtA3ed107Y0s2q4jO9ZlfR9u6HGXy/s1600/crash.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5aC3zXl0HmI5pMauIADZkVRsh_WOHzokiyxyWux5dz3Fa64wxmh1WCesLL8nDHaUHAJr_r8OzPzeA-mDUAgbURlSDxWFR_tgYFj9ppN0kdJNs2KOvtA3ed107Y0s2q4jO9ZlfR9u6HGXy/s320/crash.PNG" width="252" /></a></div>
<span style="font-family: "arial" , sans-serif;"><span style="font-size: x-small;"><span style="font-family: "arial" , sans-serif;"><span style="font-family: "arial" , sans-serif;"><span style="font-family: "arial" , sans-serif;"> </span></span></span></span></span>
</div>
<div class="s3gt_translate_tooltip_mini_box" id="s3gt_translate_tooltip_mini" is_bottom="true" is_mini="true" style="background: initial !important; border-collapse: initial !important; border-radius: initial !important; border-spacing: initial !important; border: initial !important; box-sizing: initial !important; color: inherit !important; direction: ltr !important; display: initial !important; flex-direction: initial !important; font-family: X-LocaleSpecific, sans-serif, Tahoma, Helvetica !important; font-size: 13px !important; font-weight: initial !important; height: 23px !important; left: 581px; letter-spacing: initial !important; line-height: 13px !important; margin: auto !important; max-height: initial !important; max-width: initial !important; min-height: initial !important; min-width: initial !important; opacity: 0.2; outline: initial !important; overflow-wrap: initial !important; padding: initial !important; position: absolute; table-layout: initial !important; text-align: initial !important; text-shadow: initial !important; top: 22px; vertical-align: top !important; white-space: inherit !important; width: 51px !important; word-break: initial !important; word-spacing: initial !important;">
<div class="s3gt_translate_tooltip_mini" id="s3gt_translate_tooltip_mini_logo" title="Translate selected text">
</div>
<div class="s3gt_translate_tooltip_mini" id="s3gt_translate_tooltip_mini_copy" title="Copy text to Clipboard">
<br /></div>
<link href="moz-extension://295c824e-6193-4415-9fce-08a5ae3bc501/skin/s3gt_tooltip_mini.css" rel="stylesheet" type="text/css"></link><style media="print" type="text/css">#s3gt_translate_tooltip_mini { display: none !important; }</style></div>
<div class="s3gt_translate_tooltip_mini_box" id="s3gt_translate_tooltip_mini" is_bottom="true" is_mini="true" style="background: initial !important; border-collapse: initial !important; border-radius: initial !important; border-spacing: initial !important; border: initial !important; box-sizing: initial !important; color: inherit !important; direction: ltr !important; display: initial !important; flex-direction: initial !important; font-family: X-LocaleSpecific, sans-serif, Tahoma, Helvetica !important; font-size: 13px !important; font-weight: initial !important; height: initial !important; left: 616px; letter-spacing: initial !important; line-height: 13px !important; margin: auto !important; max-height: initial !important; max-width: initial !important; min-height: initial !important; min-width: initial !important; outline: initial !important; overflow-wrap: initial !important; padding: initial !important; position: absolute; table-layout: initial !important; text-align: initial !important; text-shadow: initial !important; top: 352px; vertical-align: top !important; white-space: inherit !important; width: initial !important; word-break: initial !important; word-spacing: initial !important;">
<div class="s3gt_translate_tooltip_mini" id="s3gt_translate_tooltip_mini_logo" title="Translate selected text">
</div>
<div class="s3gt_translate_tooltip_mini" id="s3gt_translate_tooltip_mini_sound" title="Play" title_play="Play" title_stop="Stop">
</div>
<div class="s3gt_translate_tooltip_mini" id="s3gt_translate_tooltip_mini_copy" title="Copy text to Clipboard">
</div>
<link href="moz-extension://295c824e-6193-4415-9fce-08a5ae3bc501/skin/s3gt_tooltip_mini.css" rel="stylesheet" type="text/css"></link><style media="print" type="text/css">#s3gt_translate_tooltip_mini { display: none !important; }</style></div>
<div class="s3gt_translate_tooltip_mini_box" id="s3gt_translate_tooltip_mini" is_mini="true" style="background: initial !important; border-collapse: initial !important; border-radius: initial !important; border-spacing: initial !important; border: initial !important; box-sizing: initial !important; color: inherit !important; direction: ltr !important; display: initial !important; flex-direction: initial !important; font-family: X-LocaleSpecific, sans-serif, Tahoma, Helvetica !important; font-size: 13px !important; font-weight: initial !important; height: initial !important; left: 59px; letter-spacing: initial !important; line-height: 13px !important; margin: auto !important; max-height: initial !important; max-width: initial !important; min-height: initial !important; min-width: initial !important; outline: initial !important; overflow-wrap: initial !important; padding: initial !important; position: absolute; table-layout: initial !important; text-align: initial !important; text-shadow: initial !important; top: 326px; vertical-align: top !important; white-space: inherit !important; width: initial !important; word-break: initial !important; word-spacing: initial !important;">
<div class="s3gt_translate_tooltip_mini" id="s3gt_translate_tooltip_mini_logo" title="Translate selected text">
</div>
<div class="s3gt_translate_tooltip_mini" id="s3gt_translate_tooltip_mini_sound" title="Play" title_play="Play" title_stop="Stop">
</div>
<div class="s3gt_translate_tooltip_mini" id="s3gt_translate_tooltip_mini_copy" title="Copy text to Clipboard">
</div>
<link href="moz-extension://295c824e-6193-4415-9fce-08a5ae3bc501/skin/s3gt_tooltip_mini.css" rel="stylesheet" type="text/css"></link><style media="print" type="text/css">#s3gt_translate_tooltip_mini { display: none !important; }</style></div>
Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-88593747523138259072017-03-15T20:39:00.002+01:002017-03-21T18:41:29.232+01:00Another bug in EurekaLog 7I wanted to send an email ("Send via
SMTP client") from EurekaLog v7.4.8.0 RC 1 but I was getting this error:
<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">FAILED: Error code = -2146885613<br />
The revocation function was unable to check revocation because the
revocation server was offline<br />
<br />
EurekaLog 7.4.8.0 RC 1<br />
Testing send with TELMailSMTPClientSender <br />
Options:<br />
_BugAppVersion="21.0.17707.5020"<br />
_BugID="73D40000"<br />
_BugIDSource="bds.exe</span><br />
<br />
<br />
My email is hosted by BlueHost but knowing how <a href="https://news.eurekalog.com/showthread.php?3233-El7" target="_blank">buggy EurekaLog is</a> and considering the fact that all my accounts work flawlessly in Thunderbird I think the bug is not related to the BlueHost server.<br />
<br />
I had to give up using "SMTP client" and user <span class="f_Heading1">"SMTP server" instead.</span><br />
<br />
<br /><br />
<span class="f_Heading1"> </span>Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com3tag:blogger.com,1999:blog-9204249662523548857.post-78322729916123717552017-01-03T18:41:00.001+01:002017-01-03T18:41:09.222+01:00Total Commander - the ultimate file manager for Windows (and recently for Android too)
<div style="margin-bottom: 0in;">
Total Commander (aka Windows Commander)
is the ultimate file manager for Windows (and recently for Android
too).</div>
<div style="margin-bottom: 0in;">
<br />
</div>
<div style="margin-bottom: 0in;">
Who can use it?</div>
<div style="margin-bottom: 0in;">
The regular Windows user that used all
his life Windows Explorer will find Total Commander interface AT
LEAST awkward. The interface concept and user experience is totally
different in Total Commander. This doesn’t mean that Total
Commander is bad or poorly design or difficult to learn. It is just
different than Windows Explorer.</div>
<div style="margin-bottom: 0in;">
The regular user will require a day or
two to accommodate with the concept ( experienced users will have no
problem to gasp the new concept) but the efficiency improvement
totally worth it. I am a Total Commander use since 1998 and I never
ever (literally) used Windows Explorer again.</div>
<div style="margin-bottom: 0in;">
<br />
</div>
<div style="margin-bottom: 0in;">
The concept</div>
<div style="margin-bottom: 0in;">
Total Commander solves an old design
flaw of Windows Explorer. So old that regular computer user won’t
even observe it anymore.</div>
<div style="margin-bottom: 0in;">
Many operations that you perform on
files involve copying or moving files from one place (folder) to
another. This is where Windows Explorer design fails: you work on two
folders, the folder from where you copy the file (source) and the
folder where you copy the file (destination), but Windows Explorer
has one single panel. The Microsoft solution is to browse and open
both folders and <u>carefully</u> drag and drop the files from source
to destination. I say carefully because it is easy to ‘un-carefully’
drop the files in the wrong folder. Obviously there are also other
methods but they are even more time consuming than this one. And when
you close the Explorer all that work invested into locating your
folders is gone. You have to start all over.</div>
<div style="margin-bottom: 0in;">
For a person that performs 1-2 file
operations per day it is not a big deal, but for an intermediate user
or a POWER user this is time consuming and error prone.</div>
<div style="margin-bottom: 0in;">
And, here is the time and place where
you install Total Commander. Total Commander brings the concept of
two parallel panels: it always shows on screen the source folder AND
the destination folder. Now all you have to do is to drag and drop
the files from one pane to the other (advanced users can user F5 and
F6 keys for copy/paste).</div>
<div style="margin-bottom: 0in;">
Total Commander will remember the last
used folders and ALSO the recent folders you navigated through. So,
if you worked on a folder few hours ago and you want to return to
that folder, you don’t have to browse the entire folder structure
to locate it again. Using the History (Alt+DownArrow) you are back
there with just one click.</div>
<div style="margin-bottom: 0in;">
<br />
</div>
<div style="margin-bottom: 0in;">
The magic never stops</div>
<div style="margin-bottom: 0in;">
Total Commander has literary hundreds
of features that are not present in Windows Explorer: FTP,
compression support, fully customizable toolbar (that totally
replaces the Start menu), CRC control, Mime encoding, advanced multi
rename tool, advanced search tool, support for plugins (there are
also thousands of plugins for Total Commander), thumbnail view, quick
view, color coded file types, etc, etc, etc.</div>
<div style="border-bottom: 1px solid #00000a; border-left: none; border-right: none; border-top: none; margin-bottom: 0in; padding-bottom: 0.01in; padding-left: 0in; padding-right: 0in; padding-top: 0in;">
One of the useful functions we will investigate now is the File
Queue. With this function you can Queue a long list of file
operations for later execution and….</div>
<div style="margin-bottom: 0in;">
<br />
</div>
<div style="margin-bottom: 0in;">
<br />
</div>
<div style="margin-bottom: 0in;">
Disclaimer: I have no affiliation with Total Commander, except my affection for it :)</div>
Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-83386412350088744092016-09-20T10:26:00.000+02:002018-02-15T18:34:51.097+01:00The best and most reliable 3GB hard driveI need a 3GB internal harddrive. Looking through <a href="https://www.backblaze.com/blog/hard-drive-reliability-stats-q1-2016/" target="_blank">statistic data</a> from BackBlaze, it seems that <b>Seagate </b>is the worst solution because of it <a href="https://www.backblaze.com/blog/3tb-hard-drive-failure/" target="_blank">HUGE failure rate</a>. Yes the prices are good for this drive but you don't want a cheap drive that will fail after 2 years. Right?<br />
The <a href="https://www.backblaze.com/blog/hard-drive-reliability-q4-2015/" target="_blank">next</a> brand with high failure rate is <b>Western Digital</b>.<br />
Both Seagate and WesternDigital drive have price in the 100 euros range.<br />
Toshiba has a much better failure rate. <br />
But the winner is <b>HGST</b>. It has a significant higher price (<a href="https://www.amazon.de/HGST-Deskstar-inch-Internal-Drive/dp/B00HE7HG2C/ref=sr_1_1?s=computers&ie=UTF8&qid=1474358810&sr=1-1&keywords=hgst" target="_blank">126 euro</a>) but totally worth it.Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-49430398757855930242016-08-19T14:39:00.001+02:002017-02-17T19:05:48.940+01:00Top Windows, HTML 5, WYSIWYG HTML editors<br />
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). <span style="background-color: cyan;">NOTE: See the 2017 update at the end of the post!</span><br />
<br />
<b>BlueGriffon </b><br />
2015<br />
Price: Free or 70 euros: http://www.bluegriffon.org/#whatsinside<br />
Comment: Seems robust and mature<br />
<br />
<b>Maqetta </b><br />
Discontinued may 2013, but still <a href="http://maqetta.org/" target="_blank">online</a><br />
Price: free<br />
Kit size: 86MB<br />
Conclusion: <span style="color: red;">Difficult </span>to Install. Needs Java 6! <br />
<br />
<b>LibreOffice </b><br />
2015<br />
Price: free<br />
<br />
<b>OpenOffice.org</b> 2014<br />
It only has a web page editor (not web site builder)<br />
<b><br />Dreamweaver </b>2015<br />
Conclusion: Nice but way too expensive!<br />
<br />
<b>Microsoft Expression 2012</b><br />
(discontinued)<br />
<br />
<b>openElement </b>2014<br />
Free <br />
Kits size: 47MB <br />
<br />
<b>oXygenXML Editor</b> 2015<br />
Conclusion: not tested yet <br />
<br />
<b>TOWeb </b>2013<br />
Conclusion: not tested yet <br />
<b><br />WebStorm IDE</b> 2013<br />
Conclusion: not tested yet <br />
<br />
Based on: https://en.wikipedia.org/wiki/Comparison_of_HTML_editors<br />
______________<br />
<br />
<span style="background-color: cyan;">UPDATE 2017</span><br />
<br />
<a href="http://www.soft.tahionic.com/download-stormy%20web%20site%20builder/index.html" target="_blank">Stormy Website Builder</a> 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.<br />
Stormy Website Builder wants to be a lightweight alternative for Joomla CMS. <br />
<br />
<br />Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-6841865487755130282016-08-16T12:41:00.002+02:002016-08-16T12:44:23.729+02:00Delphi is still in Top 20... barely Delphi is still in <a href="http://fossbytes.com/top-5-highest-paying-programming-languages-of-2016/?utm_content=buffer6d498&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer" target="_blank">Top 20</a>... but barely. It is the last one. It may fall any time.<br />
Too sad....<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://fossbytes.com/wp-content/uploads/2016/08/programming-languages-highest-paying.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="179" src="https://fossbytes.com/wp-content/uploads/2016/08/programming-languages-highest-paying.jpg" width="320" /></a></div>
<br />Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com1tag:blogger.com,1999:blog-9204249662523548857.post-19278530366993836852016-08-06T21:00:00.001+02:002016-08-06T21:00:57.412+02:00Embarcadero finally decided to fix SOME bugs in Delphi<br />
In the new <a href="http://community.embarcadero.com/article/news/16418-product-roadmap-august-2016" target="_blank">road map</a>, Embarcadero finally decided to fix SOME bugs in Delphi.<br />
<br />
It seems good news but hold your horses:<br />
1. They not always keep their promise related to the road map.<br />
2. There are not so many bugs<br />
3. They won't do all the fixes at once, but until 2018<br />
4. Until 2018 another 500 new bugs (AT LEAST) will be introduced<br />
5. We have to pay (not 59 bucks but HARD money) to get that non-buggy version of Delphi.<br />
<br />
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!<br />
<br />
So, thank you Embarcadero for finally thinking to fix some bugs and FUCK YOU.<br />
<br />
PS: In the next road map maybe you will introduce an item likes "free updates".<br />
<br />
http://community.embarcadero.com/article/news/16418-product-roadmap-august-2016Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-67459883859054390482016-08-01T18:09:00.003+02:002016-08-01T18:09:17.978+02:00Computer Virus that infects real-world DNA?<div class="post-text" itemprop="text">
<br />
<table><tbody>
<tr><td class="votecell"><br /></td><td class="postcell">
<div>
<div class="post-text" itemprop="text">
A computer code that is supposed to be able to infect DNA was found.<br />
The <a href="http://pastebin.com/9vN1ACMH" rel="nofollow">corresponding article</a> posted ~2.5 years, and some c++ codes.<br />
Citation:<br />
<pre><code> The computer code, written in C++, hosts the DNA sequence of M.mycoides
JCVI-syn1.0. At runtime it acts as follows:
1) Preparing the DNA sequence of M.mycoides JCVI-syn1.0 in the memory,
(with slightly modified watermarks).
2) Encoding own file-content in base32. The base32 code is then encoded in
JCVI's DNA-encoded alphabet.
3) This representation of its digital form is then copied to a
watermark of the bacteria's genome in memory. With this, a fully
functional bacterial DNA sequence including the digital code is
generated.
4) Next it searches for FASTA-files on the computer, which are text-based
representations of DNA sequences, commonly used by many DNA sequence
libraries.
5) For each FASTA-file, it replaces the original DNA with the bacterial
DNA containing the digital form of the computer code.
The code has a classical self-replication mechanism as well, to eventually
end up on a computer in a microbiology-laboratory with the ability of
creating DNA out of digital genomes (such as laboratories by the JCVI).
</code></pre>
So could there really be a computer virus
that infects DNA?<br />
Virus code is here: http://pastebin.com/NiQc55rr <br />
</div>
<div class="post-taglist">
<br />
</div>
<div class="post-taglist">
<br />
</div>
<div class="post-taglist">
<br />
</div>
</div>
</td></tr>
</tbody></table>
<br />
<strong>Answer:</strong><br />
<br />
<strong>It is NOT impossible</strong> for a computer virus to infect real DNA because 'artificial' life was already created from synthetic DNA by Craig Institute. <a href="https://www.ted.com/talks/craig_venter_unveils_synthetic_life#t-205753" rel="nofollow">Proof</a>.
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.<br />
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.<br />
<br />
<br />
<strong>IMPORTANT UPDATE!</strong> <br />
<br />
I have found this comment in the C++ code: <br />
<blockquote>
// Encode own file into Craig Venter's DNA encoding language<br />
</blockquote>
It 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!!<br />
<br />
<br />
<strong>Validity of the code</strong><br />
<br />
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.<br />
<br />
<br />
<strong>Purpose</strong><br />
<br />
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).<br />
<br />
<br />
<strong>Conclusion</strong> <br />
<br />
The question asked was: "can a computer virus could <b>infect</b> 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).<br />
</div>
Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-69159310846320815892016-04-29T10:10:00.000+02:002016-04-29T18:49:48.202+02:00Is (Embarcadero) Delphi's code optimized for speed? No? Here is how to optimize string speedThe short answer is a big NO!<br />
<br />
No the long answer:<br />
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.<br />
<br />
So I build my own function:<br />
<br />
<span style="font-size: x-small;"><span style="font-family: "courier new" , "courier" , monospace;">function WrapString(CONST s: string; RowLength: integer): string;<br />VAR i, Row: Integer;<br />Begin<br /> Row:= 0;<br /> Result:= '';<br /> for i:= 1 TO Length(s) DO<br /> begin<br /> inc(Row);<br /> Result:= Result+ s[i];<br /> if Row >= RowLength then<br /> begin<br /> Result:= Result+ CRLF; </span></span><br />
<span style="font-size: x-small;"><span style="font-family: "courier new" , "courier" , monospace;"> Row:= 0;<br /> end;<br /> end;<br />End;</span></span> <br />
<br />
Works nice but is is also slow. If you look into the code the problem is <span style="font-size: x-small;"><span style="font-family: "courier new" , "courier" , monospace;">Result:= Result+ CRLF </span></span>. It involves too many memory allocations.<br />
<br />
Solution. The solution is to pre-allocate space for the result.<br />
For this I created a new class TCStringBuilder:<br />
<span style="font-size: x-small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span>
<span style="font-size: x-small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span>
<span style="font-size: x-small;"><span style="font-family: "courier new" , "courier" , monospace;">TYPE<br /> TCStringBuilder = class(TObject)<br /> private<br /> s: string;<br /> CurBuffLen, BuffPos: Integer;<br /> public<br /> BuffSize: Integer;<br /> constructor Create(aBuffSize: Integer= 10*Kb);<br /> procedure AddChar(Ch: Char);<br /> procedure AddEnter;<br /><br /> function AsText: string;<br /> procedure Clear;<br /> end;</span></span><br />
<span style="font-size: x-small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span>
<span style="font-size: x-small;"><span style="font-family: "courier new" , "courier" , monospace;"></span></span><br />
<span style="font-size: x-small;"><span style="font-family: "courier new" , "courier" , monospace;">IMPLEMENTATION</span></span><br />
<span style="font-size: x-small;"><span style="font-family: "courier new" , "courier" , monospace;"><br />constructor TCStringBuilder.Create(aBuffSize: Integer= 10*Kb);<br />begin<br /> BuffSize:= aBuffSize;<br /> Clear;<br />end;<br /><br /><br />procedure TCStringBuilder.Clear;<br />begin<br /> BuffPos:= 1;<br /> CurBuffLen:= 0;<br /> s:= '';<br />end;<br /><br /><br />function TCStringBuilder.AsText: string;<br />begin<br /> SetLength(s, BuffPos-1); { Cut down the prealocated buffer that we haven't used }<br /> Result:= s;<br />end;<br /><br /><br />procedure TCStringBuilder.AddChar(Ch: Char);<br />begin<br /> if BuffPos > CurBuffLen then<br /> begin<br /> SetLength(s, CurBuffLen+ BuffSize);<br /> CurBuffLen:= Length(s)<br /> end;<br /><br /> s[BuffPos]:= Ch;<br /> Inc(BuffPos);<br />end;<br /><br /><br />procedure TCStringBuilder.AddEnter;<br />begin<br /> if BuffPos+1 > CurBuffLen then { +1 because we enter two characters into the string instead of 1 }<br /> begin<br /> SetLength(s, CurBuffLen+ BuffSize);<br /> CurBuffLen:= Length(s)<br /> end;<br /><br /> s[BuffPos ]:= CR;<br /> s[BuffPos+1]:= LF;<br /> Inc(BuffPos, 2);<br />end;</span></span><br />
<br />
<br />
Speed test:<br />
<ul>
<li>500x loop</li>
<li>test file: TesterForm.pas 2.7K</li>
<li>wrap after 20 chars</li>
</ul>
Speed test results:<br />
<ul>
<li><span style="font-family: "courier new" , "courier" , monospace;"> 484ms SysUtils.WrapText - unbuffered</span></li>
<li><span style="font-family: "courier new" , "courier" , monospace;"> 5788ms WrapString - unbuffered (Result:= Result+ s[i])</span></li>
<li><span style="font-family: "courier new" , "courier" , monospace;"> <span style="background-color: lime;">31ms</span> WrapString - buffered (using cStrBuilder)</span></li>
</ul>
<br />
I used a buffer of 10K. but the ideal buffer size would be the size of the input text plus 3%. <br />
<br />
Please let me know if you can further improve this. Enjoy.<br />
<br />
____<br />
<br />
Further reading:<br />
https://www.delphitools.info/2013/10/30/efficient-string-building-in-delphi/2/ Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-63532788778590570442016-04-20T14:35:00.003+02:002016-04-20T22:26:11.822+02:00Animated desktop wallpaper<b><br /></b>
<b>BioniX Wallpaper Animator </b>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. <br />
<br />
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.<br />
<br />
<br />
<b>Download link:</b><br />
<a href="http://www.bionixwallpaper.com/downloads/Animated%20Desktop%20Wallpaper" target="_blank">www.bionixwallpaper.com/downloads/Animated Desktop Wallpaper</a><br />
<br />
<br />
<table align="center" border="2" bordercolor="#999999" cellpadding="2" cellspacing="1">
<tbody>
<tr>
<td align="center" valign="middle">Win 98</td>
<td align="center" valign="middle">Win 2K</td>
<td align="center" valign="middle">Win Me</td>
<td align="center" valign="middle">Win XP</td>
<td align="center" valign="middle">Win Vista</td>
<td align="center" valign="middle">Win 7 Aero</td>
<td align="center" valign="middle">Win 7 Aero disabled</td>
<td align="center" valign="middle">Win 8</td>
<td align="center" valign="middle">Win 10</td>
</tr>
<tr>
<td align="center" valign="middle">?</td>
<td align="center" valign="middle">?</td>
<td align="center" valign="middle">?</td>
<td align="center" valign="middle">?</td>
<td align="center" valign="middle">?</td>
<td align="center" valign="middle"><span style="color: red;">OI</span></td>
<td align="center" valign="middle">? (should work)</td>
<td align="center" valign="middle">?</td>
<td align="center" valign="middle"><span style="color: #38761d;">UI</span></td>
</tr>
</tbody>
</table>
<br />
Legend:<br />
<span style="color: #38761d;">UI</span> = under icons<br />
<span style="color: red;">OI</span> = over icons<br />
? = unknown (not tested)<br />
<br />
______________________________________<br />
<br />
Plans for the next version:<br />
<ul>
<li>Support for AVI files</li>
<li>Lower memory footprint</li>
</ul>
<br />
<br />
<br />
<ul>
</ul>
Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-64537722494394149692016-04-08T09:18:00.001+02:002016-04-08T09:27:58.111+02:00Three software programs that [used to] plague our computers: Acrobat, Java, FlashThere 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.<br />
<br />
<br />
<br />
<b>Java - Probably Java is the nastiest of all</b><br />
<br />
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.<br />
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.<br />
<br />
ACTUALLY, Java is so dangerous for your computer that <span class="st"><span class="f"></span>"The U.S. Department of <span style="color: red;">Homeland <i>Security</i></span> is advising people to temporarily <span style="color: red;">disable the <i>Java</i> </span>software on their computers to avoid potential attacks" </span><cite class="_Rm">floridatoday.com</cite><br />
It is so bad that Firefox won't even let you activate it. <br />
<br />
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.<br />
<br />
<br />
<br />
<b>Acrobat Reader - Big deal for nothing</b><br />
<br />
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.<br />
<br />
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.<br />
Security wholes? Plenty.<br />
<br />
<i>Alternatives</i>: 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 <a href="http://www.pcworld.com/article/2027961/ditch-the-pdf-headaches-three-safer-speedier-adobe-reader-alternatives.html" target="_blank">Acrobat Reader alternatives</a>.<br />
<br />
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".<br />
<br />
<br />
<br />
<b>Adobe Flash Player</b><br />
<br />
The Flash Player literary built and shaped the web as we know it. And this is not the web should be.<br />
Firefox will also deactivate the Flash plugin when a MAJOR security whole is discovered. And boy, coming from Adobe, there are lots of those!<br />
<div class="content__headline js-score" itemprop="headline">
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. <span style="font-weight: normal;">
</span></div>
<br />
<i>Alternatives</i>: 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).<br />
<br />
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.<br />
<br />
Also see "<span style="font-weight: normal;"><a href="https://www.theguardian.com/technology/2015/aug/24/adobe-flash-dying-amazon-google-chrome" target="_blank">Flash is dying a death by 1,000 cuts, and that's a good thing</a>" by TheGuardia.</span>Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0tag:blogger.com,1999:blog-9204249662523548857.post-56578500204889612752016-03-12T12:20:00.000+01:002016-03-12T12:33:44.916+01:00List of microcontrollers that can be programmed in Pascal (and Pascal-like) language<div class="a-size-large a-spacing-none" id="title">
<b><br /><span style="font-size: large;">By micro-controller</span></b></div>
<div class="a-size-large a-spacing-none" id="title">
<br /></div>
<div class="a-size-large a-spacing-none" id="title">
<b><span class="a-size-large" id="productTitle">Arduino</span></b></div>
<div class="a-size-large a-spacing-none" id="title">
<span class="a-size-large" id="productTitle">Lazarus?</span></div>
<div class="a-size-large a-spacing-none" id="title">
<span class="a-size-large" id="productTitle"><a href="https://code.google.com/archive/p/dk-basic/" target="_blank">DK-Basic (8bit arduino)</a></span><br />
<span class="a-size-large" id="productTitle"><a href="http://www.digitalgraphics.com.au/elabavrco.html" target="_blank">Pascal Compiler for AVR </a></span></div>
<div class="a-size-large a-spacing-none" id="title">
<br />
<br /></div>
<span class="a-size-large" id="productTitle"><b>Cortex</b>-M3 and M4 ARM LPC - </span><span class="a-size-large" id="productTitle"></span><a href="http://www.amazon.de/Waveshare-LPC1768FBD100-LPC1768-Cortex-M3-Development/dp/B00KM71ALE/ref=sr_1_4?ie=UTF8&qid=1457777045&sr=8-4&keywords=LPC+Cortex+M3" rel="nofollow" target="_blank">39euro on Amazon</a><br />
<span class="a-size-large" id="productTitle"><a href="http://www.astrobe.com/Oberon.htm" target="_blank">Oberon</a> <a href="http://www.astrobe.com/default.htm" target="_blank">Astrobe</a> (Windows) </span><a href="http://www.amazon.de/Waveshare-LPC1768FBD100-LPC1768-Cortex-M3-Development/dp/B00KM71ALE/ref=sr_1_4?ie=UTF8&qid=1457777045&sr=8-4&keywords=LPC+Cortex+M3" rel="nofollow" target="_blank"></a><br />
<br />
<br />
<b>8051</b> <br />
<a href="http://www.designtools.co.nz/mod51.htm" target="_blank">Turbo51 (Windows)</a><br />
<br />
<br />
<b><a href="https://www.blogger.com/" target="_blank">PascalLite</a></b> - unspecified price<a href="https://www.blogger.com/" target="_blank"></a><br />
<a href="http://pascalite.org/micropascal/" target="_blank">MicroPascal</a> <br />
<br />
<br />
<b>Pic 10 to Pic 18 </b><br />
<a href="http://www.pmpcomp.fr/index.php?lng=en" target="_blank">Pic Micro Pascal</a><br />
<br />
<br />
<b>ATMEGA</b><br />
MicroPascal Pro <br />
<br />
<br />
<b>XMEGA/XTINY from Atmel</b><br />
MicroPascal Pro<br />
<br />
<br />
<b>Raspberry Pi projects (ARM v6/ARM11)</b><br />
<a href="http://wiki.freepascal.org/Lazarus_on_Raspberry_Pi" target="_blank">Lazarus</a><br />
<br />
<br />
____________________________________________<br />
<br />
<div class="a-size-large a-spacing-none" id="title">
<b><br /><span style="font-size: large;">By language</span></b></div>
<div class="a-size-large a-spacing-none" id="title">
<br /></div>
<br />
<br />
<br />
<br />
<b><a href="http://www.e-lab.de/AVRco/index_en.html" target="_blank">Pascal-scm</a></b> for Atml <br />
<span style="background-color: yellow;">Amtel AVR(Arduino)</span><br />
<br />
<br />
<b><a href="http://pascalite.org/micropascal/" target="_blank">MicroPascal</a></b><br />
Free<br />
<br />
<br />
<br />
<b>mikroPascal Pro </b><br />
<a href="http://www.mikroe.com/mikropascal/avr" target="_blank">$250</a><br />
Supported micro-controllers: <br />
<table class="head_table"><tbody>
<tr><th class="name"><span style="font-size: x-small;"><span style="font-weight: normal;">Name<br /> </span></span></th> <th><span style="font-size: x-small;"><span style="font-weight: normal;">Pin Count<br /> </span></span></th> <th><span style="font-size: x-small;"><span style="font-weight: normal;">Program<br />Memory (KB)</span></span></th> <th><span style="font-size: x-small;"><span style="font-weight: normal;">CPU Speed<br />(Mhz)</span></span></th> <th><span style="font-size: x-small;"><span style="font-weight: normal;">RAM (KB)<br /> </span></span></th>
</tr>
</tbody>
</table>
<table><tbody>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/AT90PWM161.aspx">AT90PWM161</a></td>
<td>20</td>
<td>16</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATMEGA3250A.aspx">ATMEGA3250A</a></td>
<td>100</td>
<td>32</td>
<td>20</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATMEGA325PA.aspx">ATMEGA325PA</a></td>
<td>64</td>
<td>32</td>
<td>20</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATMEGA6450P.aspx">ATMEGA6450P</a></td>
<td>100</td>
<td>64</td>
<td>20</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATMEGA6490P.aspx">ATMEGA6490P</a></td>
<td>100</td>
<td>64</td>
<td>20</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATTINY441.aspx">ATTINY441</a></td>
<td>14</td>
<td>4</td>
<td>16</td>
<td>0.25</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATTINY841.aspx">ATTINY841</a></td>
<td>14</td>
<td>4</td>
<td>16</td>
<td>0.25</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATXMEGA16E5.aspx">ATXMEGA16E5</a></td>
<td>32</td>
<td>16</td>
<td>32</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATXMEGA32D3.aspx">ATXMEGA32D3</a></td>
<td>64</td>
<td>32</td>
<td>32</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATXMEGA8E5.aspx">ATXMEGA8E5</a></td>
<td>32</td>
<td>8</td>
<td>32</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATMEGA168PB.aspx">ATMEGA168PB</a></td>
<td>32</td>
<td>16</td>
<td>20</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATMEGA3250PA.aspx">ATMEGA3250PA</a></td>
<td>100</td>
<td>32</td>
<td>20</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATMEGA3290A.aspx">ATMEGA3290A</a></td>
<td>100</td>
<td>32</td>
<td>20</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATMEGA645P.aspx">ATMEGA645P</a></td>
<td>64</td>
<td>64</td>
<td>16</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATTINY1634.aspx">ATTINY1634</a></td>
<td>20</td>
<td>16</td>
<td>12</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATTINY828.aspx">ATTINY828</a></td>
<td>32</td>
<td>8</td>
<td>20</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATTINY84A.aspx">ATTINY84A</a></td>
<td>14</td>
<td>8</td>
<td>20</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATXMEGA32C3.aspx">ATXMEGA32C3</a></td>
<td>64</td>
<td>32</td>
<td>32</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/ATXMEGA32E5.aspx">ATXMEGA32E5</a></td>
<td>32</td>
<td>32</td>
<td>32</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90can128.aspx">AT90CAN128</a></td>
<td>64</td>
<td>128</td>
<td>16</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90can32.aspx">AT90CAN32</a></td>
<td>64</td>
<td>32</td>
<td>16</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90can64.aspx">AT90CAN64</a></td>
<td>64</td>
<td>64</td>
<td>16</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90pwm1.aspx">AT90PWM1</a></td>
<td>24/32</td>
<td>8</td>
<td>16</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90pwm2.aspx">AT90PWM2</a></td>
<td>24</td>
<td>8</td>
<td>16</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90pwm2b.aspx">AT90PWM2B</a></td>
<td>24</td>
<td>8</td>
<td>16</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90pwm216.aspx">AT90PWM216</a></td>
<td>24</td>
<td>16</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90pwm216.aspx">AT90PWM216</a></td>
<td>24</td>
<td>16</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90pwm3.aspx">AT90PWM3</a></td>
<td>32</td>
<td>8</td>
<td>16</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90pwm3b.aspx">AT90PWM3B</a></td>
<td>32</td>
<td>8</td>
<td>16</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90pwm316.aspx">AT90PWM316</a></td>
<td>32</td>
<td>16</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90pwm81.aspx">AT90PWM81</a></td>
<td>20/32</td>
<td>8</td>
<td>16</td>
<td>0.25</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90s2313.aspx">AT90S2313</a></td>
<td>20</td>
<td>2</td>
<td>20</td>
<td>0.12</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90s2323.aspx">AT90S2323</a></td>
<td>20</td>
<td>2</td>
<td>20</td>
<td>0.12</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90s2343.aspx">AT90S2343</a></td>
<td>20</td>
<td>2</td>
<td>20</td>
<td>0.12</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90s4414.aspx">AT90S4414</a></td>
<td>40</td>
<td>8</td>
<td>16</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90s4433.aspx">AT90S4433</a></td>
<td>28</td>
<td>4</td>
<td>8</td>
<td>0.12</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90s4434.aspx">AT90S4434</a></td>
<td>40/44</td>
<td>8</td>
<td>16</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90s8515.aspx">AT90S8515</a></td>
<td>40</td>
<td>8</td>
<td>8</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90s8535.aspx">AT90S8535</a></td>
<td>40/44</td>
<td>8</td>
<td>16</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90usb1286.aspx">AT90USB1286</a></td>
<td>64</td>
<td>128</td>
<td>16</td>
<td>8</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90usb1287.aspx">AT90USB1287</a></td>
<td>64</td>
<td>128</td>
<td>16</td>
<td>8</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90usb162.aspx">AT90USB162</a></td>
<td>32</td>
<td>16</td>
<td>16</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90usb646.aspx">AT90USB646</a></td>
<td>64</td>
<td>64</td>
<td>16</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90usb647.aspx">AT90USB647</a></td>
<td>64</td>
<td>64</td>
<td>16</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/at90usb82.aspx">AT90USB82</a></td>
<td>32</td>
<td>8</td>
<td>16</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega103.aspx">ATmega103</a></td>
<td>64</td>
<td>128</td>
<td>6</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega128.aspx">ATmega128</a></td>
<td>64</td>
<td>128</td>
<td>16</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega1280.aspx">ATmega1280</a></td>
<td>100</td>
<td>128</td>
<td>16</td>
<td>8</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega1281.aspx">ATmega1281</a></td>
<td>64</td>
<td>128</td>
<td>16</td>
<td>8</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega1284.aspx">ATmega1284</a></td>
<td>40/44</td>
<td>128</td>
<td>20</td>
<td>16</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega1284p.aspx">ATmega1284P</a></td>
<td>40/44</td>
<td>128</td>
<td>20</td>
<td>16</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega128a.aspx">ATmega128A</a></td>
<td>64</td>
<td>128</td>
<td>16</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega16.aspx">ATmega16</a></td>
<td>40/44</td>
<td>16</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega161.aspx">ATmega161</a></td>
<td>40</td>
<td>16</td>
<td>8</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega162.aspx">ATmega162</a></td>
<td>40/44</td>
<td>16</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega163.aspx">ATmega163</a></td>
<td>40/44</td>
<td>16</td>
<td>8</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega164.aspx">ATmega164</a></td>
<td>40/44/49</td>
<td>16</td>
<td>20</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega164a.aspx">ATmega164A</a></td>
<td>40/44/49</td>
<td>16</td>
<td>20</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega164p.aspx">ATmega164P</a></td>
<td>40/44/49</td>
<td>16</td>
<td>20</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega164pa.aspx">ATmega164PA</a></td>
<td>40/44/49</td>
<td>16</td>
<td>20</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega165.aspx">ATmega165</a></td>
<td>64</td>
<td>16</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega165a.aspx">ATmega165A</a></td>
<td>64</td>
<td>16</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega165p.aspx">ATmega165P</a></td>
<td>64</td>
<td>16</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega165pa.aspx">ATmega165PA</a></td>
<td>64</td>
<td>16</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega168.aspx">ATmega168</a></td>
<td>28/32</td>
<td>16</td>
<td>20</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega168a.aspx">ATmega168A</a></td>
<td>28/32</td>
<td>16</td>
<td>20</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega168p.aspx">ATmega168P</a></td>
<td>28/32</td>
<td>16</td>
<td>20</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega168pa.aspx">ATmega168PA</a></td>
<td>28/32</td>
<td>16</td>
<td>20</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega169.aspx">ATmega169</a></td>
<td>64</td>
<td>16</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega169a.aspx">ATmega169A</a></td>
<td>64</td>
<td>16</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega169p.aspx">ATmega169P</a></td>
<td>64</td>
<td>16</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega169pa.aspx">ATmega169PA</a></td>
<td>64</td>
<td>16</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega16a.aspx">ATmega16A</a></td>
<td>40/44</td>
<td>16</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega16hva.aspx">ATmega16HVA</a></td>
<td>28/36</td>
<td>16</td>
<td>4</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega16hvb.aspx">ATmega16HVB</a></td>
<td>44</td>
<td>16</td>
<td>8</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega16m1.aspx">ATmega16M1</a></td>
<td>32</td>
<td>16</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega16u2.aspx">ATmega16U2</a></td>
<td>32</td>
<td>16</td>
<td>16</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega16u4.aspx">ATmega16U4</a></td>
<td>44</td>
<td>16</td>
<td>16</td>
<td>2.1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega16u4.aspx">ATmega16U4</a></td>
<td>44</td>
<td>16</td>
<td>16</td>
<td>2.1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega2560.aspx">ATmega2560</a></td>
<td>100</td>
<td>256</td>
<td>16</td>
<td>8</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega2561.aspx">ATmega2561</a></td>
<td>64</td>
<td>256</td>
<td>16</td>
<td>8</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega323.aspx">ATmega323</a></td>
<td>40/44</td>
<td>32</td>
<td>8</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega324.aspx">ATmega324</a></td>
<td>40/44/49</td>
<td>32</td>
<td>20</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega324a.aspx">ATmega324A</a></td>
<td>40/44/49</td>
<td>32</td>
<td>20</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega324p.aspx">ATmega324P</a></td>
<td>40/44/49</td>
<td>32</td>
<td>20</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega324pa.aspx">ATmega324PA</a></td>
<td>40/44/49</td>
<td>32</td>
<td>20</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega325.aspx">ATmega325</a></td>
<td>64</td>
<td>32</td>
<td>16</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega3250.aspx">ATmega3250</a></td>
<td>100</td>
<td>32</td>
<td>16</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega3250p.aspx">ATmega3250P</a></td>
<td>100</td>
<td>32</td>
<td>20</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega325a.aspx">ATmega325A</a></td>
<td>64</td>
<td>32</td>
<td>20</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega325p.aspx">ATmega325P</a></td>
<td>64</td>
<td>32</td>
<td>20</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega328.aspx">ATmega328</a></td>
<td>28/32</td>
<td>32</td>
<td>20</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega328p.aspx">ATmega328P</a></td>
<td>28/32</td>
<td>32</td>
<td>20</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega329.aspx">ATmega329</a></td>
<td>64</td>
<td>32</td>
<td>16</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega3290.aspx">ATmega3290</a></td>
<td>100</td>
<td>32</td>
<td>16</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega3290p.aspx">ATmega3290P</a></td>
<td>100</td>
<td>32</td>
<td>20</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega329a.aspx">ATmega329A</a></td>
<td>64</td>
<td>32</td>
<td>20</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega329p.aspx">ATmega329P</a></td>
<td>64</td>
<td>32</td>
<td>20</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega329pa.aspx">ATmega329PA</a></td>
<td>64</td>
<td>32</td>
<td>20</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega32a.aspx">ATmega32A</a></td>
<td>40/44</td>
<td>32</td>
<td>16</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega32c1.aspx">ATmega32C1</a></td>
<td>32</td>
<td>32</td>
<td>16</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega32hvb.aspx">ATmega32HVB</a></td>
<td>44</td>
<td>32</td>
<td>8</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega32m1.aspx">ATmega32M1</a></td>
<td>32</td>
<td>32</td>
<td>16</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega32u2.aspx">ATmega32U2</a></td>
<td>32</td>
<td>32</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega32u4.aspx">ATmega32U4</a></td>
<td>44</td>
<td>32</td>
<td>16</td>
<td>3.3</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega32u6.aspx">ATmega32U6</a></td>
<td>44</td>
<td>32</td>
<td>16</td>
<td>3.3</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega406.aspx">ATmega406</a></td>
<td>48</td>
<td>40</td>
<td>1</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega48.aspx">ATmega48</a></td>
<td>28/32</td>
<td>4</td>
<td>20</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega48a.aspx">ATmega48A</a></td>
<td>28/32</td>
<td>4</td>
<td>20</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega48p.aspx">ATmega48P</a></td>
<td>28/32</td>
<td>4</td>
<td>20</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega48pa.aspx">ATmega48PA</a></td>
<td>28/32</td>
<td>4</td>
<td>20</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega64.aspx">ATmega64</a></td>
<td>64</td>
<td>64</td>
<td>16</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega640.aspx">ATmega640</a></td>
<td>100</td>
<td>64</td>
<td>16</td>
<td>8</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega644.aspx">ATmega644</a></td>
<td>40/44</td>
<td>64</td>
<td>20</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega644a.aspx">ATmega644A</a></td>
<td>40/44</td>
<td>64</td>
<td>20</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega644p.aspx">ATmega644P</a></td>
<td>40/44</td>
<td>64</td>
<td>20</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega644pa.aspx">ATmega644PA</a></td>
<td>40/44</td>
<td>64</td>
<td>20</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega645.aspx">ATmega645</a></td>
<td>64</td>
<td>64</td>
<td>16</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega6450.aspx">ATmega6450</a></td>
<td>100</td>
<td>64</td>
<td>16</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega6450a.aspx">ATmega6450A</a></td>
<td>100</td>
<td>64</td>
<td>20</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega645a.aspx">ATmega645A</a></td>
<td>64</td>
<td>64</td>
<td>16</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega649.aspx">ATmega649</a></td>
<td>64</td>
<td>64</td>
<td>16</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega6490.aspx">ATmega6490</a></td>
<td>100</td>
<td>64</td>
<td>16</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega6490a.aspx">ATmega6490A</a></td>
<td>100</td>
<td>64</td>
<td>20</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega649a.aspx">ATmega649A</a></td>
<td>64</td>
<td>64</td>
<td>16</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega649p.aspx">ATmega649P</a></td>
<td>64</td>
<td>64</td>
<td>16</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega64a.aspx">ATmega64A</a></td>
<td>64</td>
<td>64</td>
<td>16</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega64c1.aspx">ATmega64C1</a></td>
<td>32</td>
<td>64</td>
<td>16</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega64m1.aspx">ATmega64M1</a></td>
<td>32</td>
<td>64</td>
<td>16</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega8.aspx">ATmega8</a></td>
<td>28/32</td>
<td>8</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega8515.aspx">ATmega8515</a></td>
<td>40/44</td>
<td>8</td>
<td>16</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega8535.aspx">ATmega8535</a></td>
<td>40/44</td>
<td>8</td>
<td>16</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega88.aspx">ATmega88</a></td>
<td>28/32</td>
<td>8</td>
<td>20</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega88a.aspx">ATmega88A</a></td>
<td>28/32</td>
<td>8</td>
<td>20</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega88p.aspx">ATmega88P</a></td>
<td>28/32</td>
<td>8</td>
<td>20</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega88pa.aspx">ATmega88PA</a></td>
<td>28/32</td>
<td>8</td>
<td>20</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega8a.aspx">ATmega8A</a></td>
<td>28/32</td>
<td>8</td>
<td>16</td>
<td>1</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega8hva.aspx">ATmega8HVA</a></td>
<td>28/36</td>
<td>8</td>
<td>4</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atmega8u2.aspx">ATmega8U2</a></td>
<td>32</td>
<td>8</td>
<td>16</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny13.aspx">ATtiny13</a></td>
<td>8/10/20</td>
<td>1</td>
<td>20</td>
<td>0.064</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny13a.aspx">ATtiny13A</a></td>
<td>8/10/20</td>
<td>1</td>
<td>20</td>
<td>0.064</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny167.aspx">ATtiny167</a></td>
<td>20/32</td>
<td>16</td>
<td>16</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny22.aspx">ATtiny22</a></td>
<td>14/20</td>
<td>8</td>
<td>20</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny2313.aspx">ATtiny2313</a></td>
<td>20</td>
<td>2</td>
<td>20</td>
<td>0.128</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny2313a.aspx">ATtiny2313A</a></td>
<td>20</td>
<td>2</td>
<td>20</td>
<td>0.128</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny24.aspx">ATtiny24</a></td>
<td>14/20</td>
<td>2</td>
<td>20</td>
<td>0.128</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny24a.aspx">ATtiny24A</a></td>
<td>14/20</td>
<td>2</td>
<td>20</td>
<td>0.128</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny25.aspx">ATtiny25</a></td>
<td>20</td>
<td>2</td>
<td>20</td>
<td>0.128</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny26.aspx">ATtiny26</a></td>
<td>20/32</td>
<td>2</td>
<td>16</td>
<td>0.128</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny261.aspx">ATtiny261</a></td>
<td>20/32</td>
<td>2</td>
<td>20</td>
<td>0.128</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny261a.aspx">ATtiny261A</a></td>
<td>20/32</td>
<td>2</td>
<td>20</td>
<td>0.128</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny4313.aspx">ATtiny4313</a></td>
<td>20</td>
<td>4</td>
<td>20</td>
<td>0.128</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny43u.aspx">ATtiny43U</a></td>
<td>20</td>
<td>4</td>
<td>8</td>
<td>0.256</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny44.aspx">ATtiny44</a></td>
<td>14/20</td>
<td>4</td>
<td>20</td>
<td>0.256</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny44a.aspx">ATtiny44A</a></td>
<td>14/20</td>
<td>4</td>
<td>20</td>
<td>0.256</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny45.aspx">ATtiny45</a></td>
<td>20</td>
<td>4</td>
<td>20</td>
<td>0.256</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny461.aspx">ATtiny461</a></td>
<td>20/32</td>
<td>4</td>
<td>20</td>
<td>0.256</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny461a.aspx">ATtiny461A</a></td>
<td>20/32</td>
<td>4</td>
<td>20</td>
<td>0.256</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny48.aspx">ATtiny48</a></td>
<td>32</td>
<td>4</td>
<td>12</td>
<td>0.064</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny84.aspx">ATtiny84</a></td>
<td>14/20</td>
<td>8</td>
<td>20</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny85.aspx">ATtiny85</a></td>
<td>20</td>
<td>8</td>
<td>20</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny861.aspx">ATtiny861</a></td>
<td>20/32</td>
<td>8</td>
<td>20</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny861a.aspx">ATtiny861A</a></td>
<td>20/32</td>
<td>8</td>
<td>20</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny87.aspx">ATtiny87</a></td>
<td>20/32</td>
<td>8</td>
<td>16</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/attiny88.aspx">ATtiny88</a></td>
<td>32</td>
<td>8</td>
<td>12</td>
<td>0.5</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega128a1.aspx">ATxmega128A1</a></td>
<td>100</td>
<td>128</td>
<td>32</td>
<td>8</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega128a3.aspx">ATxmega128A3</a></td>
<td>64</td>
<td>128</td>
<td>32</td>
<td>8</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega128d3.aspx">ATxmega128D3</a></td>
<td>64</td>
<td>128</td>
<td>32</td>
<td>8</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega16a4.aspx">ATxmega16A4</a></td>
<td>44/49</td>
<td>16</td>
<td>32</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega16d4.aspx">ATxmega16D4</a></td>
<td>44/49</td>
<td>16</td>
<td>32</td>
<td>2</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega192a3.aspx">ATxmega192A3</a></td>
<td>64</td>
<td>192</td>
<td>32</td>
<td>16</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega192d3.aspx">ATxmega192D3</a></td>
<td>64</td>
<td>192</td>
<td>32</td>
<td>16</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega256a3.aspx">ATxmega256A3</a></td>
<td>64</td>
<td>256</td>
<td>32</td>
<td>16</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega256a3b.aspx">ATxmega256A3B</a></td>
<td>64</td>
<td>256</td>
<td>32</td>
<td>16</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega256d3.aspx">ATxmega256D3</a></td>
<td>64</td>
<td>256</td>
<td>32</td>
<td>16</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega32a4.aspx">ATxmega32A4</a></td>
<td>44/49</td>
<td>32</td>
<td>32</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega32d4.aspx">ATxmega32D4</a></td>
<td>44/49</td>
<td>32</td>
<td>32</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega64a1.aspx">ATxmega64A1</a></td>
<td>100</td>
<td>64</td>
<td>32</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega64a3.aspx">ATxmega64A3</a></td>
<td>64</td>
<td>64</td>
<td>32</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega64d3.aspx">ATxmega64D3</a></td>
<td>64</td>
<td>64</td>
<td>32</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega128a3u.aspx">ATxmega128A3U</a></td>
<td>64</td>
<td>128</td>
<td>32</td>
<td>8</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega16a4u.aspx">ATxmega16A4U</a></td>
<td>44</td>
<td>16</td>
<td>32</td>
<td>3.3</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega192a3u.aspx">ATxmega192A3U</a></td>
<td>64</td>
<td>192</td>
<td>32</td>
<td>16</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega256a3bu.aspx">ATxmega256A3BU</a></td>
<td>64</td>
<td>256</td>
<td>32</td>
<td>16</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega256a3u.aspx">ATxmega256A3U</a></td>
<td>64</td>
<td>256</td>
<td>32</td>
<td>16</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega32a4u.aspx">ATxmega32A4U</a></td>
<td>44</td>
<td>32</td>
<td>32</td>
<td>4</td>
</tr>
<tr class="device_row">
<td><a href="http://www.atmel.com/devices/atxmega64a3u.aspx">ATxmega64A3U</a></td>
<td>64</td>
<td>64</td>
<td>32</td>
<td>4</td></tr>
</tbody></table>
<br />Guruhttp://www.blogger.com/profile/03892743885714024602noreply@blogger.com0