|
So, one week later, it's time to write the obligatory what's-cool-in-the-app-store post! I'm sure my answers won't be any different than everyone else's, but it's this sort of post that's always funny to look back at in the future :-D Remote — The single most awesome iPhone app, Remote lets you control iTunes on your computer from anywhere on your network, with your phone! It looks almost exactly like the 'iPod' application that's been on the iPhone since day one, but changes are instantly reflected in the music playing from iTunes! CubicMan — The only non-free app on this list, CubicMan is a game that I remember from the jailbreak days; though it was much less polished then, it's still just as enjoyable. I'd recommend it to anyone, unless you're easily frustrated. NetNewsWire — Brent Simmons's classic news client, for the iPhone! Syncs with the desktop client through NewsGator. The only issue I have is that it's a little pokey, but apparently he's fixed a lot of performance problems in point releases that have yet to be vetted for the App Store. BoxOffice — Awesome local theatre search and Rotten tomatoes access app. Not much else to say! Twitterific — The iPhone version of the Iconfactory's now-famous Twitter client; looks just as nice as its big brother, the ads on the free version aren't that annoying, and (besides Twitter downtime) the application works great! Facebook — The 1.1 update to the official Facebook application added the one feature I was planning on complaining about: lack of wall access; indeed, it also added photo tagging, access to extended profile information, and more! This app more or less is already at the point where it completely replaces everything one could possibly want from the also-awesome web app. midomi — A nice listen-to-music-and-find-it application. Works well for me, others aren't so happy!
2008.07.18 in code
Last last summer, I inherited a set of old IBM PSLs from my physics teacher. In case you don't keep up with your early-eighties home science labs, it's a rather large beige box with all sorts of modules that you can plug in, which in turn plug in to sensors (light, temperature, sonar, etc.). It's got a 25-pin serial interface, so it took a bit of ... maneuvering ... to get it attached even to my old PowerMac G4, or Robb's desktop (the machine formerly known as cary3). Crazy, I know!
Way back before last Christmas, I wanted to get the PSL temperature probe, at the very least, working. A little bit of Python later, and it was working! (the manual had sample code for all sorts of things, and also detailed protocol and implementation documentation — try to get that from nVidia!)
I then wrote a little canvas-y viewer script, and left it running, polling the temperature in our room in Cary Hall every minute for approximately two and a half months. The final output is here:

You can pretty clearly tell when Robb and I weren't at school (especially spring break, the really smooth wavy part near the beginning). It was cool at the time, just a cute little thing... I dunno!
Anyway. I put it back up, here at home.
We had some frozen shrimp in the freezer that needed to be eaten, so Tim and I took that on as our next cooking challenge. We found a recipe for Ancho Shrimp with Smoked Gouda Corncakes that would use up the shrimp, and be something other than chicken, which seems to be all we make. We also baked some chocolate white chip cookies and made a Orange Cream Punch as our drink.
After searching for ancho peppers, ancho chile pepper or some spice that could be a substitute, we struck gold at Shaw's. We walked into the store, picked up lettuce for salad and basically walked into the pepper section, which just happened to have dried ancho peppers. With that most important ingredient, we set to work.
We started with our cookies, so that they could chill in the fridge because, apparently, that makes them better. We combined all of the ingredients, and even let Tim use the mixer—yikes! It was quite simple, besides the poofing chocolate and flour.
The first, and most important step in dinner was to make the corncakes that would accompany the shrimp. After mixing together all of the ingredients (and shredding our own Gouda cheese), I attempted to "spoon batter into oil by 1/4 cupfuls," but that really didn't work well. It was incredibly hard to know when the cakes were cooked, and how to flip them and just everything about them was painful. In addition, the corn was always exploding and releasing little spurts of hot oil, which always seemed to hit someone. So I gave that job to Tim, which may sound mean, but he did a really great job [ed.: lolno] making sure they were round and cooked. I was quite impressed. While he was doing that, I was de-tailing the shrimp and getting everything ready for making the shrimp sauce.
Once Tim was done, and I had done a set of dishes, we cooked the ancho peppers in butter. We let the oils, or whatever, seep out and we added the garlic. It smelled absolutely great—the ancho peppers had an "earthy" smell, and mixed with the garlic, it's difficult to explain. The shrimp was added—and it looked like we could have stopped there. But we added the tomatoes and it looked even better. The peppers were removed, and we poured some of the shrimp and tomatoes over two corncakes on each plate.
Our drink for the night was orange sherbet, vanilla ice cream, Sprite and milk. I combined it all in a big bowl, and it turned out to be smoothie-like. It was actually quite great, but it didn't really fit in with our dinner.
After we ate, we cooked the cookies, which turned out to be very good. They didn't even burn—like the last chocolate cookies I made.
In the end, a really awesome meal that was a little difficult in places, but well worth the effort. It was questionable along the way, in my opinion any way, but it turned out to be a good choice of recipes. I think I would make all of these again, but maybe we should learn about corncakes and cooking things like that before we attempt it again—as that was very chaotic.
Any Mac users here probably know of Perian — in fact, I'd venture a guess you've probably got it installed!
In any case, I'm just writing this to note that if you try to export (transcode) a video file in Quicktime Pro, there's a chance that, if you have Perian installed, the audio won't come through — in fact, you'll find yourself completely unable to extract the audio from the file!
The only solution I've found is to use the proper codec for the video (and I've not found a solution for situations where said proper codec doesn't exist, except try to wade through the mencoder {warning: 1.1 MB wall of text} mess...). Perian's great, but this would be a good bug for them to fix.
I've only had this problem with DivX files, which, luckily, have an alternate, 'official' codec.

So! Tonight I got all of the Expedite tests running. I haven't checked that they're all perfect, and there's some larger issues with the program (it draws the icon for the currently selected test really large in the upper right corner, sometimes the text disappears, or the menu forgets to disappear — not sure why); it's nice at least to have all of the tests starting. So! Pictures and notes follow...

You can see the icon thing I was talking about in the top right hand corner. Other than that, this test works well (at least, it does now that I've turned CGContextFlush(...) coalescing off). Coalescing CGContextFlush is a per-application setting (you set CGDisableCoalescedUpdates to true in the application's Info.plist). I'm convinced this is a good thing, because it seems like a good idea for general applications, to prevent tearing, but it's nice to be able to turn it off, for benchmarking applications and the like.

This test hurts my eyes. I'm not sure if it's because we've only got low quality smoothing, or Expedite just gives yukky data, or what, but I'm just happy that the test runs! I ended up looting bits and pieces of different engines to get these image data access functions working (thanks GL and SDL, mostly!). I'm not sure they're perfect, yet (the last of the tests from the old program pertaining to this still doesn't work), but they're a lot better than they were recently!

I didn't initially understand that I needed to support YCbCr colorspaces in my engine (nor did I, once I knew that, know how easy it would be to implement) — I initially assumed mentions of that dealt with the device's colorspace, which I was already long done with... however, this test shows that it's working now!

I think I caught this one in the middle of a redraw, or something. These run pretty slowly (the styled text tests), I'm not sure why — though starting up Quartz 2D Extreme just about doubles their framerate... the normal, unstyled text tests run ~60fps, which is good enough for me!

Here's the first test that's clearly still broken, though I think it'll only take a little bit of TLC to get it into shape, I just haven't paid any attention to some of the font metrics functions yet...

Runs nice; see how you can see the menu through it? That's not ... right ... but my Expedite... hack... is horrible, and is probably at fault. I'll write later today about the run loop issue that's keeping me from writing a proper Expedite backend, and maybe someone can help me!

Rectangles — yay! So you've probably noticed a theme by now — everything seems to be limited to right around 60fps. Wonder why? SO DO I! I turned off coalescing — that got lots of things from 30 to 60fps. I've seen the rectangles go to around 150fps, but I can't seem to duplicate that! Very very puzzling...

All done! More posts later!
Hello again! We made food again tonight, July 11th. I got this crazy idea to make chicken and rice stuffed peppers, which is what we decided to make tonight. In addition, we made buttery lemon spinach, an orange juice/lemonade/iced tea drink known as Tiger Tea and a brownie ice cream sandwich cake dessert.
We started by making the dessert, because it took the longest and had to be frozen a few times. The first step was to make the brownie layers, which were easy to mix and bake. Those had to cool for a while, and then the ice cream center was added. It took a bit of effort to get the brownie out of one of the pans, which made everything a little more difficult. And the ice cream layer, which had to be level, was interesting because we had to slice the ice cream in layers, and had to keep melting it in the oven for a few seconds at a time. In the end, it was alright, the brownie part wasn't great, and it was really messy.
Next, we mixed up the drink. It was made up of frozen lemonade and orange juice concentrate, water, sugar and tea. The drink was supposed to have two quarts of water, but we only had room in the pitcher for one, so it was a bit stronger, but it was still really good. Although it looked a little bit strange, it tasted better than we both expected.
Then we started the peppers. We took the yellow peppers and cut holes in the top and removed all of the innards--that part was definitely not fun (I let Tim do that). I cut an onion which was torture, and Tim 'sautéed' them and we added that to some cheese, chicken, rice and spaghetti sauce. We spooned it into the peppers and let them cook, which confused us because we had already cooked the chicken. Oh, and a note on the recipe, if anyone decides to make it, a cup of cooked rice is not equivalent to a cup of raw rice, but it really works fine either way. The stuffed peppers were excellent, in all of our opinions. This was another thing that we would definitely make again. We might even try some different fillings since the pepper piece worked so well. The chicken and rice worked great as well, but there are plenty of different things we could try.
The spinach was spinach and some lemon juice, butter and oil. It was really simple to mix together and microwave for 2 minutes. It was easy, and alright in the end.
Together, an excellent dinner—everything worked really well and tasted great! Most of these are things we would try again. There was a lot to be done, and it took longer than expected, but it was worth it in the end!
So! I've started working on Expedite, since it really feels like a better test program overall, its what my evaluation is on, and it does more reasonable performance testing (as well as allows me to only run a particular test, if I want!).
I've got a run loop issue that I'm going to write up later and see if I can't get someone else to help me puzzle out... there's just too much code competing for attention, at the moment!
Anyway... it draws... no events, so it's useless, and it's absolutely incredibly hacked up, but I'll work on getting it to work better and fixing things that don't work (especially image data access functions, which need to be implemented, badly!)... image after the break!

Hi, Amy again, writing before we embark on our next fooding adventure tomorrow! On June 28, Tim and I made an attempt at a classic Utica/Rome, NY recipe called chicken riggies. It's basically chicken and pasta (penne in our case, though rigatoni is suggested) in a creamy tomato sauce. It's kind of odd to think of and explain, but it was actually quite great. The most hilarious bit during cooking this was the sauce. When you let it settle, it turned white, but when you stirred it, it turned bright orange. Absolutely awesome. We skipped the cooking sherri, which was fine, but I think rigatoni would have been better.
In addition, we made some cheese bread—simply a cut up loaf of Italian bread, buttered and spread with mozzarella cheese. Then the bread was baked it for about 3 minutes, and it was nice and warm and delicious.
Our chocolate chip ice cream pie was excellent. The crust, which I had to make again, was crushed mini chocolate chip cookies. There was a ring of cookies around the edge. The crust was covered in melted vanilla ice cream. We stopped there, and decided not to follow the next step which said to wait 2 hours, then add more ice cream. We just put a ton of ice cream on the first time and froze that. This was definitely a dessert we would make again!
Overall, a very good dinner that was semi quick and simple.
Two quick Evas_Quartz updates:
I've published my git repo here. I promise to try to keep it as up-to-date as I can!
The other bit of good news: I got the Evas image loading code working today, replacing the old Apple PNG loading code! This is good for lots of reasons: it opens the door to getting the image data-access stuff working, fixes the smoothing problem, and also gets us that much closer to having a working image cache.
The biggest issue I've noticed is that having smoothing working seems to slow things down a bit. Maybe too much — at least too much for the benchmark. It gets a little skippy... but I don't think this would be a legitimate problem for any real application written using Evas... I'll see what I can do.
Hey! I hacked up the Evas_Quartz test program to push out frames as files, so I have smooth video to show you! It's incomplete, but it's mostly here. It may not play back well for y'all, depending on your machine (it's running at 50fps because that made the math easy, etc.), but check it out!
There's still some tests broken near the end; there's still lots of work to do...
I'll post a patch tomorrow, with details. First I have to get it to patch CVS HEAD!
|
|