Category Archives: Development

How to forge connections with others

It can be pretty intimidating to try to find a way to bond with other people, whether it is connecting socially, making a great first impression, or simply wanting to build stronger connections for your career.

However, when you show that you genuinely care about the person you’re talking to, work on making people feel comfortable, or really listening to them, you’ll find that you are already halfway there.

Here’s a few titles that we’ve been flicking through recently that will help you forge connections with others…

 

The Social Skills Guidebook by Chris MacLeod

You think your social life could be better. You’ve felt shy as long as you can remember. Your conversations have more awkward moments than you’d like. Maybe you don’t need a ton of friends, but you’d like to have some people to hang out with on occasion. You want to make changes, but you don’t know where to start. Lots of people have been in your shoes, so you’re hardly a lost cause, and it’s never too late to turn things around. The Social Skills Guidebook gives you insights into your interpersonal struggles and behaviours, and offers hands on advice for developing and improving your people skills.

 

 

Frientimacy by Shasta Nelson

With the constant connectivity of today’s world, it s never been easier to meet people and make new friends but it’s never been harder to form meaningful friendships. In Frientimacy, award-winning speaker Shasta Nelson shows how anyone can form stronger, more meaningful friendships, marked by a level of trust she calls frientimacy. Shasta explores the most common complaints and conflicts facing female friendships today, and lays out strategies for overcoming these pitfalls to create deeper, supportive relationships that last for the long term. In Frientimacy, readers are taught to reject the impulse to pull away from friendships that aren’t instantly and constantly gratifying. With a warm, engaging, and inspiring voice, Nelson shows how friendships built on dedication and commitment can lead to enriched relationships, stronger and more meaningful ties, and an overall increase in mental health. Frientimacy is more than just a call for deeper connection between friends; it’s a blueprint for turning simple friendships into true bonds and for the meaningful and satisfying relationships that come with them.

 

How to Talk to Anyone by Leil Lowndes

What is that magic quality that makes some people instantly loved and respected? Everyone wants to be their friend (or, if single, their lover!) In business, they rise swiftly to the top of the corporate ladder. What is their “Midas touch?”. What it boils down to is a more skilful way of dealing with people. Lowndes has spent her career teaching people how to communicate for success and offers 92 easy and effective sure-fire success techniques – from first meeting all the way up to sophisticated techniques used by the big winners in life.

 

 

 

 

The Lost Art of Listening by Michael Nichols

One person talks; the other listens. It’s so basic that we take it for granted. Unfortunately, most of us think of ourselves as better listeners than we actually are. Why do we so often fail to connect when speaking with family members, romantic partners, colleagues, or friends? How do emotional reactions get in the way of real communication? This thoughtful, witty, and empathic book has already helped over 100,000 readers break through conflicts and transform their personal and professional relationships. Experienced therapist Mike Nichols provides vivid examples, easy to learn techniques, and practical exercises for becoming a better listener and making yourself heard and understood, even in difficult situations.

 

 

Click: The Power of Instant Connections by Ori Brafman and Rom Brafman

In a book that combines psychology and sociology with an insightful understanding of human interactions, Ori and Rom Brafman have written a compelling narrative that helps us to understand the magic behind those moments when we form an incredible connection with other people, or which cause us to become fully engaged in whatever we are doing. Drawing from recent research in psychology and sociology Click takes us on a roller coaster journey of discovery into those moments in our lives when we are ‘in the zone’ when the rest of the world drops away and everything seems to fall into place.

 

 

Enjoy!

Our Top 5 Books that will make you happier.

There’s something amazing about opening a book and leaving the real world behind. Reading can bring us to tears, make us stop and think, bring out our anger and make us snort out loud with laughter.

When times are difficult and you just want to escape, the magical world inside a book is always waiting for you. We’ve found 5 of our favourite books that can help you take care of yourself.

The Happiness Project by Gretchen Rubin

Gretchen Rubin had an epiphany one rainy afternoon in the unlikeliest of places: a city bus. “The days are long, but the years are short,” she realised. “Time is passing, and I’m not focusing enough on the things that really matter.” In that moment, she decided to dedicate a year to her happiness project.

In this lively and compelling account Rubin chronicles her adventures during the twelve months she spent test driving the wisdom of the ages, current scientific research, and lessons from popular culture about how to be happier. Among other things, she found that novelty and challenge are powerful sources of happiness that money can help buy happiness, and when spent wisely the outer order contributes to inner calm and that the very smallest of changes can make the biggest difference.

 

The Book of Joy by Dalai Lama and Desmond Tutu

Nobel Peace Prize Laureates His Holiness the Dalai Lama and Archbishop Desmond Tutu have survived more than fifty years of exile and the soul-crushing violence of oppression. Despite their hardships they are two of the most joyful people on the planet. In this book, they look back on their long lives to answer a single burning question: how do we find joy in the face of life’s inevitable suffering? After spending a week together trading intimate stories, teasing each other continually, and sharing their spiritual practices these two global heroes had stared into the abyss and despair of our times and revealed how to live a life brimming with joy. This book offers us a rare opportunity to experience their astonishing and unprecedented week together, from the first embrace to the final goodbye.

 

I’m Judging You by Luvvie Ajayi

With over 500,000 readers a month at her enormously popular blog, AwesomelyLuvvie.com, Luvvie Ajayi has become a go-to source for smart takes on pop culture. I’m Judging You is her debut book of humorous essays that dissects our cultural obsessions and calls out bad behaviour in our increasingly digital, connected lives, from the cultural importance of the newest Shonda Rhimes television drama to serious discussions of race and media representation to what to do about your fool cousin sharing casket pictures from Grandma’s wake on Facebook. With a lighthearted, rapier wit and a unique perspective, I’m Judging You is the handbook the world needs, doling out the hard truths and a road map for bringing some “act right” into our lives, social media, and popular culture.

 

Don’t Sweat the Small Stuff by Richard Carlson PhD

It’s an oldie but a goodie. A book that shows you how to prevent the little things in life driving you crazy. In thoughtful and insightful language, author Richard Carlson reveals ways to calm down in the midst of your hurried, stress-filled life. Learn how to put things in perspective by making the small daily changes he suggests, including advice such as “Think of your problems as potential teachers” and “remember that when you die, your ‘in’ box won’t be empty”. You should also try to live in the present moment, let others have the glory at times, and lower your tolerance to stress. You can write down your most stubborn positions and see if you can soften them, learn to trust your intuitions, and live each day as if it might be your last.

 

Year of Yes by Shonda Rhimes

We’ve showcased this book here but it’s so great we’re sharing it again. In this poignant, hilarious and deeply intimate call to arms, Hollywood’s most powerful woman, the mega-talented creator of Grey’s Anatomy and Scandal and executive producer of How to Get Away with Murder, reveals how saying YES changed her life and how it can change yours too.

 

 

 

 

 

Pop on over to our Pinterest page where we have a huge selection of self help titles.

Enjoy!

Top 5 Audio Books to listen to when life is busy

Audiobooks are a wonderful  invention for the busy person. Reading actual printed text means sitting down and focusing purely on the words and while that’s our favourite way to consume books, sometimes between work, study, going to the gym, doing the laundry, cooking dinner and putting the children to bed it’s not that easy to find time to actually sit down with a book.

That’s where audiobooks come in. Here are our top 5 to listen to when you’re feeling like life is getting on top of you.

 

Option B by Adam Grant and Sheryl Sandberg

Resilience comes from deep within us and from support outside us. Even after the most devastating events, it is possible to grow by finding deeper meaning and gaining greater appreciation in our lives. Option B illuminates how to help others in crisis, develop compassion for ourselves, raise strong children, and create resilient families, communities, and workplaces. Many of these lessons can be applied to everyday struggles, allowing us to brave whatever lies ahead. Two weeks after losing her husband, Sheryl was preparing for a father-child activity. I want Dave, she cried. Her friend replied, Option A is not available, and then promised to help her make the most of Option B. We all live some form of Option B. This book will help us all make the most of it.

 

 

Start With Why by Simon Sinek

In studying the leaders who’ve had the greatest influence in the world, Simon Sinek discovered that they all think, act, and communicate in the exact same way and it’s the complete opposite of what everyone else does. Sinek calls this powerful idea The Golden Circle, and it provides a framework upon which organisations can be built, movements can be lead, and people can be inspired. It all starts with WHY. Any organisation can explain what it does; some can explain how they do it; but very few can clearly articulate why. Why is not money or profit as those are always results. Why does your organisation exist? Why does it do the things it does? Why do customers really buy from one company or another? Why are people loyal to some leaders, but not others? Starting with Why works in big business and small business, in the nonprofit world and in politics. Those who start with Why never manipulate, they inspire. And the people who follow them don’t do so because they have to, they follow because they want to. Drawing on a wide range of real life stories, Sinek weaves together a clear vision of what it truly takes to lead and inspire. This book is for anyone who wants to inspire others or who wants to find someone to inspire them.

 

Make your bed: little things that can change your life, then maybe the world by William McRaven

Making your bed is a simple act with powerful consequences. To rise in the morning and complete the first task of the day will give you motivation to do more and to accomplish more. The bed also represents you. Few things in your home are more personal. Making your bed is a reflection of your discipline, your pride and your personal habits. If you can’t get up in the morning and make your bed, what else are you incapable of doing? If you want to change the world, or just make yourself a little better, start off by making your bed.

 

 

 

Stop Saying You’re Fine by Mel Robbins

Many people are becoming increasingly  frustrated and bored with their lives. If you have  come to regard yourself as your own worst enemy, constantly daydream and wonder, is this all there is? If you have a tendency when asked how you’re doing to just say ‘Fine’, you may be one of them. If this sounds familiar, there’s clearly something missing from your life. This book will help you discover what it is, and how to win it back. Written by Mel Robbins, one of America’s top relationship experts, this hands-on guide not only shows you how to put your finger on the problem, it reveals what to do about it. Mel has spent her career teaching people how to push past their self-imposed limits to get what they truly desire. She has an in-depth understanding of the psychological and social factors that repeatedly hold you back, and more importantly, a unique set of tools for getting you where you want to be.

Check out Mel’s inspiring TEDx Talk.

 

Fail, Fail Again, Fail Better: Wise Advice for Leaning into the Unknown by Pema Chodron

When her granddaughter was accepted to Naropa University, the celebrated author Pema Chödrön promised that she’d speak at the commencement ceremony. Fail, Fail Again, Fail Better contains the wisdom shared on that day. “What do we do when life doesn’t go the way we hoped?” begins Pema “We say, ‘I’m a failure.” But what if failing wasn’t just “okay,” but the most direct way to becoming a more complete, loving, and fulfilled human being? Through the insights of her own teachers and life journey, Pema Chödrön offers us her heartfelt advice on how to face the unknown-in ourselves and in the world-and how our missteps can open our eyes to see new possibilities and purpose. For Pema’s millions of readers, prospective graduates, or anyone at a life crossroads, this gem of clarity and reassurance is sure to find a welcome place in many a kitchen, office, and backpack.

 

 

…and finally for those who are really just too busy to sit and read…

 

 

Astrophysics for People in a  Hurry by Neil deGrasse Tyson

What is the nature of space and time? How do we fit within the universe? How does the universe fit within us? Unfortunately, today, few of us have time to contemplate the cosmos. Tyson brings the universe down to Earth succinctly and clearly, with sparkling wit, in tasty chapters consumable anytime and anywhere in your busy day – while you wait for your morning coffee at the cafe, for the bus, the train, or a plane to arrive. Astrophysics for People in a Hurry will reveal just what you need to be fluent and ready for the next cosmic headlines: from the Big Bang to black holes, from quarks to quantum mechanics, and from the search for planets to the search for life in the universe.

Enjoy!

Facebook Login is Live!

For those users who like the ease of using their Facebook account to log in to other services, we have good news.  Booko now allows you to create a Booko account and log in via Facebook.  We’ve added it to the list of existing login systems, plus given the whole page a bit of a polish.
login-icons_2x

 

 

If Facebook knows your email address, we’ll attempt to match that to your Booko account.  So, if your Facebook email matches your Booko email address, you’ll be logged into your existing Booko account.

Give it a try and let us know what you think!

A new Booko feature

Booko now supports displaying “Works” – that is, a list of editions of the same book. A given work may have several editions – for example, a paperback, hardback or eBook version. Booko is starting to collect these various editions together as a “Work”.  We’ve had this feature for a while – but now Booko includes the minimum and maximum price for each edition of a work.  I think it should be a pretty useful feature.
Here’s the Top 10 works over the last few days. Check them out to see the new feature in action.
  1. The Girl with the Dragon Tattoo
  2. Tomorrow, When the War Began
  3. The Girl Who Played with Fire
  4. Eat, Pray, Love: One Woman’s Search for Everything Across Italy, India and Indonesia
  5. The Girl Who Kicked the Hornets’ Nest
  6. The Catcher in the Rye
  7. The Brain That Changes Itself
  8. Anna Karenina
  9. To Kill a Mockingbird
  10. Brave New World

Enjoy!

On Daemons

As you might imagine (depending on just how nerdy and imaginative you are), Booko is a poster child for the concept of long running background tasks. Grabbing prices from 40 online stores isn’t a fast process and you certainly would not want your front end webservers making your users wait as long as the slowest of the 40 stores before responding to a user request.

Over the years, I’ve tried various approaches to running user level daemons. My first attempt was ok – I rolled my own and slowly improved it. It could handle HUP signals, write PID files, die gracefully and it knew if it hadn’t died properly and attempted to kill zombie versions of itself. It had stop / start / restart commands. But it wasn’t all sweetness and light.  What happens when it dies? This is probably the trickiest part of running daemons (Well, having to fork twice and make sure you have detached from the terminal is probably tricker, but still).

So, how do you make sure your daemon is running? Cron immediately springs to mind. So, part two of writing your own daemons is writing something to keep them going.  You may have found yourself in this position and felt a little tickle in the back of your mind when you setup a cron job to solve this problem. My cron job looked at the daemon’s log file’s modified time and if it was more than 5 minutes old, looked for the PID file and sent that process a KILL signal.

It’s an easy, stable solution to the problem at hand – albeit with a 5 minute lag to detect crashed daemons. It’s ok because I run multiple daemons which can take the load if one dies.  But, what happens if you only have a single daemon? Increase the frequency of checking?  Cron’s smallest resolution is 1 minute – that’s not really ok (depending on what your daemon does, it may be fine).  But now you have to make sure that your daemon’s writing to the log at least every minute.  Ugh.

This solution is starting to smell. So, what does everyone else do? Well, I checked out God – but it just doesn’t feel like an elegant solution to this problem. It may solve the problem nicely, but there must be a better way? Hard core nerds would probably move on to daemontools but it’s too much work for me.

That tickle you may have had in the back of your mind earlier was your subconscious telling you the problem is already solved and you already use it for your webserver, mail server, DNS server, ssh server and more. Your operating system can provide this exact service for you. Since I’m using Ubuntu that service is provided by Upstart.

Running your service with Upstart has two very nice consequences. Firstly – you can remove all the code used to manage daemonising. You can now write your code to hang around in the foreground. Leaving your code in the foreground while you’re in development mode is good anyway – you can watch it more closely. If you really want to daemonise in our dev environment, bang up a tiny ruby script with the Ruby Daemon gem which calls your actual script and manages PIDs, signals and a stop/start interface for you.

Setting up a service to run with Upstart requires just a config file – here’s one I prepared earlier:

[sourcecode lang=”ruby”]
description "Price Fetcher Upstart script"
author "Dan Milne"

start on startup
stop on shutdown

console output

respawn
instance $FID

script
env RAILS_ENV=production
export RAILS_ENV

exec sudo -u booko RAILS_ENV=production /opt/ruby-enterprise/bin/ruby /var/www/booko.com.au/booko/bin/fetcher.rb $FID
end script
[/sourcecode]

That file gets named “fetcher.conf” and goes in the /etc/init/ directory. This has some nice features; the first of which is that once it’s started, it will keep running. If it dies, it’ll respawn (you can see the option right there in the script).  The fact that it died goes in /var/log/daemons – but what’s even awesomer, you can run multiple instances of the same script, by passing in FID=0 or FID=1 etc when you’re starting it. Finally, it gets the standard init features. You can start it with ‘service fetcher start FID=0’ for example.

The only missing feature that I can see, is that because I need to pass in FID=0 to the script, it doesn’t start at bootup. There appears to be no way of stating “Startup 2 of these at boot time”.

In summary, if you use your OS init services, you get to write simpler code, get respawning at an OS level and you get all the normal daemon control features.

Booko’s moved, features added.

I’ve been working on a beta version of Booko for, like, 7 months now.  I finally upgraded it while moving from Slicehost to Linode.  I’ve made a large number of changes to the way Booko performs long running tasks and how those tasks communicate. But I’ll leave the nerdy stuff for later.

The biggest change from a user point of view is some integration into Freebase.com. You’ll notice extra information appear in book listings now. For example, the Booko page for The Girl with the Dragon Tattoo now tells you:

  • that the book is part of the Millennium Trilogy
  • the other books in the series (The Girl who played with Fire & The Girl who kicked the Hornets’ Nest)
  • the other editions of The Girl with the Dragon Tattoo – hardcover and paperback.

The data at Freebase is a long way from complete, but it’s constantly growing. This should be a very useful feature. I’ll be doing more to integrate Freebase into the search results – for example, so a book shows up only once, listing the different editions in that single search result item.

List management also got an overhaul. That old list manager page was pretty bad. There’s still work to do, but it should be far more usable now. Log in and check it out!

There are still bugs to fix (soooo many missing images for cover art) and features to add (smarter list price calculation, used books).

Google / Yahoo user?

Logging into Booko just got easier. If you have a Google or Yahoo account, just hit the appropriate button and you’re in, registration included.

Turns out, this was super easy to add to Booko since it already does vanilla OpenID logins. Basically, Booko just fills in the OpenID URL with “https://www.google.com/accounts/o8/id” or “http://yahoo.com/” and OpenID Directed Identity does the rest. You could also just type those URLs in yourself and it’ll work just the same.  Sweet!

Playing on the Master branch

I’m working on adding a new feature to Booko, but I accidentally started working on the Git Master branch, which I like to keep sync’d with the production version of Booko. So after a few commits I want to be able to add some fixes to Booko, but I’ve polluted my master branch with untested, unfinished changes.  What to do?

After reading up on Stack Overflow, I decided to fix things.  What I want to do, is reset my master branch to the version in production, and take all the subsequent commits and create a new branch with them.  Turns out, it’s easy.

1. Find the commit you want the master branch to be at. You can find the SHA-1 name with “git log”

2. Create a branch from that commit with: git checkout -b new_master <SHA-1 commit name> (hint: this will be the new master )

3. Rename your current master branch to the new name of the feature: git branch -m master branchname

4. Rename the new_master to master: git branch -m new_master master

And, job done. You’re no longer messing up your master.

So awesome.

There are times I really enjoy using Ruby on Rails.  Recently, Fishpond started 403’ing http requests for cover images if the referrer isn’t fishpond.com.au.  Sites do this so that other sites don’t steal their bandwidth.  Really, Booko should be downloading the images and serving them itself (It’s on the todo list BTW).  Since Booko had been using Fishpond image URLs to display covers, you may have noticed a bunch of missing cover images – some of them are caused by Fishpond’s new (completely reasonable) policy.

So I’ve updated the code so I don’t link to Fishpond images, but now I need to go through every product Booko’s ever seen  and update those with a Fishpond image URL.   This is laughably easy with ruby on rails. Just fire up the console and run this:

[sourcecode lang=”ruby”]
Product.find_each do |p|
if p.image_url =~ /fishpond/
puts "updating details for #{p.gtin}"
p.image_url=nil
p.get_detail
p.save
end
end
[/sourcecode]

The Rails console gives you access to all the data and models of your application – and this code, just pasted in, will find links to all Fishpond images, find a replacement image, or set it to nil. Point of interest – Booko has 396,456 products in its database.  Iterating with Product.all.each would load every product into memory before hitting the each – that would probably never return. On the other hand Product.find_each loads records in batches of 1000 by default.  Pretty cool.

* Thanks to http://ryandaigle.com/ to posting about this feature.