teleren/devto huggingface dataset:
Monitor  for any new conda env and add them as Jupyter kernels
Tags: jupyter, conda, anaconda, python
Published: 2019-12-03 23:54:48

Here is a little script that monitors the `conda` envs directory on linux and adds a kernel in `Jupyter` for each new env. 

Alternatively you probably should use [`nb_conda_kernels`](https://github.com/Anaconda-Platform/nb_conda_kernels) instead.

![](https://www.dropbox.com/s/becve0ulx5zgtmi/1.png?raw=1)


```shell
#!/bin/bash

# Inspired by: https://unix.stackexchange.com/a/323919
# man page: https://linux.die.net/man/1/inotifywait
inotifywait -m /opt/conda/envs -e create -e moved_to |
    while read path action file; do
      if [[ "$file" == .* ]]; then # Does start with .
        echo "$file ignored"
      else
        # Wait for the env to get created
        echo "Waiting for $path$file/bin/python ..."
        while [ ! -f "$path$file/bin/python" ]; do sleep 1; done

        # Add the new conda env
        echo "Add $file kernel"
        source activate "$file" && \
        pip install --quiet ipykernel && \
        python -m ipykernel install --user --name "$file"
      fi
    done
```

---

If you found this helpful [spread the word](https://ctt.ac/0b27U).
Day 45 : The Same
Tags: hiphop, code, coding, lifelongdev
Published: 2019-12-03 23:40:15

_liner notes_:

- Professional : Finished putting together a slide presentation of my 2020 roadmap for things I'd like to do in the new year. Had a meeting with my manager to discuss it. He asked if these were things that I would be interested in doing. I asked why and he said because a lot it was the same or very similar to where the company is looking to go. That felt pretty good to hear. Just go to refine some things like the events I would like us to be apart of and have a presence. During our meeting, we came up with some more ideas for things to look into for the future.

- Personal : So my Google Pixel Slate was delivered pretty late. Turns out that it was left at the station and not on the truck. They had another driver deliver it. Took some time to set it up. I'm looking to figure out the best ways to split up my different accounts. Figuring out what apps I need for each account I have for the radio show, coding, personal and work. I want to have some clear separation of concerns so things are more focused and can be more productive. For example, I have the Google Stadia app and other streaming services on my personal account. Side note, I played a round of Samurai Showdown on the Pixel Slate ...  pretty awesome. Screen and sound is great! Felt a little more responsive than on my Windows laptop.

![View of a forest in Yosemite Valley, California with a waterfall in the middle](https://thepracticaldev.s3.amazonaws.com/i/dxgl5n14q1a2uwa108fw.jpg)

Might play around with the Pixel Slate some more and get apps downloaded. Want to see if I can get some Linux apps installed for coding. Could end up being a nice productive device for me. I want to get in some coding on my personal project as well. Going to bed early so that I can get up for a prep talk in the morning.

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube 40BM1Pf8_XQ %}
Are you prepared for an unconventional career path?
Tags: career, tedtalk, womenintech, womenwhocode
Published: 2019-12-03 23:07:33

---
title: Are you prepared for an unconventional career path?
published: true
description: It's okay to not have your career as you planned it as a kid! 
cover_image: https://thepracticaldev.s3.amazonaws.com/i/ukdenb9pgzc6fecwwjk6.jpg
tags: #career, #tedtalk, #womenintech, #womenwhocode
---
As a part of my part-time role as a notetaker, I get to attend classes which I would never have in my line of studies and learn things which I would never come across and that's definitely one of the many things I like about my work. For one of such classes on leadership, I got to see a _TEDx talk on Agile Leadership: Preparing for an unconventional career path by Emily Phillips._ She talks about how we can prepare ourselves for an unconventional career path by being an agile leader by preparing for the unpredictable as more often than not especially in recent times (which definitely can be blamed on the tech disruption), what we have planned doesn't work out in the way we would have liked.

The talk is not just about being a leader in a professional setting but how in our lives we can reach for the things we are scared of which doesn't fit into what we might have planned for ourselves.

So, how do we become an agile leader, Emily Phillips lists three steps that she found were important to be an Agile Leader:

**1.Have an Iterative process.**

A process where you identify a problem and then find a solution for it but not just stop there, after it's done you reflect and repeat it.

**2. Build a tribe of resources:**

This is a group of people you have crossed paths within your life whom you can reach out to, not just for yourself but also to be there for them and help them grow.

**3. Get uncomfortable daily:**

This is the one you might have come across often and definitely the one I relate to the most. Everything I have done that has made me proud of my achievements was way outside what I would have been comfortable doing.

I absolutely loved the talk especially because my career path has been anything but conventional and I have been scared to make decision be it moving into technology, choosing units that I knew would be far from easy or going to interviews with sweaty palms, so listening to someone share their experience gives me the confidence to keep getting out of the zone and do things that scare me, learn from my experiences whilst making connections along the way and I'm definitely far from the goal but I sure have started enjoying the process a whole lot more.

I highly recommend listening to this talk if you relate to this post and learn more about how she used these steps in her life to craft an unconventional career path.

If you came this far, pop in the comment section and let me know if you think you could apply these steps in your career.

[TEDx Emily Phillips](https://www.youtube.com/watch?v=NWMS5wDSPs8)
Subgrid has arrived, and you need to survive - Patch notes and explanation
Tags: webdev, css, subgrid, news
Published: 2019-12-03 22:16:39

Hey 👀✨

TL;DR version at the bottom! 

A __new feature__ has been enabled in Mozilla Firefox 71 after being supported behind a pref for a while, __the subgrid value of grid-template-columns and grid-template-rows__ allows you to create a nested grid inside a grid item that will use the main grid’s tracks. This means that __grid items inside the subgrid will line up with the parent’s grid tracks__, making various layout techniques much easier.

![AwYes](https://media.giphy.com/media/rVbAzUUSUC6dO/giphy.gif)

They’ve also updated the developer tools "Grid Inspector" to support subgrid! Specifically, they have:

- allowed highlighting of multiple grids simultaneously.
- added a “subgrid” badge to the HTML pane that appears next to elements which have been designated as a subgrid, in the same way that the “grid” and “flex” 
badges already work.
- made it so that when a subgrid is highlighted, the parent is also subtly highlighted.

[See the MDN Subgrid page for more details.](https://wiki.developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/Subgrid)

Here you can watch a short video which will explain perfectly how this new feature work, so you are prepared for everything!

{% youtube lLnFtK1LNu4 %}

Also, at [Can I Use](https://caniuse.com/#search=subgrid) shows how this technology is evolving. As you can see, there is a long way to go, but is already supported in one of the main navigators people use, so is worth taking a look on this new feature.

TL;DR:

Now this unalignment is not permitted: 

![A problem Grid gave us](https://i.imgur.com/KWQBwsc.png)

Because we can do THIS easily now.

![A problem subGrid solved](https://i.imgur.com/ZxyiPNH.png)


Got the information from:
- [MDN](https://wiki.developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/Subgrid)
- [Firefox 71 Patchnotes] (https://hacks.mozilla.org/2019/12/firefox-71-a-winter-arrival/)
- [Jen Simmons Twitter](https://twitter.com/jensimmons)
- [Mozilla Developer Channel](https://www.youtube.com/channel/UCh5UlGiu9d6LegIeUCW4N1w)

Good luck on your grid journey 👀✨
Strongly vs Weakly Typed Languages
Tags: strongly, weakly, typed, languages
Published: 2019-12-03 22:09:16

## The Compiler
The compiler is something that strongly typed languages use. Basically, before it allows the code to run, it "compiles" it to check for errors. If any errors are found it won't allow the code to run and you as the developer must fix it. What it is also doing is translating your code from a high level language to machine language that the computer can actually read and execute.

## Variable Declaration
When declaring variables in a strongly typed language the developer must specify which type of variable is being declared. For example declaring an integer in Java looks like this:
```java
int i = 5;
```
and in JavaScript:
```js
let i = 5;
```

## Functions
In strongly typed languages when declaring functions, the developer must also declare if the function will return a something and if so which type of variable it will return. For example if we wanted to declare a function in Java that simply prints "Hello world!" we would declare:
```java
public void helloWorld(){
  System.out.print.ln("Hello world!");
}
```
The 'void' keyword is letting the compiler know that we are not returning anything with this function. If we wanted to instead return the string "Hello world!" we would declare:
```java
public String helloWorld(){
  return "Hello world!";
}
```
Now we are letting the compiler know that we want to return a String object. If we did not have a line with the key word 'return' in our function the compiler would throw an error telling us that our 'helloWorld()' function must return a type of String. Hand in hand if we tried to return a variable of any other type than a String we would get a similar error saying that the return value of 'helloWorld()' is not of type String.

Sticking to the same comparison language, all of the following functions would be completely valid in JavaScript:
```js
function helloWorld(){
  console.log("Hello world!");
}

function helloWorld2(){
  console.log("Hello world!");
  return 5;
}

function helloWorld3(){
  return "Hello world!";
}
```
As we can see there's no need to specifically declare whether or not our functions are returning anything or not. We can console log, return a string, or return an integer all while following the same function declaration format.

Thanks for reading!
OpenNMS Horizon 25.1.1 (Bánh bột lọc) Released
Tags: releases
Published: 2019-12-09 18:27:20

---
title: OpenNMS Horizon 25.1.1 (Bánh bột lọc) Released
published: true
date: 2019-12-03 22:08:54 UTC
tags: Releases
canonical_url: https://opennms.discourse.group/t/opennms-horizon-25-1-1-banh-b-t-l-c-released/900
cover_image: https://i.imgur.com/74fmzvG.png
---

Release 25.1.1 is the third release in the Horizon 25 series.

It contains a number of bug fixes mostly related to alarm and event processing and potential resource leaks, as well as provisioning enhancements to SNMP profiles.

The codename for 25.1.1 is _[Bánh bột lọc](https://en.wikipedia.org/wiki/B%C3%A1nh_b%E1%BB%99t_l%E1%BB%8Dc)_.

##### Bug

- Readiness probe with Minion in Kubernetes with health:check does not work (Issue [NMS-12120](http://issues.opennms.org/browse/NMS-12120))
- AlarmLifecycleListenerManagerIT and AlarmdIT flapping (Issue [NMS-12309](http://issues.opennms.org/browse/NMS-12309))
- Strange behavior on used threads and file descriptors on Minion (Issue [NMS-12366](http://issues.opennms.org/browse/NMS-12366))
- Upstream Drools Bug: From with modify fires unexpected rule (Issue [NMS-12367](http://issues.opennms.org/browse/NMS-12367))
- Build failure during release for 25.1.0 in CircleCI (Issue [NMS-12380](http://issues.opennms.org/browse/NMS-12380))
- Discovery does not honor exclude-range inside a definition (Issue [NMS-12385](http://issues.opennms.org/browse/NMS-12385))
- Discovery exclude-range is not location-aware (Issue [NMS-12386](http://issues.opennms.org/browse/NMS-12386))
- Update OpenJDK 11.0.4 to 11.0.5 (Issue [NMS-12387](http://issues.opennms.org/browse/NMS-12387))
- Elasticsearch event forwarder manipulates in-flight event (Issue [NMS-12390](http://issues.opennms.org/browse/NMS-12390))
- send-event.pl is broken after OpenNMS 25.1.0 update (Issue [NMS-12392](http://issues.opennms.org/browse/NMS-12392))
- SNMP profile fitting is not triggered in some cases when MINION is involved (Issue [NMS-12399](http://issues.opennms.org/browse/NMS-12399))
- Alarmd fails intermittently and OOMs (Issue [NMS-12412](http://issues.opennms.org/browse/NMS-12412))
- SNMP Remove from definitions fails for definitions with profile label (Issue [NMS-12413](http://issues.opennms.org/browse/NMS-12413))

##### Enhancement

- Migrate guide to run with Docker from GitHub repo to Installation guide (Issue [NMS-12375](http://issues.opennms.org/browse/NMS-12375))
- Enhance new snmp profiles to allow fitting to nodes inside requisitions without SNMP service associated to any IPs configured (Issue [NMS-12396](http://issues.opennms.org/browse/NMS-12396))
- Use OpenJDK 8 JDK for build environment (Issue [NMS-12398](http://issues.opennms.org/browse/NMS-12398))
Xamarin: Using Multiple Firebase Configuration Files in Android and iOS Projects
Tags: xamarin, firebase
Published: 2019-12-03 22:06:18

Need to use different Firebase projects depending on the current build configuration of your Xamarin app? Google has [some basic documentation](https://firebase.google.com/docs/projects/multiprojects) on this use case, but it didn't quite cut it for me. Hopefully this quick rundown of an [MSBuild](https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-reference) config helps you out!

To get started, you will need to download any Android (`google-services.json`) or iOS (`GoogleService-Info.plist`) project config files from your Firebase console.

## Android Configuration

First, copy each Firebase project's `google-services.json` file into the root of your Android Xamarin project. Rename each file to match the environment it corresponds to, e.g. `google-services.release.json` (you may use whatever file naming pattern you wish).

Example project structure:

```
MyApp.Android/
-- google-services.debug.json
-- google-services.release.json
-- ...
```

Next, unload the project and open its configuration file in a text editor. Replace all "google-services" related `Include` items with the following lines:

```
<GoogleServicesJson Include="google-services.release.json" LogicalName="google-services.json" Condition=" '$(Configuration)' == 'Release' " />
<GoogleServicesJson Include="google-services.debug.json" LogicalName="google-services.json" Condition=" '$(Configuration)' != 'Release' " />
```

Make sure to update the filename inside of `Include` if you are using a different naming convention.

## iOS Config

The setup for iOS is very similar.

First, copy each Firebase project's `GoogleService-Info.plist` file into the root of your iOS Xamarin project. Rename each file to match the environment it corresponds to, e.g. `GoogleService-Info.release.plist` (you may use whatever file naming pattern you wish).

Example project structure:

```
App.iOS/
-- GoogleService-Info.debug.plist
-- GoogleService-Info.release.plist
-- ...
```

Next, unload the project and open its configuration file in a text editor. Replace all "GoogleService-Info" related `Include` items with the following lines:

```
<BundleResource Include="GoogleService-Info.release.plist" LogicalName="GoogleService-Info.plist" Condition=" '$(Configuration)' == 'Release' " />
<BundleResource Include="GoogleService-Info.debug.plist" LogicalName="GoogleService-Info.plist" Condition=" '$(Configuration)' != 'Release' " />
```

## How Does it Work?

By setting the `LogicalName` property on each file, we are effectively telling MSBuild to use the required name of the file that Firebase counts on - even if we have multiple copies in the same directory.

Setting a `Condition` for each file allows us to selectively import the specific file we need for the current configuration.

Bookmarks:
- [Firebase multiple configurations](https://firebase.google.com/docs/projects/multiprojects)
- [MSBuild reference](https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-reference)
OpenNMS Meridian 2019.1.1 (Venus) Released
Tags: releases
Published: 2019-12-09 18:29:46

---
title: OpenNMS Meridian 2019.1.1 (Venus) Released
published: true
date: 2019-12-03 22:00:45 UTC
tags: Releases
canonical_url: https://opennms.discourse.group/t/opennms-meridian-2019-1-1-venus-released/899
cover_image: https://i.imgur.com/74fmzvG.png
---

Release 2019.1.1 is the second release in the Meridian 2019 series.

It contains a number of bug fixes mostly related to alarm and event processing and potential resource leaks, as well as provisioning enhancements to SNMP profiles.

The codename for 2019.1.1 is [Venus](https://en.wikipedia.org/wiki/Venus_(planet)).

##### Bug

- Readiness probe with Minion in Kubernetes with health:check does not work (Issue [NMS-12120](http://issues.opennms.org/browse/NMS-12120))
- Cannot use poller:poll karaf command with WsManMonitor through Minions (Issue [NMS-12365](http://issues.opennms.org/browse/NMS-12365))
- Strange behavior on used threads and file descriptors on Minion (Issue [NMS-12366](http://issues.opennms.org/browse/NMS-12366))
- Upstream Drools Bug: From with modify fires unexpected rule (Issue [NMS-12367](http://issues.opennms.org/browse/NMS-12367))
- “Page Not Found” in alarm-list when choosing number of alarms in dropdown-list (Issue [NMS-12379](http://issues.opennms.org/browse/NMS-12379))
- Build failure during release for 25.1.0 in CircleCI (Issue [NMS-12380](http://issues.opennms.org/browse/NMS-12380))
- backport missing patches from 25.1.0 to foundation-2019 (Issue [NMS-12384](http://issues.opennms.org/browse/NMS-12384))
- Discovery does not honor exclude-range inside a definition (Issue [NMS-12385](http://issues.opennms.org/browse/NMS-12385))
- Discovery exclude-range is not location-aware (Issue [NMS-12386](http://issues.opennms.org/browse/NMS-12386))
- Update OpenJDK 11.0.4 to 11.0.5 (Issue [NMS-12387](http://issues.opennms.org/browse/NMS-12387))
- Elasticsearch event forwarder manipulates in-flight event (Issue [NMS-12390](http://issues.opennms.org/browse/NMS-12390))
- send-event.pl is broken after OpenNMS 25.1.0 update (Issue [NMS-12392](http://issues.opennms.org/browse/NMS-12392))
- SNMP profile fitting is not triggered in some cases when MINION is involved (Issue [NMS-12399](http://issues.opennms.org/browse/NMS-12399))
- Alarmd fails intermittently and OOMs (Issue [NMS-12412](http://issues.opennms.org/browse/NMS-12412))
- SNMP Remove from definitions fails for definitions with profile label (Issue [NMS-12413](http://issues.opennms.org/browse/NMS-12413))

##### Enhancement

- Create a step-by-step guide how to setup Kafka for Minions (Issue [NMS-12368](http://issues.opennms.org/browse/NMS-12368))
- Enhance new snmp profiles to allow fitting to nodes inside requisitions without SNMP service associated to any IPs configured (Issue [NMS-12396](http://issues.opennms.org/browse/NMS-12396))
Importance of clean Production Environment.
Tags: rust
Published: 2019-12-03 17:09:19

Since the start of my developer career, I was always looking forward to handling projects with a hard hand. I love when code is clean and doesn't have unnecessary things hiding in the nook of a method/function however you wanna call that. Some of the tools like TSLint and other code analyzers handle a lot of issues regarding unnecessary code which stays in our code base. But not every single language has that kind of stuff. Some of them don't Have it and in that case, we most certainly handle those things manually read 'Pull Requests', but as everybody knows some of the stuff is hidden in our plain sight.

Since I'm Salesforce developer I've started to think is there a way to be always sure if code base still doesn't have to debug or console logs hidden in our code base. Most certainly it will be always present, even though You will probably look at search in the project and be persistent in deleting in stuff that helped you in debugging. A lot of things will happen in environments that bridge to Production. 

As for some of the time I've encouraged myself to create a tool that will help You and other fellow teams to break the barrier of unnecessary check-ins If I left some debug stuff. I've created a finder which will help every Continous Integration tool to handle that kind of issue. 

# Let me present You a ["Debug Finder"](https://crates.io/crates/debug_finder)

Currently, it's fully supported for Salesforce projects, which uses Package.xml as one of the main files to handle which files I should look and parse.

# Why Rust?

So I was looking for a fast and new language that will provide me necessary and easy to handle functionality. As for now with over 300 lines of code, I'm parsing a huge amount of code and it's a matter of .5 sec do 2 sec to parse over 60k lines in 100 files. 

# Why I've done that?

As I said before I love clean code and I know that now everyone is like me. Not everyone looks at Pull Request and says "Yea you've provided the good solution but you didn't remove debug stuff". This approach gives us a certain safe point which helps us to keep our codebase clean and easy to maintain.

# Roadmap 

For now, there's some stuff that I want to introduce to my tool which will not be bounded to only one technology which currently is Salesforce. I'm looking to extend it to other technologies. 

Greetings and Have a nice day.
FOSS, open source, self-hosted, time tracking
Published: 2019-12-03 21:49:00

## Options for FOSS based, self-hosted, Time Trackers.

I'm looking for an Open Source, self-hosted, timer/task tracking solution that I can use for billable time and other various categories, with decent reporting capabilities.

Using this for development projects to manage and calculate my time spent on various aspects of time spent, including billable time and other definable categories like phone support in customer interactions, writing emails, time spent on dev, testing, maintenance, security patching and updates, etc.

It would be nice if I found something that has cross platform support too, like Android and Windows clients and/or a web interface, but certainly a good self-hosted, sever based, UNIX (Linux) solution.

Ideally, the tracking system would be able to be sync'd with local offline databases (git repos or NextCloud would be awesome)when unable/inconvenient to connect with the server, and most especially, one that I can host on a server in the cloud.

Any comments, suggestions, are welcome :)
How do a company manage to get a trustful data extraction?
Tags: discuss, data
Published: 2019-12-03 21:37:41

Today, data extracting and selling are no longer activities kept in secret from the world's most rated companies, like Facebook. Although, not all data are as trustful, pure and clear like other.

It's not a lie that people that are getting concerned about their data security and privacy are more "disguised" when they are making informations about themselves, I mean, photos, names, wishes, Chrome searches, likes, preferences, ages, etc. How can a data extraction be productive if not all of them are really trustful? Are companies making searches based on random and manipulated informations about society's desires?