Have you ever run into that problem you are trying to solve, that is tangential to your core business? It’s easy to run off, look for a gem, and use it.
What is harder, is when that gem … isn’t quite right. Maybe you should look for an alternative. Maybe you should fix the gem. Or if your problem is different enough, you can fork the gem
Or maybe you should just stop wasting so much time looking for the “easy” solution, and just DO THE WORK.
11. WRITE A RUBYMOTION APP
As a side project, to learn more about RubyMotion and iOS Development
12. WIMBY
Wells In My BackYard
So I picked WIMBY, or Wells in My Back Yard.
That’s a play on NIMBY, or Not In My Back Yard.
!
You might call that a garden….
13. CALMAR,ALBERTA, CANADA
• "According to the records, they believed that
somewhere in that vicinity was a well site," recalled
Ms. Beaudry, 45, a mother of two.They guessed
right. In her backyard, a metre from her house,
crews found a broken, leaking, 50-year-old natural
gas well.
14. BUT WHY? HOW?
How is it even possible for people to not know they have an abandoned well on their property?
!
Once the wells were abandoned, Imperial/Texaco Canada surrendered the lease back to the landowner and consequently no longer had an interest in the
lands. Caveats were later removed from the land titles because there was no regulatory requirement that provided for registration of well locations on
land titles once activity had ceased.
15. WELLS ABANDONED
IMPROPERLY
It was only in the mid 60’s that rules and regulations acquired some teeth, and wells had to be abandoned according to well-established, well-regulated
procedures.
16. HOMESTORN DOWN
• The re-abandonment of the 1-36 wellbore
required the acquisition and removal of five
Evergreen Crescent properties to accommodate
the safe operation of a drilling rig.
A quote from the Imperial Oil website, w.r.t. the Calmar incident.
17. I MUST DO SOMETHING
So, having encounter this story, I felt I must do something.
But what?
18. DATA. GOTTHAT
In fact, I spent the better part of 7 years immersed in the Oil & Gas data used by most of the Canadian oil industry, and provided by 2 of the biggest data
vendors in the business.
19. LOADS OF DATA
There are over 750,000 oil and gas wells in Canada, and of
those, over 244,000 are abandoned.
22. YOU SHOULD USE
CORE DATA
All of my research let me to the conclusion that I needed to use Core Data.
23. CORE DATA
in RubyMotion
And there-in lies the problem. Not just using Core Data, where there are books and tutorials galore, but using it in RubyMotion, not so much.
26. SO MANY GEMS
• motion-sqlite
• Nitreon
• Magical Record
• Superbox
• Motiondata
• MotionModel
• CDQ
Why yes, in fact, there are a lot of gems. And where there are many options there are so many opportunities to become lost in analysis paralysis.
36. NOTHING WORKS
Eventually, I came to a CONCLUSION. Nothing works. At least, not for the specific requirements that my application had.
37. –@scottdavis99
Young C is expending an extraordinary amount of
energy finding shortcuts rather than just doing the
work. Future #convict or #programmer?
I saw this and thought… this is me. Instead of just buckling down, and doing the work of figuring out Core Data for myself, I wasted all that time trying to
use other people’s code that was not suited to my core requirements.
39. DIDN'T UNDERSTAND
THE GEMS
And because I didn’t know enough about Core Data, I didn’t really understand how the gems worked
40. COULDN'T MODIFY
THE GEMS
And because I didn’t understand how they worked, I couldn’t really modify them easily, either.
41. THE IRONY
I tried to use gems as a shortcut, only to end up wasting more time than just DOING THE WORK.
42. –@bketelsen
spent 6 hours researching a way to do it the easy way,
when I could have written it in 3, the hard way.
Yup, I resembled this guy too. I wasted 3 weeks of part time efforts, digging into all those gems, so I wouldn’t have to learn Core Data for myself.
43. DOTHE WORK
back to the basics
So, after all that, I needed to go back, and actually spend time figuring out Core Data in RubyMotion for myself.
44. LEARNTHE SDK
Because RubyMotion, for all it lets you code in Ruby, does not relieve you of the need to learn the Apple iOS SDK’s.
45. READTHE API
And what does that mean? Learn the SDK. It meant going back, and actually reading the Apple documentation for Core Data.
46. READTHE EXAMPLES
It meant downloading and reading the example code that comes with the API documentation.
47. FIND MORE EXAMPLES
It meant finding some Objective C posts about using Core Data (on Ray Wenderlich’s fab site).
49. HARD PROBLEMS ARE HARD
Along the way I (re)discovered… hard problems are hard. Most of my requirements turned out to be fairly challenging problems, in and of themselves.
Most gems are make tedious things simple. But they don’t really tackle the hard problems.
50. @SERIOUSPONY
On expertise and just how deep the rabbit hole goes
Most of the gems stop at the “Turns out it’s quite simple”.
!
Most of my requirements drove me all the way into “OMG complex!”
!
* https://twitter.com/seriouspony/status/419887010388537344/photo/1
51. Turns out, I was sort of glad that none of those gems worked for me. I learned SO MUCH.
52. I KNOW!
I’LL WRITE A BOOK NOW!
So much in fact, that I ended up with enough material to write a whole book on the subject of Core Data in Ruby Motion.
53. DOINGTHE WORK
The moral of this long and involved tale
that is somewhat embarrassing
and somewhat uplifting
is that when the problem you are attempting to solve is core to your application, sometimes what you need to do is just sit down, and do the work.
55. EXPERT BEGINNER
How Developers Stop Learning: Rise of the Expert Beginner
This is where you learn just enough to think you are proficient, but really, you never get to be an expert at anything. Lots of developers fall into this trap.
We need to dig a little deeper, avoid the easy solutions, and do the work.
!
http://www.daedtech.com/how-developers-stop-learning-rise-of-the-expert-beginner
56. @SERIOUSPONY
On expertise and just how deep the rabbit hole goes
The expert beginner gets stuck in that trough, and never realizes there is more to learn
!
* https://twitter.com/seriouspony/status/419887010388537344/photo/1
58. LEARNING IS ITS OWN
REWARD
Ok, sure it’s a cliche, but that doesn’t make it less true. There is deep satisfaction in deep diving into learning, and becoming truly expert in something.
59. BELONG BY DOING
This is a great quote. I wish I could track down where it came from.
!
Do the work.
60. CORE DATA IN MOTION
http://coredatainmotion.com
And of course, maybe you too, will some day discover that you have learned enough about a difficult topic that you have enough material at your
fingertips to write a book.