teleren/devto huggingface dataset:
Git security mistakes; addressing tech debt; & writing fast code in Ruby on Rails
Tags: ruby, rails, git, todayilearned
Published: 2019-10-14 11:00:04

*My TL;DR style notes from articles I read today.*


### [Top 5 Git security mistakes](http://bit.ly/gitmistakes)

How to avoid common mistakes most of us make (or have made):
- Never hardcode sensitive data. Use a secure key management solution.
- Use .gitignore to prevent sensitive data from reaching the repository.
- Use PGP/GPP to sign your commits. 
- Assign access rights to each repository & give access only to the developers who need it. 
- Always patch your software. Know what systems integrate with your Git installation and patch them too.


*[Full post here](http://bit.ly/gitmistakes), 5 mins read*

---

### [How to get buy-in for addressing technical debt](http://bit.ly/techdebtbuyin)

- Get the first & unequivocal buy-in from engineers on the team. 
- Tell other stakeholders how the business benefits by addressing tech debt. 
- Try to understand the pressures on & the problems at hand for other stakeholders and develop genuine empathy. 
- Show how addressing tech debt will have ripple benefits across the organization. 
- Give it some other name that people care about- self-care, continuous product health, etc. 

*[Full post here](http://bit.ly/techdebtbuyin), 6 mins read*

---

### [How to write fast code in Ruby on Rails](http://bit.ly/fastrubyrails)

1. **In Rails** 
  - Cache all the things. 
  - Throttle any operation that can’t be cached. rack-attack and rack-throttle can help throttle unwanted requests. 
  - Consciously minimize dependencies. They will turn into liabilities as projects grow. 
2. **In Ruby** 
  - Use metaprogramming sparingly to prevent unnecessary slowness.
  - Think about how your code will scale with more data. Know the difference between O(n) and O(1). 
  - Avoid mutating global state while leveraging mutation on the local state.
3. **In Active Record (Rails’ default ORM)** 
  - Know when queries get executed and what causes them to get evaluated. 
  - Index the columns you need to query. 
  - Use select and pluck to select only what you need. By default, Active Record selects all columns in SQL with SELECT *

*[Full post here](http://bit.ly/fastrubyrails), 8 mins read*

---

*I share these TL;DR versions of articles on software engineering that I read every weekday through my newsletter - [in.snippets(). Sign up here](https://mailchi.mp/appsmith/insnippets?utm_source=devto&utm_medium=post08&utm_campaign=is) if you liked what you just read.*
How I demonstrated Growth Mindset recently
Published: 2019-10-14 11:08:45

"Most of the important things in the world have been accomplished by people who have kept on trying when there seemed no hope at all." -- Dale Carnegie
After reading this quote I asked myself what is growth mindset and I found out that “In a growth mindset, people believe that their most basic abilities can be developed through dedication and hard work—brains and talent are just the starting point. This view creates a love of learning and a resilience that is essential for great accomplishment.”

How I demonstrated a Growth mindset is when I was working and I get a stack that time I discourage myself by saying that this is not my career. After thinking about it I decided to View challenges as opportunities, here I was thinking of dropping out, but I release this challenge will help me learn a lot. Also, I choose Try different learning tactics, sometimes I thought that the way I use to learn it’s enough but later I choose to try different ways to learn a lot.
Other things I did to demonstrate growth mindset is to replace the word failing with the word learning when I got feedback from my supervisor I said that I have failed because they are giving me many things to change but finally I release that this is the opportunity I can use to learn more.

Even Cultivate a sense of purpose helped me to demonstrate a growth mindset because I know what I want or purpose for doing coding helped me to be motivated.
From what I learned I believe I am eager to learn things I am passionate about.
Completed My First Hacktoberfest Challenge 2019
Tags: hacktoberfest, pullrequest, github, opensource
Published: 2019-10-14 11:07:48

As a career changer from a Recruiter to Web developer :D. It feels amazing in completing my 1st open-source 4 pull request. I was pretty excited to participate in hacktoberfest 2019 because I haven't done open-source contribution before. Finally learnt how to fork the project and create a pull request.

Hacktoberfest is a month-long celebration of git and open-source organised by DigitalOcean and DEV Community.

Do you want to participate?????

~ If you are new to programming/learning to code/Junior developer - Do participate in this open-source project contributions.
~ Doing open-source contribution will help you to learn a new skill.
~ You can learn how to use Git and Github.
~ You can meet like-minded people at the event, learn from mentors and connect with the developer.
~ Also if you do 4 pull request in this month you will get a Hacktober t-shirt and lots of swags🥳

Let's keep coding and have fun✅

If you are in Melbourne: Join JuniorDev slack channel for more info- http://juniordevcommunity.herokuapp.com/

Check this website to participate- https://hacktoberfest.digitalocean.com/

#womenwhocode #juniordeveloper #code #share #learn #grow #network #chareerchanger #hacktoberfest #pullrequest
Solving "nutc_driver.exe returned exit code 1" error while building UWP app in Release mode
Tags: uwp, relase, native, nutcdriverexe
Published: 2019-10-14 11:00:28

---
title: Solving "nutc_driver.exe returned exit code 1" error while building UWP app in Release mode
published: true
description: Sometimes when building a UWP app in release mode it fails with a cryptic message. It turns out, it can be solved easily.
tags: uwp, relase, native, nutc_driver.exe
---

Today my team wasted half a day because we were not able to release a new version of our UWP app. Building in debug mode worked fine both in x86 and x64. But when switching to release mode, we got this message from Visual Studio:

```
ILT0005: 'C:\Users\#######\.nuget\packages\runtime.win10-x86.microsoft.net.native.compiler\2.2.7-rel-27913-00\tools\x86\ilc\Tools\nutc_driver.exe @"C:\Users\######\Source\######\obj\x86\Release\ilc\intermediate\MDIL\######.rsp      
 "'
```

Because the build failed several times on different computers, we thought that one of the commits since our last commit is the cause. So we began a [bisecting](https://git-scm.com/docs/git-bisect) the commits.

We narrowed down the search area to about 1 commit. But that commit only added a property to a model. We built the solution and it failed, next time we built the commit, it suceeded. We went back to the last bad commit and built it again, and it built too! So after wasting half a day, we found out the error had nothing to do with our code.

After a lot of head scratching and googling, we came across this comment [GitHub issue](https://github.com/reactiveui/ReactiveUI/issues/2166#issuecomment-532578037). It suggests that the native compiler is 32 bit and runs out of memory. We added `<Use64Bitcompiler>true</Use64Bitcompiler>` to our project file and built the latest commit successfuly!

![We added <Use64Bitcompiler>true</Use64Bitcompiler> to the first Property Group of the project file](https://thepracticaldev.s3.amazonaws.com/i/ikr8rd4bx3p43e9dw4jf.png)
Accelerating the Speed of B2B Integration
Tags: b2b, webmethods, softwareag, integration
Published: 2019-11-14 14:13:51

---
title: Accelerating the Speed of B2B Integration
published: TRUE
date: 2019-10-14 10:53:00 UTC
tags: b2b, webmethods, software ag, integration
canonical_url: http://techcommunity.softwareag.com/techniques-blog/-/blogs/accelerating-the-speed-of-b2b-integration
---

# webMethods.io B2B

**As of October 1st, [Software AG has officially announced](https://www.softwareag.com/corporate/company/press/news/dyn_press?id=186933-158077) the availability of webMethods.io B2B as the latest addition to the company’s industry-leading [B2B Integration](https://www.softwareag.com/corporate/products/b2b/default.html) portfolio.**

This fully hosted, SaaS-based solution provides trading partner management functionality and usability beyond what EDI power-users and directors of B2B Integration have come to expect.

Brandishing a clear and smartly simplification-driven UI, webMethods.io B2B ensures accomplishing quick, trading partner onboarding not in weeks, or even hours – but within minutes. 

![](http://techcommunity.softwareag.com/documents/10157/10893595/wm.iob2b.png/8ecee71d-e5d5-4e29-96ea-0c37cd02f3f0?t=1571312787495)

Drawing on a standard document store supporting over 14,000 business transactions, the solution’s ease-of-use even allows your EDI specialist to support customers who choose to uniquely customize well-known standards.   

Additionally, users can swiftly assign documents via accessible drop-down menus that map to your partner’s required standards, transactions and business document-types (e.g., Purchase Orders, Invoicing, Billing, Advanced Shipping Notices, Proof-of-Delivery, etc.).

webMethods.io B2B is seamlessly supported by webMethods.io Integration, enabling flexible enterprise and external partner connectivity through hybrid integration and back-end service orchestration and transaction mapping.

As you become more engaged with webMethods.io B2B, please keep in mind that it also sits as an application in webMethods, [industry-leading iPaaS](https://www.softwareag.com/info/integration/forrester-wave-2019-strategic-ipaas-and-hybrid-integration-platforms/default.html).

There’s a lot to explore here, so we recommend visiting [B2B in the Cloud](https://www.softwareag.com/corporate/innovation/b2b-in-the-cloud/default.html) under ‘Insights & Innovation’ on the Software AG website. Here you’ll find a [White Paper](https://www.softwareag.com/corporate/innovation/b2b-in-the-cloud/wm_b2b_wp.html), [eBook](https://www.softwareag.com/corporate/innovation/b2b-in-the-cloud/wm_b2b_ebook.html), [Fact Sheet](https://www.softwareag.com/corporate/innovation/b2b-in-the-cloud/wm_b2b_factsheet.html) – and perhaps most importantly, a fully-supported “[Try for free](https://signup.softwareag.cloud/#/?product=b2b)” look at the software itself.

[**Get started with webMethods.io B2B. Download Free Trial.**](https://signup.softwareag.cloud/#/?product=b2b)
2019 Product Release Virtual Event
Tags: product, release, virtual, conference
Published: 2019-11-01 13:42:21

---
title: 2019 Product Release Virtual Event
published: true
date: 2019-10-14 10:51:00 UTC
tags: #product, #release, #virtual, #conference
canonical_url: http://techcommunity.softwareag.com/techniques-blog/-/blogs/2019-product-release-virtual-event
---

# Now Available On-Demand

The 2019 Product Release was a spectacular event attended by thousands of your peers who, like you, had been asking for all the latest Software AG innovation news. Though the event has come and gone, your chance relive it goes on.

Open the door to all news, discussions and resources that were a part of the event. The replay the materials from the full virtual conference and is the easiest and best way to dive deeper into the details. Get the specifics on:

- Adabas & Natural
- Alfabet
- ARIS
- Cumulocity IoT
- TrendMiner
- webMethods.io Integration, B2B & Process
- webMethods.io API & Microservices
- Software AG & Hyperscalers

A great place to get an overview of all the innovation highlights is the keynote of our Chief Product Officer Dr. Stefan Sigg. Where is IoT heading? What are the hottest trends in integration, B2B and iPaaS? How will analytics and APIs play a role in the future? What new technologies are available for customers and partners to transform their organizations and how they support their business change with IT? Hear Stefan’s unique insights and frame your thinking around the future of emerging, disruptive tech and find inspiration for your own digital aspirations.

[Register now](https://www.softwareag.com/corporate/company/events/product_release_virtual_conference/default.html?utm_source=mkto&utm_medium=email&utm_campaign=2019productrelease) to access the on-demand sessions.

[![](http://techcommunity.softwareag.com/documents/10157/10893595/TECH_Community_ON_DEMAND_banner.jpg/a12dbb19-a733-4ca1-b2ab-9486a90f77d6?t=1571052585131)](https://www.softwareag.com/corporate/company/events/product_release_virtual_conference/default.html?utm_source=mkto&utm_medium=email&utm_campaign=2019productrelease)
When it comes to Data, the customer is always wrong - The Four Horsemen of the Assumption Apocalypse
Tags: data, sql, database, humor
Published: 2019-10-14 10:45:49

You read the email...

The demands "needed this afternoon" crack open the floors summon forth the fire.

The words "for the CEO" darken the skies and blot out the sun.

The requirements numerous, complicated, and poorly communicated drown out the sounds of the real world, you are deafened.

And then, the sound of hoofs could be heard in the distance, the horses, their riders four in score had been summoned by the customers request for data.

Above you now stand The Four Horsemen of the Assumption Apocalypse. 

#🐴 The First Rider: Existence.
He is but a shimmer, this rider. The longer you look the less he seems to be there, but you catch him out the corner of your eye. Existence represents the assumption that the data exists and that you know exactly how to get to it. He feeds of this common misconception, the more he feeds the more uncertain his corporeal form becomes. 

#🐴 The Second Rider: Completion. 
While the first rider was difficult to look at, Completion draws you in and plays on your mind. She sits there upon a dark horse, her dark armor a contrast to her pale skin and light features. Though she is clearly not all there, the same with her horse. You go to count the legs and you struggle to get to four, the longer you look the more grow unsure. What color was her hair again, did she even have hair? Completion exists because Data is never complete and the more people believe it's all there the more power she has to torture those who look upon her. 


#🐴 The Third Rider: Serenity.
The third is definitely humanoid, a man, who smiles at you. His horse, still and unaware of the surroundings. He holds out his hand and you take it, your eyes lock on his and he says "it will be easy." You can feel the calm projecting out from him and his horse, but it only makes you feel worse. It crushes you, and he knows it. He thrives off the falsehood that getting data together is quick and easy, the more people who believe that, the more calm he gets, the happier his existence becomes. 


#🐴 The Fourth Rider: Conviction.
Conviction does not look at you, she looks past you. She wears powerful colors and sits upon her horse with absolute deportment. She does not interact with you, for she is beyond you. She is beyond reality, time, and existence itself. For whatever she believes is true. She is only found in the midst of another person with faith as strong as hers. She is often found sitting behind the customer, the customer who has come to you, knowing in their heart of hearts that the data will prove to be evidence of something they already knew, had already decided, had already actioned.




***
####Who am I?
{% twitter 1183218570164965376%}
The #help tag will die if it's not moderated
Tags: discuss, watercooler
Published: 2019-10-14 10:43:11

Sometimes, when I have 5 minutes of waiting for something to install/compile/run, I peruse the #help section to see if there's anyone that is asking a question I can help with. 

People are misusing this tag, and assuming it's for articles that are to help people (I used to do it too), which is going to kill the purpose of it.

If I go to the #help section, and the top 2/3 articles are not people asking for help I usually just stop. Sometimes I'll post a comment trying to educate, but then I see the same person posting an incorrect article under that tag again the next day.

This section really needs some moderation... I've no idea if the mods of dev will see this post but, if you do, please do something.
Corbind. New release
Tags: kotlin, android, library
Published: 2019-10-14 10:33:09

Hi everyone!

Finally, the [material components][material] are in beta now and I can introduce a new version of Corbind with new `material` bindings. You can learn more about changes and how to use the library if you follow the link below.


## What is Сorbind?
Kotlin Coroutine binding APIs for Android UI widgets from the platform and support libraries. Supports [Flow][flow], [ReceiveChannel][channel] and [Actor][actor].

Github link: https://github.com/LDRAlighieri/Corbind<br>
Current version: 1.2.0

Thank you.


[material]: https://github.com/material-components/material-components-android/releases
[coroutines]: https://github.com/Kotlin/kotlinx.coroutines/releases/tag/1.3.0
[flow]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html
[channel]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.channels/-receive-channel/index.html
[actor]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.channels/actor.html
Creating a .NET Core Application Using Entity Framework Core with dotConnect for Oracle

Tags: oracle, entityframework, connectivity
Published: 2019-10-14 10:15:46

This tutorial shows how to create a .NET Core Application using Entity Framework Core for an Oracle database. It uses [dotConnect for Oracle](https://www.devart.com/dotconnect/oracle/), a high-performance ADO.NET provider from Devart. The tutorial demonstrates Database-First approach to create an Entity Framework Core model and generate the corresponding code.

Entity Framework Core implements Database-First approach via the Scaffold-DbContext command of Package Manager Console. This command allows quick generation of a DbContext and entity type classes for a specified database, but it doesn't provide much options for customization.

In this tutorial, we will show Database-First approach using our dedicated ORM designer and code generation tool - [Entity Developer](https://www.devart.com/entitydeveloper/). It supports Database-First, Model-First, or mixed developer approaches and allows you to quickly generate a model from a database, tweak it visually, automatically apply model changes to a database, if necessary, and generate code. Entity Developer seamlessly integrates into Visual Studio, allows testing the model with LINQ Queries at design-time, supports integration with Visual Studio refactoring and provides its own Model Refactoring feature.

Note: You can find a similar tutorial, using the Scaffold-DbContext command to generate code [here](https://www.devart.com/dotconnect/oracle/articles/efcore-database-first-net-core.html).

This tutorial shows how to create a simple console application, powered by Entity Framework Core and using Database-First approach. It uses the tables, we have created in the [Creating Database Objects](https://www.devart.com/dotconnect/oracle/articles/tutorial-create-objects.html) and [Inserting Data Into Tables](https://www.devart.com/dotconnect/oracle/articles/tutorial-command.html) tutorials.

Read the full tutorial at [https://www.devart.com/dotconnect/oracle/articles/efcore-database-first-net-core-entity-developer.html](https://www.devart.com/dotconnect/oracle/articles/efcore-database-first-net-core-entity-developer.html)
Running a python script on boot on a RPi
Tags: raspberrypi, python, iot
Published: 2019-10-14 09:44:21

Once you are able to successfully run your python script from the terminal, what are your options to run the same script on booting the Raspberry Pi? This post details the issues I had getting my scripts to run on boot and how I fixed them.

**TL;DR** Make sure you are running your scripts as the correct user. Python scripts that use Pip packages will need to be run as the user used to install said packages or else they might not be available.

Writing python scripts is a relatively new thing for me. I love playing with the Raspberry Pi and generally write Nodejs. For most of the stuff I have been doing up until this point, Nodejs has been fine. But the Raspberry Pi is blessed with a wealth of hats performing a multitude of weird and wonderful things. The problem is that most of the libraries for these hats are written in Python. So I thought it was about time I start learning some python.

My first python script was controlling the Mote LEDs through MQTT. Writing the script did not take too long as the examples in the Pimoroni repos gave me enough to get started. I was able to run the script from the terminal and had it working fine. Obviously, we don't want to have a terminal session open all the time and we want to have the script start on boot (or reboot).

I had read that there are a number of ways to run a script on boot but that the preferred way was to add an entry into the `/etc/rc.local` file. This file is loaded when the Pi is booted and so should achieve our goal.

Have you ever seen the IP of the Pi print in the terminal output when the Pi is booting? This is where that command is run from.

So I added the following line to the file:

```bash
/usr/bin/python3 /home/pi/Code/desklights/desklights.py
```

and rebooted the Pi. Nothing! No logs, no error. Nothing! Very unhelpful. I tried every possible way of calling the script. And each one proved fruitless. Nothing.

What I needed was to see so sort of log output. I hoped that this would give me an idea of what was wrong. I updated the command to the following:

```bash
/usr/bin/python3 /home/pi/Code/desklights/desklights.py > /tmp/desklights.out > /tmp/desklights.err
```

This would write anything logging from the program to `/tmp/desklights.out` and and errors to `/tmp/desklights/err`. This was a key to solving the issue. The *.out file was empty which indicated the script was failing. The `*.err` file, on the other hand, contained this:

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/3g93i5dwvjay78yito7z.png)

It was now clear what I needed to do. The python packages I had installed were install using the Pi user. This file runs as root and so does not have access to the installed packages. I need to make sure I am running my script as the Pi user and all should be fine and dandy.

```bash
sudo -H -u pi /usr/bin/python3 /home/pi/Code/desklights/desklights.py/home/pi/Code/desklights/desklights.py
```

Updating the script to include the change of user fixed my issue and allowed the script to run successfully on boot.

Thanks for reading 🙏