teleren/devto huggingface dataset:
Point of View as Just Graduated Computer Engineer part1
Tags: devtips, beginners, career, productivity
Published: 2019-02-08 23:57:34

---
title: Point of View as Just Graduated Computer Engineer part1
published: true
description: 
tags: devtips, beginners, career, productivity
---

I just graduated my school and i get a job about 3 month ago. I just want to share my observations so far the check-points that i noticed so far. At first a couple weeks i tried to learn my company's technologies (Languages, Frameworks e.g.) and learn about our products. First i tried to examine project's code to understand them later watched some courses provided to me by company. Three weeks later from my starting date i assigned to fix minor bugs of a main product. It was very very frightened me this was my first professional experience as a Computer Engineer. I fixed this bugs with my teammates help (Thank you folks!). 

Later then that i start to read about these languages and frameworks, tried to find resources as much as i can find.

The points i would like to share with you.Drum roll, please...
I discovered that everyone has their own unique way to learning so my humble opinion please **stop** and **think**. 
####Which way you can learn most efficient?
####Which way of learning suits for you?
![career-path](https://image.flaticon.com/icons/svg/1481/1481514.svg)
When you discovered your way you can easily learn anything you want to learn.

I found my way and last a couple weeks was just great for me, learned a lot of things (This excites me a lot). 

Like Nietzsche's said: *“Ultimately, it is the desire, not the desired, that we love.”*

I believe in you folks.

There is a idiom in Turkish: "Sürç-i lisan ettiysem affola" it means: if i misexpressed myself please forgive me. This is my first post so "sürç-i lisan ettiysem affola.

Learn as much as you can and have a nice day.
Quick useful notes for any project
Tags: quicktips
Published: 2019-02-08 22:27:50

---
title: Quick useful notes for any project
published: true
description: 
tags: #quicktips
---

I find these notes to work in any project context, from small personal ones, up to ones that power large businesses. 

In no particular order:

- **record user actions** based on a predefined template, eg User did Action on Entity/EntityDetail at Date. In our example context, it could look like: ```Mark deleted_ticket id 257 at 3/29/2019```

- **use Soft Delete** whenever possible. Having a *deleted_at*
information is more useful than actually deleting the entry from the database. Even if you do regular Database backup, someone someday will delete something important, despite the many warning and confirmations pop-ups you have in the app, and you will (usually) not waste a ton of space by leaving the entry there, but marked as deleted. ORM usually have this feature, and will not return deleted entries in other queries.

- have **a quick way to debug on live**. Frameworks usually ship a more upgraded **var_dump** alternative, like **dump($var)** from Symfony. That's all nice but you can supercharge that or even the simple var_dump by making it work only in a certain condition, like if IP=x or a `debug` Cookie is present. You do not want in the middle of the night when you get a call from Support that (hypothetical issue) all users see all the other users tickets, and you need to fix it, to show random debugging strings on the live pages.

- showing a lot of data with pagination? Remember that MySql(and I believe SQL in general) does **not have a default sorting order**. On a large enough dataset, you could get entry ID 20.000 when moving from page to page. A quick **ORDER BY id DESC** is all that is necessary to keep your mind at ease. On a table without any prior Deletes/Replaces/Updates *most* of the times though SELECT will give results in the insertion order.

- **projects grow unexpectedly, requirements will change and then they will change back**, haha. That is something normal, at least from my experience. Having a way to track everything is essential and products like Trello, Asana, Active Collab etc can be really useful. But try to have a **readme.txt file with some essential comments** about the project's design, useful comments, things to note when moving from dev to production etc. When someone pulls the code from git, that file will make onboarding more straightforward, but it should prove useful for yourself as well in the long run, when you will need to add or update functionality x. Tip: keep it in *markdown*, IDE's like PhpStorm will render it correctly as well as Gitlab/Github and many other tools used in development.

The list could go on. What other quick tips do you use?
Installing Nix under WSL1
Tags: nix, windows, nixos
Published: 2019-02-08 21:10:42

I'm administering Linux servers while using Windows as my desktop, and am working on a test deployment using NixOS. I ran into a few problems trying to run it locally.

Before trying to run the Nix Package Manager installer script, make a directory `/etc/nix` and write the following text into `/etc/nix/nix.conf`:

```
# Work around missing cgroups support https://github.com/Microsoft/WSL/issues/994
sandbox = false
# Work around incorrect file locking https://github.com/Microsoft/WSL/issues/2395
use-sqlite-wal = false
```

## Work around missing cgroups support

The Nix sandbox relies on container functionality that Windows doesn't implement yet for the Linux personality. If you don't turn off the sandbox, you'll get this error.

```
error: cloning builder process: Invalid argument
error: unable to start build process
```

## Work around incorrect file locking

The lock handling in Windows NT doesn't perfectly match Linux's. While SQLite works fine under the Win32 personality, it produces deadlocks when you try to install Nix, producing this infinite warning loop:

```
warning: SQLite database '/nix/var/nix/db/db.sqlite' is busy (SQLITE_PROTOCOL)
warning: SQLite database '/nix/var/nix/db/db.sqlite' is busy (SQLITE_PROTOCOL)
warning: SQLite database '/nix/var/nix/db/db.sqlite' is busy (SQLITE_PROTOCOL)
warning: SQLite database '/nix/var/nix/db/db.sqlite' is busy (SQLITE_PROTOCOL)
warning: SQLite database '/nix/var/nix/db/db.sqlite' is busy (SQLITE_PROTOCOL)
```
Next.js + TypeScript template
Tags: react, nextjs, typescript
Published: 2019-02-08 20:30:45

---
title: Next.js + TypeScript template
published: true
description: 
tags: react,nextjs,typescript
---

[updated] version 1.1.0 is out. Remove next-routes. Based on https://github.com/zeit/next.js#routing



I create a template for Next.js and TypeScript.


{% github https://github.com/ryohlan/next-ts-template %}

Next.js is a great framework. But it has no parameterized routing function. I often need it.

So, I create a project template and template generator CLI.

The big feature of it is to provide parameterized routing automatically.

For example, if we need 'users/:user_id' routing, run following:

```
npm run new:page users/:user_id

create new page
  path: /{PROJECT_PATH}/next-ts-template/pages/users/show.tsx
create new controller
  path: /{PROJECT_PATH}/next-ts-template/controllers/users/show.tsx
create new layout
  path: /{PROJECT_PATH}/next-ts-template/layouts/users/show.tsx
create new routes
  pattern:  
    page: 'users/show',
    pattern: '/users/:user_id' }
```

Then, we can access '/users/100'. And the query parameter type is defined automatically at the controller file.

```
// /controllers/users/show
import React from 'react'
import { NextContext } from 'next'
import { AppInitialProps, AppProps } from '@src/app'
import Layout from '@layouts/users/show'

interface InitialProps {}

type Query = {
  user_id: string
}

const getInitialProps = async ({

}: NextContext<Query> & AppInitialProps): Promise<InitialProps> => {
  return {}
}

const Page = ({  }: AppProps & InitialProps) => <Layout />

Page.getInitialProps = getInitialProps

export default Page
``` 

Also multiple query parameters are ok.

```
npm run new:page users/:user_id/items/:item_id

create new page
  path: /{PROJECT_PATH}/next-ts-template/pages/users/items/show.tsx
create new controller
  path: /{PROJECT_PATH}/next-ts-template/controllers/users/items/show.tsx
create new layout
  path: /{PROJECT_PATH}/next-ts-template/layouts/users/items/show.tsx
create new routes
  pattern:  {
    page: 'users/items/show',
    pattern: '/users/:user_id/items/:item_id' }
```
```
// users/items/show.tsx

...

type Query = {
  user_id: string,
  item_id: string
}

...
```

And you can create parameterized props for the Link component safely. 
```
export const users_items_show = ({
  user_id,
  item_id
}: {
  user_id: string
  item_id: string
}) => ({
  as: `/users/${user_id}/items/${item_id}`,
  href: `/users/items/show?user_id=${user_id}&item_id=${item_id}`
})
```

Also `users_items_show` is created at the same time.

```
<Link {...users_items_show({ user_id: '2', item_id: '300' })} >
...
```
Rails Resources for Beginners
Tags: help
Published: 2019-02-08 18:32:45

Hi everyone.

I decided to learn Rails to be a hobby. I never used Ruby and Rails before. I used Python with Django and Flask. 

Currently, I'm using Python(Django and Flask), C#, PHP, JavaScript.

So, I need a good ruby and rails guides that I can learn step by step.

Ruby isn't a requirement for my job. I've many project ideas like a todo list, shopping list, blog etc.

I just need to learn it. I'm waiting for your contributions.

Based on this data, you can suggest good resources.

Thanks.
Working alone
Tags: discuss
Published: 2019-02-08 17:29:07

---
title: Working alone
published: true
description: 
tags: discuss
---

I am a web developer, I enjoy creating web apps and games.

But I really enjoy it only when I work alone.

Working in a team bores me after a little while.

I still don't really get why.
Maybe because I want control everything, but I can't in a team.

Does anyone have this problem?
Have you found a reason?
How do you face it?
Use your Yubikey with ChromeOS Containers for SSH
Tags: chromeos, crostini, container, yubikey
Published: 2019-04-01 22:06:18

---
title: Use your Yubikey with ChromeOS Containers for SSH
published: true
tags: Chrome OS, Crostini, Container, Yubikey
canonical_url: https://blog.merzlabs.com/posts/yubikey-crostini/
---

While setting up my terminal VM on ChromeOS I wondered how I can use my Yubikey for SSH in Linux for ChromeOS. Right now there is no USB support for Linux containers with Project Crostini.

But I found out you can SSH into your container via `penguin.linux.test`. When you setup an Open-SSH server and your SSH key for authentication, you can use the great Secure Shell App for ChromeOS with USB-Smartcard support. Now I can SSH into my container and use agent-forwarding for Git clone and SSH with other server in my Linux terminal.

To get the SSH server in the Linux container on ChromeOS running, I needed to rename `/etc/ssh/sshd_not_to_be_run`. Put your key into `~/.ssh/authorized_keys` as usual and you can use the Secure Shell App to connect to you Linux terminal:

![Secure Shell Setup](https://blog.merzlabs.com/static/crostini/ssh.png)

When I am SSHed into my local Linux container I can work with my local workflow with my Yubikey for Git and VSCode for editing. My Chromebook is now perfectly capable for development tasks like a regular Linux machine.

I am running on ChromeOS Dev channel for some time. You may need to install and configure SSH differently in your Linux container.

This post was edited on a Chromebook in VSCode and pushed via SSH like this :)
Weekend Hacking -- What Projects Are You Working on This Weekend?
Tags: discuss, programming
Published: 2019-02-08 16:03:39

---
title: Weekend Hacking -- What Projects Are You Working on This Weekend?
published: true
description: Checking in on the community to see what personal projects we're hacking on this weekend. Photo by Kyle Glenn on Unsplash
tags: discuss, programming
cover_image: https://thepracticaldev.s3.amazonaws.com/i/xj81pvkduf99nton3d8a.jpg
---

Happy Friday, dev.to! 

We all have interests and areas that we want to explore, and we also have obligations during the week. The weekend is a great time to carve out some time for yourself, learn something new, explore a new idea, or work on your side project.

This weekend, I'm working on a blog post explaining the Ruby on Rails Model-View-Controller architecture using a restaurant as an analogy. I've also signed up for a Python open hacking session on Saturday morning. My idea right now is to make something like a chat client, but instead of talking to a friend or coworker, you talk to a wise and mentoring [rubber duck](https://rubberduckdebugging.com) who will help you debug your code.

I wanted to reach out and see what everyone else is up to -- what are you going to be hacking on this weekend?
How long does it take to learn Java to be job ready? 
Tags: java, begginer, help, general
Published: 2019-02-08 15:32:32

---
title: How long does it take to learn Java to be job ready? 
published: true
description: 
tags: java, begginer, help, general 
---

How long does it take to learn Java to be able to apply for jobs? I know for everyone is different but am looking at some rough time frame. Am working at the moment and I can dedicate 20 hours per week for learning. I already got my feet wet with HTML, CSS, Javascript. Would love to hear your thoughts.
Create Perpendicular Line using HTML and CSS
Tags: htmlhrtag, hrtag, html, css
Published: 2019-02-08 15:15:57

---
title: Create Perpendicular Line using HTML and CSS
published: true
description: Create Perpendicular Line using HTML and CSS
tags: htmlhrtag, hrtag, html, css
---

I am going to share with you how to create a perpendicular line using HTML and CSS 3. I will be using the HTML hr tag to achieve our goal along with CSS3.

Thanks to the CSS 3 transform attribute, you can reconstruct the look significantly. As far as an alteration on the HTML line element is considered, our pick is a rotation.

Find out the final result below:

{% codepen https://codepen.io/singhdigamber/pen/wNpbWN %}

[Learn to create slant, zig-zag, dashed, and perpendicular line using HTML & CSS.](https://www.positronx.io/create-horizontal-line-html)
Create Horizontal Line with HTML & CSS – Style HR Elements in Best Ways
Tags: css, html5css3, softwaredevelopment, horizontallinewithhtml
Published: 2020-01-31 21:56:23

---
title: Create Horizontal Line with HTML & CSS – Style HR Elements in Best Ways
published: true
tags: CSS,HTML5/CSS3 ,Software Development,Horizontal Line with HTML
canonical_url: https://www.positronx.io/create-horizontal-line-html/
---

The post [Create Horizontal Line with HTML & CSS – Style HR Elements in Best Ways](https://www.positronx.io/create-horizontal-line-html/) appeared first on [positronX.io](https://www.positronx.io).

 
**Horizontal line in HTML** is not a hard concept to decode. However, before we get to that, let’s examine the horizontal lines in general. You can add horizontal lines with the help of either CSS or HTML. How does it work? We are going to find the answer to that below.

As we all know, to separate content we can go for horizontal lines. When it comes to CSS, you employ border rules; whereas in the case of HTML we use HR element.

[Click here to read more](https://www.positronx.io/create-horizontal-line-html/)
Top DevOps tools - what we love and use in MindK
Tags: devopstools
Published: 2019-02-08 12:43:42

---
title: Top DevOps tools - what we love and use in MindK
published: true
description: Meet our top devops tools, picked out for ten years of experience in the IT industry, tools we use on a daily basis, really love and recommend to our clients.
tags: DevOps tools 
cover_image: https://www.mindk.com/blog/wp-content/uploads/2019/02/ai-blur-codes-577585-720x460.jpg
canonical_url: https://www.mindk.com/blog/top-devops-tools/
---
We have invested plenty of time researching and deciding which tools to include in our DevOps tool package. Our decisions are based on almost ten years of experience in the IT industry and we are ready to share the list of best devops tools with you.
Here in MindK, DevOps is a part and parcel of every project developed.
DevOps (‘development’ and ‘operations’) represents a culture that you can adopt for continuous improvement, aimed to unite the efforts of both developers and operations towards a common business goal.
For every client project in MindK, we work with plenty of third-party applications, manage a lot of servers, and collaborate within internal and client teams, so we are forced to find a way that makes the whole software development process seamless and efficient.
With that in mind, we begin to test and try different tools that could help us establish a DevOps culture.
[Continue reading...](https://www.mindk.com/blog/top-devops-tools/)
How to win customer loyalty with location-based apps
Tags: customerloyalty, locationbasedapps
Published: 2019-02-08 12:41:34

---
title: How to win customer loyalty with location-based apps
published: true
description: Location-based apps can benefit almost any business. Starbucks uses it to sell more coffee, Uber pairs users with nearest drivers and Shopkick earned its partners $2,5 billion with location-based marketing. Learn how similar strategy can help your business.
tags: customer loyalty,  location-based apps
cover_image: https://www.mindk.com/blog/wp-content/uploads/2018/11/pexels-photo-1-720x460.jpg
canonical_url: https://www.mindk.com/blog/location-based-apps/
---
Starbucks knows when I go to work. Their app can access my location and purchase history. So when I pass by the nearest coffee shop, it sends me an offer I can’t resist – a cup of Java Chip Frappuccino (600 calories) at 25% off. And while I’m sipping this unholy goodness, here’s how similar strategy can help your business.
The company is using an approach known as geo-push to make highly targeted offers. By combining GPS data and users’ purchase history, you can anticipate user desires and power-up your business.
[Continue reading...](https://www.mindk.com/blog/location-based-apps/)
and... I've Returned
Tags: newjob, career, developer, tech
Published: 2020-04-02 06:19:02

---
title: and... I've Returned
published: true
date: 2019-02-08 08:00:00 UTC
tags: newjob, career, developer, tech
canonical_url: https://www.jaysonjphillips.com/blog/2019/02/and-i-ve-returned/
---

Today marks my first day back at [Trilogy Education Services](https://trilogyed.com/). And… it was like a “welcome home”, of sorts. I enjoyed my time at [Coinbase](https://coinbase.com/), and worked alongside a ton of brilliant people who definitely gave me my “crash course MBA in crypto”, but I got an opportunity to come back to a role I just couldn’t refuse: help shape the future of Trilogy’s Online Education platform and product.

And so, I come back to a tech team that’s grown considerably since I’ve left, and I come back with a very important role as the Director of Engineering for this group: move us to the next phase, and fast, with quality and world-class student experience at the forefront.

As a _still part-time_ instructor for UC Berkeley Extension, I couldn’t be more excited to take a program that, in a previous form I piloted, and move into its new model of asynchronous learning.
You’re Allowed to Break Your Own Advice, and You’re Allowed to Change Your Mind.
Tags: writing, motivation
Published: 2019-02-08 07:50:22

---
title: You’re Allowed to Break Your Own Advice, and You’re Allowed to Change Your Mind.
published: true
description: A short call to action for anyone who’s ever felt afraid to share their own opinion just because they might not always stick to them.
tags: meta, writing, motivation
---


In a community like this one (or any community), there’s a common fear people have that if they say something, the have to live it. 

That if they go out of their way to give some sort of technical advice, they need to make sure they stick to that 100% in all their code across all their public repos.

That if they don’t, they’ll be labeled a hypocrite.

**This is a lie.**

You don’t need to follow your own advice 100% of the time, and you shouldn’t be afraid to share your opinion if you don’t. 

I used to smoke, (and I might still indulge in the occasional cigarette.)

That doesn’t mean if someone asks me point blank if they should pick up smoking, I have to say yes. My answer would be no, of course they shouldn’t! It’s a bad habit that wastes your time, drains your bank account, makes you smell like garbage, and ruins your health. 

I can say that even though I still smoke sometimes.

Same thing goes for giving technical advice. It’s ok to speak your mind even if you don’t always do what you say. 

**No one does.**

This is programming for gods sake, most people don’t follow their own advice 90% of the time.

Never feel like you can’t share your opinion if you don’t always stick to it, and never feel obligated to always follow your advice just because you shared it!

Oh and another thing... 

**It’s ok to be wrong.**

And it’s ok to change your mind.

Loads of people who used to preach DRY now preach [WET](https://dev.to/wuz/stop-trying-to-be-so-dry-instead-write-everything-twice-wet-5g33). 

And tons of people who used to be zealots about 100% test coverage now say its a waste of valuable time trying to test all those once-in-a-lifetime edge cases. 

People learn. People change. People grow. 

I hate to think that there’s some of you out there with unique, valuable thoughts, afraid to share them just because they don’t always stick to them, or because they’re not absolute experts on the subject.

If that sounds like you, I’m here to tell you that it’s ok! Communities like this thrive on different people with different levels of experience coming together and sharing their experiences and opinions. 

So share your thoughts, no ones gonna judge you if you change your mind!
Resolutions to setup issues with Craft on AMPPS
Tags: php, craft, troubleshoot
Published: 2019-02-08 06:53:40

---
title: Resolutions to setup issues with Craft on AMPPS
published: true
description: Resolve setup issues with Craft on AMPPS
tags: php, craft, troubleshoot
---
This is a followup to my post on **Introduction to Craft**.
{% link https://dev.to/davinaleong/introduction-to-craftcms-1n9a %}

Note that this _isn't_ a conclusive list. It is simple me listing down the issues I faced and how I resolved them.

# A: Getting Craft working on AMPPS on Mac
- Create a `/developer` folder in your home directory.
- Create a folder in the `/developer` for your Craft project; e.g. (`/my-craft-project`)
- Install Craft in that folder either [manually](https://docs.craftcms.com/v3/installation.html), or via [Composer](https://docs.craftcms.com/v3/installation.html).
- Open up your **terminal** and `cd` to the `/web` folder of your Craft project and type:
```bash
pwd | pbcopy
```
This command copies the path of the current directory into your clipboard. _Note: Don't be alarmed if you don't get any success messages._
- Navigate to your **AMPPS' Alias Manager** and click on **Add New**
![AMPPS alias manager](https://thepracticaldev.s3.amazonaws.com/i/j6igde3ryuhqjprannhr.png)
- Paste the path you copied in Step (4) into the **Path** field. The form should look something like this when filled up:
![AMPPS add new alias](https://thepracticaldev.s3.amazonaws.com/i/jx6dkdz4b7tj9m9t6d4w.png)
Click on **Create Alias**
- To test, make sure that AMPPS is running, then navigate to `http://localhost/my-craft-project`. You should either see the Craft welcome page, or your Craft's homepage if you've set it.

-----

# B: Plugin Store fails to Load
- Download `[cacert.pem](https://curl.haxx.se/ca/cacert.pem)` and move it to the `/developer` folder in (A).
-. In the AMPPS console, click on the PHP's **gear** icon. Then click on the **spanner** icon beside it to launch the `php.ini`.
- Search for `curl.info`. You'll see something that looks like this:
`:curl.info =`
 Replace that line with this:
```ini
curl.cainfo = "/Users/<username>/developer/cacert.pem"
```
Remember to change `<username>` to the name of your **Home** directory.
- Restart your Apache server and reload your webpage

-----