Windows 2000 Support

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Sunday, 30 May 2010

Memorial Day weekend releases

Posted on 12:18 by Unknown
Before I went to bed last night at 6am EST, I launched v3.84.5 final and v3.85.2 beta. The new final fixes some things that don't matter much to anyone. The new beta, OTH, has some cool new features and enhancements. I am going to fully describe them later. Remember, this new beta series is the code base evolution for v4. It is still early, but rapidly progressing.

The beta release has been 'pushed' out via the update checker.

The new final release (v3.84.5) will be pushed out via the update checker tomorrow.

Now, after an extremely long period of daily hard work, I need a few hours break today. Unfortunately, I can only take a few hours and relax. That is the nature of being self-employed, there is always something to do, and nobody to delegate responsibility to ;o.
Read More
Posted in | No comments

Friday, 28 May 2010

A new review of Process Lasso

Posted on 19:08 by Unknown
I see today a new review of Process Lasso has popped up. See http://barracudanetworkblog.blogspot.com/2010/05/wrangle-up-your-computer-with-process.html

I'll soon add this one to the product page, with the others. My many thanks go to the author for taking the time to review Process Lasso so thoroughly in a real world environment ;).
Read More
Posted in | No comments

Optimizing process icon memory use & New core feature coming..

Posted on 17:01 by Unknown
Two in one post. Yes, here at Bitsum we're going Green by conserving bandwidth ;). Of course, that's just a joke and I fully support the Green movement in every way.

Process Icon Memory Use

Process icons in the 'All processes' tab account for approximately 50% of the private virtual memory Process Lasso's GUI utilizes. I've always offered the option to turn these icons off, for the especially RAM conscious - and you can, of course, close the whole GUI.

However, in this new beta series I'm working on some optimizations to the icon code that will reduce the RAM they utilize by a good portion. Like any programmer writing a task manager style listview display of running process, I took the simple and least complex approach of allocating an individual icon for each instance of a process. With future builds (v3.86+), when multiple instances of a process exist, they will share the same icon. This means tracking the icon reference count and other internal changes, but its well worth the savings. Those little high resolution icons eat up so much RAM. For applications that tend to have lots of running instances (i.e. Google Chrome), it will really help. It will also substantially benefit applications without icons, as the 'standard' app icon will be shared amongst them.

I just wanted to mention this as one of MANY examples where I take some extra time to save system resources. I spend much more time saving CPU resources, turning everything 'off' when its not visible. It would be easier to just not care about such small amounts of resources, but that's not what I'm aiming for. Now, sometimes my efforts do result in bugs that wouldn't have otherwise existed, and that is frustrating -- but I am going to keep striving for optimality. I think users really appreciate it.

Now, you might say: Well, you should have done that to start with! I guarantee you nobody does. Why? In the grand scheme of things nobody considers it THAT much memory.. Plus, the extra complexity is never a good thing, and so the rational decision is to independently allocate process icons. Well, rational, maybe.. but rational is boring sometimes.

Not only will this save memory, but it could potentially save disk I/O (in the cases where it isn't cached). After all, the icon is actually retrieved from the physical image of the process executable.

If I wanted to take it a step further.. Being a PE guru (the Windows executable file format), I could easily extract the icons directly from the virtual image of the process executable, and may do that as well. Choosing the same icon as the Shell APIs would gets a bit confusing, as it has specific rules regarding which icon to pick at different color depths, and which to fall back to if unavailable. But, it can be done.

These little things aren't aspects that the big guys are ever going to care about. There's a compelling argument that I shouldn't either, but... I want to offer something better than the rest.

New core feature coming - second only to ProBalance

On other news - Depending on if I finish tonight or not, I'll introduce a new feature that really rocks. I have hesitated saying anything specific about it until I was completely done. You will love it. It is the more important functional addition since ProBalance.

This next evolution of Process Lasso is going to the best ever. I have really got great plans for it. It will take me a while to finish everything and get it polished, but it is coming fast. I am also going to have an official beta test program, as the minor GUI annoyances that slipped through QA in the first build of v3.80 haunt me to this day.
Read More
Posted in | No comments

Thursday, 27 May 2010

New CPU Eater goes final

Posted on 19:35 by Unknown
The previous CPU Eater demo I had to take a heavy handed approach to demonstrating the problem because each system is different. Often, the demonstration was therefore overly aggressive. With this new CPU Eater demo, you can set just how many threads to create and at what CPU affinity. This allows you to see exactly how susceptible you are to the critical scheduler problem Process Lasso's ProBalance addresses. You will be surprised how little it takes, but I will let you explore yourself.

I am soon going to add another option to also create a CPU eating foreground thread. Remember, this CPU Eater only creates background threads in a purely background process. A single foreground thread has more of an impact due to Windows giving the foreground thread longer time slices and other boosts in precedence. Of course, ProBalance ignores foreground processes by default, to ensure that its priority adjustment doesn't hinder application performance. Yes, we are very cautious with our algorithms. If you have a problem with a foreground process, click away from it to let ProBalance do its job. For those who don't know, the foreground process is the process that owns the window that has keyboard and mouse focus. This means there is only ever one foreground process at a time.

UPDATE: I did make one post-release update, where I added a new statusbar control to the bottom of the dialog. This shows total running processes and threads on the system, as well as the current state of the CPU Eater. I was forced to disable Russian and German translations pending updates. Other languages are functional, but some text is not translated.




Read More
Posted in | No comments

Wednesday, 26 May 2010

Process Lasso v3.85.1 beta released

Posted on 19:55 by Unknown
This quick beta release cleans up v3.85.0 beta and adds a maximum CPU frequency to the status bar. Additionally, some single and multiple selection process context menu items have been moved around. I'm now beginning work on several major additions and improvements.

So far the change log is:
  • Addition.Core: Added feature to not enforce ProBalance if system has been idle X minutes
  • Addition.GUI: Added facilitating ProBalanace settings for new feature to disable ProBalance when PC idle
  • Addition.GUI: Show maximum CPU frequency in status bar
  • Addition.CPUEater: Added new affinity selection, to test CPU Eater or specific CPUs
  • Addition.CPUEater: Added new total threads selection
  • Change.CPUEater: Re-arranged dialog
  • Change.CPUEater: Allow specification of maximum threads and CPU affinity
  • Change.CPUEater: Tweaks to default aggressiveness (was unnecessarily aggressive on single CPU systems)
  • Addition.GUI: Added an exception handler to allow users the option to continue or restart Process Lasso after an exception (in some locations)
  • Change.GUI: Remove UAC shield from 'manage processes of all users', as it hid check state
  • Change.GUI: Removed PL logo from ProBalance settings to make room for new options
  • Change.GUI: Tweasks to single and multiple process selection context menus
  • Change.Core: Added a hard-coded exclusion for Symantec Endpoint Security since ProBalance on it was triggering tampering warnings
  • Change.All: Experimental compiler configuration changes
  • Addition.GUI: Added greeting message the first time you 'close' the GUI to the system tray, informing that the GUI is down there sleeping
  • Update.Installer: Updated to NSIS 2.46 unicode
Read More
Posted in | No comments

Process Lasso v3.84.4 final

Posted on 09:44 by Unknown
As I mentioned, new finals of v3 will come as I back-port minor changes from the new beta series and updated translations. This new very minor update makes the following little tweaks:
  • [.4]Change.GUI: Remove new UAC shield icon from 'show processes of all users' so as to not hide the check indicating this setting's state
  • [.4]Change.GUI: Updated French translation
  • [.4]Change.GUI: Updated Italian translation
This is not an important update, so is not being pushed through the update checker.
Read More
Posted in | No comments

Tuesday, 25 May 2010

v3.85 beta series starts

Posted on 01:17 by Unknown
v3.85.0 beta was released yesterday. This will kick off a new beta series, which will be a long one ending up at version 4. Interim v3 final releases will appear periodically with various back-ports, but the dev branch will not go final until v4.

Amongst numerous changes, there is a feature that simply disables ProBalance while you are away from your PC. When you're back, ProBalance is re-engaged. Makes sense, eh? This new option is disabled by default for now, and has had very limited testing. In fact, its fresh off the compiler. Use with caution, as this is a beta. I have done no pre-commit code review, so its an early beta at that.. technically an alpha by definition.



For the casual user, as always, our last final version (currently v3.84.3) is available for your use instead.

BETA VERSIONS MAY BE UNSTABLE, NOT WELL TESTED, AND RISKY. ONLY EXPERTS SHOULD USE THEM. DOWNLOAD AND USE BETA VERSIONS AT YOUR OWN RISK.




Read More
Posted in | No comments

Monday, 24 May 2010

New first time minimize to systray greeting (in future builds)

Posted on 22:33 by Unknown

Read More
Posted in | No comments

The v4 release plan (lots of v3 updates)

Posted on 21:05 by Unknown
As long time users know, my version numbering system is a bit non-standard. I also do highly incremental product releases, to the dismay of some who would prefer fewer releases. Lastly, I develop in parallel - always having a stable and beta/dev branch. That way I can back-port fixes and small adjustments to the last stable version at any time.

Version 4 will be rolled out first as a series of ever-escalating v3 beta versions. Beta versions are odd numbers, such as v3.85 beta. The least significant digit after the '.' does not count (e.g. 3.84.4 final). As I add more and more features to the code base, the beta series version number will increase. So, there will be a v3.85 beta series, then maybe a v3.89 beta series, all without a v3.86 final (the difference from norm).

New final version of 3 will likely be confined to v3.84. So, you will see v3.84.4, v3.84.5, ... These will be simple select back-ports.

Convoluted enough? Well, it makes sense to me at least ;). All that matters is the final product. I am putting more into this than I ever have. Even if I never make a dime from it, it will be the best version of Process Lasso ever created, just for my own personal sense of accomplishment.

So, soon I'll release v3.85.0 beta, which will actually be the start of the v4 program. It will quickly escalate, if everything goes as planned.
Read More
Posted in | No comments

CPUEater v4 early preview

Posted on 18:16 by Unknown
Over the next few weeks I'll be introducing enhancements coming in the new version 4. I'll save the best for last. So, first let's start with the CPU Eater. I've revamped (and the backing TestLasso) to allow greater control over the number of threads created, and the CPU affinity that the test should run on. I've also clarified the description, so that people realize the actual CPU eating is done in a background process at normal priority (TestLasso.exe, but named 'bg.tst' in stand-alone distributions of the CPU Eater).


Latest nightly build of v4 CPU Eater Demo:
32-bit: http://www.bitsum.com/files/beta/CPUEaterDist32.exe
64-bit: http://www.bitsum.com/files/beta/CPUEaterDist64.exe

DISCLAIMER AND EULA: DOWNLOADS ON THIS PAGE ARE UNTESTED AND NOT COMPLETE. THIS IS VERY EARLY ALPHA CODE,  FOR EXPERTS ONLY. USE AT OWN YOUR OWN RISK, WITH YOU ACCEPTING FULL LIABILITY FOR DAMAGES, TANGIBLE OR INTANGIBLE, RESULTING FROM THE USE OR MIS-USE OF THIS SOFTWARE. NO WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSED OR IMPLIED.


Read More
Posted in | No comments

Saturday, 22 May 2010

Giveaway of the Day Promotion - Great success!

Posted on 11:02 by Unknown
A couple weeks ago the management of the site Giveaway of the Day contacted me, inquiring about offering Process Lasso Pro for free during a 24 hour period. Users would be required to activate the software within that 24 hour period, and could not re-activate it again. In other words, after an uninstall, they would have to buy the product. I did later decide to change their usual policy and allow for all free users to get minor updates to v3, as it seems only fair.

In complete honesty, version 4 isn't far off anyway (though any critical fixes will be back-ported). I hope to make version 4 compelling enough to warrant spending money on, but users can always switch to the free edition of v4 when it becomes available. As users know, I do not cripple the software, I just give some incentive to upgrade to the Pro edition.

Well, back to the topic, I'm happy to say that the promotion went wonderfully! I was a bit shocked at first. I was up at 3:00am working hard on Process Lasso v4 and PECompact v3.04, when all the sudden hell broke loose (I had mistakenly thought the GOTD program started 5 hours later, oops). Suddenly emails were flying in -- due to a brief problem with the activation system. Within seconds I fixed the activation system, and then had to stay awake for a total of 36 hours to monitor the give-away traffic and respond to user queries. I did sleep here and there, I think. I would wake up, type some deranged sounding support responses, then sleep again .. I made it through though, and it was well worth it ;).

The reception could not have been better. The users there really seem to be the type of power users that Process Lasso is aimed towards. Of course, there are always a couple cynical people and negative comments, but it was mostly very positive.

I thank the GOTD community for being so accepting of my software, and helping me to maintain my passion for developing it. It is easy to get de-motivated in this world, and refreshing communities like this really re-enforce my inspiration.

I especially thank all those who went ahead and upgraded to a Lifetime or Entire Home license. Thank you very much ;). As with everything in this world, I must generate revenue to keep developing the software I develop. You are the people who make Bitsum Technologies possible ;).

Finally, I also would like to thank BuBBy for suggesting Process Lasso to the staff of Giveaway of the Day, keeping me updated with user comments that needed responses, and generally being a good guy ;).
Read More
Posted in | No comments

Thursday, 20 May 2010

The difficulties of being an independent developer, and my suggestions

Posted on 17:58 by Unknown
DISCLAIMER: I am perpetually one week away from financial disaster, so listen to my advice at your own risk, lol. I am also only 32 years of age, so certainly don't know everything. I do have a unique experience, working so hard to remain independent.

I hate whining, and don't intend to do it here. However, there are some hurdles to being an independent developer, and I'd like to introduce people to some of those. Perhaps my personal ways of dealing with them will help some burgeoning developer.
  1. There is all sorts of crapware out there which your products must rise above
    With all the snake-oil and malware in the world, it is sometimes difficult to rise above the crowd. An independent developer needs to convey the message that he/she isn't some money hungry company out to make a buck more than create quality software. Explain why your software does what it does. Give evidence and demonstrations... and don't be scared to 'call out' other products that are snake oil (though retribution may come from their authors, so perhaps you should do it anonymously, lol).
  2. There are lots of negative Nancy's in the world ...
    There will always be someone to come and say something negative. These people usually have no idea what they are talking about and/or are just cynical. You have to learn to ignore them, as inspiration and passion are required to survive. You have to keep the faith, no matter what anyone else says.
  3. Automation is the key to maintaining productivity
    It is very easy to get overwhelmed with minor daily chores and maintenance. This problem isn't easily solved, but the key is automation. Design everything to require minimal manual maintenance later. It requires more work on the front-end, but saves countless hours later. This applies to everything, from localization (translation) support, build systems, to back-end order processing systems.
  4. Don't forget your roots - keep it simple
    Stay focused on the task at hand and keep everything small and simple. It is easy to grow too quickly, causing a feeling of being overwhelmed.
  5. Keep learning and growing as a developer
    No matter how much of an expert you are, there is always something more to learn. Keep learning. Learning is the key to growth, which is the key to being successful.
  6. Appreciate your users
    Without users, your software has no use other than to yourself. Appreciate your users and bring them into the development process. They give invaluable feedback and you meet lots of great people (in contrast to the people you may meet on some random forum or review site).
  7. Don't get greedy
    People can see greed. Its obvious. Its ugly. Avoid this sin at all costs.
Well, that's my daily rant ;)... for whatever its worth to maybe someone out there.
Read More
Posted in | No comments

Sunday, 16 May 2010

Yet another warning about these 'booster' utilities that set the foreground process priority class to High

Posted on 08:35 by Unknown
I wanted to take a minute to issue yet another warning about these gimmicky process optimization utilities that do nothing more than set the foreground process priority class to High. You may say, "well, that seems reasonable", but the truth is that it is NOT effective and can be VERY dangerous. That is why foreground boosting is disabled in Process Lasso by default.

The Windows Scheduler already gives foreground threads higher precedence by giving them longer time slices. You do not want to give them a higher priority because this can lead to starvation of other CRITICAL system processes. Not only does theory say additional foreground boosting is ineffective, but so does empirical evidence. Hundreds of tests on our systems have shown foreground boosting to be ineffective and dangerous. Not only does it not work to improve responsiveness or speed of the foreground process, it can result in priority inversions and maybe even deadlocks in an unlikely worst case scenario. It would definitely result in deadlocks if Windows didn't have built in deadlock avoidance.

This is why Process Lasso's ProBalance algorithm lowers select background process priorities instead of foreground boosting. Furthermore, even a ProBalance like mechanism must be carefully tuned and tested. We have spent years refining our algorithm, and use it every day ourselves -- unlike these slimy developers who just want to sell you something, whether it works or not.

Now, can foreground boosting sometimes boost performance of some applications in some scenarios? Sure, but in such cases it is better to change their default/persistent priority class instead of boosting each process that goes to the foreground to the High priority class. That is not what you want to do, trust me.

I am busy programming this morning and don't have the time to go into detail again, but please do not use these utilities! They are created by developers who want to do something *really* simple (can be done in a few lines of code) and claim it boosts your PC performance. Please, stay away!

More written on this here: About ProBalance and the Windows CPU Scheduler
Read More
Posted in | No comments

Sunday, 9 May 2010

Quick refresh of v3.84.2 - updated French and smaller config dialog #2

Posted on 09:41 by Unknown
I made a quick interim refresh of v3.84.2, pending the next official final version, and the new v4 alpha series that is being developed in parallel. This quick refresh simply updates the French translation and decreases the height of the second InstallHelper configuration dialog to better accommodate small NetBook screens. The height of that dialog was increased in v3.84 with the addition of the date/time format selection.
Read More
Posted in | No comments

Saturday, 8 May 2010

Example of real world software error condition that results in an infinite loop, gobbling up every CPU cycle in can get -- indefinitely

Posted on 10:49 by Unknown
Sometimes its hard to describe to users just how frequent software errors that result in infinite 'CPU eating' loops are. Today I saw an example, so figured I'd take a screenshot and elaborate.

Yesterday I used my HP F335 All-in-one printer to scan a couple documents. Wouldn't you know, keeping with the tradition of poorly crafted printer drivers and applications, today I see the HPZ12 service has a thread stuck in an infinite loop and eating away 25% of my CPU cycles on this [very low-end] quad core machine. Now, 25% simply means that its a single thread that is stuck in an infinite loop, eating every CPU cycle it can get. Since it can only use 1 CPU at a time, it is limitated to 1/4 of 100% of total available CPU time. However, the impact on overall system performance and energy use is still significant. Had this been a dual core machine, the total CPU usage would continuously be 50%. Likewise, a single CPU machine would have 100% CPU use and possibly be hung at this point (unless Process Lasso's ProBalance was there to save the day).



What is the HP printer service doing? Well, its hard to say without more investigation. Perhaps its stuck in some sort of polling loop, waiting for a condition to change that isn't ever going to change. In theory, programmers should avoid polling at all costs. However, in practice it is sometimes unavoidable. A good programmer would at least insert a sleep between polls, or some maximum iteration count, to avoid total CPU monopolization. Perhaps it is some other type of error condition though, who knows.

The bottom line is that this kind of thing happens all the time. Your computer might get sluggish and/or have performance problems. Rebooting your PC would fix the issue, as I'm sure many users do often due to software error conditions. With Process Lasso's ProBalance, this error condition is mitigated. When you start using your PC enough to trigger ProBalance, the HPZ12 service would be one of the processes targeted for deprioritization.

--

As a side note, is it just me, or does it seem it is impossible to find well crafted printer drivers and applications? Is there ANY company out there that is actually putting time into ensuring their printer software is done right? If so, I've not run into them...
Read More
Posted in | No comments

Tuesday, 4 May 2010

v3.84.2 - another very minor update

Posted on 09:48 by Unknown
Process Lasso v3.84.2 has been released, and is a very minor update. In fact, I'm not even pushing it out to people via the update check mechanism. If you already have v3.84.1, there isn't a good reason to upgrade unless you just want to. If you have the original v3.84, or an earlier build, upgrading is recommended (and you will be notified of the update).

The primary change is a cosmetic one in the Active Processes tab. The CPU utilization graphs now instantly refresh when the sort column or direction is changed by the user via clicking on a column header. Previously, it took up to a couple seconds for the CPU utilization graphs within the listview to reflect the new ordering. The previous build, v3.84.1, fixed other small cosmetic and sorting issues found in the initial release of v3.84.

I have much larger changes coming, as v4 alpha is soon to be kicked off. The first alpha won't be feature complete, but will introduce some of the many enhancements v4 will include. It is likely I'll backport any minor improvements and fixes that can be safely and easily applied to v3.84, so that users need not wait v4 to go final. Note that the alpha/beta series will actually be v3.99, in accordance with my [unusual] versioning rules.
Read More
Posted in | No comments
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

Popular Posts

  • Process Lasso v5.0.0.28
    This build continues maintenance, fixing several items and also making a nice improvement to the graph's display. Further, the last sele...
  • Tightening the Governor
    Most users of Process Lasso are familiar with its core engine, ProcessGovernor.exe. It is the silent background process that applies all pro...
  • Process Lasso and WDFME
    Since Process Lasso can be complex for the layman, something we are working on, I wanted to list a set of steps to address the commonly abu...
  • Indonesian language added - That makes 11
    Thanks to the work of Ivan Chin, an Indonesian (Bahasa Melayu) translation will be included in v3.99.36. This will be the first time even he...
  • WARNING: Cracks for Process Lasso may modify HOSTS file
    WARNING:  Cracks for Process Lasso have been seen to modify your system HOSTS file so that you can no longer access  bitsum.com  and/or  bit...
  • Optimizing process icon memory use & New core feature coming..
    Two in one post. Yes, here at Bitsum we're going Green by conserving bandwidth ;). Of course, that's just a joke and I fully support...
  • Next update, Options menu gets some changes
    I decided to make the Options menu a little more consistent and move the ProBalnce configuration down with the rest of the rules configurati...
  • Anti-virus software - the #1 cause of PC performance troubles
    Many users realize their anti-virus software consumes massive amounts of system resources, and hope that Process Lasso will somehow keep it ...
  • Process Lasso v5.0.0.48
    Changes: [.48]Change.GUI: Do not show 'Activate Now' menu item after activation [.48]Change.GUI: Adjusted logging thread CPU and I/O...
  • WARNING: Beware of third-party utilities that adjust process priorities (other than Process Lasso)
    Recently I've seen either 'hacked on' additions to existing products, or new products, that have the ability to manipulate proce...

Blog Archive

  • ►  2013 (1)
    • ►  March (1)
  • ►  2012 (6)
    • ►  September (1)
    • ►  July (1)
    • ►  June (2)
    • ►  January (2)
  • ►  2011 (166)
    • ►  December (3)
    • ►  November (2)
    • ►  October (2)
    • ►  September (6)
    • ►  August (12)
    • ►  July (14)
    • ►  June (17)
    • ►  May (19)
    • ►  April (13)
    • ►  March (27)
    • ►  February (31)
    • ►  January (20)
  • ▼  2010 (203)
    • ►  December (23)
    • ►  November (34)
    • ►  October (38)
    • ►  September (17)
    • ►  August (19)
    • ►  July (19)
    • ►  June (11)
    • ▼  May (16)
      • Memorial Day weekend releases
      • A new review of Process Lasso
      • Optimizing process icon memory use & New core feat...
      • New CPU Eater goes final
      • Process Lasso v3.85.1 beta released
      • Process Lasso v3.84.4 final
      • v3.85 beta series starts
      • New first time minimize to systray greeting (in fu...
      • The v4 release plan (lots of v3 updates)
      • CPUEater v4 early preview
      • Giveaway of the Day Promotion - Great success!
      • The difficulties of being an independent developer...
      • Yet another warning about these 'booster' utilitie...
      • Quick refresh of v3.84.2 - updated French and smal...
      • Example of real world software error condition tha...
      • v3.84.2 - another very minor update
    • ►  April (8)
    • ►  March (6)
    • ►  February (6)
    • ►  January (6)
  • ►  2009 (43)
    • ►  December (6)
    • ►  November (1)
    • ►  October (10)
    • ►  September (3)
    • ►  August (1)
    • ►  July (9)
    • ►  June (2)
    • ►  May (3)
    • ►  April (4)
    • ►  March (4)
Powered by Blogger.

About Me

Unknown
View my complete profile