Github’s extra features – issues versus projects – TDD/BDD

Trying to document a bit of what I am up too in the hopes it helps my workflow process improve.

Supposedly, when ADHD or tired this workflow will help you concentrate in order to be productive!

I’ve been hanging out on my github.com project lately.  Using the Issues List as my per task driver for the TDD/BDD stuff.  I’m actually listing out each command with a checkbox as my aid for doing & reversing the code I’m working with … usually the second time.  I also tried the “projects” thing off github’s repository … the feature is pretty meh for control though.  My frustration is that I can get check boxes and exacting lists of whatever length I want from the Issues list.

I really hate the idea of cluttering up my github issues list on projects which might get a volume of people (obviously my early stuff won’t suffer from this syndrome), so I’m attempting to shoe horn projects in to that role.  Currently, I’m using projects to describe the title of what I’m doing & Issue’s with check boxes the behavior that needs to be fixed along with the steps taken to fix the issue.

By no means am I an expert – more of a new guy imitating what I see other people doing.  So here’s my screen captures …

Tactics to achieve programming

Deliberate practice – of everything, this strategy is the most important – keep doing something regularly till it becomes routine or a pattern of living … the corny teachers talk about ABC’s, or “Always Be Programming”, trite but true.

  • In learning new languages, at first it’s memorization & rote reciting…
    • The noises your teacher demonstrates so you understand how to read the written language.
    • The nouns, verbs, prepositions you repetitively write or sound out.
    • Your teacher has you pronounce them until they are happy with how it sounds.
    • You practice in class with fellow students by speaking to each other
    • You get quizzed or graded on use

Some things you might have never thought about that schools do for you automatically:

  • Setting a schedule, like …
    • Meeting every day for 20 or 30 minutes
    • Meeting a couple times a week
    • Doing studies independently to prepare for class
    • Doing it enough that it stays in short term & longterm memory
  • Doing chunks of things in small batches, so no one thing gets lost
  • Having a goal
  • Having a defined set of steps
  • Having a defined set of check points to ensure the steps are getting you to the goal

Ways to go about that when not in school … these are effort based, not results based, as the amount achieved each day will vary with what you are doing & how far in to it you are (ie locating a rare bug versus reading the latest change log)

  • 20 minute rule – each day do something for programming even if it’s…
    • Thinking about a problem & jotting ideas down on a napkin
    • Listening to a podcast in the car
    • Planning what you will do for programming next week
    • Talking to someone on IM or phone
    • Watching a youtube video or a screencast
    • Read what changes will happen in the next patch
  • A calendar which you write how much time per session or day that you spent programming
  • A web blog which you can store snatches of what you were last working on so you can easily remember where you left off, what you intended & why you were working on it.
  • A web interface that allows you to work from anywhere with internet connections
    • wc3 java/html, fiddles, sandboxes which reset quickly online
    • cloud9 for web IDE developement or such
    • heroku, amazon aws, google servers or others for hosting files or services
  • Part of the 20 minute rule, if you’re working on something with no change in status & you’re not learning anything – change what you’re doing to learn more effectively for that specific type of thing – as not every type of problem is answered in the same type of source.
    • Always TRY to start with the quick start tutorials from the publisher of the language/framework as they often explain the process & what is intended the best
    • Independent tutorials are good walk through for overviews (check the date published of course) as the person doesn’t have an familiarity with the development of the language
    • Learn to books often provide a dense, but necessary process of learning from experts who are respected – there’s an open source trend for the same authors to publish the book electronically for free & you only pay for the book in hardcopy or donate if you want.
    • Cookbooks (like oreilly.com) are often free & good to see common solutions
    • Official or API documentation are good for the specific syntax when adding options after you understand the process
    • Change logs combined with the date of a tutorial are good for finding bugs which might explain why a tutorial isn’t working
    • If the language or tools in question are open source, github or bitbucket repositories often have well fleshed out issues lists – which hold wonderful information about things common to people just starting to use the code in question
    • Independent online schools can be very helpful – codeacademy has an excellent selection of languages for learning the syntax – just realize you need to take that knowledge & learn to program with it afterwards.
    • Daily quick code challenges like codewars etc are nice ways to keep the problem solving frame of mind along with realizing small holes in your knowledge base
    • Stackoverflow paired with the specific language / framework’s issues submissions list often have most pieces of a puzzle to help you locate at the very least – the verbs/nouns you need in order to search more, if not the solutions to many issues you are going to experience.
    • Slack has channels for chatting with people for all languages & often specialized groups you can join later – make sure to pay attention to their chat channel rules before posting

A diary of regret – Leonardo da Vinci

From Time Magazine …

Link

As the ultimate Renaissance man, Leonardo da Vinci meticulously recorded his thoughts, musings and sketches in journals throughout his life. Of the 30 that remain, his most famous is the Codex Hammer, named for the British nobleman who acquired the 72-page journal in 1717. Three years after Bill Gates bought the historic diary, he released a digitally scanned version for all the world to enjoy.

One of the most recognized names in western literature.

This is a man who, post humorously would be seen as unassailable in his brilliance.  He was no pauper as he was recognized for being great before death.

It’s insightful to hear that even he was plagued by that ever so human element of doubtfulness.

Throughout his life Leonardo da Vinci was plagued by a sense of failure, incompletion and time wasted. His favorite phrase, unconsciously repeated in whole or in part whenever he scribbled something to see if a newly cut pen was working, was “Tell me, tell me if anything got finished.” – Link

This speaks to me ever so much … not that I think I’m brilliant, but that I can recognize a pattern of desire in every living person, even the greatest ones.

The defeat of revolutions? Comfort & depression?

A little about depression … “double depression” (Dysthymia) that is and a funny perspective on the realities of society in the modern era … Link …

It reminds me of my grandparents when I was but 4 years old.  In one of a handful of those memories I actually recall vividly they babysat me.  We were at the park.  I was on bench between them.  Talking about things I didn’t really understand by telling me what things made people happy & sad.  Then instructing me one day it would be my turn to read the news papers.  I would have to know how to vote in order to help the country.  To do so, I would need to know how to read.

Also, if I knew how to read I would learn J. R. R. Tolkien was the great writer of the Hobbit & I could find more hobbit stories if I could read.

The funny part of the situation – 10 years later they were informing me they only consume media that is by comedians anymore – as the rest is too depressing … many years after they are gone, I found this today …

The distraction of the comfortable is always why revolutions fail. Once people reach a certain standard of living, they think they no longer owe it to the rest of humanity to continue fighting. They say they need a rest from all the hard work they did to get where they are. By the time they have kids, well, it’s over.

They gave it a shot.

Better luck, next generation.

Boomers, out.

But I don’t want to be their deadend.

And maybe you don’t either.

And if you’re fighting it, then you’re gasping for air while the rest of the free world is volunteering to drown.

If you’re taken in by the dread, it’s because it’s real.

You’ve seen the surface. You know this drowning world isn’t all there is.

Test.  I’m not sure why it speaks to me.  Test again.  Repeat later …

Proud owner of a Ruth Thompson!

Just bought my annual art purchase of the year – was over at convergence-con.org.

Their selection was especially good.  I almost won two non-wall mounted pieces of improv or adapted art.  I also saw a gal who had a gemstone carver who listed several very unique pieces.

My bid that won:

The Storm King by Ruth Thompson.  It’s a run of a 1,000 I believe – which means nothing to me – but some people care about that sort of thing.

It’s funny too – because I’ve had a photo of almost exactly the same helmet from when I was at the renaissance festival in Minnesota.  It had been one of the things that inspired me to take up leather working after seeing him rolling around in it.

I feel like I should add another already … have been eye-balling “Beauty” all morning.

A bit longer of why the news is bad for you….

I like some level of awareness for news, but this article brings up a very valid point about the “learned helplessness” which plays into some concerns by “free thinkers” that news sources are bought by the rich in order to express their opinions or inhibit/increase people’s will to fight over certain issues.

http://www.theguardian.com/media/2013/apr/12/news-is-bad-rolf-dobelli

… Unlike reading books and long magazine articles (which require thinking), we can swallow limitless quantities of news flashes, which are bright-coloured candies for the mind. Today, we have reached the same point in relation to information that we faced 20 years ago in regard to food. We are beginning to recognise how toxic news can be.

News misleads. Take the following event (borrowed from Nassim Taleb). A car drives over a bridge, and the bridge collapses. What does the news media focus on? The car. The person in the car. Where he came from. Where he planned to go. How he experienced the crash (if he survived). But that is all irrelevant. What’s relevant? The structural stability of the bridge. That’s the underlying risk that has been lurking, and could lurk in other bridges. But the car is flashy, it’s dramatic, it’s a person (non-abstract), and it’s news that’s cheap to produce. News leads us to walk around with the completely wrong risk map in our heads. So terrorism is over-rated. Chronic stress is under-rated. The collapse of Lehman Brothers is overrated. Fiscal irresponsibility is under-rated. Astronauts are over-rated. Nurses are under-rated.

News has no explanatory power. News items are bubbles popping on the surface of a deeper world. Will accumulating facts help you understand the world? Sadly, no. The relationship is inverted. The important stories are non-stories: slow, powerful movements that develop below journalists’ radar but have a transforming effect. The more “news factoids” you digest, the less of the big picture you will understand. If more information leads to higher economic success, we’d expect journalists to be at the top of the pyramid. That’s not the case.

News is toxic to your body. It constantly triggers the limbic system. Panicky stories spur the release of cascades of glucocorticoid (cortisol). This deregulates your immune system and inhibits the release of growth hormones. In other words, your body finds itself in a state of chronic stress. High glucocorticoid levels cause impaired digestion, lack of growth (cell, hair, bone), nervousness and susceptibility to infections. The other potential side-effects include fear, aggression, tunnel-vision and desensitisation.
News increases cognitive errors. News feeds the mother of all cognitive errors: confirmation bias. In the words of Warren Buffett: “What the human being is best at doing is interpreting all new information so that their prior conclusions remain intact.” News exacerbates this flaw. We become prone to overconfidence, take stupid risks and misjudge opportunities. It also exacerbates another cognitive error: the story bias. Our brains crave stories that “make sense” – even if they don’t correspond to reality. Any journalist who writes, “The market moved because of X” or “the company went bankrupt because of Y” is an idiot. I am fed up with this cheap way of “explaining” the world.

News inhibits thinking. Thinking requires concentration. Concentration requires uninterrupted time. News pieces are specifically engineered to interrupt you. They are like viruses that steal attention for their own purposes. News makes us shallow thinkers. But it’s worse than that. News severely affects memory. There are two types of memory. Long-range memory’s capacity is nearly infinite, but working memory is limited to a certain amount of slippery data. The path from short-term to long-term memory is a choke-point in the brain, but anything you want to understand must pass through it. If this passageway is disrupted, nothing gets through. Because news disrupts concentration, it weakens comprehension. Online news has an even worse impact. In a 2001 study two scholars in Canada showed that comprehension declines as the number of hyperlinks in a document increases[Link: http://www.wired.com/2010/05/ff_nicholas_carr/]. Why? Because whenever a link appears, your brain has to at least make the choice not to click, which in itself is distracting. News is an intentional interruption system.

News works like a drug. As stories develop, we want to know how they continue. With hundreds of arbitrary storylines in our heads, this craving is increasingly compelling and hard to ignore. Scientists used to think that the dense connections formed among the 100 billion neurons inside our skulls were largely fixed by the time we reached adulthood. Today we know that this is not the case. Nerve cells routinely break old connections and form new ones. The more news we consume, the more we exercise the neural circuits devoted to skimming and multitasking while ignoring those used for reading deeply and thinking with profound focus. Most news consumers – even if they used to be avid book readers – have lost the ability to absorb lengthy articles or books. After four, five pages they get tired, their concentration vanishes, they become restless. It’s not because they got older or their schedules became more onerous. It’s because the physical structure of their brains has changed.

News wastes time. If you read the newspaper for 15 minutes each morning, then check the news for 15 minutes during lunch and 15 minutes before you go to bed, then add five minutes here and there when you’re at work, then count distraction and refocusing time, you will lose at least half a day every week. Information is no longer a scarce commodity. But attention is. You are not that irresponsible with your money, reputation or health. Why give away your mind?

News makes us passive. News stories are overwhelmingly about things you cannot influence. The daily repetition of news about things we can’t act upon makes us passive. It grinds us down until we adopt a worldview that is pessimistic, desensitised, sarcastic and fatalistic. The scientific term is “learned helplessness”. It’s a bit of a stretch, but I would not be surprised if news consumption, at least partially contributes to the widespread disease of depression.

News kills creativity. Finally, things we already know limit our creativity. This is one reason that mathematicians, novelists, composers and entrepreneurs often produce their most creative works at a young age. Their brains enjoy a wide, uninhabited space that emboldens them to come up with and pursue novel ideas. I don’t know a single truly creative mind who is a news junkie – not a writer, not a composer, mathematician, physician, scientist, musician, designer, architect or painter. On the other hand, I know a bunch of viciously uncreative minds who consume news like drugs. If you want to come up with old solutions, read news. If you are looking for new solutions, don’t.

Society needs journalism – but in a different way. Investigative journalism is always relevant. We need reporting that polices our institutions and uncovers truth. But important findings don’t have to arrive in the form of news. Long journal articles and in-depth books are good, too.

I have now gone without news for four years, so I can see, feel and report the effects of this freedom first-hand: less disruption, less anxiety, deeper thinking, more time, more insights. It’s not easy, but it’s worth it.

This is an edited extract from an essay first published at dobelli.com. The Art of Thinking Clearly: Better Thinking, Better Decisions by Rolf Dobelli is published by Sceptre, £9.99. Buy it for £7.99 at guardianbookshop.co.uk