|
Even from intial reviews of my previous post on expression based indexes I received a lot of questions and feedback around many different parts of indexing in Postgres. Here’s a mixed collection of valuable tips and guides around much of that. Unused Indexes In an earlier tweet I joked about some SQL that would generate the SQL to add an index to every column: # SELECT 'CREATE INDEX idx_' || table_name || '_' || column_name || ' ON....
|
|
Even from intial reviews of my previous post on expression based indexes I received a lot of questions and feedback around many different parts of indexing in Postgres. Here’s a mixed collection of valuable tips and guides around much of that. Unused Indexes In an earlier tweet I joked about some SQL that would generate the SQL to add an index to every column: # SELECT 'CREATE INDEX idx_' || table_name || '_' || column_name || ' ON....
|
|
As Glenn Fleishman said in the article’s opening sentence, Marco has indeed had a very busy few weeks lately. I’m very enthusiastic about the changes Glenn plans to make in the coming weeks and months with the publication of an actual print volume and the advent of a complementary podcast. Until now I haven’t made time to subscribe despite constantly hearing wonderful things about The Magazine; who knows, maybe this will get me to bite the ..
|
|
Writing about writing has always held great interest for me. That’s why, when I saw Shawn Blanc’s article The Root of Non-Writing pop up in Reeder earlier this afternoon, I read it, saved it to Instapaper, and then read it again. I love metawriting. Permalink.
|
|
With each paragraph you write, double the amount of time you spend editing. It’s not just grammar and spelling errors that might be hurting your credibility. Is your point clear, literate, and concise? Have you pruned aggressively to find the core of what you’re saying? With each additional paragraph, the higher the chance becomes that you’ve made an egregious mistake that might make your email confusing and forgettable.” Permalink.
|
|
Michael Lopp explaining why engineers, in his experience, appear to hate you: “In your company, there are three kinds of people. There are those you are aware of, but who don’t immediately affect your world. There are those who mildly affect your world and upon whom you have a lightweight dependency. And there are those who are an active part of your world. You depend on them. “I don’t want to depend on you. It’s nothing personal..
|
|
The cap on WWDC tickets means it won’t go the way of SXSW - a wildly successful conference that has grown consistently since its inception. I used to go every year until one late night we looked around a huge sea of strangers and decided that we no longer knew this conference. The experience had become diluted. It had become unfamiliar, full of strangers, and unknowable.” For the most part, I didn’t follow the discussion surrounding WWDC ....
|
|
Rashad Abdul-Salaam is the founder of Happy Health, a personal health record that helps patients save time and paperwork.
|
|
How Figures & Images work in Pelican, by default By default Pelican does a great job with figures and images, thanks to built-in support in ReStructuredText [1] [1] . Pelican will turn this rst input: .. figure:: {static}/images/better-figures-images-plugin-for-pelican/dummy-200x200.png :align: right This is the caption of the figure. The legend consists of all elements after the caption. In this case, the legend consists of this pa....
|
|
Postgres is rich with options for indexing. First you’ve got a variety of types, and beyond that you can do a variety of things with each of these such as create unique indexes, use conditions to index only a portion of your data, or create indexes based on complex expressions or functions. In cases where you commonly use various PostgreSQL functions in your application or reporting you can get some great gains from this. Let’s take a loo....
|
|
Postgres is rich with options for indexing. First you’ve got a variety of types, and beyond that you can do a variety of things with each of these such as create unique indexes, use conditions to index only a portion of your data, or create indexes based on complex expressions or functions. In cases where you commonly use various PostgreSQL functions in your application or reporting you can get some great gains from this. Let’s take a loo....
|
|
Almost a week ago I did something I rarely do: I wrote an article out of frustration. I had pushed and pushed myself to not only write every day, but to publish something at least once a day as well. But some days, there just isn’t anything to write about; sometimes, I need more than a day to work through an idea; and some days, I just don’t feel like writing. Instead of a strong readership, I only had frustration to show for my efforts. ..
|
|
The first time I saw the Nickelodeon cartoon Avatar: The Last Airbender , I was sitting in a friend’s closet. The floor was a mess, with clothes and toys strewn all about. It had rained almost constantly since morning, so the lot of us had stayed inside for most of the day. I was ten, and the show captivated me. That feeling stuck with me until roughly six years later when I sat down to watch the series from beginning to end. Even at sixte..
|
|
Since January first, 2009, Jonathan Mann has written a song every day. Every single day, for four years, four months, and four weeks exactly, Jonathan Mann, without fail, wrote and produced a song. That’s 1609 days, and 1609 songs. Those who have a hard time writing every day, feel free to take notes. Permalink.
|
|
But most importantly, what the hell does Yahoo do with all the porn?” Ben Brooks asking the tough questions. I love everything he does, from his writing to The B&B Podcast , retired on February 7th of this year. If you haven’t ever read any of his work, this piece wouldn’t be a bad place to start. Permalink.
|
|
In the past I have heard it said that there exists but one story, that every book and movie is nothing more than retelling of that single plot. Perhaps most famously, John Steinbeck once said something to this effect in his book East of Eden: Permalink.
|
|
Forcing Smart Scans on Exadata – is the _serial_direct_read parameter safe to use in production?
-
tanelpoder.com
-
13 years ago
-
eng
One of the most common Exadata performance problems I see is that the direct path reads (and thus also Smart Scans) don’t sometimes kick in when running full scans in serial sessions. This is because in Oracle 11g onwards, the serial full segment scan IO path decision is done dynamically, at runtime, for every SQL execution – and for every segment (partition) separately. Whether you get a direct path read & smart scan, depends on the curr....
|
|
Forcing Smart Scans on Exadata – is the _serial_direct_read parameter safe to use in production?
-
tanelpoder.com
-
13 years ago
-
eng
One of the most common Exadata performance problems I see is that the direct path reads (and thus also Smart Scans) don’t sometimes kick in when running full scans in serial sessions. This is because in Oracle 11g onwards, the serial full segment scan IO path decision is done dynamically, at runtime, for every SQL execution – and for every segment (partition) separately. Whether you get a direct path read & smart scan, depends on the curr....
|
|
This is a legacy post referring to how this blog was originally setup, using Pelican and Dropbox. It no longer reflects the current state of affairs, which can be read about here . This website is powered solely by the wonderful static blogging engine known as Pelican . A static blogging engine means that each time a change is made i.e. a new post is created, the entire site is rebuilt as static HTML & CSS pages. This may sound labor..
|
|
Nearly every day I see a new CSS module, jQuery boilerplate, or HTML5 template posted to Hacker News, or an article announcing the release of the latest version of Ember.js, whatever that is. Every so often, I follow the link out of curiosity; and every time, I close the page, disappointed. Permalink.
|
|
About 5 years ago I wrote about the risks that connecting to Oracle processes via debuggers may cause and what are (in my opinion) the safer and less safer options for taking stack samples from running Oracle processes. In the end of that article I listed different options for getting a stack traces and whether they were safe or not. For example, ORADEBUG-based process stack traces (DUMP ERRORSTACK, SHORT_STACK and event the process/s....
|
|
About 5 years ago I wrote about the risks that connecting to Oracle processes via debuggers may cause and what are (in my opinion) the safer and less safer options for taking stack samples from running Oracle processes. In the end of that article I listed different options for getting a stack traces and whether they were safe or not. For example, ORADEBUG-based process stack traces (DUMP ERRORSTACK, SHORT_STACK and event the process/s....
|
|
My Latest Project: Integrating Drupal and DreamHost DreamObjects
-
cscrunch.com
-
13 years ago
-
eng
DreamHost DreamObjects image Image from DreamHost . For a recent project, I needed to find a good, reliable, and inexpensive cloud storage solution to integrate with my Drupal site. As we know, developers are creatures of habit, and we often reuse the same solutions for similar problems. In looking for cloud storage solution, I first went to the two main competitors: Amazon S3 and Rackspace . I don't want to spend a lot of time ....
|
|
My Latest Project: Integrating Drupal and DreamHost DreamObjects
-
cscrunch.com
-
13 years ago
-
eng
DreamHost DreamObjects image Image from DreamHost . For a recent project, I needed to find a good, reliable, and inexpensive cloud storage solution to integrate with my Drupal site. As we know, developers are creatures of habit, and we often reuse the same solutions for similar problems. In looking for cloud storage solution, I first went to the two main competitors: Amazon S3 and Rackspace . I don't want to spend a lot of time ....
|
|
I’m reasonably proficient at SQL – a coworker when pseudocoding some logic for him pointed out that my pseudocode is what he thought was executable SQL . I’m fully capable of writing clear and readable SQL – which most SQL is not. Despite that I still have several bad habits when it comes to SQL. Without further adieu heres some of my dirty laundry so hopefully others can not make the same mistakes. Order/Group by Column Numbers Wh....
|
|
I’m reasonably proficient at SQL – a coworker when pseudocoding some logic for him pointed out that my pseudocode is what he thought was executable SQL . I’m fully capable of writing clear and readable SQL – which most SQL is not. Despite that I still have several bad habits when it comes to SQL. Without further adieu heres some of my dirty laundry so hopefully others can not make the same mistakes. Order/Group by Column Numbers Wh....
|
|
Well, it’s the end of the month and I have to post something for May. Despite Game of Snails being broken and nigh-unplayable, I’m posting it anyway. If you want to check it out, here are some disclaimers:
|
|
How I built running shoes for my whole family in one sunday afternoon (Huarache sandals)
-
jfoucher.com
-
13 years ago
-
eng
Some time ago, Diego Santamarta casually mentioned that the shoes he was wearing were not regular flip flops, but rather some kind of sandal which I had never heard about. “Oh ok” was my less than enthusiastic answer. In the meantime, and even before, I had been reading about barefoot running, even though I had never run more than a few hundred meters without panting uncontrollably. Yes, 15 years smoking does take it’s toll. After two yea....
|
|
How I built running shoes for my whole family in one sunday afternoon (Huarache sandals)
-
jfoucher.com
-
13 years ago
-
eng
Some time ago, Diego Santamarta casually mentioned that the shoes he was wearing were not regular flip flops, but rather some kind of sandal which I had never heard about. “Oh ok” was my less than enthusiastic answer. In the meantime, and even before, I had been reading about barefoot running, even though I had never run more than a few hundred meters without panting uncontrollably. Yes, 15 years smoking does take it’s toll. After two yea....
|
|
Trade offs As a developer you’re constantly faced with issues of choice: What library is best? What framework is best? What platform should we deploy on? Most of the time there isn’t a clear winner. The decision you make comes down to a series of trade offs. Do you want to optimize for developer happiness or performance? Do you care more about platform maturity or cost? One trade off Ember.js has made relates to how it favors long liv..
|
|
What I don’t understand is: why should you ever care how your editor looks, unless you’re trying to win a screenshot competition? The primary factor in looking good should be the choice of a good font at a comfortable size, and a syntax coloring theme that you like. And that is not something specific to an editor. Editors like Emacs and vi have almost no UI! If Emacs is configured right, the only UI it has is the modeline and the minibu..
|
|
What I don’t understand is: why should you ever care how your editor looks, unless you’re trying to win a screenshot competition? The primary factor in looking good should be the choice of a good font at a comfortable size, and a syntax coloring theme that you like. And that is not something specific to an editor. Editors like Emacs and vi have almost no UI! If Emacs is configured right, the only UI it has is the modeline and the minibu..
|
|
List Exadata Storage Cell disk summary with cellpd.sql and cellpdx.sql scripts
-
tanelpoder.com
-
13 years ago
-
eng
In the previous post I explained how to list Exadata disk layout and topology details with the exadisktopo scripts, in this post I’ll introduce one celldisk overview script, which I use to quickly see the celldisk configuration, specs and error statuses. The cellpd.sql script (Cell P hysical D isk) will show the following output: SQL> @exadata/ cellpd.sql Show Exadata cell versions from V$CELL_CONFIG.... DISKTYPE CELLNAME STATUS TO....
|
|
List Exadata Storage Cell disk summary with cellpd.sql and cellpdx.sql scripts
-
tanelpoder.com
-
13 years ago
-
eng
In the previous post I explained how to list Exadata disk layout and topology details with the exadisktopo scripts, in this post I’ll introduce one celldisk overview script, which I use to quickly see the celldisk configuration, specs and error statuses. The cellpd.sql script (Cell P hysical D isk) will show the following output: SQL> @exadata/ cellpd.sql Show Exadata cell versions from V$CELL_CONFIG.... DISKTYPE CELLNAME STATUS TO....
|
|
List Exadata Disk Layout and Topology with the exadisktopo scripts
-
tanelpoder.com
-
13 years ago
-
eng
Here are two more Exadata scripts for listing the end-to-end ASM<->Exadata disk topology from V$ASM_ views and from V$CELL_CONFIG. These scripts see both the ASM level layout and the storage cell-level disk topology. The exadisktopo.sql script shows all disks starting from the ASM diskgroup layer, going deeper and deeper all the way to the OS disk device level in the storage cells. It uses outer joins, so will show celldisks even if the..
|
|
List Exadata Disk Layout and Topology with the exadisktopo scripts
-
tanelpoder.com
-
13 years ago
-
eng
Here are two more Exadata scripts for listing the end-to-end ASM<->Exadata disk topology from V$ASM_ views and from V$CELL_CONFIG. These scripts see both the ASM level layout and the storage cell-level disk topology. The exadisktopo.sql script shows all disks starting from the ASM diskgroup layer, going deeper and deeper all the way to the OS disk device level in the storage cells. It uses outer joins, so will show celldisks even if the..
|
|
Previously in this series we’ve seen the definition of a category and a bunch of examples, basic properties of morphisms, and a first look at how to represent categories as types in ML. In this post we’ll expand these ideas and introduce the notion of a universal property. We’ll see examples from mathematics and write some programs which simultaneously prove certain objects have universal properties and construct the morphisms involved.
|
|
Previously in this series we’ve seen the definition of a category and a bunch of examples, basic properties of morphisms, and a first look at how to represent categories as types in ML. In this post we’ll expand these ideas and introduce the notion of a universal property. We’ll see examples from mathematics and write some programs which simultaneously prove certain objects have universal properties and construct the morphisms involved.
|
|
Previously in this series we’ve seen the definition of a category and a bunch of examples, basic properties of morphisms, and a first look at how to represent categories as types in ML. In this post we’ll expand these ideas and introduce the notion of a universal property. We’ll see examples from mathematics and write some programs which simultaneously prove certain objects have universal properties and construct the morphisms involved.
|
|
When I wrote Writer’s Guilt a few hours ago, I was done. I was drained. I was finished, and I was mad. Nevertheless, for an article written in anger, it turned out to be pretty good. As I walked downstairs after publishing it, I couldn’t help but feel just a little proud. Then I had a banana, an orange, sat down on the couch, and watched The Fast and The Furious: Tokyo Drift for the first time in much too long. I had forgotten how great..
|
|
Did you know that there’s something like Active Session History also in the Exadata storage cells? ;-) The V$CELL_THREAD_HISTORY view is somewhat like V$ACTIVE_SESSION_HISTORY, but it’s measuring thread activity in the Exadata Storage Cells: SQL> @desc v$cell_thread_history Name Null? Type ------------------------------- -------- ---------------------------- 1 CELL_NAME VARCHAR2(1024) 2 SNAPSHOT_ID NUMBER 3 SNAPSHOT_TIME DAT....
|
|
Did you know that there’s something like Active Session History also in the Exadata storage cells? ;-) The V$CELL_THREAD_HISTORY view is somewhat like V$ACTIVE_SESSION_HISTORY, but it’s measuring thread activity in the Exadata Storage Cells: SQL> @desc v$cell_thread_history Name Null? Type ------------------------------- -------- ---------------------------- 1 CELL_NAME VARCHAR2(1024) 2 SNAPSHOT_ID NUMBER 3 SNAPSHOT_TIME DAT....
|