|
I just feel that in this company, there’s too many chiefs and not enough Indians.” “Sure. Now, if they’d only been Indian chiefs.” I have been real quiet lately. I will try to be better about writing in the future. I’ll do my best to stay away from project management issues, though. I’ve stepped on enough toes lately, I think. Here are some teasers of upcoming topics: REST, Quaere, introducing tests into existing code bases, the Norwegian c..
|
|
First, some background. I have an iBook G4 12" that I bought in August 2005, so that I would have a handy laptop during my studies. I also bought AppleCare, because I thought it would be better to pay 300€ extra to be sure that the laptop would serve me at least three years, instead of the one year default warranty. Of that decision, I’m glad.
|
|
First, some background. I have an iBook G4 12" that I bought in August 2005, so that I would have a handy laptop during my studies. I also bought AppleCare, because I thought it would be better to pay 300€ extra to be sure that the laptop would serve me at least three years, instead of the one year default warranty. Of that decision, I’m glad.
|
|
First, some background. I have an iBook G4 12" that I bought in August 2005, so that I would have a handy laptop during my studies. I also bought AppleCare, because I thought it would be better to pay 300€ extra to be sure that the laptop would serve me at least three years, instead of the one year default warranty. Of that decision, I’m glad.
|
|
Override configuration programmatically from unit tests
-
www.databasesandlife.com
-
18 years ago
-
eng
I used to think of a function as something which would convert some input value into some output value (potentially with some side-effects). And thus unit testing a function would involve passing particular inputs into the function and checking that the results were as expected (potentially setting up some database rows or something to test that the side-effects were executed properly). But sometimes a function relies on a particula..
|
|
Java Enum instances are singletons. This seems to be not clearly documented by Sun (at least I found it difficult to find). But it’s the case. What this means is that it’s possible to compare enumerated types by identity, which is cool for readability. (And it means that the switch statement works.) You don’t have to write this: if (PurchaseState.complete.equals(anItem.getPurchaseState()) { ... You can write: if (anItem.getPurchaseS..
|
|
Advanced Oracle Troubleshooting Guide, Part 3: More adventures in process stack
-
tanelpoder.com
-
18 years ago
-
eng
or rather thread stack as nowadays decent operating systems execute threads (or tasks as they’re called in Linux kernel). Anyway, stack trace gives you the ultimate truth on what your program is doing, exactly right now. There are couple of but’s like stack corruptions and missing symbol information which may make the traces less useful for us, but for detailed hang & performance troubleshooting the stack traces are a goldmine. So, I pr..
|
|
Advanced Oracle Troubleshooting Guide, Part 3: More adventures in process stack
-
tanelpoder.com
-
18 years ago
-
eng
or rather thread stack as nowadays decent operating systems execute threads (or tasks as they’re called in Linux kernel). Anyway, stack trace gives you the ultimate truth on what your program is doing, exactly right now. There are couple of but’s like stack corruptions and missing symbol information which may make the traces less useful for us, but for detailed hang & performance troubleshooting the stack traces are a goldmine. So, I pr..
|
|
Difference between row-level locking algorithms on Oracle and MySQL InnoDB
-
www.databasesandlife.com
-
18 years ago
-
eng
I know the rules for Oracle row locking well. A row can be locked for write if one updates it, or if one “select for update"s it. create table a (x number); (and equivalent in MySQL for InnoDB) Session A: insert into a values (9); Session A: commit; Session A: start transaction (in MySQL) Session A: select * from a where x=9 for update; Session B: start transaction (in MySQL) Session B: select * from a where x=9 ..
|
|
I have just viewed some photos on Facebook. They were of a friend’s trip to Malaysia. Facebook has a limit of 60 photos per album; meaning you have to split photos up into albums with names like “Malaysia 1”, “Malaysia 2” etc if you want to upload more than 60 photos in total. Each album, as is current practice in web design, is divided into pages with “page next” buttons to get to the next page. Each page of each album, as was introduced..
|
|
Sqlplus is my second home, part 3: Colored selections in Windows XP command prompt
-
tanelpoder.com
-
18 years ago
-
eng
Whenever delivering some Oracle training or running a demo at a conference, I’ve always liked to use the Windows command prompt version of sqlplus. One reason of course is its easy command line history navigation capability ( press F7 in cmd.exe after entering few commands to see why ). Another reason is that whenever I want to highlight some part of sqlplus output, I can just drag a selection rectangle around that text. In other words ..
|
|
Sqlplus is my second home, part 3: Colored selections in Windows XP command prompt
-
tanelpoder.com
-
18 years ago
-
eng
Whenever delivering some Oracle training or running a demo at a conference, I’ve always liked to use the Windows command prompt version of sqlplus. One reason of course is its easy command line history navigation capability ( press F7 in cmd.exe after entering few commands to see why ). Another reason is that whenever I want to highlight some part of sqlplus output, I can just drag a selection rectangle around that text. In other words ..
|
|
Sqlplus is my second home, part 2: Running SQL scripts from remote locations using HTTP
-
tanelpoder.com
-
18 years ago
-
eng
As you probably already know, the Session Snapper has been designed to be a very easy-to-use performance tool. It is especially useful in database environments where there are no decent performance tools pre-installed and available. Snapper doesn’t require any setup, all you need is to log on to the database using sqlplus and download snapper.sql script to your computer. Well, actually the second part is not required, as Oracle sqlplu....
|
|
Sqlplus is my second home, part 2: Running SQL scripts from remote locations using HTTP
-
tanelpoder.com
-
18 years ago
-
eng
As you probably already know, the Session Snapper has been designed to be a very easy-to-use performance tool. It is especially useful in database environments where there are no decent performance tools pre-installed and available. Snapper doesn’t require any setup, all you need is to log on to the database using sqlplus and download snapper.sql script to your computer. Well, actually the second part is not required, as Oracle sqlplu....
|
|
There was a discussion about whether Oracle really allocates all memory for SGA immediately on instance startup or not. And further, whether Oracle allocates memory beyond the SGA_TARET if SGA_MAX_SIZE is larger than it. It’s worth reading this thread first: http://forums.oracle.com/forums/thread.jspa?threadID=535400&tstart=0 I will paste an edited version of my reply to here as well:
|
|
There was a discussion about whether Oracle really allocates all memory for SGA immediately on instance startup or not. And further, whether Oracle allocates memory beyond the SGA_TARET if SGA_MAX_SIZE is larger than it. It’s worth reading this thread first: http://forums.oracle.com/forums/thread.jspa?threadID=535400&tstart=0 I will paste an edited version of my reply to here as well:
|
|
Advanced Oracle Troubleshooting Guide, Part 2: No magic is needed, systematic approach will do
-
tanelpoder.com
-
18 years ago
-
eng
There are two ways for diagnosing problems: Checking for the usual suspects and hoping to find a matching one Following a systematic approach Checking for the usual suspects and hoping to find a matching one The first approach relies on previous experience (both in particular subject area/technology and about the context/environment the problem occurs). For example if a patient comes to doctor complaining about pain in chest, then for d..
|
|
Advanced Oracle Troubleshooting Guide, Part 2: No magic is needed, systematic approach will do
-
tanelpoder.com
-
18 years ago
-
eng
There are two ways for diagnosing problems: Checking for the usual suspects and hoping to find a matching one Following a systematic approach Checking for the usual suspects and hoping to find a matching one The first approach relies on previous experience (both in particular subject area/technology and about the context/environment the problem occurs). For example if a patient comes to doctor complaining about pain in chest, then for d..
|
|
The main design goal of Session Snapper was that it should not require any changes to be made into database. And to achieve this goal, I was even willing to sacrifice some functionality. So, for example there is no sorting capability in Snapper output. It would have been easy to create an SQL Type to database, use that as session statistics storage and query results out using an order by on statistics delta column – giving you (probably....
|
|
The main design goal of Session Snapper was that it should not require any changes to be made into database. And to achieve this goal, I was even willing to sacrifice some functionality. So, for example there is no sorting capability in Snapper output. It would have been easy to create an SQL Type to database, use that as session statistics storage and query results out using an order by on statistics delta column – giving you (probably....
|
|
This is my attempt for getting cheap popularity out of recent Oracle 11g release. This is not going to be another Oracle 11g new features list, I’ll be just posting any of my research findings here, in a semi-organized way. The first post is is about Automatic Memory Management. AMM manages all SGA + PGA memory together, allowing it to shift memory from SGA to PGAs and vice versa. You only need to set a MEMORY_TARGET (and if you like, MEM....
|
|
This is my attempt for getting cheap popularity out of recent Oracle 11g release. This is not going to be another Oracle 11g new features list, I’ll be just posting any of my research findings here, in a semi-organized way. The first post is is about Automatic Memory Management. AMM manages all SGA + PGA memory together, allowing it to shift memory from SGA to PGAs and vice versa. You only need to set a MEMORY_TARGET (and if you like, MEM....
|
|
Oracle Session Snapper – real-time session-level performance stats for DBAs
-
tanelpoder.com
-
18 years ago
-
eng
A post by Jonathan Lewis inspired me to finally complete my version of the Oracle session performance snapper script, which main characteristics are it reports Oracle session level performance counter and wait information in real time it does NOT require any database objects to be created If you are a DBA or consultant working on ad-hoc performance issues, you will like it! Are you familiar with following situation? (Monday mo....
|
|
Oracle Session Snapper – real-time session-level performance stats for DBAs
-
tanelpoder.com
-
18 years ago
-
eng
A post by Jonathan Lewis inspired me to finally complete my version of the Oracle session performance snapper script, which main characteristics are it reports Oracle session level performance counter and wait information in real time it does NOT require any database objects to be created If you are a DBA or consultant working on ad-hoc performance issues, you will like it! Are you familiar with following situation? (Monday mo....
|
|
I consider myself to be a very patient person (all things considered) - but one thing that causes me to lose my patience is when I hear of proprietary computer companies that spread FUD (Fear, Uncertainty and Doubt) in order to keep their customers from considering other (and usually much better) technologies. While Microsoft has been the main purveyor of FUD since the early 1990s, SCO used FUD in an attempt to downplay the Linux operatin..
|
|
I consider myself to be a very patient person (all things considered) - but one thing that causes me to lose my patience is when I hear of proprietary computer companies that spread FUD (Fear, Uncertainty and Doubt) in order to keep their customers from considering other (and usually much better) technologies. While Microsoft has been the main purveyor of FUD since the early 1990s, SCO used FUD in an attempt to downplay the Linux operatin..
|
|
For the past 2 years, I have had a Buddha Shrine in the server closet in my office. I carefully researched proper Buddha Shrine requirements and styles on Google before I chose the above arrangement (Buddha must be elevated and surrounded by objects that represent tokens of life). Why did I do this? Simple. To speed up our current Internet access and reduce the number of times that we need to reboot/reset classroom routers (when caches..
|
|
For the past 2 years, I have had a Buddha Shrine in the server closet in my office. I carefully researched proper Buddha Shrine requirements and styles on Google before I chose the above arrangement (Buddha must be elevated and surrounded by objects that represent tokens of life). Why did I do this? Simple. To speed up our current Internet access and reduce the number of times that we need to reboot/reset classroom routers (when caches..
|
|
My good friend Skoll recently wrote of the motorcycling life : One of me favourite bands Manowar one sang "Riding horses made of steel". What kind of mental image does that provoke? Riding a Harley Davidson to sunset on an empty hightway, a beautiful young girl on your back seat? What a load of bullcrap! Motorcycling is about rain, it's about being soaking wet and freezing your ass off. It's about losing your friends in the traffic bec....
|
|
Sometimes, a quick and easy programming language like Ruby might not be so quick and easy. Sometimes, C may be easier. Sometimes, you might complete a task faster with C than with your favorite scripting language. I’ve long been a proponent of scripting languages. In particular, I’ve enjoyed learning and using Ruby. So when I was inspired to program a boggle solver as a code kata, I naturally reached for this nice shining tool in my toolche..
|
|
Sqlplus is my second home, Part 1: HTMLizing your sqlplus output
-
tanelpoder.com
-
18 years ago
-
eng
I have not managed to post anything for a while, but I intend to make it up by starting this series of posts made specially for Oracle enthusiasts, geeks and maniacs among us. Here I plan to post the coolest Oracle stuff I’ve just found out and some of it may actually be useful to you! Lets start. This post is about removing the last major problem with sqlplus in everyday database and application administration work. I would say the com....
|
|
Sqlplus is my second home, Part 1: HTMLizing your sqlplus output
-
tanelpoder.com
-
18 years ago
-
eng
I have not managed to post anything for a while, but I intend to make it up by starting this series of posts made specially for Oracle enthusiasts, geeks and maniacs among us. Here I plan to post the coolest Oracle stuff I’ve just found out and some of it may actually be useful to you! Lets start. This post is about removing the last major problem with sqlplus in everyday database and application administration work. I would say the com....
|
|
Useless default documentation dilutes both code and actual documentation
-
www.databasesandlife.com
-
18 years ago
-
eng
IDEs can create default code, including default documentation, such as: /** * Insert class or interface description here. */ It would be great if people would actually write documentation. Even a single sentence to describe what the class is modeling would be helpful if it’s not obvious from the name. Or object invariants (e.g. boughtCount <= offeredCount). To find a class without documentation is annoying. But to see such an IDE-gen..
|
|
I’m sitting in the airport in Las Vegas on the way back from DEF CON 15. It’s the first time I’ve been at the con, and it wasn’t really what I expected. Frankly, I walked away feeling kinda underwhelmed. Very few of the talks were as technical as I was hoping – they were almost universally broad overviews of an area, with lots of introduction, and relatively little, to my eye, technical meat.
|
|
I’m sitting in the airport in Las Vegas on the way back from DEF CON 15. It’s the first time I’ve been at the con, and it wasn’t really what I expected. Frankly, I walked away feeling kinda underwhelmed. Very few of the talks were as technical as I was hoping – they were almost universally broad overviews of an area, with lots of introduction, and relatively little, to my eye, technical meat.
|
|
On July 6th, Richard Stallman gave a talk at the University of Waterloo regarding copyright and its evils. Although slow at the beginning (perhaps because Richard was still finishing his Pepsi and introducing the features of copyright), it turned out to be a powerful and enlightening educational experience. I decided not to write a blog about it until I was able to view it again on video after my vacation and make specific notes. You ca..
|