If you use an Intel x25-m (G2) on Windows XP, then you've probably been eagerly awaiting the Intel SSD Toolbox now that both the TRIM-capable firmware and new toolbox are released. I was too, so I downloaded it today.
I just installed it on a 64-bit XP box, only to see this screen when I tried to run it:
Having no idea what this means, I googled it. (which quickly pointed me to the readme, which is linked on the download page for the toolbox itself. Silly me, I should have read it first. The readme document used a very wild font, but it boils down to this:
Without a hotfix, the toolbox does not work correctly on Windows XP 64-bit. The hotfix you need is supplied on this page (also linked in the readme). The details don't look related to shadow copying, and you have to jump through a couple of hoops to get it.
After you 'View and request hotfix download', give Microsoft an email address, and submit a form...you will get an email with a link to the hotfix, and the password for the password-protected zip file it contains with a password that changes weekly! I have never before had to 'request' a hotfix file, let alone enter a password - I completed the process diligently though, as a secret agent might do, and now the Intel SSD Toolbox is working on my Windows XP x64 machine.
NOTE: The reason it's so much work to download the hotfix is probably because, as of this writing, the hotfix has not undergone full testing. Also, it is a very specific hotfix for Windows 2003/XP x64*. It recommends staging (i.e. non-production upgrade first). You should backup your files and perform this on a non-critical machine first, or update at your own risk.
* windows XP x64 is based on Windows 2003, so it is distinct from 32-bit XP.
This post is for personal reference, as well as for the 10 seconds it might save someone else out there. It seems like kind of a strange edge case...
Tuesday, December 22, 2009
Monday, November 30, 2009
Summary on My Month of Writing
Writing (and clicking submit) every day for a month has been an interesting experience. It's been fun, exciting, frustrating, and time consuming. With this post I can say that I have met my goal to post every day for a month. I have a new appreciation for people who can write in serious quantity - because it's a lot of work. The quality of my posts so far has been so-so on my personal rating scale, but with a few notable good ones.
I noticed that past the half-way part, it became difficult to have enough complete content to write about. I had plenty of ideas, but many of them weren't really refined or complete enough to make a good post about without further effort. I can see how writer's block could really suck.
Of the topic ideas I listed in my October post, I covered most of them to varying degrees. There are some that I have not yet written about, though:
I noticed that past the half-way part, it became difficult to have enough complete content to write about. I had plenty of ideas, but many of them weren't really refined or complete enough to make a good post about without further effort. I can see how writer's block could really suck.
Of the topic ideas I listed in my October post, I covered most of them to varying degrees. There are some that I have not yet written about, though:
- More on SSDs
- Java 7 feature (my thoughts)
- Test ownership
- Notable programming books in the last 1-2 years
- More on build tools (Maven 3 and Gradle, specifically)
- My Erlang experiences, as I learn it
- Solving my Apache/HTTPS/TortoiseSVN authentication issues
- What are some notable programming books in the last 1-2 years?
- Guice, and other dependency injection frameworks (I have not used Spring or Guice)
- Taking Linux Mint for a spin (version 8 just came out)
- Experimenting with Saros, the Eclipse Distributed Pair Programming plugin (I've yet to try it - but I am enthused!)
Sunday, November 29, 2009
Goals for the week starting 11/30
Results from last week:
Goals for the week starting 11/30/09:
- I finished reading 'The Tipping Point', and started my next book
- I did poorly on the Erlang front - I only read a few pages and installed the Erlang package for Windows. I need to do better next week.
- I did finish Java Puzzlers
- I did NOT experiment with any more new build tools. I fail on this one.
Goals for the week starting 11/30/09:
- Continue reading 'Pragmatic Thinking & Learning'
- Get through the first 2 chapters of 'Programming Erlang', and if possible, code a Project Euler problem solution in Erlang.
- Practice my TDD more
- Post on Monday, completing my 1 post a day for a month goal as part of NanoWrimo
Saturday, November 28, 2009
Next in my reading list
The next book in my reading list is:
Pragmatic Thinking & Learning: Refactor Your Wetware, by Andy Hunt.
I started reading it early in the week, and it will be part of my nightly reading until I finish. I'm always interested in better ways to learn - and I saw Andy Hunt's talk on this prior to it becoming a book. I'm not sure why it took me so long to get around to it - but it's finally in my goals and I'm reading away :)
In the queue after this is:
- Peoplware
- Java Concurrency In Practice
- Filthy Rich Clients
What are people reading these days? It's been a few years since I've looked at a recommended reading list.
Pragmatic Thinking & Learning: Refactor Your Wetware, by Andy Hunt.
I started reading it early in the week, and it will be part of my nightly reading until I finish. I'm always interested in better ways to learn - and I saw Andy Hunt's talk on this prior to it becoming a book. I'm not sure why it took me so long to get around to it - but it's finally in my goals and I'm reading away :)
In the queue after this is:
- Peoplware
- Java Concurrency In Practice
- Filthy Rich Clients
What are people reading these days? It's been a few years since I've looked at a recommended reading list.
Friday, November 27, 2009
Programming Puzzlers, Reading, and Practice
I've had Java Puzzlers for a long time. I kept it on my desk at work, and sometimes during a full rebuild, I would read and try to figure out the next puzzler. I'd usually drag a coworker into it, too, which added to the fun. Slowly (quite slowly - over a year at least!) I've made my way through the book, and I'm down to the last 3 puzzlers - which I intend to finish tonight or over the weekend.
If you're not familiar with the book - most of the puzzles showcase a smallish snippit of code, with the question of 'what does it print' (or does it even compile). These puzzles are fun to think about, but most of them don't involve writing any code. (Some of them DO ask you how to write code that accomplishes some strange behavior, though - but only a few).
I'm looking for, or rather I suppose I'm writing about what I will do next. I have a couple of ideas - one being to finally march my way through Programming Pearls. The favorite book of one of my favorite professors in college. It provides ample coding exercises - many of which involve low level tricks.
Another idea that didn't occur to me until I started writing this entry is Project Euler. It's a great source of coding problems. I've done maybe a dozen previously, but as of this writing there are 265 of them. What's great is these are the type of problems that are useful to repeat again in different programming languages.
What's got me focusing on this is some recent posts I've read about Coda Katas. In particular I read this post on the Object Mentor blog tonight. There are a lot of links to other material there.
One further idea is to look up problems from the ACM's International Collegiate Programming Competition Problem Set Archive. There are countless good programming problems on that page.
There is definitely value in practicing what we do. This applies to any craft - but it seems to be sometimes neglected in ours. I think some kind of coding practice (in addition to testing practice) will be in my goals for next week. In particular to solve a new Project Euler problem or two, and to maybe do one from Programming Pearls as well.
What resources do you know of for good programming problems?
If you're not familiar with the book - most of the puzzles showcase a smallish snippit of code, with the question of 'what does it print' (or does it even compile). These puzzles are fun to think about, but most of them don't involve writing any code. (Some of them DO ask you how to write code that accomplishes some strange behavior, though - but only a few).
I'm looking for, or rather I suppose I'm writing about what I will do next. I have a couple of ideas - one being to finally march my way through Programming Pearls. The favorite book of one of my favorite professors in college. It provides ample coding exercises - many of which involve low level tricks.
Another idea that didn't occur to me until I started writing this entry is Project Euler. It's a great source of coding problems. I've done maybe a dozen previously, but as of this writing there are 265 of them. What's great is these are the type of problems that are useful to repeat again in different programming languages.
What's got me focusing on this is some recent posts I've read about Coda Katas. In particular I read this post on the Object Mentor blog tonight. There are a lot of links to other material there.
One further idea is to look up problems from the ACM's International Collegiate Programming Competition Problem Set Archive. There are countless good programming problems on that page.
There is definitely value in practicing what we do. This applies to any craft - but it seems to be sometimes neglected in ours. I think some kind of coding practice (in addition to testing practice) will be in my goals for next week. In particular to solve a new Project Euler problem or two, and to maybe do one from Programming Pearls as well.
What resources do you know of for good programming problems?
Thursday, November 26, 2009
Technology I'm Thankful For
As it is Thanksgiving, I think I will write about what technology I am thankful for.
I'm really glad MySQL exists. It's just really pleasant to develop against. It couldn't be simpler (well, maybe it could be - but I challenge someone to provide me with an existing example) I've developed both Java and C++ applications with Microsoft SQL Server and Oracle, and while I think there are good tools in both of those realms (especially in the case of SQL Server), MySQL is just so light weight and easy to develop against by comparison. It just rocks. As with anything, it isn't perfect - but I am thankful I get to use MySQL.
I'm thankful for the great variety of virtualization software that is available today. VMWare and VirtualPC have been around for a long time, but now there's also Virtualbox, and on my Mac I use Parallels. I can virtualize on any machine I use. Hardware CPU support makes it even better. Virtualization rocks as a tool for experimentation, and it has plenty of other uses. For instance, we currently do our WAN testing by using VMware server and a WANem Linux ISO
I'm really glad MySQL exists. It's just really pleasant to develop against. It couldn't be simpler (well, maybe it could be - but I challenge someone to provide me with an existing example) I've developed both Java and C++ applications with Microsoft SQL Server and Oracle, and while I think there are good tools in both of those realms (especially in the case of SQL Server), MySQL is just so light weight and easy to develop against by comparison. It just rocks. As with anything, it isn't perfect - but I am thankful I get to use MySQL.
I'm thankful for the great variety of virtualization software that is available today. VMWare and VirtualPC have been around for a long time, but now there's also Virtualbox, and on my Mac I use Parallels. I can virtualize on any machine I use. Hardware CPU support makes it even better. Virtualization rocks as a tool for experimentation, and it has plenty of other uses. For instance, we currently do our WAN testing by using VMware server and a WANem Linux ISO
I'm thankful for the abundance of operating systems I get to use these days. I'm not just a windows guy - I have a Macbook Pro, so I use OS X regularly, and I have for a long time used Linux from time to time. I keep meaning to explore Solaris more - as I have a fascination with ZFS that just won't go away. I am keeping tabs on the current legal issues, though - and I wish the ZFS team the best.
I'm thankful that fast internet is now fairly ubiquitous in the states. I can't fathom what it would be like if I still had a 33.6K modem.
I'm thankful for Eclipse. It's such a powerful and flexible IDE. I don't use it because it's free - I use it because it KICKS ASS. It helps my productivity and doesn't get in the way. There are tons of plugins, great keyboard shortcuts, and it is just very solid all around. Even after using it for 4+ years, I still learn new things that make it even better.
I'm thankful for how far hardware as come, but I can't even begin to estimate where we will be in another 10 years. I've had my hands on a keyboard for at least 15 years (maybe longer), and there is no doubt an interesting road ahead. SSDs, multi core processors, and high performance video cards. It's an exciting time in hardware.
I'm thankful for the intense browser competition these days. It seems like every single vendor has rewritten their Javascript engines entirely in the last year or 2, and it still continues. Chrome, Firefox, Safari, Opera - they all have strong points. I continue to favor Opera, and I can't wait to see Carakan and Vega come out. Opera knows where it's at - referring to ECMAScript by its real name. It's the only browser that comes with everything I want, with no customizing rquired. That said, I do also use Firefox, Chrome, and Safari. IE8 isn't bad, either. Even the IE9 team is creating a new Javascript engine. It's an exciting moment in browser history, and I can't wait to see what happens next.
These same Javascript engine extreme performance improvements give me hope for other languages. I've liked Ruby for quite some time - but there's no denying performance can be an issue. It looks like 2010 will be the year of Ruby VMs. I am curious where things will go.
A note to readers - I am participating n National Novel Writing Month, in particular it is spurred by the Pragmatic Life entries. My participation is by posting a blog entry every day - most years, I don't even think I'd be on a computer on Thanksgiving - but I must write something every day this month - so there's my post. I hope everyone had a great thanksgiving.
Wednesday, November 25, 2009
Oracle 10g JDBC URL Formats Overview
We added Oracle support to our product at work this spring. Prior to that, it had been a couple years since I'd dealt with Java + Oracle, staying quite comfortably in the land of MySQL. This required that I get back up to speed with things, and as I still deal with MySQL more, I often need to refresh my memory.
For the purposes of this, my HOST will be localhost, my PORT will be 1521, and my SID and Service Name will both be ORCL. I am strictly covering the THIN JDBC driver Oracle 10g supported syntax.
Format 1 (uses SID):
jdbc:oracle:thin:@localhost:1521:orcl
jdbc:oracle:thin:@::
Format 2 (uses Service Name):
jdbc:oracle:thin:@localhost:1521/orcl
jdbc:oracle:thin:@:/
Format 1 and 2 differ only by [:] vs [/] and determine whether you need an SID or a Service Name. Do not confuse the two, or when you have a customer who actually picks separate names for SID and Service Name, you will be in for a fun time until you remember this.
Format 3 (TNSnames.ora, or the Oracle Net Connection Descriptor" format):
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SID=orcl)))
Above is a minimal version. If redundancy or other connection settings need to be adjusted, this seems like the format to use and would cause there to be a lot more parameters. You can obviously also specify either SERVICE_NAME or SID, just like in a tnsnames.ora file.
I'm sure there are a thousand examples of these URLs, but this is my personal reference page.
Incidentally, if anyone is a master at adjusting connection settings for WAN using URL Format 3, I would love to know!
For the purposes of this, my HOST will be localhost, my PORT will be 1521, and my SID and Service Name will both be ORCL. I am strictly covering the THIN JDBC driver Oracle 10g supported syntax.
Format 1 (uses SID):
jdbc:oracle:thin:@localhost:1521:orcl
jdbc:oracle:thin:@
Format 2 (uses Service Name):
jdbc:oracle:thin:@localhost:1521/orcl
jdbc:oracle:thin:@
Format 1 and 2 differ only by [:] vs [/] and determine whether you need an SID or a Service Name. Do not confuse the two, or when you have a customer who actually picks separate names for SID and Service Name, you will be in for a fun time until you remember this.
Format 3 (TNSnames.ora, or the Oracle Net Connection Descriptor" format):
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SID=orcl)))
Above is a minimal version. If redundancy or other connection settings need to be adjusted, this seems like the format to use and would cause there to be a lot more parameters. You can obviously also specify either SERVICE_NAME or SID, just like in a tnsnames.ora file.
I'm sure there are a thousand examples of these URLs, but this is my personal reference page.
Incidentally, if anyone is a master at adjusting connection settings for WAN using URL Format 3, I would love to know!
Subscribe to:
Posts (Atom)
