Wednesday, 21 December 2016

Extended Entry Marker (Jump Break) And The 'Save' Button

An Example Of A Jump Break At My Blogger Homepage

Google's Blogger calls it a "jump break". But Raven/Raven+ calls it an "Extended Entry Marker". What it does, anyway, is to show a summary of your blog post at your Blogger blog's homepage, while providing a link, "Read more >>", to your entire post, which your audience can read in its entirety if s/he so desires.

The 'Extended Entry Marker' Button In The Raven+ Editor

A Bug

I always include a "jump break" in every one of my blog post. Problem is, I always do it as the last thing after composing my post (sometimes even after publishing it) mostly because of my absentmindedness.

There is this problem with the Raven/Raven+ editor - it does not enabled the 'Save' button (if it was disabled previously) after inserting a "jump break"/"Extended Entry Marker". This is rather annoying as I then have to insert a 'junk' character to enable the 'Save' button, then delete this 'junk' character before saving my now modified post. A prime target for getting this bug fixed here.

Saturday, 10 December 2016

Asian Brown Flycatcher

Asian Brown Flycatcher - Head And Upper Body

Must be my lucky year 2016. I mentioned that I had a new avian visitor last September. A few weeks later in mid-October, I had another one - an Asian Brown Flycatcher. I was excited, obviously.

Taking a snap shot of this bird was easy. A rather bold bird, it greeted me by flying closer towards me when I was out and about at my backyard. It flew away briefly when approached, but it then flew back towards me a few second later. I suppose there must have been something about me that had piqued its interest. The closest it got to me by the way was about 8 feet away - an ideal distance for taking closeups of small birds.

Tuesday, 29 November 2016

Integrating Google's API Client Library Into The RavenPlus Source Code Repository

There is this problem with us programmers. We will not complain and will happily chug along when confronted with the toughest programming challenge ever. But when it comes to documenting our work, we will make excuses, drag our feet and create various alibi. I remember this joke that I've heard about programmers some 20 years ago:

"if it is so hard to write, it must be even harder to describe"

Yes, we programmers understand this perfectly. But still there should be no excuses for not documenting one's work; and this is something that I should bear in mind - always.

Unfortunately, I do get sloppy sometimes. Case in point:

I briefly mentioned that I might be integrating the "Google API Client Library for Python version 1.2" into RavenPlus some 11 months ago. Well in the end, I actually did.

Problem is now I can't remember why I made this decision. I can faintly recall problems I had between 'py2exe' and the newly installed libraries needed for Google OAuth2 authentication (most of them is installed, by default, in the '.egg' format).

Is this the main reason? I can't remember. If only I have written the reason down earlier - somewhere.

New Sub-Directory

Google's API Client Library Within the Raven+ Source Code Repository

Integrating the Google API Client Library for Python into RavenPlus is rather simple. All I did was to bung it under the blog publishing sub-system of RavenPlus at 'zoundry/blogpub'. Naming the new directory as 'blogger' seems appropriate and all Google Blogger's OAuth2 related modifications in RavenPlus (by me) are placed here and below its sub-directories; and this includes the picture uploading capabilities to Google's PicasaWeb ('zoundry/blogpub/blogger/gdataExtend' is where the modified gdata API resides).

The directories 'apiclient', 'oauth2client' and 'uritemplate', circled in RED in the picture above, are from the Google API Client Library itself. As mentioned previously, I only used a subset of this Client Library from Google.

Tuesday, 15 November 2016

Zebra Doves - From Hatchlings To Fledglings

A pair of Zebra Doves nested on one of my many bougainvillea plants last month October 2016. A well chosen site in my opinion with shelter from the sun and rain (courtesy of my front porch) and my dog out front keeping the stray cats at bay. The nest was well placed too at about 7 feet high off the ground. Like most bird nests it is made of twigs, with size measuring about 3" across - looks a bit undersized compared to the parent bird, in my opinion. The gaps between these twigs however made the nest look rather 'half-built'. But still, it did get the job done; it managed to raise 2 chicks.

Zebra Dove Hatchlings

Owing to its 'half-built' appearance, I didn't realised that the nest was ready until I saw a Dove sitting in it one day. Eggs had been laid a few days earlier without me knowing - I can't see because of the nest's height.

About 11 days later this is what I saw - a baby Zebra Dove:

A Once Day Old Zebra Dove Hatchling

I think another chick is partially visible, hidden by the twigs that made up the nest (under the beak of the parent Dove if you look closely).

Sunday, 30 October 2016

microSD And My Canon Powershot SX530 HS

SanDisk Ultra MicroSDHC UHS-I Package

The manual to my Canon Powershot SX530 HS only recommends SD, SDHC or SDXC memory cards. Because of this, I would have preferred either an 8GB or 16GB SDHC Class 10 memory card.

But I had a Superbuy.my RM30 e-voucher, and the only branded Class 10 memory cards that cost less than RM30 are from Kingston (Kingston microSDHC 8GB Class 10) and SanDisk (SanDisk Ultra microSDHC UHS-I 16GB Class 10). These are microSD and NOT SD sized memory cards. A rather limited choice there at Superbuy.my. I could have chosen one of those unknown but cheaper brands SD sized memory cards but I didn't want to risk it. Miser pays the most - I always remember this saying.

microSD+SD Adapter In Digital Camera

The question now is: will any of these microSD memory cards coupled with an SD adapter work in my Canon Powershot SX530 HS camera?

Thursday, 27 October 2016

Break Fluid Spilt Onto My Car Alternator

Perodua Kancil Engine Compartment

Shucks! I hope I didn't damaged anything. It wasn't may fault; I was just doing my regular monthly/bi-monthly car fluid level inspections. I couldn't see the break fluid level so I decided to take off its tank cover. To my horror, some break fluid spilt out when the cover was removed. It spilt again, because of that piece of plastic float in the tank, when I screwed the cap back on. Non got onto the paint work luckily, since I've read that break fluid is an excellent paint stripper. But I have some break fluid spilt onto the exposed wires of the alternator coil and the belt that drives the alternator.

Tuesday, 18 October 2016

Brown Shrike Whiskers

Brown Shrike Upclose Showing Rictal Bristles

Bird Whiskers

I didn't know this before; I just found out recently - some birds have 'whiskers'. I only came to know about this about a week ago while looking at some photographs of Brown Shrikes that I have taken with my new superzoom digital camera. These 'whiskers' are not visible from afar, viewed unaided with the naked eye; and neither was it visible with pictures taken with my 5x zoom low-end digital camera (what I have been using previously).

And so far, I have found out that Lineated Barbet, a rather common bird in my neighbourhood, have 'whiskers' too.

Rictal bristles, I think that's what ornithologists call them.

Wednesday, 28 September 2016

An Avian Visitor - A Male Pied Triller

Pied Triller (click to enlarge)

A male Pied Triller paid me a visit some 11 days ago. To a greenhorn birder like me, I was naturally excited as this is a once in a blue moon affair.

Wednesday, 21 September 2016

Canon Powershot SX530 HS - My New Birding Camera

It was suppose to take 3 days but it finally arrived, some 9 days later. What happened Superbuy.my? You had me worried there for a couple of days. Better late than never I suppose.

Yes, I have finally bought myself a new superzoom bridge camera - a Canon Powershot SX530 HS (SX530HS) with 50x optical zoom. Warranty periods is for 1 year from Canon Malaysia - got my email confirmation last week to prove it. I will be using this camera largely for birding and wildlife photography. Long overdue I think.

My Opinion

Having used this camera over the last couple of days, I must say that I am very pleased with my decision. Compared with my previous low-end camera, focusing and the image quality is definitely much better. I am surprised to find such fine details of a pigeon (and other birds too in fact; picture quality is subject to my shaky hands) captured with this camera. Just look at the picture below to see what I mean (do click to enlarge). Except for some cropping, there were no other editing done to this picture. It blew me away the first time I saw it. This camera is making birding and photography fun again! Previously, the only way for me to get such fine details was to hold my subject at arms length. I know because I photographed my rooster that way once. And no I was not tormenting it; I was just trying to photograph its injured eye.

Rock Pigeon Up Close (do click to enlarge)

Selection Process

The SX530HS is not my first choice actually. To be honest, it was not even my second.

Monday, 12 September 2016

Turmeric Flowers - Take Two

I always get excited when any of my turmeric plants produces flowers. I like them as I think they are dazzlingly beautiful.

I had two separate blooms last year from two separate plants in two separate pots - one in May and the other in December. Here are some pictures of my turmeric flowers taken during those two months. Armed with a better camera, and hopefully with some improvement in my photography skills, these pictures are definitely much better compared to the ones I took 2 years ago.


But first, a close-up view on the crest of a turmeric flower that I took in May 2015. I just love those tinge of pink at the very top. Each flower is different though; sometimes there is no pink tinge.

I didn't take note but I believe this is from a 4 or 5 day old bloom.

The Crest Of A Turmeric Flower

An Almost Detailed Account

Here are some pictures that was taken on December 2015. Not shown are wilted flowers (who wants to look at them anyway?) - a process that will begin some 7 days later after blooming.

Monday, 5 September 2016

Customized gdata For PicasaWeb Uploads

Without going into details, I briefly mentioned that I added a few new functions into the class GDataService and PhotoService in order to get the interfacing between 'Google GData Photo API' and RavenPlus working with Google OAuth2 authentication.

Here are the technical details, plus the Python code.

As this is a rather long post, I have broken it down into two parts. In this post, I will only discuss the changes that I have made to the gdata library. In a future blog post, I will show how I used this customised gdata library for uploading pictures to Google's PicasaWeb from RavenPlus.

Some Background Information

Since Python is an object-oriented programming language, the most obvious way to customised gdata is via 'inheritance'. I tried and failed because of some local private variables being referenced in the base class from my derived class. Like I have said before, I am no expert in Python. In desperation, I used what seems to be the easiest way out: I made local copies of what's needed from gdata and customised them to fit my requirements. The important thing here is it works.

Customized gdata Within RavenPlus Source Tree

Saturday, 27 August 2016

Easy Come, Easy Go

I have been on a lookout for a super-zoom digital camera over the last couple of months now. Choices are rather limited in the local Malaysian online market. Nevertheless, I have narrowed my choice down to either a Nikon Coolpix or a Canon Powershot within the RM 900 to RM 1,300 range with at least 40x zoom. To be honest, I kept delaying my purchase, hoping for a big bargain to come my way one fine sunny day.

Santa Came Early

Lazada Malaysia Merdeka Discount e-voucer 2016

I was overjoyed when I saw the above in my Facebook news-feed on the evening of 24th August from Lazada Malaysia. The validity for this discount e-voucher is between the 25th and 28th August 2016 - no problem there - and I have to make the purchase via the Lazada mobile app running on a smartphone - no problem there either.

The best price that I could find for a Canon Powershot SX 540 HS was RM 1,360 on Lazada Malaysia. With a RM 200 discount, I only pay RM 1,160 - an almost 15% discount there, don't think I can find this bargain anywhere else online or offline.

Checkout Problems

Unfortunately I had problems; problems during my online payment via Maybank2U online banking during checkout - the login prompt did not appear, I got an error message instead.

And the worse part when I tried again: the Lazada's online system said that I have 'redeemed' my RM 200 discount e-voucher. Huh??! I can't even login to my Maybank2U account, damn it.

Sunday, 14 August 2016

Digitally Recording The 2016 Olympics For Later Viewing

Thank you KWorld for manufacturing and selling such an economical TV tuner for PC - the PCI Analog TV Card Lite PVR-TV7134SE. It may not be the best but it gets the job done with acceptable quality; better than my old VCR in my opinion.

Thank you Alvery Lee for creating Virtualdub. It might not perfect but I post-process my captured videos anyway.

Thank you to the team at Avidemux for allowing me to edit my captured video while keeping video and audio in sync.

Thank you Morritz Kammerer for writing V2CRS. Otherwise, I would not be able to schedule my TV captures with Virtualdub.

Thank you ME (the owner of this blog) for coming up with the idea for easily enabling Virtualdub filters when scheduling TV captures in V2CRS.

Record, Record, Record

The Rio 2016 Olympics is happening on the other side of the world from where I live. Athletes are busy competing while I am sleeping; I am some 11 hours ahead in the Far East. So the only way for me to enjoy the games is by scheduling to record the games, which is aired 'live' on my local free-to-air TV channels, and to watch them later during the day at my leisure.

Screen grab from a Virtualdub capture (2016 Olympics Men's Rugby Seven Final) - size reduced by 50%

I find the Men's Rugby Sevens to be my favourite game so far: fast, exiting and with lots of action where beefy men sprints across the field. What yours? What is you favourite game in this years Olympics?

Thursday, 11 August 2016

My Friendly Neighbourhood Monitor Lizard

A Juvenile Water Monitor Lizard (click to enlarge)

Measuring about a foot and a half in length (from head to the end of its tail), this juvenile Water Monitor Lizard is making itself comfortable in my backyard. It first came to my attention about 2 months ago when I saw this cold-blooded reptile basking under the morning sun, warming its body up for the day.

Sunday, 31 July 2016

GimpGuru's Tutorial For Smart Sharpen - Streamlined

There is this great tutorial by GimpGuru for sharpening pictures without amplifying the inherent noises. However, the first time when I followed his instructions, I fumbled: I didn't get my sharpened picture; I got confused instead.

But with some perseverance, I succeeded in the end.

I thought of streamlining his tutorial as I know that I will be using it often. But a day later, I found an even better tutorial/technique, '"Smart" Sharpening, Redux', also from GimpGuru. I particularly like the ability in this second technique in adjusting and observing the sharpening level, WYSIWYG-style, by merely sliding the "Opacity" slider left or right in the "Levels" dialog window.

In case if you are wondering, I fumbled on the second tutorial too the first time round - I got confused just like the first.

Tutorial - Made Simple

Below are my simplified instructions for the second method by GimpGuru. Have fun! I am using GIMP version 2.6.9, by the way.

Saturday, 23 July 2016

The Cheapest Internet Data Plan That I Could Find

My Wimax modem for connecting to the Yes network, a Yes Buzz 4G Cloud Phone by Samsung

As parents to school-going children, my wife and I are entitled to one 1BestariNet Yes ID each. Each of these Yes IDs is internet ready but data is capped at 200 MB. 400 MB from these two IDs is just about right for our needs, and I have been using these two IDs for over the last year or so, for free. My WiMAX modem is actually a "Yes Buzz 4G Cloud" phone by Samsung, a gift that was given to my family as our first digital camera actually.

Unfortunately, somebody decided to revise the 1BestariNet programme recently. Beginning July 2016, no data is allocated to our 1BestariNet Yes IDs anymore. From now on I will have to purchase my own internet data. Only one thing to do now: time to go shopping.

Back To Basics

I find shopping for the ideal internet plan to be cumbersome. Telcos tend to offer products that look similar but differentiated by some minor add-on that makes an apple-to-apple comparison impossible. The end result for me: confusion.

To simplify things, what I did was to go back to basics: I just look at my requirements, my needs.

What do I need? - Internet data

Do I need voice calls - No

Do I need SMS - No

Do I need free media streaming services? - No

Cloud storage? - No

Data roll over to the following month? - Maybe

And this is what I could find that matches what I want: a data add-on product from Yes (again?) to my 1BestariNet Yes ID:

4 Giga Bytes of Internet data valid for 30 days for RM 31.80 (including GST tax)

The cheapest option that I could find; no voice, no SMS (which isn't a concern to me); just plain internet broadband data all 4GB of it for RM 31.80. There is no additional hardware to buy since what I have is adequate. I would have gone for a much cheaper/lower-data-allocation option that is closer to my usage pattern but 4 GB is the minimal on offer. Beggars can't be choosers, they say.

Thursday, 30 June 2016

Lemon Pansy Butterfly

Lemon Pansy Showing Its Upperside Wing

I think it was earlier this year when I tried photographing this butterfly, a Lemon Pansy. I failed despite me chasing it around the front yard from one spot to another for something like an hour under the hot and sunny 11 o'clock morning sun.

But taking the picture above a little over a week ago was a bit unchallenging. The butterfly did flutter about while I was walking around in the backyard. But then when it settled down on a leaf and me approaching it with my camera, it was rather tranquil. Not sure why - perhaps the rather 'cooler' weather has something to do with it during those few days (weather is a bit crazy these days by the way). I did manage to take about 10 closeup shots in the end. My camera was about 1 feet away from the butterfly in all attempts. The lighting was not ideal for my pocket camera though but still the pictures turned out okay.

Tuesday, 21 June 2016

My Contribution To The 2016 MY Garden Birdwatch Survey

White-throated KingfisherThe yearly MY Garden Birdwatch Survey was held this year on the 4th and 5th June 2016. You will find my count results below, which I carried out on Saturday 4th June 2016, between 3:00 PM till 3:30 PM. As in previous years, my counting was done at my home.

Different species of birds seems to appear as different hours. As a consequence, some birds were not counted even though they were seen outside the time bracket of my survey. But I got a surprise though this year: two White-throated Kingfishers made an appearance while I was doing my count. A rather common bird in my neighbourhood but this is actually the first time that they are included in my survey results. They have been quite elusive previously.

We had quite a severe hot and dry weather during the second quarter of this year. Never in my life had I experienced such weather extremes, culminating in heat-waves at times. Some lakes and rivers dried-up and water levels at some dams went down to a critical stage. I wonder if this unusual and unprecedented weather had had any impact on the bird population nationwide? I just can't wait for the results to be released to find out. That's about 2 months away.

Thursday, 26 May 2016

When The White-throated Kingfisher Comes Visiting

A White-Throated Kingfisher Perching On My Roof One Morning (click to enlarge)

Just outside my bedroom window, there is this more-than-50-year-old mango tree. Doves, both Zebra and Spotted, make this tree their home. Regular tenants every night, some 4 or 5 of them.

Every now and then though, a White-throated Kingfisher will make this tree its dwelling too. Not permanent but just temporary for over a couple of days, even weeks maybe. I sometimes wonder why? Why such a short stay unlike the Doves.

Friday, 20 May 2016

Getting Xiaomi Mi 4i Detected On Windows XP

I have spent about 4 days working on this. So, I suppose it is worthy of me writing it down somewhere so that I won't have to slog through the whole process again.

Phone Not Detected

Someone in my household bought a new Xiaomi Mi 4i smartphone 2 months ago. Great phone at a great price, by the way. Being quite popular here in Asia, the last thing I would have thought is to have problems in getting this phone connected to Windows XP. The recommended way, I presume, was to install "Mi PC Suite" since the setup program was already included in the phone. But upon successfully installing "Mi PC Suite", Mi 4i was undetectable. No connection to Windows XP means no file transfers between the PC and the phone.

Mi 4i Device Drivers

Windows Explorer With The Xiaomi Mi 4i Device Detected On Windows XP

After working frantically for 4 days, and trying out various drivers, I am glad to say that I finally got the phone connected to Windows XP in the end. As far as I could tell, there were no problems with the transferred files. The file system and transferred files on the phone shows no sign of being corrupted.

Thursday, 5 May 2016

Python Script For Posting To Blogger (Via OAuth2)

I hope somebody will find this Python script useful. I actually used this Python script to test things out first (and make sure that everything works) before I started work on fixing RavenPlus last year. I can't remember now, but I think the gist of this script came off from b.py - a Python script for posting blog posts to Blogger and Wordpress.

To post to your blog from this script, remember to replace the blogID "1087XXX5764091XXX95" in the line

post = service.posts().insert(blogId="1087XXX5764091XXX95", body=body, isDraft=False).execute(credentials.authorize(Http()))

with your blog's blogID.

To update an existing blog post, just replace the line above with the following (NOTE: you will need to find out what your blog post postID is, otherwise the statement will fail):

post = service.posts().update(blogId="1087XXX5764091XXX95", postId="4781959859649019078", body=body, publish=True).execute(credentials.authorize(Http()))

The OAuth2 login credentials is named 'plus.dat' and it must be located in the same directory as this Python script file.

I ran this script file under Python 2.4 with some customisation made to the Google API Python Client Library Version 1.2.

The Source Code

Friday, 22 April 2016

Freelance Software Testers Beware

Last Monday 18th April 2016, there was an online job posting looking for freelance software testers. This was what the ad says:

Looking for someone to test my application called "Crush Clean" its a Simple app to clean your desktop Please just open the application test it and tell me what happens and payment will be made Thanks


Sounds simple enough. So I proceeded to download the attachment, a Windows executable compressed in a ZIP file, without much thought.

I updated my anti-virus scanner, scanned the downloaded file and it appears to be 'clean'. Everything looks good.

I loaded it up in my Windows 7 test environment running under VirtualBox. I then ran the application from the command line. There was nothing much to see, much less to report: it just 'terminated' as soon as I press the <ENTER> key - no window or anything admire.

The Malware CrushClean2016.exe Running In The Background

I launched the "Windows Task Manager", clicked on the "Processes" Tab and there it was resident in the system's memory. It seems to spawn a sub-process (which then terminates almost immediately) every 5 seconds or so. Good, now I have something to write about and so I submitted my proposal and reported what I saw.

Sunday, 3 April 2016

Maybank Online Payment Problem At Superbuy.my

Oops! I got this error message while attempting to make my online payment via Maybank at Superbuy.my in Windows XP

I made an online purchase recently at Superbuy.my. Everything went well until the point when I wanted to make an online payment via Maybank. It failed with an error message "Could not connect to remote server" at URL


I tried again but this time with the Mozilla Firefox web browser, thinking that the Opera web browser was causing the problem. Unfortunately, it did not work either, but with a different error message "The connection was reset" at the same URL.

I started an online chat with tech support at Superbuy.my. Their advice: try again later, which I did after a 30 minutes wait. Regrettably it did not work either. Thinking that the site may be having some technical problems, I just gave up for the day.

On the following day, I tried again. Same thing, it did not work. I then started thinking to myself:

Tuesday, 22 March 2016

Metamorphosis: Caterpillar To Pupa

At The Right Place And Right Time

This was totally unanticipated. Last week, I was lucky enough to witness a caterpillar morphing into a pupa. It was only by chance that I saw this happening. Lucky me for being at the right place and the right time when this happened.

I have been keeping tabs on this particular caterpillar for a couple of days prior. In fact, just an hour or so earlier, it still looked very much like a caterpillar. And all of a sudden about 30 minutes later, it began changing into something different - a pupa.

Here is my account of what transpired.

The Tawny Coster Caterpillar On 14th Mar 2016

This is how the caterpillar looked like a day earlier 14th March 2016. Except for the white patches on the sides, it looked very much like any other Tawny Coster caterpillar during its earlier stages after hatching.

The Tawny Coster Caterpillar On 15th Mar 2016 (9:37 AM)

This photo was taken at 9:37 A.M. on 15th March 2016. Still looking very much like how it was the day before, except that the white patches have grown larger.

Saturday, 12 March 2016

A Mature Tawny Coster

A Matured Tawny Coster Butterfly (click to enlarge) The picture on the left was taken in the morning 2 days ago (do click to enlarge). It is a Tawny Coster butterfly. Over the last couple of days I have noticed the presence of this butterfly in my front garden. Its point of interest: my Damiana plants (it appears to be in egg laying mode). To my knowledge, its caterpillars only feed on the Damiana leaves.

This picture was taken while, as it appears to me, to be resting on a dead branch under the strong mid-morning sun. A little unusual as butterflies will only do this in the cool early mornings. It did fly away when approached but it settled down after awhile probably because it was tired after laying eggs. I think the underside of its wings looks a little worn. As a mature female butterfly, it is probably close to the end of its life-cycle.

I wonder if this is the same butterfly as the one that I observed in February 2016? I am no butterfly expert so it is hard to tell. Do they have distinguish markings or features from each other as us humans do? I wonder.

Monday, 29 February 2016

My First Google OAuth2 Python Program

Below is the code for my first Google OAuth2 Python program. The last time I had a look at it was something like 6 months ago - that long already? As I recall, the sample script file blogger.py that was bundled in 'google-api-python-client-samples-1.2.zip', if I am not mistaken, by Google didn't work. I had to debug it myself to get it working.

What this program does is to print out the user's Google login name, the list of blogs at Blogger.com that is associated with this account and the list of blog entries for each blog. The OAuth2 login credentials is named 'plus.dat' and it must be located in the same directory as this Python script file.

I ran this script file under Python 2.4 with some customisation made to the Google API Python Client Library Version 1.2.

I hope somebody will find this useful.

The Source Code

Thursday, 25 February 2016

A 'Newborn' Tawney Coster Butterfly

Tawney Coster Butterfly Basking Under The Sun (click to enlarge)

Perhaps I should have waited a little longer. Perhaps I should have hung around for another 30 minutes. But I didn't. The afternoon tropical heat was just unbearable. And I do have an umbrella with me at that time, by the way. So what happened is that I missed the chance of observing this butterfly, a Tawny Coster, taking flight for the first time since breaking out from its pupa.

The picture above is of the said butterfly taken at around high noon. I think the hind-wings will turn more orangy in colour as it dries, much like the fore-wings in this picture. At least that is how a Tawny Coster butterfly that I know of looks like.

Sunday, 14 February 2016

Google Is Shutting Down PicasaWeb

My Oh My. After put in so much time and effort into integrating Picasa and OAuth2 into RavenPlus, Google has now announced that it is shutting down PicasaWeb. May 1 2016 is the date to look out for as that is when Google will start rolling out the changes.

I have had a look at the PicasaWeb API developer page and it seems that pictures uploads via RavenPlus should work as what we have now in version 1.0.507. This is what the notice in this page says:


Looks okay to me. But who knows, Google has pulled the rug from right under our feet before.

Tuesday, 5 January 2016

Process Flow Diagram For Picture Uploads

Raven+ Picture Uploads - Process Flow Diagram

Going through the source code of a software application that was written by someone else is never easy. One could easily get lost and confused tracking through the code.

I can still remember the first time when I looked at the source code of Zoundry Raven. I couldn't make head or tail of what I was looking at then. But I persevered.

Tracking The Flow

Having a map of the process flow of the various components of Raven/RavenPlus would be handy. But unfortunately, there was none. The only option left for me then is to draw one myself.

Related Posts Plugin for WordPress, Blogger...