Login

In Search of a Wireless Meat Thermometer

Brinkmann Charcoal Smoke'N Grill

Brinkmann Charcoal Smoke'N Grill

The reason…

I just found a sweet deal at Wal-mart for a Brinkmann charcoal smoker and grill at Wal-mart. They had it accidentally marked at $28.88 instead of their normal $37 (over $60 at Lowe’s on the same day, I checked). I have been wanting a replacement to our cheap $25 Wal-mart gril special from a few years ago and I still had money left from Christmas :) . After I took it home and assembled it and then did it curing process, I decided that I really need a wireless meat thermometer. I have been wanted one of those two for both indoor and outdoor useage and I still had Christmas money left.

Finding a Wireless Meat Thermometer

Finding a wireless meat thermometer is like anything, you have to start with the research first. I know, I’m buying it after buying the smoker without research but that was a deal. There are many choices out there and finding the right one is a manner of figuring out the most important features and then comparing them against those features.
The features I’m looking for in a wireless meat thermometer are:

  • Wireless (I want to be able to be inside doing other things while the meat is smoking.)
  • I want it to be reliable (temperature accurate)
  • I want to monitor the temperature more than the time. (I can always set a timer, I cannot set a temperature especially with charcoal.)
  • I want it the work indoors and in the grill
  • I want it to have a large temperature range.
  • I want it to be affordable (<$40)

I know with a feature list like that I’ll be luck to find one that even exists! I check America’s Test Kitchen to see what they recommended. America’s Test Kitchen is great. I like their experimental and no nonsense approach to cooking, plus their recipes so far have all come out great (But this is really a topic for another post). They suggested (Reviewed)

According to America’s Test Kitchen the Polder one takes a long time to measure an accurate temperature so that one is out. At Amazon the Maverick that is the #1 in the BBQ remote thermometer is Maverick Remote-Check ET-7 Wireless Thermometer with 2 Probes. After reading the product description it appears to meet all of my feature list  and has two probes. However, I’m a little worried that the feedback on Amazon is semi bipolar. There are over 70, 4&5 stars, and over 40 1&2 stars. Seems that the two biggest problems are dead units (not surprising as I suspect people who get dead units comment as a higher percentage then those that do not, I would), and poor range. Well range is affected by many things so that o.k. by me. I would have been more worried about bad readings or units burning at temperature below the stated 500F degrees. So, I think I might get this unit. Oregon Scientific and Grill Alert have talking units but that seems like an overkill and pointless feature for me. There was also a Weber Style unit but the reviews were more bad than good. Accurately it seems that most units on Amazon have more bad the good reviews. It is not as big of field of products as I would have thought.

Well I did it.

I decided on the Maverick Remote-Check ET-7 Wireless Thermometer with 2 Probes and bought it. I’ll let you know how it works once I use it.

Posted in Living | Tagged , , , , | Leave a comment

Wordpress, PHP Memory, and 1and1.com

After upgrading from Wordpress 2.7 to 2.7.1, I starting having odd issues. At first I thought it was that some of the plugins I was using need to be updated as I posted about here. However, it I think the problem is closer to the one described at: php-memory-and-wordpress. That is PHP is running out of memory. I am currently hosting the site at 1and1 on a developer package and according to there FAQ:

Due to resource limits on our Shared Hosting machines, it is not possible to allocate more than 20M of memory to PHP, although phpinfo() may report a higher number. You will be unable to increase the memory usage limit with a php.ini file.

O.k., first off why would they allow your to specify a higher number in PHP if they are going to ignore it? According to PHP if a script runs out of memory it will report with a message like this: “Fatal error: Out of memory error.” However, because of 1and1 allow PHP to think it has more memory and then killing it when it exceeds 20M, no error message is reported. I run across this situation on a different project in the past when processing images.

So I decided to test to see if this could be the case. The best page to test I found was the Tools->Import page. That page seem to be the one most likely to stop loading and blank out. It would load all of the admin menus but would not load the import list when some plugins were activated. So I added a few memory_get_usage() function calls and sure enough it appears that whenever the memory when above about 15,300,000 bytes of memory it would die. This is lower than 20MB but memory_get_usage does not necessarily report all memory used as seen by the OS.

Therefore, I must conclude that it is a PHP memory issue and that 1and1.com poor decision to allow PHP to report and indeed set a higher memory limit than 20MB but ignoring that number anyways suppresses the error message resulting in very odd behaviors. Since, Wordpress is a good well used piece of software this is a grave shortfall for 1and1 hosting especially at the developer level. I therefore am in search of a new host as I am not going to continue to pay money to a host with such a poor limit and support of PHP.  Hopefully this post might shed some light on odd problems you might be having with Wordpress on 1and1.

Posted in WordPress | Tagged , , , | 9 Comments

Qt mousePressEvent and mouseReleaseEvent fun!

This would have been good to know beforehand regarding mouse events…

Apparently in Qt, QGraphicsItem’s mouse events are a little different from the model I had in my head from Actionscript. In actionscript when a user uses the mouse to move over and then click on an MovieClip object these events occur (ignoring mouse movement events):

  1. onRollOver
  2. onPress
  3. onRelease
  4. onRollOut

In Qt it is not quite the same. If the QGraphicsItem accepts mouse clicks but is not movable or selectable then these are its events (again ignoring mouse movement events):

  1. hoverEnterEvent
  2. mousePressEvent
  3. hoverLeaveEvent

Notice in Qt there is not a mouse release event called. Qt does have a mouseReleaseEvent but it is only called if the item is movable or selectable (both not set by default).

This fact would have been good to know. I had been allowing QGraphicsItems to move during debuging and had been using mouseReleaseEvent as my click event. When I removed the debuging code suddenly I could not click my items, which was most distressing as it was only minutes away from my live demo. Luckly, I discovered this Qt fact, changed the event to mousePressEvent and got it all working.

How demos work as told on PHD comics.

Posted in Qt Code | Tagged , , , | Leave a comment

Making a QPixmap transparent the Right Way

The Problem

The classic situation that this problem can occur is when one wants to create a QPixmap with a transparent background and then draws on only some of the available pixels. This process is akin to creating a transparent GIF. Well there is a wrong way and a right way. I discovered this because I was using the wrong way and was getting away with it as long as I was writing to every pixel. Then there was a case when I was not writing to all pixels and the QPixmap unwritten to pixels (i.e., the background) was not transparent as I expected. Here is the wrong way.

The Wrong Way

1
2
3
4
5
6
7
QPixmap *pix = new QPixmap(Size());
 
QPainter painter;
painter.begin(pix);
painter.fillRect(0,0,pix->width(),pix->height(),QBrush(QColor(0,0,0,0)));
painter.drawPixmap(pix->rect(),*m_image);
painter.end();

The problem is that line 4 does not fill the QPixmap with anything as the alpha is set to 0. Think of fill with alpha as a merge operation and not a replace. I was thinking of it as a replace and therefore I was replacing every pixel with a fully transparent black. However, because fillRect is really a merge I was merging a transparent pixel with the background effectively doing nothing.

The correct way is as follows:

The Right Way

1
2
3
4
5
6
7
QPixmap *pix = new QPixmap(Size());
pix->fill(Qt::transparent);
 
QPainter painter;
painter.begin(pix);
painter.drawPixmap(pix->;rect(),*m_baseSymbol);
painter.end();

Notice that line 2 is new and this fill command is a replace fill.

Summary

In summary QPixmap fill(…) command is a replace fill; whereas, QPainter fillRect(…) is a merge fill. I hope this help clarity the nature of these two operations.

Posted in Qt Code | Tagged , , , | Leave a comment

Upgrading Wordpress to 2.7.1

It appears that the real problem is php memory. This post seems to echo my problem: php-memory-and-wordpress.

Previous thought but probably wrong…

It appears that in WP-SpamFree 1.9.8.3 breaks Wordpress 2.7.1. It also appears that Broken Link Checker 0.4.10 breaks Wordpress 2.7.1 in the same manner.

I upgraded from 2.7 to 2.7.1 and these plugins seems to cause some admin pages to stall i.e. end displaying html before the ending </body> tag. Case in point, the Tools->Import page does not completely load when the plugin was activated but does when deactivated.

Just thought I pass this info along.

Posted in WordPress | Tagged , | 2 Comments

Comparing File Download Managers

The Objectives:

My objective is to find a WordPress plugin that will allow me to at least do:

  • display in a post a download (link, picture) to an arbitrary file type
  • to have the link to the download be neat and nice e.g. /download/filename.type
  • provide a nice upload tool

Furthermore, it would be nice if added the download code to a post provided nice options like a picture or number of hits…

The Search:

So the hunt begins. I went searching through the plugins and I found the following ones a possible candidates.

  • Wordpress Download Monitor 2.2.3
  • Attachment Manager 2.0.1
  • WP-DownloadManager 1.40

Wordpress Download Monitor

Pros: The plugin has a nice admin download page. It does support nice URLs. It also has a very nice integration with the edit post page.

Cons: It seems to require one to list the acceptable file types. It also puts the download admin page under tools, I would have preferred it under Media.

Attachment Manager

Pros: Nice icons to go with the download files.

Cons: Opps, it appears that this one should not have been a candidate for comparison. This one is focused on icons and not really file upload and download.

WP-DownloadManager

Pros: It places the admin pages under a new Download section. Not bad but I would still have preferred under Media. It has many nice options under the admin pages and a nice focus on download listing and stats. I however will probably have little download listing pages.

Cons: The download URLis tied to a number and not a title. Who wants a download url to be /download/1231 and not /download/filename.type?

The Find:

In conclusion I have found that Wordpress Download Monitor to be the plugin to best match my objectives. If your objectives are the same as mine, then I would recommend using this plugin for your file management needs.

Posted in WordPress | Tagged , | Leave a comment

A problem with jQuery’s .serialize() and the answer

I was having a problem with the jQuery .serialize() function and the good news is that I found the answer to this problem.

The Problem
The jQuery .serialize() function was returning “” or nothing. Not what I wanted to say the least. Here was the setup. I was using .serialize() like this:

...
$(this).parents('.ARow').serialize()
...

and the xhtml was:

<form class="ARow">
<input class="food_state" size="10" type="text" />
<input id="NewFoodState" type="button" value="Add New Food State" />
</form>

The Answer
The problem was that .serialize() outputted “”. The answer was that if an input does not have a “name” field then .serialize() skips it. Of course that makes sense but sometime simple reasons can be overlooked. Therefore when the xhtml is updated to:

<form class="ARow">
<input class="food_state" name="food_state" size="10" type="text" />
<input id="NewFoodState" type="button" value="Add New Food State" />
</form>

The output of .serialize() becomes, as desired, “food_state: raw”. I hope this helps someone else.

This page is using: [download id="1"]

Posted in jQuery | 3 Comments

Grabbing a subsection of input field values

I was looking for a jQuery way of grabbing the values of a subsection of input fields. I know it is more complicated then just getting the $().val() of items because of selection elements. I found the plugin called Values but it was a bit more than I needed. I only need to get values not to set them. Plus I don’t want to get values from elements other than inputs, so there is no need to have the function grab text when it cannot find values. So for now I will use this plugin but I want to modify it in the future to serve this narrow purpose. (I like small clean simple code and not bloat).

–some time later–
Lol. It appears that sometimes the solution is right there and I over think the problem. I can do what I wanted to do with this simple line:

$('container class').find('input, select').serialize()

Well problem solved, on to the next one :) .

Posted in jQuery | Leave a comment