"A meek endeavor to the triumph" by Sampath Jayarathna

Thursday, July 07, 2016

Microsoft Word Table of Content Edits

I'm in my final edits for Dissertation corrections, and large part of errors are coming from formatting issues in the Table of Content. Here's few methods I find useful while working on my edits. I'm using Office 2013, so the required menu items might be different from your version. 

How to change the Upper Case Roman Numerals to Lower Case?

This is due to your Table of Content (TOC) level 1 font is in All Caps. Press Ctrl + Shift + S to open the Apply Style dialog and select TOC1 and press modify. Go to format dropdown list in the bottom and Font, remove the check mark on the All Caps. This will change your Upper Case Roman Numerals in the TOC to lower case. If it is different, then check your actual page numbers whether they are in lower case.

Saturday, March 26, 2016

Current and Upcoming my favorite TV Shows (including links to watch free)

Reality TV
  • Deadliest Catch - Season 12 - starting March 29,2016 (watch free)
  • Wicked Tuna - Season 5 (watch free)
  • Survivor - Season 32 (watch free)
  • Colony - Season 1 (watch free)
  • Dark Matter - Season 1 (watch free)
  • The Expanse - Season 1 (watch free)
  • The 100 - Season 3 (watch free)
  • Continuum - all seasons (watch free)
  • Narcos - Season 1 (watch free)
  • Marco Polo - Season 1 (watch free)
  • Entourage - all seasons (watch free)
  • Californication - all seasons (watch free)
  • Weeds - all seasons (watch free)
If you find you have a similar taste to mine, then here's my list of favorite TV shows in the form of an IMDB list. I normally keep my list updated as I continue watching new shows. 

Wednesday, March 23, 2016

"The Voice" Season 10 - Winner Predictions

The battle round is done. We are ready for the Knockouts.

Here's my predictions for the Season 10 Live Playoff from each team,

Adam Levine: Ryan Quinn

Pharrell Williams: Nick Hagelin

Christina Aguilera: Bryan Bautista,

Blake Shelton: Adam Wakefield, Mary Sarah

The Prediction for the Winner: Adam Wakefield (he got me after the Tenseness Whiskey)

The only studly manly Adam in the Voice :) Classic Blake

Sunday, March 20, 2016

Live Web Cam - MR. PRESIDENT & THE FIRST LADY (Bald Eagles)

In 2014, a pair of mated Bald Eagles chose the most idyllic of nest sites within the United States’ National Capital (Washington, DC), nestled high in a Tulip Poplar tree amongst the Azalea Collection at the U.S. National Arboretum, which is operated by the United States Department of Agriculture. This is the first Bald Eagle pair to nest in this location since 1947. The two Eagles have been iconically named “Mr. President” and “The First Lady.” Join us in viewing the most patriotic nest cam in the United States, 24 hours a day.

DC2 hatched at 8:27 a.m. March 18, 2016 Eastern Daylight Time. Pipping is underway for the 2nd egg. When hatched, it will be called DC3. DC1 was the first offspring of Mr. President and The First Lady, successfully fledging last season. If you want to try and guess the hatch dates/times of the second egg, hashtag #dceaglecam on Twitter, Instagram, and Facebook with your prediction (Eastern Daylight Time).

Link to Live Web Cam

Friday, March 18, 2016

Rude Llama Disrupts Dancing Peacock

Rude Llama steps on a dancing Peacock.
Location: Franklin Drive Thru Safari, Franklin, TX 77856

Friday, March 11, 2016

How to block Youtube Video from a Channel or block entire Channel - for Annoyed Parents :)

If you have younger kids, I bet you are already annoyed by some of the YouTube channels. My 6 year old recently started having an affinity for Minecraft games and for some reason he kind of addicted to game play videos on YouTube channels, and to these channels/people who play the Minecraft and voice over the game action. Some of these adult players use foul language and I don't want to have my kid listens to these crap all day long. I don't mind if he watches cartoons or any other educational videos, but I hate some of these channels like "Annoying Orange", "Stampy", "Stampylonghead" etc.

So, I found a great browser add-on to block these channels. If you are using chrome, you are in a luck. Here's how to block these YouTube channels

Install Video Blocker on Chrome

Follow this link and download the extension for Chrome by clicking on the “Free” button.

When the “Confirm New Extension” box pops up, be sure to click on “Add”. Once it has been installed, you can block channels in one of two ways.

Using Right Click on Video short cut Menu 
Find the thumbnail for a video, any video, made by this channel. Right click on it and select “Block Videos From this Channel”. That’s it!

Using Option Menu (You can restore some channels using this method)

Under the Chrome Menu button in the upper right corner of the browser, select Settings. From there, click on Extensions and under “Video Blocker” click on “Options”. If you have a TON of channels you dislike, you can actually load them via a .csv, but If you are really that heated about hundreds of channels I’ll let you go figure out how to do that bit yourself. To do it one at a time, click on the plus button.

Type the channel name into the box provided and click “Add”. One thing to note here, everything you enter is case-sensitive, so videos from a channel named 'VAVO' will not be hidden when you add 'vavo'. The same goes when using the wildcard feature, which blocks multiple channels containing the same text string.

So whether you like it long or short, this is a quick and easy method to remove a channel from your sight forever. (or until YouTube makes a major update and breaks the extension, which happened yet thanks to constant updates from the creator)

Monday, February 22, 2016

Next big thing in Computing? (Chris Dixon Article link included)

What’s Next in Computing?

The computing industry progresses in two mostly independent cycles: financial and product cycles. There has been a lot of handwringing lately about where we are in the financial cycle. Financial markets get a lot of attention. They tend to fluctuate unpredictably and sometimes wildly. The product cycle by comparison gets relatively little attention, even though it is what actually drives the computing industry forward. We can try to understand and predict the product cycle by studying the past and extrapolating into the future.

Read the full article at the original post here

Wednesday, February 17, 2016

(Funny) Grandpa was summoned for an audit

The IRS decides to audit Grandpa, and summons him to the IRS office. The IRS auditor was not surprised when Grandpa showed up with his attorney.

The auditor said, ‘Well, sir, you have an extravagant lifestyle and no full-time employment, which you explain by saying that you win money gambling. I’m not sure the IRS finds that believable.’

‘I’m a great gambler, and I can prove it,’ says Grandpa. ‘How about a demonstration?’

The auditor thinks for a moment and says, ‘Okay. Go ahead. ‘

Grandpa says, ‘I’ll bet you a thousand dollars that I can bite my own eye.’

The auditor thinks a moment and says, ‘It’s a bet.’

Grandpa removes his glass eye and bites it. The auditor’s jaw drops.

Grandpa says, ‘Now, I’ll bet you two thousand dollars that I can bite my other eye.’

The auditor can tell Grandpa isn’t blind, so he takes the bet.

Grandpa removes his dentures and bites his good eye. The stunned auditor now realizes he has wagered and lost three grand, with Grandpa’s attorney as a witness. He starts to get nervous.

‘Want to go double or nothing?’ Grandpa asks ‘I’ll bet you six thousand dollars that I can stand on one side of your desk, and pee into that wastebasket on the other side, and never get a drop anywhere in between.’

The auditor, twice burned, is cautious now, but he looks carefully and decides there’s no way this old guy could possibly manage that stunt, so he agrees again.

Grandpa stands beside the desk and unzips his pants, but although he strains mightily, he can’t make the stream reach the wastebasket on the other side, so he pretty much urinates all over the auditor’s desk.

The auditor leaps with joy, realizing that he has just turned a major loss into a huge win.

But Grandpa’s own attorney moans and puts his head in his hands.

‘Are you okay?’ the auditor asks.

‘Not really,’ says the attorney. ‘This morning, when Grandpa told me he’d been summoned for an audit, he bet me twenty-five thousand dollars that he could come in here and pee all over your desk and that you’d be happy about it.’

Friday, January 15, 2016

Replace your cheap Windshield Mount for Garmin Nuvi with this AC Vent Mount

Brought it from Amazon Nov, 2015

It took a while to get it from seller about 2 weeks. I guess it came from outside of US. No documentations, just the mount, 2 clips and the base in a clear cover.

After going through 2 windshield mounts for my Gramin Nuvi (blame for Texas weather), I think this should work. Real test comes this thanksgiving travel. More updates later.
But for right now, it fits my Grand Vitara perfectly, clipped on to the front AC vent and there's a small latch at the end of the clip which hold on to the vents perfectly.

-Update 1: Jan 15, 2016

After using it closer to 2 months, I'm changing my ratings from 4 stars to.......5 starts :)

Yes people, this is the real deal. No more slipping/melting windshield mounts for me. Had an ultimate road trip during shaky Goliath snow storm through Abilene, Texas to Roswell, NM and stranded in Snyder TX for the day. This worked very well for the mere $2 I spend. Well worth it. It hangs in there, no shaking, no moving. Remember you need to use the hinges at the very end of the clips to connect it inside the AC Vent. It wont move or slip. There's a base in the mount which snugly sits on the base of the front AC Vent. I'll add some pics later. I believe others that its harder to remove. I normally keep the mount sits there and only remove the GPS unit. Its very small and unnoticeable. Let me know if you have any comments about this.......Best buy ever!

Wednesday, December 30, 2015

[Weka] Attribute Selection/Ranking using Relief Algorithm

Following code snippet will show you how to find attribute ranking of the features from a data set before using in classification applications. I will be using the standard Weka 3.7.13 and the sample data file "weather.numeric.arff" inside your data folder of the Weka. I assume you know how to setup weka.jar files in your development environment.

Attribute means the something as feature in Weka.

This is the content of the sample data file,
@relation weather
@attribute outlook {sunny, overcast, rainy}
@attribute temperature numeric
@attribute humidity numeric
@attribute windy {TRUE, FALSE}
@attribute play {yes, no}
To perform attribute selection, three elements are required. One is search method, and the second is evaluation method. Both elements need to be initiated and defined in a container class AttributeSelection. The third element is data. So the general framework of setting up attribute selection is like this:

 public static void main(String[] args) throws Exception {
         // load data
         String workingDirectory = System.getProperty("user.dir");
        String fs = System.getProperty("file.separator");
        String wekadatafile = workingDirectory + fs + "data" + fs + "weather.numeric.arff";
        BufferedReader datafile = readDataFile(wekadatafile);
        Instances data = new Instances(datafile);

         if (data.classIndex() == -1)
                data.setClassIndex(data.numAttributes() - 1);
         useLowLevel(data, wekadatafile);

   * uses the low level approach
  protected static void useLowLevel(Instances data, String datafile) throws Exception {
         System.out.println("\n3. Low-level");
         AttributeSelection attsel = new AttributeSelection();
         Ranker search = new Ranker();
         ReliefFAttributeEval evals = new ReliefFAttributeEval();
         // un-comment here to display the results from the ranking
         // expand the ranked attributes so you can find the index, name and weight of the features
         double[][] ranked = attsel.rankedAttributes();
         System.out.println("ranked attributes!!!\n");
         for(int i=0;i<ranked.length;i++){
          System.out.println(" Feature:"+ data.attribute(index).name() +" weight:"+ ranked[i][1]);

3. Low-level
ranked attributes!!!
Feature:outlook weight:0.0548
Feature:humidity weight:0.0113
Feature:windy weight:-0.0024
Feature:temperature weight:-0.0314

The overall setup for attribute selection is clear and intuitive. What's not so obvious is that search methods include ranking and sub-setting methods, and correspondingly, evaluation methods have individual evaluation and subset evaluation. Ranking search can't be used together with a subset evaluator, and vice versa. 

If you are using Subset evaluation methods like CfsSubsetEval, then you need to use Subset search method like GreedyStepwise etc. 
    //CfsSubsetEval eval = new CfsSubsetEval();
    //GreedyStepwise greedySearch = new GreedyStepwise();

Subset Search Methods:
1. BestFirst
2. GreedyStepwise
3. FCBFSearch (ASU)

Subset Evaluation Methods:
1. CfsSubsetEval
2. SymmetricalUncertAttributeSetEval (ASU)

Individual Search Methods:
1. Ranker

Individual Evaluation Methods:
1. CorrelationAttributeEval
2. GainRatioAttributeEval
3. InfoGainAttributeEval
4. OneRAttributeEval
5. PrincipalComponents (used with a Rander search to perform PCA and data transform
6. ReliefFAttributeEval
7. SymmetricalUncertAttributeEval

Monday, December 07, 2015

58th Annual Grammy Awards, Full list of nominations, Award Predictions, Winners

The first batch of nominations for the 58th Annual Grammy Awards was announced at 8:15 a.m. ET on CBS This Morning Monday.

Here's my predictions for the winners of 58th Annual Grammy Awards,

Album of the Year
Alabama Shakes, Sound and Color
Kendrick Lamar, To Pimp a Butterfly
Chris Stapleton, Traveller
Taylor Swift, 1989
The Weekend, Beauty Behind the Madness

Song of the Year
Kendrick Lamar, "Alright"
Taylor Swift, "Blank Space"
Little Big Town, "Girl Crush"
Wiz Kahifa feat. Charlie Puth, "See You Again"
Ed Sheeran, "Thinking Out Loud"

Record of the Year
D'Angelo and the Vanguard, "Really Love"
Mark Ronson feat. Bruno Mars, "Uptown Funk"
Ed Sheeran, "Thinking Out Loud"
Taylor Swift, "Blank Space"
The Weeknd, "Can't Feel my Face"

Best New Artist
Courtney Barnett
James Bay
Sam Hunt
Tori Kelly
Meghan Trainor

Best Pop Duo/Group Performance
Florence + The Machine, " Ship to Wreck"
Maroon 5, "Sugar"
Mark Ronson feat. Bruno Mars, "Uptown Funk"
Taylor Swift feat. Kendrick Lamar, "Bad Blood"
Wiz Khalifa feat. Charlie Puth, "See You Again"

Best Traditional Pop Vocal Album
Tony Bennett & Bill Charlap, The Silver Lining: The Songs of Jerome Kern
Bob Dylan, Shadows in the Night
Josh Groban, Stages
Seth MacFarlane, No One Ever Tells You
Barry Manilow (& Various Artists), My Dream Duets

Best Pop Vocal Album
Kelly Clarkson, Piece by Piece
Florence + The Machine, How Big, How Blue, How Beautiful
Mark Ronson, Uptown Special
Taylor Swift, 1989
James Taylor, Before This World

Best Dance Recording
Above & Beyond feat. Zoë Johnston, :We're All We Need"
The Chemical Brothers, "Go:
Flying Lotus feat. Kendrick Lamar, "Never Catch Me"
Galantis, "Runaway (U & I)"
Skrillex and Diplo With Justin Bieber, "Where Are Ü Now"

Best Rock Performance
Alabama Shakes, "Don't Wanna Fight"
Florence + The Machine,"What Kind Of Man"
Foo Fighters, "Something From Nothing"
Elle King, "Ex's & Oh's"
Wolf Alice, "Moaning Lisa Smile"

Best Alternative Music Album
Alabama Shakes, Sound & Color
Björk, Vulnicura
My Morning Jacket, The Waterfall
Tame Impala, Currents
Wilco, Star Wars

Best Urban Contemporary Album
The Internet, Ego Death
Kehlani, You Should Be Here
Lianne La Havas, Blood
Miguel, Wildheart
The Weeknd, Beauty Behind the Madness

Best Rap Album
J. Cole, 2014 Forest Hills Drive
Dr. Dre, Compton
Drake, If Youre Reading This Its Too Late
Kendrick Lamar, To Pimp a Butterfly
Nicki Minaj, The Pinkprint

Best Country Album
Sam Hunt, Montevallo
Little Big Town, Pain Killer
Ashley Monroe, The Blade
Kacey Musgraves, Pageant Material
Chris Stapleton, Traveller

Best Jazz Instrumental Album
Joey Alexander, My Favorite Things
Terence Blanchard feat. The E-Collective, Breathless
Robert Glasper & The Robert Glasper Trio, Covered: Recorded Live at Capitol Studios
Jimmy Greene, Beautiful Life
John Scofield, Past Present

Best Gospel Album
Karen Clark Sheard, Destined to Win (Live)
Dorinda Clark-Cole, Living It
Tasha Cobbs, One Place Live
Israel & Newbreed, Covered: Alive Is Asia [Live] (Deluxe)
Jonathan McReynolds, Life Music: Stage Two

Best Contemporary Christian Music Album
Jason Crabb, Whatever the Road
Lauren Daigle, How Can It Be
Matt Maher, Saints and Sinners
Tobymac, This Is Not a Test
Chris Tomlin, Love Ran Red

Best Latin Pop Album
Pablo Alborán, Terral
Alex Cuba, Healer
Ricky Martin, A Quien Quiera Escuchar (Deluxe Edition)
Alejandro Sanz, Sirope
Julieta Venegas, Algo Sucede

Best Americana Album
Brandi Carlile, The Firewatcher's Daughter
Emmylou Harris & Rodney Crowell, The Traveling Kind
Jason Isbell, Something More Than Free
The Mavericks, Mono
Punch Brothers, The Phosphorescent Blues

Best Dance/Electronic Album
Caribou, Our Love
The Chemical Brothers, Born in the Echoes
Disclosure, Caracal
Jamie XX, In Colour
Skrillex and Diplo, Skrillex and Diplo Present Jack Ü

Best Contemporary Instrumental Album
Bill Frisell, Guitar in the Space Age!
Wouter Kellerman, Love Language
Marcus Miller, Afrodeezia
Snarky Puppy & Metropole Orkest, Sylva
Kirk Whalum, The Gospel According to Jazz, Chapter IV

Best Metal Performance
August Burns Red, "Identity"
Cirice, "Ghost"
Lamb of God, "512"
Sevendust, "Thank You"
Slipknot, "Custer"

Best Rock Song
Alabama Shakes, "Don't Wanna Fight"
Elle King, "Ex's & Oh's"
James Bay, "Hold Back the River"
Highly Suspect, "Lydia"
Florence + the Machine, "What Kind of Man"

Best Rock Album
James Bay, Chaos and the Calm
Death Cab for Cutie, Kintsugi
Highly Suspect, Mister Asylum
Muse, Drones
Slipknot, .5: The Gray Chapter

Best R&B Performance
Tamar Braxton, "If I Don't Have You"
Andra Day, "Rise Up"
Hiatus Kaiyote, "Breathing Underwater"
Jeremih feat. J. Cole, "Planes"
The Weeknd, "Earned It (Fifty Shades of Grey)"
Best Traditional R&B Performance
Faith Evans, "He Is"
Lalah Hathaway, "Little Ghetto Boy"
Jazmine Sullivan, "Let It Burn"
Tyrese, "Shame"
Charlie Wilson, "My Favorite Part of You"

Best R&B Song
Miguel, "Coffee"
The Weeknd, "Earned It (Fifty Shades of Grey)"
Jazmine Sullivan, "Let It Burn"
D'Angelo and The Vanguard, "Really Love"
Tyrese, "Shame"

Best R&B Album
Leon Bridges, Coming Home
D'Angelo and the Vanguard, Black Messiah
Andra Day, Cheers to the Fall
Jazmine Sullivan, Reality Show
Charlie Wilson, Forever Charlie

Best Rap Performance
J. Cole, "Apparently"
Drake, "Back to Back"
Fetty Wap, "Trap Queen"
Kendrick Lamar, "Alright"
Nicki Minaj feat. Drake & Lil Wayne, "Truffle Butter"
Kanye West feat. Theophilus London, Allan Kingdom & Paul McCartney, "All Day"

Best Rap/Sung Collaboration
Big Sean feat. Kanye West & John Legend, "One Man Can Change the World"
Common & John Legend, "Glory"
Jidenna feat. Roman GianArthur, "Classic Man"
Kendrick Lamar feat. Bilal, Anna Wise & Thundercat, "These Walls"
Nicki Minaj feat. Drake, Lil Wayne & Chris Brown, "Only"

Best Rap Song
Kanye West feat. Theophilus London, Allan Kingdom & Paul McCartney, "All Day"
Kendrick Lamar, "Alright"
Drake, "Energy"
Common & John Legend, "Glory"
Fetty Wap, "Trap Queen"

Best Country Duo/Group Performance
Brothers Osborne, "Stay a Little Longer"
Joey + Rory, "If I Needed You"
Charles Kelley, Dierks Bentley & Eric Paslay, "The Driver"
Little Big Town, "Girl Crush"
Blake Shelton feat. Ashley Monroe, "Lonely Tonight"

Best Country Song
Lee Ann Womack, "Chances Are"
Tim McGraw, "Diamond Rings And Old Barstools"
Little Big Town, "Girl Crush"
Brandy Clark, "Hold My Hand"
Chris Stapleton, "Traveller"

Best Country Solo Performance
Cam, "Burning House"
Chris Stapleton, "Traveller"
Carrie Underwood, "Little Toy Guns"
Keith Urban, "John Cougar, John Deere, John 3:16"
Lee Ann Womack, "Chances Are"

Best Pop Solo Performance
Kelly Clarkson, "Heartbeat Song"
Ellie Goulding, "Love Me Like You Do"
Ed Sheeran, "Thinking Out Loud"
Taylor Swift, "Blank Space"
The Weeknd, "Can't Feel My Face"

Best Compilation Soundtrack for Visual Media
Empire: Season 1
Fifty Shades of Grey
Glen Campbell: I'll Be Me
Pitch Perfect 2

Best Compilation Soundtrack for Visual Media
The Weeknd, "Earned It (Fifty Shades Of Grey)"
Common & John Legend, "Glory"
Ellie Goulding, "Love Me Like You Do"
Wiz Khalifa feat. Charlie Puth, "See You Again"
Lady Gaga, "Til It Happens to You"

Score Soundtrack for Visual Media
The Imitation Game
The Theory of Everything

Best Music Video
A$AP Rocky, "LSD"
The Dead Weather, "I Feel Love"
Kendrick Lamar, "Alright"
Taylor Swift feat. Kendrick Lamar, "Bad Blood"
Pharrell Williams, "Freedom"

Best Music Film
Foo Fighters, Sonic Highways
James Brown, Mr. Dynamite: The Rise of James Brown
Nina Simone, What Happened, Miss Simone
Roger Waters, The Wall
Amy Winehouse, Amy

Best New Age Album
Paul Avgerinos, Grace
Madi Das, Bhakti Without Borders
Catherine Duc, Voyager
Peter Kater, Love
Ron Korb, Asia Beauty

Best Improvised Jazz Solo
Joey Alexander, "Giant Steps"
Christian McBride, "Cherokee"
Donny McCaslin, "Arbiters of Evolution"
Joshua Redman, "Friend or Foe"
John Scofield, "Past Present"

Best Jazz Vocal Album
Karrin Allyson, Many a New Day: Karrin Allyson Sings Rodgers & Hammerstein
Denise Donatelli, Find a Heart
Lorraine Feather, Flirting With Disaster
Jamison Ross, Jamison
Cécile McLorin Salvant, For One to Love

Best Large Jazz Ensemble Album
Gil Evans Project, Lines of Color
Marshall Gilkes & WDR Big Band, Köln
Arturo O'Farrill & The Afro Latin Jazz Orchestra, Cuba: The Conversation Continues
Maria Schneider Orchestra, The Thompson Fields
Patrick Williams, Home Suite Home

Best Latin Jazz Album
Eliane Elias, Made in Brazil
The Rodriguez Brothers, Impromptu
Gonzalo Rubalcaba, Suite Caminos
Wayne Wallace Latin Jazz Quintet, Intercambio
Miguel Zenón, Identities Are Changeable

Best Gospel Performance/Song
Anthony Brown & Group Therapy, "Worth [Live]"
Kirk Franklin, "Wanna Be Happy?"
Travis Greene, "Intentional"
Israel & Newbreed feat. Yolanda Adams, "How Awesome Is Our God [Live]"
Brian Courtney Wilson, "Worth Fighting For [Live]"

Best Contemporary Christian Music Performance/Song
Francesca Battistelli, "Holy Spirit"
Crowder, "Lift Your Head Weary Sinner (Chains)"
Matt Maher, "Because He Lives (Amen)"
Third Day feat. All Sons & Daughters, "Soul on Fire"
Tobymac feat. Mr. Talkbox, "Feel It"

Wednesday, September 30, 2015

[Monday Motivator] Saying 'No' At Mid-Career - September 28, 2015

This is an excerpt from the Monday Motivator Program of Center for Faculty Development and Diversity. Please find the original document here. The National Center for Faculty Development and Diversity is an independent professional development, training, and mentoring community of over 71,000 graduate students, post-docs, and faculty members.

Sociologists have tested the hypothesis that women do more service than their male counterparts at mid-career and found significant gender gaps in both service work (women do more of it) and advancement to full professor (men are more likely to advance). While working the same number of total hours, men spent seven hours more per week on research than women, who were investing that time in service and mentoring. I often work with mid-career faculty members (mostly women) who are overwhelmed with service requests, over-functioning on departmental service, and feeling exhausted, angry and resentful about the work. And yet, when asked why they keep doing more service, I hear the same thing repeatedly: "I can’t say no."

Given the twin realities that mid-career women (especially the "nice" and "helpful" ones) get more service requests than their male counterparts and that saying yes too often draws time away from the very activities that lead down the path to promotion, it seems to me that one of the most critical skills for success at mid-career is ability to say "no” clearly and confidently and to remove the phrase "I can’t say no” from your professional vocabulary.

What Keeps You From Saying No?
If you’re someone who is over-functioning on service to the detriment of your post-tenure pathway, don’t worry! There’s no shame in acknowledging it and moving toward an exploration of why that is your reality. In other words, if you know you should say "no” and you need to say "no” more often, then the most important question is what’s keeping you from uttering the magic word?

I’ve observed three types of factors that keep mid-career faculty (especially women) from saying "no” more often, more confidently, and more strategically then is necessary to pursue their post-tenure path: 1) Technical Errors, 2) Psychological Blocks and 3) External Constraints.

Technical Errors
Sometimes mid-career faculty have a vague sense that they should say "no” more often and that their physical and emotional exhaustion can be traced directly to service overload. They are not however, putting any conscious effort into actually saying "no.” This can be due to a variety of technical errors including:
You literally don't know how to say "no" in a manner appropriate to the context
"Yes” is your default response (and you feel must have an extraordinary reason to say "no”)
You have no idea how much time "yes” takes
You haven’t recognized the connection between the time required to fulfill "yes” commitments and the time you feel you’re missing for truly important activities
You don’t have a clear and consistent filter to help you decide when to say "yes” and when to say "no”

The great thing about technical errors is that they are easy to fix! If you don’t know how to say "no,” then practice (here are 7 Simple Ways to Say No). If "yes” is your unconscious default response, try making "no” your default response for a while and see what happens. If you don’t know how much time a "yes” takes, start tracking how long each and every "yes” costs you. As soon as you start realizing that "yes” is a commitment to a unit of your most precious commodity (time), you’ll get much more selective about how, when and to whom you give it away. If you aren’t clear about the linear connection between the time you’re giving away and the time you don’t have for truly important activities, start holding a Sunday Meeting each week. And if you don’t have a clear filter to decide between "yes” and "no,” either develop one or create a human filter (i.e., a service mentor, a buddy or an accountability group) to help you while you are building this muscle.

Psychological Blocks
Fixing the basic technical errors will be helpful, but more often than not the reason you’re saying "yes” too often is that that there’s a little something deeper going on and it requires a different process than a tip or trick. The goal of identifying psychological blocks is to become aware of why you feel compelled to say "yes” so often and then experiment with different beliefs and behaviors in your decision making. The most common psychological blocks to saying "no" I see among mid-career faculty are:
You’re a pleaser (you're more concerned about people liking you than you are about meeting your own goals)
You’re trying to be super-professor (trying to do a little of everything but not doing any one thing well)
You’re a perfectionist
You feel overly responsible for things that aren’t entirely your responsibility
You believe everything will fall apart unless you do the work
You’re overcompensating and/or trying to prove you belong
You always put other people’s needs before your own

Unlike technical errors, psychological blocks are not immediately fixable with a new skill. Instead, resolving them requires an ongoing process where you first and foremost become aware of how you feel when you receive a request. And until you can gain in-the-moment clarity about what to say "yes” and "no” to, don’t respond on the spot. Once you have some time, ask yourself why your first impulse is to say "yes.” Once you can identify how you’re feeling and if any of the common blocks are occurring, check in with a buddy, mentor or support system to discuss the costs and benefits of saying "yes” or "no” to a particular request. This process will help you to experiment with saying "no” more often, develop a clear and consistent filter for your decision-making, and lead to a more equitable and balanced service load.

External Constraints
You can do all the inner work possible and yet sometimes circumstances outside of your control force you into a situation where your "yes” is a sub-optimal but necessary response. For example, someone died and you’re the only person with substantive expertise who can step in and teach their graduate seminar halfway through the term. This happens to everyone at some point if you have a long academic career, so negotiate the best possible circumstances for your "yes,” get the support you will need to make the "yes” a realistic possibility, and lean into your network. It’s also critically important to adjust your expectations about what’s possible during those times in order to be focused on moving your agenda forward.

The Weekly Challenge
I know this is a delicate topic, but this week I challenge every mid-career reader who is feeling "stuck” to:
  • Reflect on your past academic year and gently ask yourself: Do I have a problem with "yes”?
  • If you determine that you are over-functioning relative to your colleagues, take 10 minutes to identify what keeps you from saying "no” more often.
  • If it’s a combination of factors, pick one step you can take to move forward this week.
  • Write every day for at least 30 minutes. It’s the very best insulation you can provide yourself for the unexpected moments of external constraint.
I hope this week brings you the desire to explore your habits around saying "yes” and the willingness to take the first step in a new direction.

[Monday Motivator] Just Say No - September 14, 2015

This is an excerpt from the Monday Motivator Program of Center for Faculty Development and Diversity. Please find the original document here. The National Center for Faculty Development and Diversity is an independent professional development, training, and mentoring community of over 71,000 graduate students, post-docs, and faculty members.

One of the most frequent and difficult pieces of advice I received as a pre-tenure faculty member was "just say no." I always felt frustrated by this advice because (while well-intended and correct) it is far easier said than done, especially for under-represented faculty. This difficulty is due to the fact that being the only _____ in your department means you will receive a disproportionately high number of service requests from all across your campus in the name of "diversity." That additional service will neither be rewarded, nor serve as a substitute for published research (at a research-intensive university), nor will it offset lackluster teaching evaluations (at a teaching-intensive institution) when it comes time for your promotion and tenure decision. While "just say no" is important advice for all tenure-track faculty, it is essential for under-represented faculty who are challenged to say "no" more frequently, and to a broader range of campus leaders, in order to have the necessary time to excel in the areas that matter most to promotion: research, publication, and teaching.

I continue to struggle with the "just say no" advice, but I have improved over time. The keys to making it work are: 1) self-awareness about why you feel the need to say "yes" so often and 2) developing a process for evaluating and responding to the never-ending stream of service requests you receive. Here are the six guidelines that Tracey Laszloffy and I suggest in The Black Academic's Guide to Winning Tenure Without Losing Your Soul.

1) Avoid Saying "Yes" On The Spot
Whenever someone asks you to do something, avoid saying "yes" before you’ve had time to consider the request. Try to buy some time by saying something like "Let me check my calendar/workload and I'll get back to you," "I'm currently overwhelmed, so I need to think seriously about taking on any additional service commitments" or just "I'll email you tomorrow." If you’re consistently holding your Sunday Meeting, then one look at your weekly time map will make it clear whether (or not) you have time available to accommodate any additional requests. 

2) Estimate How Long It Will Actually Take You To Complete The Request
I keep track of how much time various routine requests take so that I can be informed when I make decisions. For example, while a search committee always sounds like an exciting and important opportunity to meet new scholars, shape the future of the department, and enjoy a few free dinners, it’s also an enormous time commitment. Specifically, it takes 70-80 hours of my time from the initial meeting to the receipt of a signed offer letter. An independent study = 15 hours, an article review = 6 hours, an "informal talk" to a community group = 5 hours. Your time estimates may be different than mine but what's important is connecting any request you receive with actual hours of labor. And if you don’t know how long something will take, don’t guess – ask your colleagues, peers and/or mentors (then multiply by 2 to correct for academic’s tendency to underestimate the amount of time tasks take to complete). 

3) Consult Your Calendar
Like most of you, my calendar is jam-packed and the further we get into the term, the less time I have available. When someone makes a request, ask yourself: what specific day and time do I have available to complete this task? Not in a general sense, but literally what day, and what period of time are available in your calendar for this activity? Given that you’re not going to compromise your daily writing, research time, or class time, this often makes the decision clear and easy. If you can't schedule it in your calendar, then you don’t have time to do it. 

4) Ask Yourself: Why Would I Say "Yes"?
For a long time, "yes" was my unconscious default response. I automatically responded "yes" and thought I had to have a special reason to say "no." Then each term, I ended up spending too much time on service, got exhausted, and became angry, resentful, and inter-personally unpleasant. Finally I started asking myself: "why do you keep saying yes all the time?" For me, it was some combination of bad gender socialization, wanting to please people who had power over me, trying to avoid the punishment I imagined would occur if I said "no," overcompensating for other aspects of my work where I felt less confident, trying to correct longstanding historical and structural inequalities at my institution, single-handedly making up for all the systemic failures my students had experienced in their academic career, and seeking to nullify all negative stereotypes by being super-minority-faculty-member. With all those intentions operating under the surface, no wonder I kept saying "yes" to every request or alternatively, feeling intense guilt, shame and disappointment on the few occasions I said "no." Thankfully, once I became aware of why I said "yes" so often, I was able to develop a new criteria for evaluating requests and flip my default upside down. Now my automatic response is "no" and I require a special reason to say "yes" (and don't worry, there are still plenty of those!). 

5) Figure Out How To Say "No" And Do It!
There are so many ways to say "no "and I am always shocked by how easily people accept "no" for an answer and move on to find someone else to accommodate their request. You could say "no" in any of the following ways:
"That sounds like a really great opportunity, but I just can't take on any additional commitments at this time."
"I am in the middle of _________, ____________, and ___________ [fill in the blanks with your most status-enhancing and high profile service commitments] and if I hope to get tenure, I'm unable to take on any additional service."
"I'm not the best person for this, why don't you ask ______________."
"If you can find a way to eliminate one of my existing service obligations, I will consider your request."
"No." [look the asker in the eye and sit in silence].

6) Serve Strategically
Finally, the best advice one of my mentors gave me was to be strategic about my service. That means, you want to determine what percentage of your tenure and promotion evaluation will be based on service. It doesn’t have to be perfectly precise, but whatever the percentage is, use it as a guideline for how much time you can spend on service each week. If service only counts as 10% of your promotion criteria, then spending anything more than 4-6 hours per week on service activities means you’re over-functioning in that area. The percentage will be different according to your institutional type and culture, but once you know approximately how much time you can spend on service each week, then say "yes" only to the things that fit your broader agenda or make substantive sense for you to participate in.

Learning how, when and why to "just say no" isn’t easy. It takes time, practice, and clarity. But doing so is an important part of making time for the things that really matter to your long-term success and keeping you from getting burned out while on the tenure-track.

The Weekly Challenge
This week, I challenge you to do the following:
  • If you feel overwhelmed by service commitments (or aren't happy with your research and writing productivity), patiently ask yourself why you say "yes" so frequently.
  • Gently acknowledge that the reality of life on the tenure-track is that you will ALWAYS have more service requests than time to fulfill them.
  • For one week, say "no" to EVERY new request you receive (just to see what it feels like).
  • With each request, let "no" be your default response and wait for a reason to say "yes".
  • If that seems too crazy, then at least commit to reviewing your calendar and existing tasks before saying "yes" to any new commitments.
  • Re-commit yourself to at least 30 minutes each day for your writing.
  • If you haven't created a strategic plan, it's not too late.
  • If you want to go deeper into the Art of Saying No, why not download the webinar recording? 
I hope this week brings you insight into the reasons why you say "yes" so frequently and the strength to say "no" often, confidently, and without guilt.

Wednesday, September 09, 2015

More updates about new Sony A6100/A7000 possible release date Sep. 11

Here's some more news about the soon to be announced (September 11) new Sony E-mount camera. News source sonyalpharumors. See my previous post for more details of previous possible features.

UDPATED POST: I got two anonymous sources sending me two different A6100 info. So either both or one of them is wrong, or we have two different cameras coming:

Source_1:Sony A6000 successor will be announced on September 11. A6100 will support UHS-II SD cards with a maximum write speed of 173 MB/s. It will have a new 24 megapixel sensor with 15% better ISO performance. There won’t be 4K video recording capability. There won’t be a silver version anymore, only black.
Source_2:just saw your latest post and want to say that a6100 or a6000II will have 4K 100mbps but no full readout like a7rII s35 mode. 32mp but not 24mp BSI sensor, and yes with 15% better noise performance. price is unknown yet. It will also have a larger T* viewfinder 0.75x

Sunday, September 06, 2015

[Monday Motivator] Facing Resistance to Daily Writing - August 31, 2015

This is an excerpt from the Monday Motivator Program of Center for Faculty Development and Diversity. Please find the original document here. The National Center for Faculty Development and Diversity is an independent professional development, training, and mentoring community of over 71,000 graduate students, post-docs, and faculty members.

In last week's Monday Motivator, I encouraged you to consider blocking out at least 30 minutes every day for writing and suggested you treat your writing time with the same respect you would a meeting or a class. As always, those two seemingly simple suggestions resulted in my phone ringing off the hook and my inbox overflowing!

The outpouring of response only re-affirmed my belief that daily writing is difficult because what seems like a simple act -- sitting down to write for 30 minutes every day -- brings forth all of our "stuff" (whatever that "stuff" may be). This past week alone, daily writing brought out fears of success, fears of failure, debilitating perfectionism, inner-critics on steroids, rage over institutional inequalities, and painful ambivalence about whether (or not) some of us want to be academics.

Today, I want to acknowledge that daily writing can be incredibly difficult and resistance is to be expected. Anytime we try to make a change in our behavior, we are guaranteed to face resistance which most frequently manifests as procrastination, avoidance and/or denial. That resistance is perfectly normal, practically universal, and you are not alone in your fears, anxieties, and time constraints. If you struggled to write every day last week, that's okay. This is a new week and a new opportunity to enter into open and honest conversation with your resistance.

Some of us experience resistance as a loss of energy that leads us to give up on daily writing. Then later, we feel guilty about breaking yet another promise to ourselves. Let's take a totally different approach to our resistance this week by acknowledging it, being curious about it, figuring it out, naming it, and then sneaking around it. In the process, let's also be gentle with ourselves because guilt, shame and self-criticism aren't useful and they aren't going to help any of us write, publish and/or be productive scholars.

This is a new week, so when you experience resistance, I suggest you try three things. First, acknowledge that you're feeling resistance and name it. Even if it's only identifying the feeling ("I just don't wanna write today!") or the behavior ("I must check Facebook before I start writing!") that's keeping you from writing. That's a great start. Second, find the smallest amount of time you can stand for daily writing and show up. If you can write for 5 minutes every day this week, that's a success. If all you can do in that 5 minutes is physically pick up your manuscript and walk around your office snuggling it, that's progress! Third, in that small amount of time, re-connect with what you love about your project. You may hate 30 different things about it, but for now try remembering what you love about it. Doing just a little something and loving it will help you tiptoe around your resistance, the energy and connection will return, and you will be moving forward on the pathway to establishing a healthy and sustainable writing routine.

The Weekly Challenge
This week, I challenge you to do the following:
  • If you haven't created a semester plan yet, do so now. If you need motivation, go ahead and listen to our Every Semester Needs a Plan core curriculum webinar and check out sample semester plans.
  • Re-commit to your writing time this week.
  • Block your writing time out of your calendar.
  • If you don't have a calendar, try google calendar or go buy a simple and cheap one ASAP!
  • If you experience resistance, acknowledge and name it.
  • If you're struggling, reduce your time to the smallest amount you can actually stand, then set a timer, and get started.
  • Remember what you LOVE about your work.
  • If you don't love anything about your manuscript, gently and lovingly ask yourself: why am I doing this?
I hope this week brings you the curiosity to engage in conversation with your resistance and a deep reconnection with what you love about your current writing project.

[Monday Motivator] The Sunday Meeting - September 7, 2015

This is an excerpt from the Monday Motivator Program of Center for Faculty Development and Diversity. Please find the original document here. The National Center for Faculty Development and Diversity is an independent professional development, training, and mentoring community of over 71,000 graduate students, post-docs, and faculty members.

I've spent a great deal of time in the past helping people to create their strategic plans. While doing this, it's become clear to me that many people are great at making a list of goals, but remain unclear how to connect their goals to time, and how to make their plan work on a day-to-day, week-to-week basis. In other words, a strategic plan is unlikely to be useful if it is only a statement of goals that won’t be touched again until the end of the term. Instead, I encourage you to see the process of creating a strategic plan as one where you identify WHAT your personal and professional goals are, outline HOW they will be accomplished, and WHEN you will do the work. From that point, the real secret to making a strategic plan come to life is to use it on a weekly basis as the foundation for planning out your week. One of the simplest and most transformative strategies that I have seen graduate students, post-doctoral researchers, and new faculty put into practice is what I call "the Sunday Meeting." As with all strategies, you may want to try it out for a few weeks, see how it works for YOU, and then adapt it to your particular needs, workload, and lifestyle.

The Sunday Meeting is quite simple: devote 30 minutes of time at the beginning of each week to planning your week. It doesn’t have to take place on Sunday, but many people begin preparations for the week on Sunday night. What’s important is that it’s in place before your week begins. The purpose of this weekly planning time is to make sure that all the things that contribute to your LONG-TERM SUCCESS get done and that you don't get distracted by seemingly urgent (but unimportant) tasks throughout the week. During your weekly meeting time, try the following five steps:

STEP #1: Create Your Skeleton (5 Minutes)
The meeting starts by blocking out all of your commitments for the week: research and writing time, classes, office hours, and meetings, etc… You should also include non-work items that you are committed to a specific time and place, such as child-care pick-up, date night, and/or Zumba class. If you haven't tried it yet, you may want to schedule your writing time first thing in the morning (before checking e-mail or Facebook, prepping for classes, and/or responding to everyone else's needs in your workplace). Your commitments form the skeleton of your week because everything else has to be fleshed out on top of them.

STEP #2: Brain Dump (10 Minutes)
Write out all your to-do items for the week including the short term tasks you need to get done, as well as the strategic tasks associated with your long term research agenda (these should be listed by week in your strategic plan). Many of the new faculty members I work with categorize their to-do items under the headings "teaching," "service," "research," and "personal" to quickly assess the relative length of their to-do tasks and to determine whether their lists are aligned with their priorities and how they will be evaluated for promotion and tenure. The purpose of this step is to: 1) reconnect you with your strategic plan on a weekly basis, 2) get everything out of your head and onto paper, and 3) to put you in a position to control your week (instead of your week controlling you). The brain dump can cause either relief or anxiety, but no matter how you feel about it in the moment, go on to the next step.

STEP #3: Introduce Your Tasks To Your Calendar (15 Minutes)
Here's where it gets ugly! Turn back to your calendar for this week and assign each of your to-do items to a specific block of time. This will require you to estimate how long your tasks will take, prioritize what’s most important, and commit to actually doing specific work at specific times this week. Inevitably, you will have the same devastating realization each week: you don't have enough time to complete all the tasks on your to-do list. Breathe deeply. Having more tasks than time is the perfectly normal reality of academic life. No matter how frustrating it is, it's far better to deal with that reality at the beginning of the week then to walk blindly into that realization at the end of the week.

STEP #4: Decide What To Do With Everything That Doesn’t Fit
Knowing that you have more tasks than time, consciously choose how you will spend your time this week. You may need to prioritize the tasks on your list and I suggest using the criteria by which you will be evaluated for your next step. For example, if you're on the tenure-track, use the criteria for tenure and promotion as your guide.

For the tasks that don’t fit, you have many different options! You can:
  • delegate
  • lower your standards (especially for non-critical tasks)
  • compromise
  • renegotiate deadlines
  • ask for help
  • let some things go
Step #5: Commit To Executing The Plan
Of course, the best-laid plans can be thrown into disarray by unexpected circumstances and daily chaos. But having a clear plan and genuinely committing to its execution are essential to moving forward each week, will help you to easily say "no” to additional request during the week, and will assist you in being far more productive than you would be operating on crisis management each day.

The Weekly Challenge
This week, I want to challenge you to do the following:
  • Take 30 minutes and try having a Sunday Meeting. If you want to spend a bit more time and walk through this with me, download February's training on this topic by clicking here.
  • If you still don't have a calendar, it's time to acquire one (it doesn’t have to be fancy and you can even download and print my free and simple time map as the most basic way to get you started).
  • Gently acknowledge that having more tasks than time is perfectly normal for academic life. It is not an individual shortcoming or personal flaw.
  • Review your calendar and tasks before saying "yes" to any new commitments this week.
  • Re-commit yourself to at least 30 minutes each day for your writing.
  • If you haven't created your strategic plan, it's not too late.
I hope this week brings you the willingness to try a Sunday Meeting, comfort in knowing that you are not alone in having more tasks than time, and the creativity to make conscious decisions that are in line with your priorities.

Tuesday, September 01, 2015

Sony A6100/A7000 has a new backlit sensor and RGBW pixel array.

More news about the soon to be announced new Sony E-mount camera.
1) Sony is preparing the next step in video quality and experience
2) This is an interchangeable lens camera with
– Best in class low light performance (backlit sensor and RGBW pixel array)
– internal 4k video recording with full sensor readout in 60fps
– extremly fast autofocus system

The built-in “RGBW Coding” function which adds W (White) pixels to the conventional range of RGB (Red-Green-Blue) pixels has realized higher sensitivity, enabling high-quality shooting with low noise even in dark indoor or night settings.While the addition of W (White) pixels improves sensitivity, it has the problem of degrading image quality. However, Sony’s own device technology and signal processing realizes superior sensitivity without hurting image quality.

Possible release dates: There is the IFA in Berlin (Sept. 7) and the IBC in Amsterdam (Sony press day on Sept. 11).

Wednesday, August 26, 2015

[Acrobat SDK Plug-in Development] How to extract text from Acrobat Text Highlight Tool?

This is an update to my previous post on Acrobat SDK Plug-in Development: How to create Text Highlight. In this new code, I'll explain far easier way to manipulate Adobe Acrobat Text Highlight tool to get the text from the highlighted area and then use it in your plugin.

This code snippet will explain how to extract text highlighted using the Text Highlight tool plug-in using Acrobat SDK. I assume that you've already know how to implement basic plug-in functionality using Acrobat SDK. The version of the SDK used in this code example is Acrobat XI SDK. I also assume following requirements,

Step 1: If you start with the BasicPlugin.cpp in the Acrobat SDK then you should have the following function when you click on your plugin from the menu bar,

ACCB1 void ACCB2 MyPluginCommand(void *clientData)
// get this plugin's name for display
ASAtom NameAtom = ASExtensionGetRegisteredName (gExtensionID);
const char * name = ASAtomGetString(NameAtom);
char str[256];
sprintf(str,"This menu item is added by plugin %s.\n", name);

// try to get front PDF document 
AVDoc avDoc = AVAppGetActiveDoc();

//Display words of the pdf file. 
PDDoc currentPDDoc =AVDocGetPDDoc(avDoc);
AVPageView currentPageView = AVDocGetPageView (avDoc);
ASInt32 pageNum = AVPageViewGetPageNum(currentPageView);

//Create a PDWordFinderConfigRec object;
PDWordFinderConfigRec pConfig;
//Set the DWordFinderConfigRec object's attributes
memset(&pConfig, 0, sizeof(PDWordFinderConfigRec));
pConfig.recSize = sizeof(PDWordFinderConfigRec);
pConfig.ignoreCharGaps = true;
pConfig.ignoreLineGaps = true;
pConfig.noAnnots = true;
pConfig.noEncodingGuess = true;

//Create a PDWordFinder object
PDWordFinder pdWordFinder = PDDocCreateWordFinderEx(currentPDDoc, WF_LATEST_VERSION, false, &pConfig);
//Create a callback function
PDWordProc wordProc = NULL;
wordProc= ASCallbackCreateProto(PDWordProc, &getHighlightedText);

//Extract and display words highlighted 
PDWordFinderEnumWords(pdWordFinder, pageNum, wordProc, NULL);
string strs = pdfCorpus.str();
const char* ps = strs.c_str();

if(avDoc==NULL) {
// if no doc is loaded, make a message.
strcat(str,"There is no PDF document loaded in Acrobat.");
else {
// if a PDF is open, get its number of pages
PDDoc pdDoc = AVDocGetPDDoc (avDoc);
int numPages = PDDocGetNumPages (pdDoc);
sprintf(str,"%sThe active PDF document has %d pages.", str, numPages);


Step 2: Now use the getHighlightText method to go through all the annotations and get PDTextSelect object. 

ACCB1 ASBool ACCB2 getHighlightedText(PDWordFinder wObj, PDWord wInfo, ASInt32 pgNum, void *clientData)
char stringBuffer[100];
AVDoc avDoc = AVAppGetActiveDoc();
PDDoc currentPDDoc =AVDocGetPDDoc(avDoc);
CosDoc cd = PDDocGetCosDoc(currentPDDoc);
PDAnnot annot;
PDPage pdpage = PDDocAcquirePage(currentPDDoc, pgNum);
ASInt32 numAnnots =PDPageGetNumAnnots(pdpage);
ASFixedRect boundingRect; // bounding rectangle of the term
char * annBuf;
for(ASInt32 i = 0; i< numAnnots; i++){
annot = PDPageGetAnnot(pdpage, i);
if (ASAtomFromString("Highlight") == PDAnnotGetSubtype(annot))
// Gets the annotation's rect
PDAnnotGetRect(annot, &boundingRect);
// Gets the text selection from the annotation's rect
PDTextSelect textSelect = PDDocCreateTextSelect(currentPDDoc, pgNum, &boundingRect);
                        // create a callback to get the text from highlighted bounding box
PDTextSelectEnumText( textSelect , ASCallbackCreateProto(PDTextSelectEnumTextProc,&pdTextSelectEnumTextProc) , &annBuf );

return 0;

Step 3: Create a callback function to extract the text from the PDTextSelect object. Here, pdfCorpus is a stringstream so I can use that in another part of the code. 

ACCB1 ASBool ACCB2 pdTextSelectEnumTextProc(void* procObj, PDFont font, ASFixed size, PDColorValue color, char* text,ASInt32 textLen)
char stringBuffer[200];
pdfCorpus << stringBuffer;
return true ;


Monday, August 24, 2015

[Monday Motivator] Rethink Your Writing Time - August 24, 2015

This is an excerpt from the Monday Motivator Program of Center for Faculty Development and Diversity. Please find the original document here. The National Center for Faculty Development and Diversity is an independent professional development, training, and mentoring community of over 71,000 graduate students, post-docs, and faculty members.

In last week's Monday Motivator I challenged each of you to create a Strategic Plan by identifying your research and writing goals, mapping out how to achieve them, and committing specific weeks in your calendar to particular projects. If you haven't created your strategic plan yet, you can click here and listen to our Every Semester Needs a Plan webinar to get yours started.

This week, I want to focus on how you can move from having a written Strategic Plan to actually executing that plan! Based on the findings of faculty development researchers, the answer is straightforward: write every day for at least 30 minutes.

It sounds so easy, but for most academics, writing for at least 30 minutes every day is anything but simple. It is more difficult than it sounds because even though we KNOW that writing and publication are high priorities, we often BEHAVE as if writing is our lowest priority. In other words, despite knowing that writing is critical to our professional success, we often treat it as an optional activity. We "try to make time for it" at the end of the day, or "hope to get to it" after everything else has been done and everyone else's needs have been met. I want to make a radical suggestion this week: let's re-think our writing time by giving it the same weight in our schedule that it will have in our tenure review, promotion decision, and/or how we are valued on the job market.

To begin re-thinking your writing time, try an experiment this week by blocking out at least 30 minutes of each day for writing (Monday through Friday). In order to send a powerful message to yourself and the universe, go ahead and block that time out of your calendar the same way you would a meeting or a class. Then treat your writing time with the same respect and professionalism that you would extend to your colleagues or your students. That means your writing time is non-negotiable, nothing else can happen during that time, and if anybody asks to schedule something during your writing time, the answer is: "Unfortunately I'm not available at that time, I have a meeting."

The Weekly Challenge
This week, I challenge you to do the following:
  • Create a Strategic Plan (if you have not done so already).
  • Block out at least 30 minutes of time each day this week for writing. I mean literally write it in your calendar! If you are feeling bold, go ahead and block out your writing time for the entire term.
  • Treat your writing time with the same respect you would a meeting with your colleagues or your students.
  • Show up at your computer during the writing time this week and see what happens.
  • If you need support and accountability in developing your daily writing, join us in the Monthly Writing Challenge on the NDFDD Discussion Forum.
  • If you find yourself unable or unwilling to do any of the above, gently and lovingly ask yourself WHY?
  • If you want more help in developing a daily writing practice, why not review our Core Curriculum Webinar: How to Develop a Daily Writing Practice.
I hope this week brings you the openness to re-think your writing time and the strength to aggressively, pro-actively, and even ruthlessly make time for writing every day. You deserve it!