As promised before, Canon has released a Codec so that Vista can read Canon RAW Images. Microsoft PhotoBlog has the details for how to get it.
Canon RAW (CR2) Codec for Vista - Released
Background DataGridView Refreshing & TableAdaptors
Microsoft’s Knowledgebase is full of handy information, like this: How to populate DataGrid on background thread with data binding by using Visual Basic 2005 or Visual Basic .NET
Which is handy for doing background loading/refreshing of DataBound information.
At work, I’m using a slightly different way of databinding though. I’ve got DataSources, and TableAdaptors generated by Visual Studio based on Stored Procedures in my SQL Database. This means it’s really (really) simple to do databinding - it’s fairly much a matter of drag and drop. When you want to go ahead and actually load some data - you use a 1-line function:
Me.Get_Q_Details_V111TableAdapter.Fill(Me.DsQueue.Get_Q_Details_V111, Me.QueueID)
The only issue is that your entire application locks, whilst this happens. Not fun if you need to execute 3-4 of these and update them every minute or so.
So, modifying the KB Article, I went with something like this:
Dim CallBindQueue As New MethodInvoker(AddressOf BindQueue) Dim Thread_BindQueue As Thread Dim ThreadStart_BindQueue As New ThreadStart(AddressOf RefreshQueueNow_BG)
Private Sub RefreshQueueNow_BG() Me.Get_Q_Details_V111TableAdapter.Fill(Me.DsQueue.Get_Q_Details_V111, Me.QueueID) Me.BeginInvoke(Me.CallBindQueue) End Sub
Private Sub BindQueue() Me.DataGridView1.DataSource = Me.DsQueue.Get_Q_Details_V111 End Sub
Public Sub RefreshQueueNow() Thread_BindQueue = New Thread(ThreadStart_BindQueue) Thread_BindQueue.IsBackground = True Thread_BindQueue.Name = “Queue-UpdateThread” Thread_BindQueue.Start() End Sub
To kick-off the process, you just call RefreshQueueNow, and it spawns a background thread, which does the actual fetching of data.
Because this is executing in a different thread, the standard Fill command doesn’t actually do the databinding any more - so The background thread invokes BindQueue, which sets the DataSource manually - ho-hum.
In the end - this works fine. The first time. If you ever issue another Fill command, and then for any reason need to re-draw any of the cell-contents, you’ll run into issues.
So, to fix it - you need to set the DataSource of your DataGrid to a shallow copy of the actual data. There might be a ‘neater’ way to fix this, but if there is - I don’t know about it.
So now BindQueue becomes this:
Private Sub BindQueue() Me.DataGridView1.DataSource = Me.DsQueue.Get_Q_Details_V111.Copy End Sub
If you’re only ever issuing this command once per instance, you shouldn’t need to worry.
I hope this is helpful to someone else.
Key Words: TableAdaptor SQLTableAdaptor
iWars - Battle of the MP3 Players
Absolutely brilliant.
Via Steve Clayton
Adobe Photoshop CS3 Looks like a winner
John Nack points to an article on how Image Stacks in Adobe Photoshop CS3 Extended can be used for improving your photos. For example, removing people walking infront of your subject or removing noise.
Watch the demo John put up, quite amazing really for a few quick clicks.
The only problem is the price — Adobe Photoshop CS3 Extended is AUD$1,735, and Lightroom is AUD$345 (which I’d get far more use out of).
Not easy for an amateur photographer to consider buying these, considering a nice L-Series lens is about the same combined price.
Screw You, Fox & Co.
(Two rants in one day!)
I’d heard about this movie - Thank You For Smoking. It got great reviews, family members loved it - so, I ordered it from a well-known, legitimate Australian retailer.
Today, I get it in the mail - and decide to watch it. The first thing I’m presented with is this intro about how it’s a bad thing to download movies. What the…?
…and you can’t skip it. So you have to watch the entire damn thing. Every time you put it in the drive too.
Then, a friendly little “Don’t copy this DVD” message.
Then, if that wern’t bad enough - I get “Coming Soon” crap. WTF? Did I by mistake get a rental DVD? Nope - this is a genuine retail DVD. Hey, I can skip it, c’mon - bring on the movie already!
Oh, wait - not yet. Another promo.
Finally - the Menu!
Look, Fox, I paid for this movie. I didn’t steal it from a shop, nor did I download it from the ‘net.
Look, see? Now stop treating me like I’m a thief.
*grumble*
More Laptopness
Well, after Paul put me onto this ongoing thread on Whirlpool, I’ve been getting more and more interested in the Asus laptops.
Asus G1 (G1-AK035G)
- 15.4″ @ 1680×1050 (Glossy)
- Core 2 Duo T7400 (2.16Ghz, 4MB L2)
- 2GB 667Mhz DDR2 Memory
- GeForce Go 7700 w/ 512M (Physical) Memory
- 8x Dual Layer DVDRW w/ Light Scribe
- 160GB SATA HDD
- 802.11 a/b/g
- Bluetooth 2.0 + EDR
- Vista Ultimate
- 1.3Mpx Webcam built in.
- Li-Ion 8 Cell Battery (Rated @ 2Hrs)
- 4-in-1 Card Reader (SD/MS)
- 1x PCMCIA Card Slot
That’s pretty hard to beat for about $2500 or so. Unfortunately, availability is next to nothing for about a month. For bonus points, it comes with a backpack (pictured) and a USB Mouse. It weighs in at about 3.6KG. It comes with a 2 year international warranty.
Asus VX2 Lamborghini (VX2-AK007G) (Yellow or Black)
15.4″ @ 1680×1050 (Glossy) - Core 2 Duo T7400 (2.16Ghz, 4MB L2)
- 2GB 667Mhz DDR2 Memory
- GeForce Go 7700 w/ 512M (Physical) Memory
- 8x Dual Layer DVDRW w/ Light Scribe
- 160GB SATA HDD
- 802.11 a/b/g + Draft N
- Bluetooth 2.0 + EDR
- 1x Express Card Slot
- 1.3Mpx Webcam built in.
- Li-Ion 8 Cell Battery (Rated @ 4Hrs)
- 8-in-1 Card Reader (Including SD and CF)
- Vista Ultimate
- Spill-proof keyboard.
Also a very nice laptop - This also comes with a Bluetooth mouse. This also weighs in at about 2.5KG. Unfortunately, the price looks like it could be something like $3500. It also comes with a 2 year warranty.
Summary
Both laptops are very (very) nice, and practically equal in performance ratings.
The VX2 looks (physically) very nice - it’s got all sorts of nice styling bits (read review) For an extra $1000 or so, you get Draft N, Express Card, a CF Slot, and a spill proof keyboard. Oh, you also lose about 1.1KG in Weight.
The G1 revision is unbeatable in terms of bang-for-buck. I don’t think there’s another laptop out there with equivalent specs.
Neither notebook is available right at this moment - The G1 quoted is a new revision of the G1 model, due out next month some time. Although, it might take another 4 weeks or so for it to become truly available.
I’ll keep looking for a little while - I’m not in a rush.
—
Specifications:
- G1-AK035G
- VX2-AK007G
Image Credits:
- G1: Notebookreview
- VX2: Engadget.
Windows Desktop Search = PITA (mostly)
(Caution: Rant Ahead)
At work I have Office 2007 installed. It’s great, I love it. I love the built in search functionality that lets me quickly search for emails. I love the calendar.
What I really don’t love, is that it makes you install Windows Desktop Search if you want to search your archived emails.
When you do install Windows Desktop Search (WDS), it takes over the default search functionality for all of Windows.
To this:
Which is kinda cool for some things - like if you’re searching for a document that references a certain project.
The problem comes when you just want the old dumb style search.
Say, “example.ini” - I know it’s in the “c:\example\” directory somewhere, but it’s hidden three folders deep in a gigantic folder structure for some old application. The old style search would clunk along reporting any matches. The new system returns something like this:
Gee, thanks - 312 Results - none of them the one I actually wanted.
Oh, wait - here we go - I fill in the “File Name” bit and hey-presto - I get 6 results.
Give me back the old style search, damnit.
(Yes, I know you can click on the “Click here to use Search Companion” link, but I can’t change the default search handler - at least, not with any option I can find anyway)
Showering: Women vs Men
Caution: NSFW.
Looking for a Lappy…
I’m looking to get myself a laptop… just provisional looking, at the moment - but I am interested. I’d like to be able to code on it, do some basic mobile photo editing, watch movies, etc.
So, these specs are a minimum:
- Core 2 Duo Processor @ 2Ghz
- 2GB RAM
- 15.4″ Screen at 1280×800-ish
- 802.11g WiFi
- 80GB HDD
- DVD-RW
- At least 3 USB Ports
- 2Hrs battery life, with reasonable usage.
- 2 Year Warranty
- Decent dedicated video card, with dedicated memory (none of this shared memory crud)
- Decent soundcard (one that doesn’t pop and hiss with every movement of the mouse)
- Vista Home Premium Licence
Preferred, however is the above with:
- 17″ Screen at 1920×1200
- 802.11a/g WiFi
- Bluetooth (2.0)
- 120GB 7200RPM HDD
- ATI Radeon X1600 or NVidia 7600 video card.
- 3 Year International Warranty
‘Course, I don’t particularly want to spend a huge amount of money (which means the 17″ screen starts to look a bit rocky).
I was looking, for a moment, at the few different “convertable” laptops which convert into a tablet PC for drawing/writing - but they seem to be limited to 13″ or there abouts, with 1024×768 screens.
Both Dell and ASUS are looking pretty good at the moment - The Dell Inspiron 9400, with a few modifications - or the ASUS G1, with an additional 1GB of RAM are both candidates at the moment.
A story of databinding discovery…
Back in 2002 and 2003 I was mainly doing VBA type work, hacking together reporting tools using only the resources I had at hand. The kind of things that still haunt me to this day. In short: I wasn’t terribly experienced.
For the first 5 weeks of 2004, I (along with a former colleague, now friend) wrote a .NET 1.1 app that is still in use today. Looking back now, I realise the code (for the client portion - which was my portion) is terrible. But, the good thing was that all parties were happy, and for the most part - the application needs very little maintenance. (If you can call burning a SQL Backup file to DVD once a week “maintenance”)
Anyway, to cut a long story short: I needed to make some fairly minor changes - mainly to remove a few things that are no longer needed, and to change the server referenced in the installer*. All of the business logic is in the database, just a few things to manage the display of that data.
I decided to rebuild the client in Visual Studio.NET 2005 (up from VS 2002). I’ve spent about 3 hours on it so far, and I’ve got all the major interface elements done.
All the field elements were pulled from a dataset I created that maps all the existing stored procedures. If I needed a field - I dragged in that field. If I needed an entire datagrid - I dragged in a TableView.
VS.NET 2005 went and did the heavy lifting of writing the code that goes and loads the data from the database, and setting databinding on the fields.
There will be, of course, some things that will take longer - but hey, even if I spend another day on it - that’s still a fraction of the time spent originally.
All up - Winforms Databinding in VS 2005 really does rock.
*: Due to my inexperience, I implemented an… “interesting” way of determining the environments (production/development/etc) available — asking the current default server, which was initially set by the installer. Yeah, I didn’t think that one through properly.
