<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: James dengel</title>
    <description>The latest articles on DEV Community by James dengel (@jamesdengel).</description>
    <link>https://dev.to/jamesdengel</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F126425%2F108974db-12d9-40d6-9558-cdff7120252f.jpeg</url>
      <title>DEV Community: James dengel</title>
      <link>https://dev.to/jamesdengel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jamesdengel"/>
    <language>en</language>
    <item>
      <title>5 great online tools</title>
      <dc:creator>James dengel</dc:creator>
      <pubDate>Wed, 27 Feb 2019 15:41:56 +0000</pubDate>
      <link>https://dev.to/jamesdengel/5-great-online-tools-ibp</link>
      <guid>https://dev.to/jamesdengel/5-great-online-tools-ibp</guid>
      <description>&lt;p&gt;There is a wide range of online tools for making certain tasks (development or not) easier, I've found a few that I thought I would share.&lt;/p&gt;

&lt;p&gt;RegEx : &lt;a href="https://regex101.com/"&gt;regex101&lt;/a&gt;&lt;br&gt;
    This site has really helped me design a few of the more complicated regex's and is a great tool for getting to grips with how they work. Cheat sheet and window for putting the content you want to regex.&lt;/p&gt;

&lt;p&gt;Markdown: &lt;a href="https://stackedit.io"&gt;StackEdit&lt;/a&gt;&lt;br&gt;
    This site is great for giving me instant feedback on the markdown that I use for writing READMEs and wiki contents.&lt;/p&gt;

&lt;p&gt;Mindmaps: &lt;a href="https://www.mindmeister.com/"&gt;MindMeister&lt;/a&gt;&lt;br&gt;
    Great for working with mindmaps, this is good for brain storming, very easy to use and work with.&lt;/p&gt;

&lt;p&gt;Diagrams: &lt;a href="https://www.gliffy.com/"&gt;Gliffy&lt;/a&gt; &lt;br&gt;
    Some of you might have run into this software as a plugin for confluence, I found it years ago and have watched it really refine itself in drawing diagrams easily and directly.&lt;/p&gt;

&lt;p&gt;Sending Files: &lt;a href="https://www.dropsend.com/"&gt;Drop Send&lt;/a&gt;&lt;br&gt;
    I've hit issues with Email stripping attachments or with file size try out drop send.&lt;/p&gt;

&lt;p&gt;Anyone got any other suggestions ?&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>tools</category>
    </item>
    <item>
      <title>Why "copy, paste, fixed" needs to change to "copy, paste, why"</title>
      <dc:creator>James dengel</dc:creator>
      <pubDate>Tue, 29 Jan 2019 10:45:22 +0000</pubDate>
      <link>https://dev.to/jamesdengel/why-copy-paste-fixed-needs-to-change-to-copy-paste-why-3mpn</link>
      <guid>https://dev.to/jamesdengel/why-copy-paste-fixed-needs-to-change-to-copy-paste-why-3mpn</guid>
      <description>&lt;p&gt;By "copy, paste, fixed" I mean copying a few lines you don't understand into your code that fixes an issue. I am going to present an argument why we need to change our approach to "copy, paste, why".&lt;/p&gt;

&lt;p&gt;When we are young we learn by copying actions, my daughter will say:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"My baby needs to go to sleep Daddy!"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;She has no idea why the baby needs to go to sleep (at 7 or 8 in the morning) but she is learning by copying our actions and talk by saying that our baby (her) needs to go to sleep.&lt;/p&gt;

&lt;p&gt;When we are adults, we have more insight into learning, we can look at something and try to ascertain why something occurs. We know that we only really "need" to go to bed when we are tired, or when it's late and you know you have to wake up early, or it's good for us to have regular and undisturbed nights sleep.&lt;/p&gt;

&lt;p&gt;Basically when we are young we learn by "copy, paste, fixed".&lt;/p&gt;

&lt;p&gt;But when you are an adult you can "copy, paste, fixed" but sometimes this will lead us down the wrong path (Like putting the baby to bed at 8 in the morning)&lt;/p&gt;

&lt;p&gt;Take for instance a common gotcha in Python 2.&lt;/p&gt;

&lt;p&gt;UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 20: ordinal not in range(128)&lt;/p&gt;

&lt;p&gt;You do a search as this is confusing and hit upon someone suggesting:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;string.encode('utf-8')
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;You go whoo, problem fixed move on.&lt;/p&gt;

&lt;p&gt;WAIT, WAIT, WAIT, WAIT&lt;/p&gt;

&lt;p&gt;Try "copy, paste, why",:&lt;/p&gt;

&lt;p&gt;We apply the fix and it works, now we ask why ?&lt;/p&gt;

&lt;p&gt;5 minutes later:&lt;/p&gt;

&lt;p&gt;"Oh all strings in python 2.7 are assumed by default to be ASCII, oh I was so naïve."&lt;/p&gt;

&lt;p&gt;10 minutes later:&lt;/p&gt;

&lt;p&gt;"Oh between Python 3 and Python 2 string are handled differently as this was causing confusion generally"&lt;/p&gt;

&lt;p&gt;15 minutes later:&lt;/p&gt;

&lt;p&gt;"Ok I didn't even know about the unicode type in python 2"&lt;/p&gt;

&lt;p&gt;Obviously there are times when you don't have 15-20 minutes to spare for every possible issue, but get into the habit of asking why will make you a better developer.&lt;/p&gt;

&lt;p&gt;Let me know if you try this approach rather than "copy paste fixed" and how you get on.&lt;/p&gt;

</description>
      <category>learning</category>
      <category>career</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Low tech isn't always bad tech</title>
      <dc:creator>James dengel</dc:creator>
      <pubDate>Tue, 15 Jan 2019 16:27:16 +0000</pubDate>
      <link>https://dev.to/jamesdengel/low-tech-isnt-always-bad-tech-h1c</link>
      <guid>https://dev.to/jamesdengel/low-tech-isnt-always-bad-tech-h1c</guid>
      <description>&lt;p&gt;Ok ok, it seems a bit counter intuitive to think this way but a few clarifications: &lt;/p&gt;

&lt;p&gt;Low tech is normally applied to old technology that is simply out of date. &lt;/p&gt;

&lt;p&gt;High tech is a term for relatively new technology that incorporates advanced features or cool things you didn’t know you really wanted to do.&lt;/p&gt;

&lt;p&gt;We often assumed that high technology is always better than low technology. However, as high technology has proliferated into many areas of life, its inherit complexity can be seen as not delivering on its initial promise of solving a problem, or at least a problem you didn’t know you had in the first place.&lt;/p&gt;

&lt;h4&gt;
  
  
  Example:
&lt;/h4&gt;

&lt;p&gt;Take for instance my phone:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--64E6V__X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://imgs.xkcd.com/comics/xkcd_phone_6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--64E6V__X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://imgs.xkcd.com/comics/xkcd_phone_6.png" alt="XKDC"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I decided to use it for pomodoro timing in addition to listening to music.&lt;/p&gt;

&lt;p&gt;But I had issues:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;To start the timer means to looking at my phone to set it while avoiding the myriad notifications including email, text, calls, whatsapps etc.&lt;/li&gt;
&lt;li&gt;Silencing the notifications without silencing the alarm they are all notifications, perhaps a different app would help here, or cutting my data connection automatically using tasker, but then I have to root my phone, and i would lose my music I was streaming.&lt;/li&gt;
&lt;li&gt;Stopping the timing meant navigating the notification gauntlet again.&lt;/li&gt;
&lt;li&gt;Having the phone on my desk meant that I was tempted to look at other notifications the screen usually turns on when they appear.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Final decision:
&lt;/h4&gt;

&lt;p&gt;Use low tech solutions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I use a 10 year old ipod touch for music.&lt;/li&gt;
&lt;li&gt;I use a Casio watch for timing pomodoro sprints, its quick, effective and always with me.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I know many teams use a whiteboard with post it notes for kanban tracking, so it's a common theme.&lt;/p&gt;

&lt;p&gt;What low tech solutions do you use ? And Why do you use them instead of digital tools ?&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>productivity</category>
      <category>culture</category>
    </item>
    <item>
      <title>How weight lifting made me better at software projects. </title>
      <dc:creator>James dengel</dc:creator>
      <pubDate>Fri, 11 Jan 2019 22:57:57 +0000</pubDate>
      <link>https://dev.to/jamesdengel/how-weight-lifting-made-me-better-at-software-projects--43p2</link>
      <guid>https://dev.to/jamesdengel/how-weight-lifting-made-me-better-at-software-projects--43p2</guid>
      <description>&lt;p&gt;I've been lifting weight for longer than I have been a software engineer, and you wouldn't think that lifting weights would make me a better software engineer but I believe it has.&lt;/p&gt;

&lt;p&gt;When I was young, I wanted to bench 100Kg (a good target for bench it's triple digits), I obviously didn't just get a gym membership, jump on a bench and try 100Kg. I would have failed and most likely hurt myself.&lt;/p&gt;

&lt;p&gt;First I found out what I could bench, then I made a plan of what I would need to do between then and doing 100Kg on bench. I decided I would train three time a week, using the idea of progressive overload, each time lifting a bit more than the last till I got to 100Kg.&lt;/p&gt;

&lt;p&gt;I got to 100Kg.&lt;/p&gt;

&lt;p&gt;Projects in software are no different, you might have an amazing project idea, the wrong way is to jump into code and try to do it all.&lt;br&gt;
The better way is to take a step back, plan, break it into chunks that can be achieved with regular consistent work.&lt;br&gt;
I did this from the day I started in software and I can honestly say it's made me better and projects are far more achievable.&lt;/p&gt;

&lt;p&gt;Does anyone else have any habits or ways of thinking from sports or hobbies that have carried over to Software Engineering ?&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>fitness</category>
      <category>projects</category>
    </item>
  </channel>
</rss>
