Sunday, 18 December 2016

Damo's Podcast Highlights 2016 #50

I subscribe to many podcasts, you can see the list as it was in 2015 here: Developer podcasts v2 but I thought I would start to keep a weekly log of the episodes that I found interesting or useful in some way.

[No Fluff Just Stuff] The Challenges facing Software Architects http://blog.nofluffjuststuff.com/2016/11/02/challenges-software-architect/
  • The title of “Software Architect” is often an ill-defined role. In the pursuit of a software architect role many critical facets of the skill set are frequently overlooked. 
  • It is also increasingly difficult to gain necessary experience as a software architect when most software architects focus on an average of one architecture a year-and frequently never see the full lifecycle of their work.

[Scale Your Code Podcast] JavaScript best practices, Node.js and ending poverty https://scaleyourcode.com/interviews/interview/8
  • Take your JavaScript projects and turn them into more maintainable and scalable applications. Eric has a background of building apps that scale, and I asked him to teach us how. 
  • We also talk about Node.js use cases and how to get started with it. If you've been interested in trying Node out, time to dive in!

[No Fluff Just Stuff] Reflections on Agile in 2016 - What's Wrong and how to fix it http://blog.nofluffjuststuff.com/2016/09/21/reflections-agile-john-borys/
  • The agile manifesto was written 15 years ago and many agree the principles reflect the true nature of software development. Despite that, we continue to face challenges in making and maintaining the transition. 
  • The low-level details of the implementation are often poorly understood, the organizational buy-in can be challenging and the result is a sort of “worst of both worlds” mashup of waterfall and agile; “Scrummerfall” as our guest John Borys like to call it.

[Software Engineering Daily] Distributed Tracing with Reshmi Krishna https://softwareengineeringdaily.com/2016/08/24/distributed-tracing-with-reshmi-krishna/
  • In a microservices architecture, a user request will often make its way through several different services before it returns a result to the end user. If a user experiences a failed request, the root cause could be in any of the services along that request path. Even more problematic is the challenge of debugging latency in this kind of request chain.
  • What is distributed tracing
  • Why use ir
  • What is zipkin
  • How it works

[Software Engineering Daily] Algorithms to Live By with Brian Christian https://softwareengineeringdaily.com/2016/12/05/algorithms-to-live-by-with-brian-christian/
  • When you are deciding who to marry, you are using an algorithm. The same is true when you are looking for a parking space, playing a game of poker, or deciding whether or not to organize your closet. Algorithms To Live By is a book about the computer science of human decisions. It offers strategies for how to think through everyday life like a computer scientist.
  • Done in a book review style
  • Time management
  • Sorting vs searching
  • Decision making, optimal stopping

[Developing Up] Six ways you can be a more productive developer http://www.developingup.com/5
  • Be smart about your time and remove time waste
  • Prioritize what you need to get done and focus on the MVP.
  • Use goals and set milestones for yourself.
  • Plan backwards, start with your end result.
  • Be active in your progression and learn deliberately
  • Remove distractions and enter the zone.

[Mastering Business Analysis] Episode 016 – User Story Mapping with Jeff Patton http://masteringbusinessanalysis.com/episode-016-user-story-mapping-with-jeff-patton/
  • Why Jeff believes the word “requirements” means “shut up”
  • What User Story Maps are and how they can create a shared understanding within your team
  • How to use Story Maps to create slices of functionality and break a large effort into smaller pieces
  • How to avoid the common pitfalls with User Story Mapping
  • Why User Stories aren’t a different way of writing requirements

[Mastering Business Analysis] MBA081: User Story Mapping with David Hussman http://masteringbusinessanalysis.com/mba081-user-story-mapping-david-hussman/
  • Why story maps are a powerful tool
  • How to create a user story map
  • What to do with the story map
  • How to avoid building solutions people don’t want

[The Tim Ferriss Show] Testing the "Impossible": 17 Questions that changed my life http://fourhourworkweek.com/2016/12/07/testing-the-impossible-17-questions-that-changed-my-life/
  • “Whenever you find yourself on the side of the majority, it is time to pause and reflect.” — Mark Twain
  • What would happen if i did the opposite for 48 hours
  • How do i scratch my own itch
  • whats my real target monthly income
  • can i get back to where i am now
  • Empower people
  • You dont need to make it back in the same way
  • What if i could only subtract to solve problems
  • Am i hunting antelope or field mice
  • 'Waste' money to improve quality of life
  • Non hurry, no pause

[London DevOps] DevOps Transformation in a Large Bank - Nic Ferrier https://youtu.be/JcZOCoUqjBo?list=PL-JvSFEhoWGdv_Cs8c9hY2cYaD1pGXGDZ
  • From a release every 3 months to > 4000 a year

[Developer Tea] How We Spend Our Days Is How We Spend Our Lives http://developertea.simplecast.fm/episodes/10038-how-we-spend-our-days-how-we-spend-our-lives-and-one-way-to-get-a-better-grasp-on-time
  • How we spend our days is, of course, how we spend our lives. But how can we get a better grasp on time? 
  • In this episode, I share a simple tip that exploits our brain's natural tendency to take shortcuts to help you better experience time and avoid the feeling of "time flying by" faster than you'd like.

Sunday, 11 December 2016

Damo's Podcast Highlights 2016 #49

I subscribe to many podcasts, you can see the list as it was in 2015 here: Developer podcasts v2 but I thought I would start to keep a weekly log of the episodes that I found interesting or useful in some way.

[Software Engineering Daily] Database as a Service with Eliot Horowitz https://softwareengineeringdaily.com/2016/12/01/database-as-a-service-with-eliot-horowitz/
  • History of mongoDB
  • Current versions
  • Future
  • Competitors
  • Running in the cloud
  • How they do it
  • Document Vs relational

[Software Engineering Daily] AWS Open Guide with Joshua Levy https://softwareengineeringdaily.com/2016/11/14/aws-guide-with-joshua-levy/
  • As AWS has grown to be a gigantic platform, the documentation about how to use cloud infrastructure has become insufficient. As an answer to this, Joshua Levy initiated The Open Guide to Amazon Web Services, an open-source collection of resources available on github

[Hello techpros] The Second Dysfunction of a Software Team: Social Anxiety http://hellotechpros.com/social-anxiety-leadership/
  • An overview of Patrick Lencioni’s second dysfunction of a team: fear of conflict.
  • Why software developers want to think, work and socialize like Commander Spock.
  • How a technical lead or architect can derail a healthy debate by stating their position.
  • Why we need to combine empathy and love with a fierce desire to get our message across.
  • How to foster an environment of healthy conflict in your software development team.

[Freakonomics Radio] How to Make a Bad Decision http://freakonomics.com/podcast/make-bad-decision/
  • Some of our most important decisions are shaped by something as random as the order in which we make them. The gambler’s fallacy, as it’s known, affects loan officers, federal judges — and probably you too. How to avoid it? The first step is to admit just how fallible we all are.

[Agile for Humans] The Agile Mindset with Gil Broza http://ryanripley.com/afh-043-the-agile-mindset-with-gil-broza-podcast/
  • How to foster an agile mindset
  • The impediments to adopting an agile mindset
  • What it means to value the human side of agile
  • How change can happen on an agile team

[Agile for Humans] The Grows Method for Adopting Agile Software Develpoment http://ryanripley.com/afh-042-the-grows-method-for-adopting-agile-software-development-podcast/
What is the Grows Method for Agile Adoption
  • How to gradually grow agile in an organization
  • What is essential to be agile
  • How to get alignment between executives and agile teams

[The Cloudcast] DevOps from the Enterprise http://www.thecloudcast.net/2016/11/the-cloudcast-280-devops-from-enterprise.html
  • All about the DevOps Enterprise Summit (#DOES16), DevOps success stories, how companies manage the evolution, common DevOps failures and any models that can be reused by other companies.
  • Topic 1 - Let’s talk about your experiences at DOES in UK vs. DOES in US.
  • Topic 2 - What stories of successful DevOps implementations did you hear about, and were there any commonalities in those stories?
  • Topic 3 - Are you seeing the successful companies focus more on people/process or cultural changes or automation/CI/CD or on application transformation as part of their DevOps journey?
  • Topic 4 - Have any models emerged that are showing companies how to move DevOps from greenfield environments or POCs or Centers of Excellence (COEs) to wider-scale adoption?
  • Topic 5 - How are people managing the distributed nature of “two pizza teams” and the overhead of keeping projects in sync?
  • Topic 6 - What are the common pitfalls or mistakes that companies need to avoid if they are moving down the path towards DevOps?

[Fight Mediocrity] The 7 habits of highly effective people by stephen covey - animated book review https://www.youtube.com/watch?v=ktlTxC4QG8g&feature=youtu.be
  • be proactive
  • begin with the end in mind
  • put first things first
  • think win win
  • seek first to understand then be understood
  • synergyse
  • sharpen the saw

[Nodevember] Staying Sane (dot) JS https://www.youtube.com/watch?v=WP8oEhFXhZs&feature=youtu.be
  • how not to go crazy whilst writing JS
  • How it feels to learn JavaScript in 2016 - https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f#.8i5g054y4
  • Developing apps with JavaScript is fun and scary in this day and age. It feels like every application we write will outlive the libraries used to write the app in... and that's not a fun feeling. Sometimes we get the impression that anything written in JavaScript today is so volatile because smart people will come up with smarter ways of solving problems, that will render solutions I write outdated about two minutes after writing it.

Saturday, 3 December 2016

Damo's Podcast Highlights 2016 #48

I subscribe to many podcasts, you can see the list as it was in 2015 here: Developer podcasts v2 but I thought I would start to keep a weekly log of the episodes that I found interesting or useful in some way.

[AWS Podcast] Re:Invent 2016 Day 1-2 Announcements https://soundcloud.com/amazon-web-services-306355661/163-reinvent-2016-day-1-announcements https://soundcloud.com/amazon-web-services-306355661/164-reinvent-announcements-day-2
  • In this special episode Simon summarises all the announcements from Re:Invent 2016 - Day 1-2
  • Athena - search and analyse data in S3
  • Snowmobile - want to move a large amount of data?
  • personal health dashboard
  • DDoS mitigation
  • C# in AWS Lambda
  • AWS Batch
  • AWS CodeBuild - managed build service, only pay for the time you use
  • AWS X-Ray - analyse and debug production, distributed applications, such as those built using a microservices architecture
  • Lambda at edge


[Software Engineering Daily] Microservices with Rafi Schloming https://softwareengineeringdaily.com/2016/11/22/microservices-with-rafi/
  • Microservices are a widely adopted pattern for breaking an application up into pieces that can be well-understood by the individual teams within the company
  • Microservices also allow these individual pieces to be scaled independently and updated in isolation
  • Rafael Schloming, who is building tools for microservices at Datawire

[The Tim Ferriss Show] Tools of Titans: Josh Waitzkin Distilled https://player.fm/series/the-tim-ferriss-show/204-tools-of-titans-josh-waitzkin-distilled
  • Josh has written the book 'the art of learning'
  • Considered a chess prodigy, Josh has perfected learning strategies that can be applied to anything, including his other loves of Brazilian jiu-jitsu (he's a black belt under phenom Marcelo Garcia) and Tai Chi push hands (he's a world champion)
  • These days, he spends his time coaching the world's top athletes and investors, working to revolutionize education, and tackling his new passion for paddle surfing

[O'Reilly Software architecture conference] Reactive architecture, design, and programming with Duncan Devore https://youtu.be/nZ1NucpEyxM
  • What is reactive architecture, design and programming

[Reactive summit 2016] Bla Bla Microservices Bla Bla https://youtu.be/DRK7WYNh6AA
  • Everyone is talking about microservices, but there is more confusion than ever about what the promise of microservices really means and how to deliver on it. In this talk we will explore microservices from first principles, distilling their essence and putting them in their true context: distributed systems
  • Core traits of isolation, single responsibility, autonomy, exclusive state, asynchronous message-passing, and mobility
  • It is in between the microservices that the most interesting and rewarding, but also challenging, problems arise—here we are entering the world of distributed systems
  • Slicing an existing system into various REST services and wiring them back together again with synchronous protocols and traditional enterprise tools—designed for monolithic architectures—will set you up for failure
  • What we need in order to build resilient, elastic, and responsive microservices-based systems is to embrace microservices as systems and re-architect them from the ground up using reactive principles

[JavaScript Jabber] Visual Studio Code with Chris Dias https://devchat.tv/js-jabber/199-jsj-visual-studio-code-with-chris-dias-and-erich-gamma
  • Whats new with VSCode

[Agile for humans] System Thinking and #NoEstimates with Chris Chapman http://ryanripley.com/afh-045-system-thinking-and-noestimates-with-chris-chapman-podcast/
  • How a #NoEstimates mindset brings value to a team
  • What lean thinking can do for executives
  • Coaching techniques for when you’re learning about a team
  • Where we learned about lean and system thinking

[This Agile Life] Trust, Transparency and Truth http://www.thisagilelife.com/119/
  • Presentation recorded at Agile Gravy 2016 - Trust Transparency Truth

[Developer Tea] Addictions https://spec.fm/podcasts/developer-tea/6531
  • How do you use technology?
  • Could we be more intentional in the time we spend with screens?

Sunday, 27 November 2016

Damo's Podcast Highlights 2016 #47

I subscribe to many podcasts, you can see the list as it was in 2015 here: Developer podcasts v2 but I thought I would start to keep a weekly log of the episodes that I found interesting or useful in some way.

[Adventures in Angular] Back end and front end teams versus cross functional teams https://devchat.tv/adv-in-angular/120-aia-back-end-and-front-end-teams-versus-cross-functional-teams
  • Issues and concerns with working on back end/front end teams
  • Measuring success with split and cross-functional teams
  • Benefits of full-stack teams
  • Hiring experts and specialists

[Reactive summit] Monolith to reactive - it's all about architecture https://www.youtube.com/watch?v=ofxbypDz4h8&feature=youtu.be
  • There are plenty of reactive technologies out there, but these are only the building blocks for building reactive systems, using these technologies to build a system does not necessarily make the system reactive. A reactive system will have a fundamentally different architecture to the traditional monolith found in the enterprise.
  • In this presentation we take a hands on look at how the architecture of a system, including the flow of data, the types of communication used, and the way the system is broken down into components, will need to change as you decompose a monolith into a reactive microservice based system.

[Soft Skills Engineering] Attracting Talent https://softskills.audio/2016/11/15/episode-35-attracting-talent-and-quitting-without-burning-bridges/
  • How to attract top talent to your team
  • How to sell the company from a technical perspective

[Agile for Humans] How Project Managers Can Fit on Agile Teams http://ryanripley.com/afh-048-how-project-managers-can-fit-on-agile-teams-podcast/
  • Discussions on how project managers and developers can find common ground on Agile teams

[JavaScript Air] End to End Testing with Julie Ralph http://audio.javascriptair.com/e/014-jsair-end-to-end-testing-with-julie-ralph/
  • End-to-End testing is among the various forms of testing that is critical for the development and quality assurance of your applications. Join us with a subject matter expert to chat about this important part of application development

[Software Engineering Daily] You Are Not A Commodity https://softwareengineeringdaily.com/2016/08/07/you-are-not-a-commodity/
  • Why big companies usually underpay engineers and offer unrewarding work
  • Suggests strategies for engineers looking to escape the role of the commodity developer

[The Tim Ferriss Show] The choice minimal lifestyle, 6 Formulas for More Output and less overwhelm http://fourhourworkweek.com/2008/02/06/the-choice-minimal-lifestyle-6-formulas-for-more-output-and-less-overwhelm/
  1. Set rules for yourself so you can automate as much decision-making as possible
  2. Don’t provoke deliberation before you can take action
  3. Don’t postpone decisions or open “loops,” to use GTD parlance, just to avoid uncomfortable conversations
  4. Learn to make non-fatal or reversible decisions as quickly as possible
  5. Don’t strive for variation—and thus increase option consideration—when it’s not needed. Routine enables innovation where it’s most valuable
  6. Regret is past-tense decision making. Eliminate complaining to minimize regret

Sunday, 20 November 2016

Damo's Podcast Highlights 2016 #46

I subscribe to many podcasts, you can see the list as it was in 2015 here: Developer podcasts v2 but I thought I would start to keep a weekly log of the episodes that I found interesting or useful in some way.

[Toolsday] State of Javascript https://www.podcastchart.com/podcasts/toolsday/episodes/state-of-javascript
  • The abundance of tools in web development

[Hanselminutes] Mob Programming with Woody Zuill http://hanselminutes.com/553/mob-programming-with-woody-zuill
  • You've pair programmed but have you tried Mob Programming? 
  • Woody Zuill and his team "discovered" programming as a group and it changed their whole process. 
  • Woody joins Scott and explains how they stumbled on this, how they refined it, and how Mob Programming may make your programming life better.

[Scrum Master Toolbox Podcast] Successful Agile adoption is about people and their goals http://scrum-master-toolbox.org/2016/11/podcast/stefan-wolpers-reminds-us-that-people-are-the-most-important-part-of-any-success-story/
  • Many organisations want to adopt Agile because it supports some part of their world view that existed before Agile was there 
  • In fact we adapt easily to changes that support our world view, so the first question in our mind when joining a new organization should be “why exactly do you think Agile is a good approach for his company?”.

[Cucumber Podcast] How XP Can Improve the Experiences of Female Developers https://cucumber.io/blog/2016/09/21/how-xp-can-improve-the-experiences-of-female-software-developers
  • Clare feels many of the difficulties associated with being a minority have subsided since working in an XP environment
  • "My belief is that XP creates a more conducive environment for women and other minorities within the industry. I believe that XP can – and should – pave the way to making the tech industry a more welcoming and attractive place for women."

[Mastering Business Analysis] The Art and Science of Influence http://masteringbusinessanalysis.com/mba098-the-art-and-science-of-influence/
  • Why influence is a key skill for any project professional
  • How to build trust within your organization
  • Why knowing yourself and emotional intelligence are vital to your ability to influence

[Software Engineering Daily] Slack Bots with Amir Shevat https://softwareengineeringdaily.com/2016/11/16/slack-bots-with-amir-shevat/
  • The rise of Slack has coincided with the rise of chatbots
  • A chatbot is a simple, conversational interface into a computer program that may have simple functionality, like telling you some simple statistics, or more complex functionality, like helping you manage your continuous integration pipeline

[.NET Rocks] Connect Debrief with Scott Hunter http://www.dotnetrocks.com/?show=1376
  • So many amazing things announced at Connect! Important announcements including:
  • new support in Visual Studio for containers
  • cool new integration with SQL Server 2016
  • the on-going evolution of .NET Core and it's tooling

Monday, 14 November 2016

Damo's Podcast Highlights 2016 #45

I subscribe to many podcasts, you can see the list as it was in 2015 here: Developer podcasts v2 but I thought I would start to keep a weekly log of the episodes that I found interesting or useful in some way.

[Cucumber Podcast] Agile Anarchy https://cucumber.io/blog/2016/02/16/agile-anarchy
  • The wide adoption of agile has produced practices and tools that help teams communicate and deliver software effectively. But many activities we assume we must use don't add the value we hoped.
  • What happens when you throw out the rulebook and start at zero - will we see a marked improvement or just a Hobbesian mess?

[ThoughtWorks Beacon] Evolutionary Architecture https://player.fm/series/thoughtworks/evolutionary-architecture-thoughtworks-beacon

[Software Engineering Radio] Rebecca Parsons on Evolutionary Architecture http://www.se-radio.net/2015/08/se-radio-episode-236-rebecca-parsons-on-evolutionary-architecture/
  • The practice of evolutionary software architecture means making decisions as late as possible (last responsible moment) and setting up cross-functional requirements that the architecture has to meet (architectural fitness function)
  • Last responsible moment
  • Architect for testability
  • Postals law
  • Architect for evolveability
  • Conways law

[JavaScript Jabber] Interview with Mads Kristensen from Microsoft Ignite https://devchat.tv/js-jabber/236-jsj-interview-with-mads-kristensen-from-microsoft-ignite
  • Things that make web development more difficult
  • Creating accessible javascript tools that aren’t immediately outdated

[Software Engineering Daily] Ad Industry with Bob Hoffman https://softwareengineeringdaily.com/2016/11/01/ad-industry-with-bob-hoffman/
  • Online advertising is heavily affected by a set of delusions and fraudulent practices that few people in the adtech industry have an interest in stopping. This is the curious, perverse nature of the world of online media
  • Some of the online advertising we see fulfills its job, when an ad successfully conveys a meaningful message from a marketer to a consumer
  • But there are reasons to be extremely skeptical of the way that online advertising works

[Software Engineering Daily] Ad Tracking with Larry Furr https://softwareengineeringdaily.com/2016/11/03/ad-tracking-with-larry-furr/
  • When you visit a web page, that web page can write data to a file on your computer, known as a cookie. Scripts on that page can also read from your cookie file to understand where you have been in the past. All of this data about you is getting shared between advertising companies like Google, Facebook, and AppNexus.
  • Ghostery is a browser extension that allows you to limit what you share with these online tracking companies. Larry Furr develops products at Ghostery, and on this episode he takes us through the process of how we are tracked through the Internet.
  • We also explore the topic of ad fraud, which is a theme we will continue to explore on SE Daily

[MongoDB Radio] The MEAN Stack with Jason Zucchetto https://soundcloud.com/mongodb/the-mean-stack-with-jason-zucchetto
  • Jason Zucchetto, Product Manager at MongoDB, explains what the MEAN stack is and how it can be leveraged to make GIANT ideas into GIANT realities.

[.NET Rocks!] Data Lakes with Michael Rys http://www.dotnetrocks.com/default.aspx?ShowNum=1370
  • Azure Data Lakes - a place to store your data "as is" so that you can easily query and organize the data for further analysis
  • Michael discusses the problems of data warehouses, with their Extract-Transform-Load (ETL) processes that manipulate the data into a particular shape for the warehouse - and make it harder to ask new questions of the data
  • Leave the data as it is in the data lake and then build mechanism to extract on demand for the various data marts you have

Connecting to a mongod instance from a different VM

I've got two CentOS installations running within Virtual Box. I want to run mongodb on one which will be optimised for this purpose, the other for developing and running my node apps.

VM1. CentOS full desktop install as documented here

This is the environment that I'm doing my development, running node etc.

VM2. CentOS minimal install, command line only

I've followed the instructions as documented in my other post to install mongod here.

Connect

Now I want to connect from VM1 to the mongod service running in VM2.

First change the network adapter of VM2 away from 'NAT' (the default) to 'Bridged Adapter' this will make this VM a full citizen of the network, it will get its own IP address and can be accessed on it from any other machine on the network.
Next amend the mongod.conf file in /ect/ by adding in the new IP address.

$ ip addr show
1: lo: mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:5c:41:9c brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.10/24 brd 10.0.2.255 scope global dynamic enp0s3
       valid_lft 85748sec preferred_lft 85748sec
    inet6 fe80::a00:27ff:fe5c:419c/64 scope link
       valid_lft forever preferred_lft forever

 
$ su -c 'vi /etc/mongod.conf'
 
# Listen to local and LAN interface.
bind_ip = 127.0.0.1,192.168.0.10


This will allow remote access to the service as documented here

once this is done restart the mongod service on VM1 and connect from the remote VM thus:
$ mongo 192.168.0.10

Sunday, 6 November 2016

Damo's Podcast Highlights 2016 #44

I subscribe to many podcasts, you can see the list as it was in 2015 here: Developer podcasts v2 but I thought I would start to keep a weekly log of the episodes that I found interesting or useful in some way.

[Software Engineering Daily] ChatOps with Jason Hand https://softwareengineeringdaily.com/2016/11/02/chatops-with-jason-hand/
  • Chat bots are your newest co-worker. Slack, HipChat, and other chat clients allow developers and other team members to communicate more dynamically than the limits of email. 
  • Companies have started to add bots to their chat rooms. These bots can give you technical information, restart a server, or notify you that a build has finished.

[Full Stack Radio] Building the Right Thing with BDD http://www.fullstackradio.com/51
  • What exactly is BDD?
  • Is BDD a technical or non-technical practice?
  • How do you get started with BDD?
  • How do you keep the number of system tests low to keep your test suite fast?
  • What's your strategy for dealing with external services in acceptance tests?
  • What are the advantages of using Cucumber even as a solo developer working on a side project?

[Cucumber Podcast] Mob Programming https://cucumber.io/blog/2016/04/19/mob-programming
  • “All the brilliant people working on the same thing, at the same time, in the same space, and on the same computer.” That’s how Woody Zuill - who coined the term Mob Programming - describes it. He is our esteemed guest on the podcast, and we spend some time digging into his own experiences mobbing.
  • This is a fun episode for folks looking for novel ways to improve the certainty of their software.

[Azure Friday - Channel 9] What's new in Azure DocumentDB? https://channel9.msdn.com/Shows/Azure-Friday/AzureFridayNewinDocumentDB
  • Get up to speed with what documentDb is and what is new

[Microsoft Cloud Show] DocumentDB's recent Improvement http://www.microsoftcloudshow.com/podcast/Episodes/131-microsoft-s-andrew-liu-on-documentdb-s-improvements-on-pricing-scale-and-mongodb-support
  • New support for MongoDB, 
  • Performance and scale, specifically some new capabilities that the DocumentDB team has added like partitioned collections and planet scale with global databases. 
  • Pricing changes announced in April 2016 
  • Support for automatically expiring data with TTL settings.

[JavaScript Air] (Rerun) The past, present, and future or javascript https://javascriptair.com/episodes/2016-10-05/
  • A rerun of the very first show: Kicking off JavaScript Air with the first guest Brendan Eich (original creator of JavaScript) to talk about the past, present, and future of JavaScript.

[JavaScript Air] JavaScript and the Web Platform with Brendan Eich https://javascriptair.com/episodes/2016-11-02/
  • The history of ad networks and how add tracking works
  • Why this is not a good thing for anyone
  • What can we all do to stop the madness
  • Use the brave browser

[Simple Programmer Podcast] People Don't Take Action http://simpleprogrammer.libsyn.com/265-people-dont-take-action-they-only-hear-good-ideas-simple-programmer-podcast
  • Hear good ideas, gotta take action

[AWS Podcast] AWS Quickstarts https://soundcloud.com/amazon-web-services-306355661/aws-podcast-episode-155

[TEDTalks] Your smartphone is a civil rights issue https://www.ted.com/talks/christopher_soghoian_your_smartphone_is_a_civil_rights_issue
  • The smartphone you use reflects more than just personal taste ... it could determine how closely you can be tracked, too. 
  • Privacy expert and TED Fellow Christopher Soghoian details a glaring difference between the encryption used on Apple and Android devices and urges us to pay attention to a growing digital security divide. 
  • "If the only people who can protect themselves from the gaze of the government are the rich and powerful, that's a problem," he says. "It's not just a cybersecurity problem — it's a civil rights problem."



Sunday, 30 October 2016

Damo's Podcast Highlights 2016 #43

I subscribe to many podcasts, you can see the list as it was in 2015 here: Developer podcasts v2 but I thought I would start to keep a weekly log of the episodes that I found interesting or useful in some way.

[Software Engineering Radio] Barry O’Reilly on Lean Enterprise http://www.se-radio.net/2015/08/se-radio-episode-234-barry-oreilly-on-lean-enterprise/
  • A lean enterprise is a large organization that manages to keep innovating while keeping its existing products in the market.
  • O’Reilly talks about the idea of scientific experiments and the build-measure-learn loop popularized by the lean-startup method. He shares his experiment of an online wine seller using Twitter. He further discusses the challenges for enterprises trying to do something similar and introduce the three-horizon model, to manage innovative, growing, and new products.
  • As an example of a successful lean enterprise, O’Reilly talks about GOV.UK, the British government’s new website.

[Parent Programming] Episode 1 - Kent C. Dodds http://parentprogramming.libsyn.com/episode-1-kent-c-dodds
  • Kent talks about what it's like to raise two young kids, going over the highs and lows of parenting.
  • He also mixes in a little bit of "leaky abstraction" humor in regards to figuring out how to work with his children.

[Developer On Fire] The learning mindset with Linda Rising http://developeronfire.com/episode-176-linda-rising-and-kendall-rael-learning-and-mindset
  • Linda Rising, Kendall Rael, and Dave Rael have a conversation about the pitfalls of talent and the importance of effort and share an empowering message
  • Falling down, getting back up and the frustrations of learning

[Software Engineering Daily] Monitoring Architecture http://softwareengineeringdaily.com/2016/10/11/monitoring-architecture-with-theo-schlossnagle/
  • Building a monitoring system is a complex distributed systems problem
  • Events are produced from different points in an application and must be aggregated in order to form metrics
  • These events are often ingested by a time series database, which forms the backbone of the monitoring system

Wednesday, 26 October 2016

Node development on CentOS for .Net devs

I'm about to start a new role which entails Node, Angular, Mongo and linux (CentOS) so ive set about learning the above. Quite a bit of a shift from the previous number of years which have been pretty much exclusively Microsoft and .Net. But im really excited about it and the new learning I need to embark upon. Today it was the turn of getting a CentOS development environment up and running on virtual box with npm, node and webstorm.

Creating the development environment

Install virtual box (5.1 at time of writing)
https://www.virtualbox.org/
download the dvd image of centOS (7 at time of writing)
https://www.centos.org/download/

Create a VM of the image,
On software selection i used KDE Plasma with internet tools and 
i used the KDE desktop with internet and KDE applications and development Tools
enable the network
create a user as well as set the super user password

To enable higher resolution
once set up, from the VM menu: device > insert guest additions CD image
this will act as if a cd was inserted into the VM
in the VBOXADDITIONS drive double click autorun.sh and enter your superuser password
reboot

Installing npm, node and webstorm

Within a terminal window
su -
yum install epel-release
yum install npm
npm --version
3.10.3
node --version
v6.7.0
exit

Download webstorm
http://www.jetbrains.com/webstorm/
Extract the folder to the place you want to install webstorm
double click webstorm.sh to install
remember to chose a dark theme ;-)

Create your first hello world node app with express

In a terminal (not as root)
cd /home/username/
mkdir code
cd code
mkdir express01
cd express01

npm init
take all the defaults
npm install express --save

Im not going to go into the the how to create a basic express app to echo something to the console and to the browser, there are so many tutorials about that out there.

Enjoy your new development environment.

Major learnings. I.e. Don't do this at work...


When you enter sudo for the first time you get the apt warning:

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.


The first time I created the hello world app from the guide above I used su for everything, including creating the folders and npm init. This resulted in files and folders that i could not write to from webstorm so i tried to fix the permissions with chmod. But I used it very very wrongly and the interwebs advised me to reinstall everything. Which as it happens, this time was not a big deal for me.
So what did i do?
Whilst i was su i think i ran:
chmod 777 /. -R
In powershell .\ is the current directory, I thought ./ would be the same in linux but i did a typo and so i ended up making all the files and folders (on the whole VM) 777 rather than just the new code folders. Apparently this is very hard to fix.
The symptom is you type the command su - you get the error:
su -
su: cannot set groups: Operation not permitted

It can make things rather difficult if you cant get root access anymore.

Should it be this easy to screw your entire VM? or was there actually an easy fix? if you know id love to hear about it.