teleren/devto huggingface dataset:
Home office for Embedded Developers
Tags: remote, embedded, productivity, covid19
Published: 2020-03-30 14:21:49

---
title: Home office for Embedded Developers
published: true
description: Virtualize your HW and work from home with a much better development workflow!
tags: remote, embedded, productivity, covid19
cover_image: https://live.staticflickr.com/5253/5524357801_a3f75f1544_b.jpg
---

In light of Covid-19 I see a lot of people making the switch to work from home. However, I fear that in some cases embedded developers are not given the benefits of working from home due to outdated development methodologies, which still rely on HW more then necessary. Therefore I thought I'd give some pointer on how to lose the HW dependancy and work from home as an embedded developer.

## Virtualizing HW

The way I see it, embedded developers have two options: taking HW home (which can be impossible or very impractical) or **virtualise the HW**

Besides easier logistics, virtualising the hardware has some added benefits:

- **Testability:** Virtual HW is easy to mock, so you can run simulate and test abnormal sensor values and errors
- **Automatable**: Virtual HW is much easier to set up than a real test bench. Therefore you can automate a lot more scenarios and run them more often
- **Portable**: If you got it working in a virtual environment, you can also get it working on the new HW platform!

## Emulation vs. Mocking

To virtualize HW you can go down two roads:

1. **Full HW Emulation** a.k.a. run your binary on QEMU
2. **HAL Mocking** a.k.a. compile your application for your host, and give it HW mocks

Full HW Emulation gives you greater depth, but it's much harder to setup and depending on your application possibly overkill.

Therefore in most of the cases I've decided for HAL mocking. In HAL mocking you will compile the source code for a different target machine (e.g. an Intel CPU running Linux) instead of the target HW (e.g. ARM) and replace all hardware specific files with mocks. It does not mimic your application as closely since you get a different binary, but the beauty of it though is that now **you get a binary that you can run on your development workstation natively, including full access to native development tools like (debuggers, profilers and tests)!**

## Finally

To sum it up: Virtualize your HW and work from home with a much better development workflow!

So, out of curiosity how are you guys holding up? If you are working from home, share your setup! If not, tell us why not and maybe we can figure out how to get you home safely!

P.S. Hit me if you want to talk more about HW mocking. I would like to help allowing everyone to work safely from home!
P.P.S. Cover image by [deldevries](https://www.flickr.com/photos/deldevries/5524357801)
Department of Defense DevSecOps Journey
Tags: government, devsecops, departmentofdefense, newsandviews
Published: 2020-03-31 20:15:31

---
title: Department of Defense DevSecOps Journey
published: true
date: 2020-03-30 14:15:25 UTC
tags: government, devsecops, Department of Defense, News and Views
canonical_url: https://blog.sonatype.com/department-of-defense-devsecops-journey
---

[![fighter jet](https://blog.sonatype.com/hubfs/GettyImages-1163415073.png) ](https://blog.sonatype.com/department-of-defense-devsecops-journey)

By <a href="https://dev.to/sylviafronczak">Sylvia Fronczak</a>

_ **Editors Note:** _ We recently discussed why the [federal government should adopt DevSecOps](https://blog.sonatype.com/top-6-reasons-the-time-is-now-for-devsecops-in-the-federal-government). Here, a look at DevSecOps efforts at the Department of Defense presented at All Day DevOps. Sign up now for the upcoming [All Day DevOps | Spring Break Edition](https://www.alldaydevops.com/register-springbreak-2020) happening April 17.

The U.S. Department of Defense (DoD) has a unique DevSecOps journey, and we'll discuss that today thanks to a presentation by Hasan Yasar and Nicolas Chaillan ([@NicolasChaillan](https://twitter.com/NicolasChaillan)).

But first, here’s some background on the DoD. 

The DoD depends on software, but it doesn’t always control development. Instead, they must maintain software written elsewhere. Difficulties arise when the entire lifecycle is out of their hands.

 ![](https://track.hubspot.com/__ptq.gif?a=1958393&k=14&r=https%3A%2F%2Fblog.sonatype.com%2Fdepartment-of-defense-devsecops-journey&bu=https%253A%252F%252Fblog.sonatype.com&bvt=rss)

<a href="https://blog.sonatype.com/department-of-defense-devsecops-journey">Read more on the Sonatype blog</a>
Working from home - Day 12
Tags: watercooler, remote, webdev, development
Published: 2020-03-30 14:13:36

---
title: Working from home - Day 12
published: true
description: Continuous journey of working from home due to COVID-19 outbreak at the world. This is my journey, my challenges in trying to be productive and completely changing my work habits from office first to remote first. 
tags: watercooler, remote, webdev, development
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/7zk0hcee372hdkgeqrpx.jpg
series: working from home
---

## General

Not much to say. Friday also went good. The handoffs between my wife and me worked well, we were both productive.

It was a nice day, so we enjoyed with the kids some time outside (also on saturday).

All in all, nothing surprising. Still `Storming` but we are getting better for now. I'll see how long it will last 😃

On the quick corona update: 

- We are close to 600K infected people ~30K deaths.
- I'm still surprised that so many people are that much into conspiracies. It looks like every day, another crazy person (with a Doctor title) pop up magically.
- Still, Berlin seems to have a rather flat curve (german Zeit Newspaper):

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ptkxlqmxej9mp08fhyo9.png)


## Work

Initially I expected that this day would be another productive one. I finished and released the Widget removal, I started to change the Experiment Toggle to support the new endpoint.

Than, the missing communication around the Widget removal kicked in and we had to roll back. This situation blocked me a bit, as I reverted my PR `git revert -m 1 <commit-hash>` and pushed a new PR, our live deployment freeze kicked in and the outcome was to wait until Monday.

Yet, over the weekend things still moved into the other direction and I helped our 24/7 to analyze and rollback. Unexpected situation. There will be a Retro, let's see what the next week will provide.

## TIL

I can highly recommend a Slack Bot for your Calendar. I have added [Google Calendar](https://zalon.slack.com/apps/ADZ494LHY-google-calendar) integration and also went to [Clockwise](https://zalon.slack.com/apps/A89HZ352N-clockwise). I really see value in coloring my calendar and having a bot reminding me of meetings.

I'm working normally in the "Don't disturb" mode and therefore not see most messages send to me, yet regularly the bot helps me to keep up. I personally like the morning briefing of such bot 😅

Another learning was related to pinterest removal I finished on Thursday. I somehow expected that all the communication was already done and releasing this to live wouldn't surprise anyone internal and external. Once I did an announcement in our Slack Channel, I quickly realized that our CuCa wasn't aware of it. On top, communication to our customers went out and this might create more cases and work for them.

Therefore:

- Always ask the affect group / business unit before you deploy on live what you will do. Do a check-in with the business. The best would be to provide them a rough estimation (Calendar Week / Sprint). 

Cheers,

Ferit
Dive Into All The Wonderful Features Of WooCommerce

Tags: wordpress, codenewbie, productivity, 4
Published: 2020-03-30 14:07:19

WooCommerce is an online platform in the form of a plug-in, which provides service to online retailers to sell their products and reach out to more and more people. Though it provides creating <a href="https://addwebsolution.com/ecommerce-development">e-commerce development</a> sites for businesses, it is an open-source plug-in for WordPress, helping vendors run their small or large-sized businesses online. The features it provides are versatile and customizable for the website development needed for a business retailer.

<h2>Wonderful Features WooCommerce You May Not Be Aware Of</h2>
Following are the marvellous features of WooCommerce store app provided to the online store retailers:

<h2>Bookings:</h2>
 
If you are selling the tickets for flight or train or providing booking services for the following: a hotel for a trip over a weekend, a ticket to a new movie, or anything else, plug-in helps you do it for you easily. WooCommerce allows your site visitors to place the booking by letting them pick a specific date and time in the calendar, and there the booking is made hassle-free. The plug-in is intelligent in preventing overbookings by permitting you to control the calendar features. It offers invoicing, assists in payment through payment gateways, etc.

Demo: The WC Resort & Spa

Plugin: WooCommerce Bookings

 
<h2>Subscriptions</h2>

The recurring payment is allowed for subscriptions, which could be monthly or yearly. Any subscriptions you wish to sell, such as for newspapers, products, magazines, online access, etc. are administered by the plug-in. As said earlier, it synchs with different gateways for payments. So in case, the customer happens to cancel the subscription directly at the provider side, then the subscription is cancelled at your store automatically. The plug-in supports the bill as long as you are selling the product irrespective of whether it is online or physical selling or providing monthly or yearly subscriptions on the products. As long as you sell, the plug-in generates the bill for you. 

Demo: Sellxed WooCommerce Subscription Demo

Plugin: WooCommerce Subscriptions

 
<h2>Memberships: </h2>

Memberships are quite popular among the study groups and students these days. So once a new user pays for a membership, they get access to the premium content provided by the authors. So with the subscription author is sure of getting recurring income. The WordPress essential plug-in Group allows users to have different levels. This, combined with the WooCommerce plug-in, the seller can start offering paid memberships anytime. And with WooCommerce Subscriptions, vendors can sell the clubs.

Plugin: Groups for WooCommerce

 <b>Want to have your business run on WooCommerce?</b>

Read more about <a href="https://addwebsolution.com/blog/dive-all-wonderful-features-woocommerce">Wonderful nature of Woocommmerce</a> : Tap to here for exploring Woocommerce
The Remote Company Checklist: Strategies for Effective Remote Team Management
Tags: workingremote, remoteteams, howtoworkremote, howtoleadaremoteteam
Published: 2020-03-30 13:58:43

---
title: The Remote Company Checklist: Strategies for Effective Remote Team Management
published: true
description: Working remote sounds glamorous, but it takes more work and discipline than teams may realize. 
tags: working remote, remote teams, how to work remote, how to lead a remote team
cover_image: https://www.bitovi.com/hs-fs/hubfs/christina-wocintechchat-com-lqPLmYD_MO8-unsplash.jpg?width=2880&name=christina-wocintechchat-com-lqPLmYD_MO8-unsplash.jpg
---

Workers can only be as successful as their environment allows. If a company isn’t set up to support remote workers well, someones role as a remote worker may not work out long term. A company unused to managing remote employees may not have a process to assess performance because they are used to relying on seeing people in an office “doing work.”

Completely remote companies have solved how to support a remote team. If your company is new to working remote or only has a faction of remote workers, there are some considerations to be had. It might be helpful to try and align with our remote company checklist, a list of attributes a company needs to successfully manage remote teams. 

The Remote Company Checklist

1. Have an Onboarding Process
2. Have Meetings Built to be Inclusive of Remote Workers
3. Have a Clear and Always-Available Task Management System
4. Are Effective Communicators
5. Have Documentation Around Tribal Knowledge
6. Have Appropriate Performance Evaluation Metrics in Place

Read more about how to implement this checklist in detail with tools & recommendations on our blog at Bitovi.com - [https://www.bitovi.com/blog/the-remote-company-checklist-strategies-for-effective-remote-team-management](https://www.bitovi.com/blog/the-remote-company-checklist-strategies-for-effective-remote-team-management)

At Bitovi, we're a remote-first company. We pride ourselves on being technical experts, as well as experts in communicating, coaching, and mentoring in remote environments, and we have a history of successful projects to prove it. We love all things JavaScript, UX, front-end, and DevOps: if your team needs help in a remote capacity with getting a new project out the door, mentoring and coaching on best practices, or adding expertise and velocity to your team, please shoot us an [email](mailto:contact@bitovi.com)!

( cover photo from [WOCinTechChat](https://www.flickr.com/photos/wocintechchat/albums) )
SEO laravel shema.org json+ld api 
Tags: laravel, api, jsonld, shemaorg
Published: 2020-03-30 13:58:24

hello community, i hope that all the community are fine with this Lesion of #coronavirus or #covid-19 and I hope God will keep her away from us soon my question today is :
how to create json+ld api with laravel if there is any suggestion pleases.
THANKS
The if __name__ == "__main__" conditional in python
Tags: python
Published: 2020-03-30 13:54:50

## TL;DR
**When a module is imported into a script, the module's code is run when the script is run.
This is useful for unit testing**

 
Like, most programming languages, python has special variables. A peculiar special variable in python is the \_\_name__ variable. 

When you have a script that can act as both a module and a script, you'd probably need this conditional statement.

One thing about python modules is that if imported, into a script all the code in that module is run when the script is run.

__module.py__
```python
print("I am module.py")
def func1():
  return "The first function was called"

if __name__ == "__main__":
  print(func1())

# When this module (or script) is run this would be the output
I am module.py
The first function was called
```

__script.py__
```python
import module
print("I would be printed after 'I am module.py'")

# When this script is run, this would be the output
I am module.py
I would be printed after 'I am module.py'
# Note, func1 wasn't called
```

Now, let's assume we have a script with useful utility functions. We want to be able to test our script and also export it as a module. We would put our unit tests in the conditional `if __name__ == "__main__"`

Try this out yourself. Investigate it. Then learn about unit testing in python. Thanks for reading.
Having trouble with rendering two Models in a single template
Published: 2020-03-30 13:52:48

Hi everyone, I have the following in views.py:

```python
def home_page_view(request, username):
    quotes = Quote.objects.all()
    qprofiles = Qprofile.objects.all()
    context = {
    'quotes':quotes,
    'qprofiles':qprofiles
    }
    return render(request, 'quotes/home.html', context)
```

and the following in `home.html`:

```html
{% block content %}
<!DOCTYPE html>
<html>
{% include "accounts/includes/header.html" %}
<body>
<h1>HOME</h1>
<h2>HI {{ user.username }}</h2>

<p><a href="/logout">LOGOUT</a> <a href="/new">WRITE NEW QUOTE</a> <a href="/add_info">TELL US ABOUT YOU</a></p>
 {% if user.quotes.all %}

  {% for object in user.quotes.all %}
  <p>{{ object.quote }} @{{ user.username }}</p>
  <p><a href="{% url 'quotes:quote_remove' pk=object.pk %}">DELETE</a>
  <a href="{% url 'quotes:quote_edit' pk=object.pk %}">EDIT</a></p>
  {% endfor %}

  {% if user.qprofiles.all %}
  {% for data in user.qprofiles.all %}
  <p>Bio: {{ data.bio }}</p>
  <p><a href="{{ data.website }}">{{ data.website }}</a>
  <p>Profile pic:<img src="{{ data.profile_picture.url }}"></p>
  <p>Background pic:<img src="{{ data.cover_image.url }}"></p>
  {% endfor %}
  {% else %}
  <p>no pics</p>
  {% endif %}


 {% else %}
   <p>Such empty!</p>
 {% endif %}
</body>
</html>
{% endblock %}
```

The quotes are displayed just fine, however the qprofiles are not. What am I doing wrong? Bit frustrated, been working on this all morning.

Here are my accounts/models.py:

````python
class Qprofile(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE,related_name='userdata')
    bio = models.TextField(max_length=20000)
    website = models.CharField(max_length=2000)
    profile_picture = models.ImageField(upload_to='images/profile_pics')
    cover_image = models.ImageField(upload_to='images/cover_pics')

    def __str__(self):
        return self.name
```

and my quotes/models.py

```python
class Quote(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='quotes')
    quote = models.CharField(max_length=200)
    created_at = models.DateTimeField(auto_now_add=True)

    class Meta:
        ordering = (
        '-created_at',
        )

    def __str__(self):
        return self.quote
```
released gem active_record_json_explain 💎✨
Tags: ruby, rails
Published: 2020-03-30 13:47:53

I released gem active_record_json_explain💎✨

https://github.com/Madogiwa0124/active_record_json_explain

This gem extends ActiveRecord::Relation#explain to make it possible to get EXPLAIN in JSON format.(Only supported MySQL and Postgresql)

Usage

Add this line to your application's Gemfile:

``` ruby
gem 'active_record_json_explain', require: false
```

Add `require 'active_record json describe'` to the model, and then execute `explain (json: true)`.

``` ruby
require 'active_record_json_explain'

class Sample < ActiveRecord::Base
  scope :with_title, -> { where(title: 'hoge') }
end

Sample.with_title.explain(json: true)
=> EXPLAIN for: SELECT "samples".* FROM "samples" WHERE "samples"."title" = $1 [["title", "hoge"]]
                                                                                                                                                    QUERY PLAN
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[
  {
    "Plan": {
      "Node Type": "Seq Scan",
      "Parallel Aware": false,
      "Relation Name": "samples",
      "Alias": "samples",
      "Startup Cost": 0.00,
      "Total Cost": 11.62,
      "Plan Rows": 1,
      "Plan Width": 556,
      "Filter": "((title)::text = 'hoge'::text)"
    }
  }
]
(1 row)
```
Discussion: Amazon S3 Storage Access
Tags: aws, discuss, askdev
Published: 2020-03-30 13:35:04

Hello, I have just started taking a look at Amazon S3 storage. I have a few case scenarios in my mind and how would you achieve them based on the pros and cons of the approach.

Case 1:
I am uploading the image to S3 and all those images are public no restrictions access:
Solution: Set the access level of the bucket public.

Case 2:
The uploaded data is only meant to be shown to specific users in my web app. 
Solution: I would simply create a controller upon checking whether the user trying to access the file has required permissions or not. If yes, I would simply call the AWS API will retrieve the object on the server and then stream it to the client.

Case 3:
User is required to access the file but for one time only. 
Solution: Don't know.

I am seeking more solution for Case 2 and Case 3
The Good Parts of AWS Ebook
Tags: aws, computerscience, kubernetes, books
Published: 2020-03-30 13:33:20

Hey all, [The good parts of AWS](https://gumroad.com/a/241808499?offer_code=corona), an amazing ebook by ex AWS engineers Daniel Vassalo and Josh Pschorr is available at $15 at the moment. A perfect read while you stay home due to Covid19.

This price point is valid for a limited period, consider grabbing a copy if you haven't already..

Cheers
“We can not solve our problems with the same level of thinking that created them.” —Albert Einstein
Tags: programming, leadership
Published: 2020-03-30 13:28:41

This is one of my favorite sayings.  No matter what our situation may be, all programming and code development is geared toward finding a solution to a problem. Sometimes the very solutions we create morphe into new problems that are much more advanced and sophisticated.  In one sense you can say that life is an endless cycle.  I love solving business problems because they inevitably lead to some products or software. With great power comes responsibility. Remember where that phrase came from?

Herman Bongco
Senior Partner
Modelworks Direct
Feedback is not a dirty word
Tags: beginners, career, todayilearned
Published: 2020-03-30 13:00:28

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

### [Feedback is not a dirty word](https://bit.ly/2wEZ6n8)

- Without a good feedback system, pockets of disagreement can grow into resentment, distrust and eventually organizational failure. Feedback is also the only way to achieve true personal growth.
- For critical feedback to be effective, give it in private and with positive intentions, be specific and factual, and use a non-violent communication format: *‘when you do <specific action>, I feel <emotion> because the story in my head is <your fear>’*.
- Set up review sessions regularly (ideally weekly) at an expected time.
- Be receptive to feedback and sidestep your ego’s fight or flight response by evaluating ideas objectively and viewing feedback as a gift. 
- Once you have heard the feedback, repeat what you heard, request confirmation and keep asking ‘Is that all?’ until you are sure the other person is done. Finally, think objectively about the feedback and suggest an action to resolve it.
- Ensure that feedback is a part of your culture and an expectation from managers. Hold weekly one-on-one meetings, with structured time in the end for mutual feedback and put it all on record.
- Publicly seek feedback from your team and discuss it. As a leader, publish written feedback from other leaders for the entire company and discuss ways you are trying to improve.  

*[Full post here](https://bit.ly/2wEZ6n8), 5 mins read*

---

### [Absolute truths I unlearned as a junior developer](https://bit.ly/2xxZjsk)

- **The title of ‘senior developer’**: Don’t be led by job titles alone. Value collaborative experience, being reviewed and having a mentor. Avoid an early position where you have to work alone.  
- **Everyone writes tests**: Loads of companies have little or no testing, because they have either never felt the pain of not having tests or felt the pain of having legacy tests.
- **We’re far behind everyone else**: Beware of ‘tech FOMO’ as academic settings and conferences often cover proof of concepts rather than real-world scenarios. Dealing with legacy is normal.
- **Code quality matters most**: Often, good enough code that works and is maintainable is good enough. Overarching architecture is more important than nitpicking. 
- **Technical debt is bad**: Disorganized or messy code is not the same as technical debt. Technical debt actually slows you down or causes errors or makes changes difficult. A certain amount of tech debt is healthy because it assures delivery.
- **Seniority means being the best programmer**: Senior engineers need many skills, from communication and dependency management to estimation and project management. And the truth is that we all remain junior in some areas.  

*[Full post here](https://bit.ly/2xxZjsk), 14 mins read*

---
 
*[Get these notes directly in your inbox every weekday by signing up for my newsletter, in.snippets().](https://mailchi.mp/appsmith/insnippets?utm_source=devto&utm_medium=post08&utm_campaign=is)*