teleren/devto huggingface dataset:
Hi, I'm Marc Anthony Reyes
Tags: introductions
Published: 2017-07-03 14:18:20

---
title: Hi, I'm Marc Anthony Reyes
published: true
description: My introduction post
tags: introductions
---

Hello, I'm Marc! I'm a 3rd Year Computer Science student from the Philippines. I have been coding for six years. I'm a freelance web developer and designer and I really am very interested in Machine Learning and Data Science.

By the way, you can find me on GitHub as [@marcreyesph](https://github.com/marcreyesph) and my website at [https://marcreyes.ph](https://marcreyes.ph).

Nice to meet you.
Are Your Children Safe?
Tags: security, software, owasp
Published: 2017-05-09 20:59:45

---
title: Are Your Children Safe?
published: true
description: A plea for developers to properly secure their software
tags: security, software, OWASP
---

Your company has value.  It has customers.  It has reputation.  It has money.

All these are of interest to criminals: whether a lone hacker, a sophisticated organisation, or perhaps a disgruntled, debt-ridden or blackmailed employee.

So I ask you: Is your software secure?  What is the risk of a breach?  Are your children safe?

If you don't know the answer to these questions, then you are a hack waiting to happen.  It's like a life insurance policy.  You don't have to have one, but can you afford the consequences of not having one?

You need to think about security, and this applies equally to externally facing systems as to internal ones.

I would like to suggest that every single application or service you write needs a [threat model](https://www.owasp.org/index.php/Application_Threat_Modeling). This is a very simple [OWASP](https://owasp.org) tool for assessing components in terms of STRIDE threats (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege).

I would furthermore like to suggest that every threat you find needs an associated set of tests to be written.

You do have security tests, right?  Right?

Essential further reading: [OWASP](https://owasp.org).
Me
Published: 2017-07-03 12:42:21

---
title: Me
published: true
description: 
tags: 
---

Greetings all.  I'm Jon(athan) Barcus.  Jon, Jonathan, or Barcus are fine.  About half the people I know call me 'Barcus.'

Anyway, I'm just a guy that's looking to become a developer.  Fully embraced the attempt a couple years back by attending General Assembly's Web Development Immersive, but lapsed back to IT.

I've been recently inspired to once again go after the dream of becoming a professional developer, so I figured I'd formally join here and stop lurking.
Tales of a Noob Dev[Part 1]
Published: 2017-07-03 12:07:47

---
title: Tales of a Noob Dev[Part 1]
published: true
description: 
tags: 
---
This post was originally posted on [medium](“Tales Of A Noob Dev[Part 1]” @ike__jr https://medium.com/@king_ike/tales-of-a-noob-dev-part-1-50b8e3837cac)


One of my dad’s many sayings subconsciously became my personal academic mantra, and it goes(translated from Twi)

*Asare, once there is someone standing in front you, teaching you something, anything at all, that thing can be learnt and understood.*


With that at the back of my mind, I began taking Construction of Angles and Pie Charts seriously in my Maths classes because they were the cause of my failures in MathsÂ inÂ juniorÂ high.



Fast forward to 2015, a similar situation happened in my first C++ classÂ inÂ yearÂ one, where I was really struggling to understand the concept of variables in programming ( Variables? ugh dude?!?). Variables are supposed to be the easiest things to grasp when learning to program but believe you me when I say I was really really struggling to grasp how it relates to memory and whatnots, and the nerve-wracking thing was almost everybody was nodding their heads in sync to whatever the lecturer was saying, and there I was feeling left out and dumbo(shoutsÂ toÂ Hov). But as time went on I managed to find solace and motivation to do better in the synchronization of nods from my classmates and I did better, with my academic mantra consciously or unconsciously at the back of my extremely big head, and that is how I began my journey on a path of no return, fightingÂ dragons,Â demogorgons, justÂ toÂ mentionÂ aÂ fewÂ mysticÂ beasts.


Moral of the story? It’s all dependent on you, the reader. I’ll be back.


**PS: I dislike C++ now**
Hi, I'm Matt Strong
Tags: introductions
Published: 2017-07-03 12:00:24

---
title: Hi, I'm Matt Strong
published: true
description: My introduction post
tags: introductions
---

I have been coding for 5 years.

You can find me on GitHub as [xmattstrongx](https://github.com/xmattstrongx)

I live in Davie.

I work for Ultimate Software

I mostly program in these languages: Go, Java.

I am currently learning more about Go, blockchain, kubernetes.

Nice to meet you.
Hi, I'm fverdicchio
Tags: introductions
Published: 2017-07-03 10:01:52

---
title: Hi, I'm fverdicchio
published: true
description: My introduction post
tags: introductions
---

I have been coding for [number] years.

You can find me on GitHub as [fverdicchio](https://github.com/fverdicchio)

I live in [city].

I work for [company]

I mostly program in these languages: [languages].

I am currently learning more about [topic].

Nice to meet you.
Hi, I'm Carl Flor
Tags: jobs, mentorship
Published: 2017-07-03 07:46:36

---
title: Hi, I'm Carl Flor
published: true
description: Software Engineer based in Manila, Philippines
tags: jobs, mentorship
---

I have been coding for 5 years.

You can find me on Twitter as [@carlflor](https://twitter.com/carlflor)

I live in Manila.

I work for [Proudcloud](http://www.proudcloud.net/)
I founded and teach basic coding at [Good Code](http://goodcode.xyz/)

I mostly program in these languages: Ruby, Javascript.

I am currently learning more about Front-end web developemnt tools.

Nice to meet you.
Things to learn in workplaces when we are free
Tags: discuss
Published: 2017-07-03 03:51:56

---
title:  Things to learn in workplaces when we are free
published: true
tags: discuss
---
Most of the time in workplaces we have nothing to do and we end up scrolling through news feed of facebook or some other social networking site. So that ends up like a waste of time. So what are the things to learn in workplaces when you are free?
Hi, I'm Devin Ward
Tags: introductions
Published: 2017-07-03 03:33:52

---
title: Hi, I'm Devin Ward
published: true
description: My introduction post
tags: introductions
---

I have been coding for 4 years.

You can find me on Twitter as [@devissquared](https://twitter.com/devissquared)

I live in Norman, Oklahoma.

I work for Power Costs, Inc (PCI).

I mostly program in these languages: Java, Swift, JavaScript.

I am currently learning more about Javascript, testing, and everything.

Nice to meet you.
Hi, I'm Aditi Chaudhry
Tags: introductions
Published: 2017-07-03 02:17:23

---
title: Hi, I'm Aditi Chaudhry
published: true
description: My introduction post
tags: introductions
---

I have been coding for 10 years.

You can find me on Twitter as [@aditichaudhry92](https://twitter.com/aditichaudhry92)

I live in Northern Virginia.

I work for Capital One.

I mostly program in these languages: Java, NodeJS, Python.

I am currently learning more about application security and penetration testing.

Nice to meet you.
Hi, I'm Soham Sen
Tags: introductions
Published: 2017-07-01 12:27:32

---
title: Hi, I'm Soham Sen
published: true
description: My introduction post
tags: introductions
cover_image: https://thepracticaldev.s3.amazonaws.com/i/xa08fdu113ws5l9ruen0.jpg
---

I have been coding for **4 years!** (Woohoo!)

You can find me on GitHub as [FadedCoder](https://github.com/FadedCoder). I've also contributed to some repos and made some there.

I live in **Earth**. *Surprised?* (PS: If you want to give me laptop stickers for free, I will give you my whole address)

I work for myself. That is, I'm an unemployed guy. Kidding, I'm just 16.

I mostly program in these languages: ***Android*-ian Java, C++, Python**.

I am currently learning more about machine learning, neural networks and stuff like that.

I also love *_anime_*.

I also was a [Google Code in 2016 winner](https://codein.withgoogle.com) and I also got a [Google foo.bar](https://foobar.withgoogle.com)! And also participated in hackathons.

Nice to meet you!
Hi, I'm billy_boyz
Tags: introductions
Published: 2017-07-03 00:13:45

---
title: Hi, I'm billy_boyz
published: true
description: My introduction post
tags: introductions
---

I have been coding for [number] years.

You can find me on GitHub as [bilazik](https://github.com/bilazik)

I live in [city].

I work for [company]

I mostly program in these languages: [languages].

I am currently learning more about [topic].

Nice to meet you.
Caves of Steel
Tags: risk, management
Published: 2017-07-02 21:49:55

---
title: Caves of Steel
published: true
description: 
tags: risk, management
cover_image: http://i66.tinypic.com/2wqzlmh.jpg
---

This post was originally posted [here] (https://partitionbyblog.wordpress.com/2017/07/02/caves-of-steel/).

In Isaac Asimov's "Caves of Steel", the humanity that still inhabits planet Earth, lives in giant cities, covered by gigantic domes from where they never leave. They end up becoming agoraphobic has a consequence of such seclusion. The population levels are alarming everywhere and, as a consequence, the vast majority accepts gladly to live in a context where limitations, social extracts and a very strong sense of hierarchy rule, everything because of the fear of losing everything they have (seen as a privilege) or never be able to reach whatever they might aspire to.

While reading the book I ended up establishing a kind of a parallel, on its own scale and with all the necessary differences (yes, my mind wanders a lot), about something that happens recurrently in our workplaces and that we tolerate and let go, without thinking about the adverse consequences that it might end up having. I'm referring to the fear of making a choice or deciding something, especially when it's hard, difficult and the output may have consequences of some kind. Almost for sure that you've been through that and, very lightly, you were one those persons in some occasions. In those moments, inside our heads, one can often listen to stuff like "leave it to them", "let them decide", "does it have to be me?" or "I'll end up having lots of work", just as an example. It happened to you already, hasn't it? We must be aware of his kind of posture, acknowledge that it exists and, more importantly, we must fight it; in ourselves and in others around us. Taking chances is an essential part of our growth when we want to grow and overcome ourselves on a daily basis and throughout our career. These moments may have the power to inflate us with trust or, at least, we should be able to learn from them. Any risk should be properly weight and calculate so that we can minimise it from the start.

But how can we do it? Why not share the responsibility? Exchange experiences, talk with more experienced people. Try to clearly understand what's at stake. If you can't explain the problem in a simple and clear way, then you haven't understood it clearly. But above everything else, believe in yourselves and don't turn your back to a challenge. To remain in your comfort zone may be a guarantee that you won't be taking a step back but will surely prevent you from taking a step forward. Don't stay inside your cave of steel.
Hi, I'm Muntadhar Haydar
Tags: introductions
Published: 2017-07-02 21:20:32

---
title: Hi, I'm Muntadhar Haydar
published: true
description: My introduction post
tags: introductions
---

I have been coding for 8 years.

You can find me on Twitter as [@mrmhk97](https://twitter.com/mrmhk97)

I live in Samawah, Iraq
I'm senior student in Electrical Engineering in University of Kufa

I mostly program in these languages: C#

I am currently learning more about IoT

Nice to meet you.
Hi, I'm Gyandeep Singh
Tags: introductions
Published: 2017-07-02 20:06:24

---
title: Hi, I'm Gyandeep Singh
published: true
description: My introduction post
tags: introductions
---

I have been coding for 7 years.

You can find me on Twitter as [@gyandeeps](https://twitter.com/gyandeeps)

I live in Kansas City, USA.

I work for Cerner

I mostly program in these languages: JavaScript.

I am currently learning more about bots.

Nice to meet you.
Hi, I'm Roman Vesely
Tags: introductions
Published: 2017-07-02 18:49:58

---
title: Hi, I'm Roman Vesely
published: true
description: My introduction post
tags: introductions
---

I have been coding for 10+ years.

You can find me on Twitter as [@rmnvsl](https://twitter.com/rmnvsl)

I live in [Kosice](https://en.wikipedia.org/wiki/KoÅ¡ice).

I mostly program in these languages: php.

I am currently learning more about react.

Nice to meet you.
Maintaining Different Git Identities
Tags: git
Published: 2017-07-02 15:08:10

---
title: "Maintaining Different Git Identities"
published: true
description: "Keeping your work and private Git configuration separate"
tags: git
canonical_url: "https://xam.io/2017/gitconfig/"    
---

I like to have separate "identities" for my private and work stuff when using Git: Commits at work should be authored with my work email and commits in private projects with my private account. Until now I would always configure this per repository as soon as I noticed a commit done by the wrong email. 

As I was setting up my new computer and edited the global `.gitconfig`, I wondered if there is a better way to keep this separate. Turns out there is one: With the [release of version 2.13](https://github.com/blog/2360-git-2-13-has-been-released), Git introduced ["Conditional Includes"](https://git-scm.com/docs/git-config#_conditional_includes). 

With these includes I can set a specific gitconfig-file to be include for all repositories within a specific location. As I store all my work projects within the folder `~/Work`, I set the default user-config to be my private one and include the work-specific configfile for all Git repositories within that location.

```
# ~/.gitconfig

[user]
    name = Firstname Lastname
    email = <private email address>

[includeIf "gitdir:~/Work/"]
    path = .gitconfig-work
```

```
# ~/.gitconfig-work

[user]
    name = Lastname, Firstname
    email = <work email address>
```

The risk of being annoyed by wrongly associated commits is vastly smaller now — until I start checking out work projects to ~/Desktop/tmp for minor fixes. 

To check your configuration, make sure to be in a directory which is tracked by Git. Non-Git directories will always show the default configuration:

```bash
$ cd ~/dev/justcurious 
$ git config user.email
<private email address>

$ cd ~/Work/projectA
$ git config user.email
<work email address>

$ cd ~/Work/not-a-repo
$ git config user.email
<private email address>
```
Hi, I'm Walid akka 
Tags: introductions
Published: 2017-07-02 12:54:05

---
title: Hi, I'm Walid akka 
published: true
description: My introduction post
tags: introductions
---

I have been coding for [number] years.

You can find me on Twitter as [@walidproma](https://twitter.com/walidproma)

I live in [city].

I work for [company]

I mostly program in these languages: [languages].

I am currently learning more about [topic].

Nice to meet you.
Hi, I'm JB
Tags: introductions
Published: 2017-07-02 08:46:03

---
title: Hi, I'm JB
published: true
description: My introduction post
tags: introductions
---

I have been coding for 1 year.

You can find me on Twitter as [@tractariana](https://twitter.com/tractariana)

I live in Seoul.

I work for wCoding.

I mostly program in these languages: JavaScript, PHP, HTML/CSS.

I am currently learning more about Angular.

Howdy!
Hi, I'm Catur Hidayat
Tags: introductions
Published: 2017-07-02 05:06:34

---
title: Hi, I'm Catur Hidayat
published: true
description: My introduction post
tags: introductions
---

I have been coding for [one] Years.

You can find me on Twitter as [@Catur_Hida_yat](https://twitter.com/Catur_Hida_yat)

I live in [Bekasi].

I work for [.......]

I mostly program in these languages: [NodeJS].

I am currently learning more about [NodeJS - ExpressJS].

Nice to meet you.
Hi, I'm Jubril Edu
Tags: introductions
Published: 2017-07-02 03:01:28

---
title: Hi, I'm Jubril Edu
published: true
description: My introduction post
tags: introductions
---

I have been coding actively for about 2 years.

You can find me on Twitter as [@djubreel](https://twitter.com/djubreel)

I live in Ibadan.

I work for Cotta & Cush

I mostly program in these languages: Java, python.

I am currently learning more about node, python and machine learning.

Nice to meet you.
Hi, I'm Ryan Marx
Tags: introductions
Published: 2017-07-01 22:09:05

---
title: Hi, I'm Ryan Marx
published: true
description: My introduction post
tags: introductions
---

I have been coding for a few, but not enough, years.

You can find me on GitHub as [ryanbmarx](https://github.com/ryanbmarx)

I live near Chicago.

I mostly program in these languages: Javascript, Python.

I am currently learning more about data visualization.

Nice to meet you.
Hi, I'm Adri
Tags: introductions
Published: 2017-07-01 19:20:23

---
title: Hi, I'm Adri
published: true
description: My introduction post
tags: introductions
---

I have been coding for 4 years.

You can find me on Twitter as [@adriyoutomo](https://twitter.com/adriyoutomo)

I mostly program in these languages: Java, Kotlin for android development.

Nice to meet you.
SQL Developer's new format hints
Tags: oracle, sqldeveloper
Published: 2018-08-26 13:48:41

---
title: SQL Developer's new format hints
published: true
tags: oracle,sqldeveloper
canonical_url: https://booyaa.wtf/2017/sql-developer-format-hints
---

One of my favourite cool features in SQL Developer is the ability to turn a sql query output into an entirely different format. It doesn't even require breaking out the import/export wizard.

```sql
SPOOL C:\TEMP\foobar.csv

SELECT /*csv*/ *
  FROM foo
  LEFT
  JOIN bar
    ON foo.id = bar.id
 WHERE foo.name LIKE '%HURR%';
 
 SPOOL OFF
```

Complete list of formats

```sql
SELECT /*csv*/ * FROM scott.emp;
SELECT /*xml*/ * FROM scott.emp;
SELECT /*html*/ * FROM scott.emp;
SELECT /*delimited*/ * FROM scott.emp;
SELECT /*insert*/ * FROM scott.emp;
SELECT /*loader*/ * FROM scott.emp;
SELECT /*fixed*/ * FROM scott.emp;
SELECT /*text*/ * FROM scott.emp;
```

Full details and source can be [here](http://www.thatjeffsmith.com/archive/2012/05/formatting-query-results-to-csv-in-oracle-sql-developer/).
Hi, I'm Sathish
Tags: introductions
Published: 2017-07-01 17:36:07

---
title: Hi, I'm Sathish
published: true
description: My introduction post
tags: introductions
---

I have been coding for 4 years.

You can find me on Twitter as [@TheWebDevel](https://twitter.com/TheWebDevel)

I'm currently a Junior Developer builiding REST API using Laravel.

Future Plans - To become Node & React Developer.

Nice to meet you here. ðŸ˜Š
Bitmasks in SQL
Tags: oracle, sql, bitmasks
Published: 2018-08-26 13:55:25

---
title: Bitmasks in SQL
published: true
tags: oracle,sql,bitmasks
canonical_url: https://booyaa.wtf/2017/bitmasks-sql
---

bitmasks are really handy way to express predicates without becoming overly verbose with parens and logical operators (`AND` and `OR`). Assume we have the following table.

```
| what        | wanted |
|-------------|--------|
| need me too | 4      |
| alpha       | 1      |
| beta        | 2      |

with data as
(
select 'appears_in_both', 4 as wanted from dual
union all
select 'alpha', 1 as wanted from dual
union all
select 'beta', 2 as wanted from dual
)
...
```

## Get "need me too" and "alpha" together

```sql
...
select * 
from data
where bitand(wanted, 5) <> 0; -- (4 + 1)
```

## Get "need me too" and "beta" together

```sql
...
select * 
from data
where bitand(wanted, 6) <> 0; -- (4 + 2)
```
Dirty Dynamic SQL
Tags: sql, oracle
Published: 2018-08-25 21:32:16

---
title: Dirty Dynamic SQL
published: true
tags: sql,oracle
canonical_url: https://booyaa.wtf/2017/dirty-dynamic-sql
---

Not all dynamic sql is strictly for immediate execution, nor is it dirty (I needed aninteresting title). I learnt this tricks from my friend at work, he's a big believer of using sql to code generate more sql.

## Altering column length

You'll still get an error when running the generated sql if you try to shrink a column.

```sql
SELECT 'ALTER TABLE ' || table_name || ' MODIFY ' || column_name || ' VARCHAR2(' || CASE column_name  WHEN 'FOO' THEN '10'  ELSE '20' END || ');' AS sql
  FROM user_tab_columns 
 WHERE column_name IN ( 'FOO','BAR')
   AND table_name IN (SELECT table_name FROM user_tables)   
   AND NOT regexp_like(table_name, '_(NEW|BAK)$') -- exclude backups
```

## Inserting output from dynamic sql

Normally you'd expect to get away with using something like `SELECT blah INTO v_foo`, but with dynamic sql you need place the `INTO` in the `EXECUTE IMMEDIATE` statement.

```plsql
SET SERVEROUTPUT ON
DECLARE
  v_sql VARCHAR2(8000);
  v_count NUMBER;
  CURSOR c_tables
      IS
  SELECT table_name
    FROM user_tables;
BEGIN
  FOR rec in c_tables
  LOOP
    v_sql := 'SELECT count(*) FROM ' || rec.table_name;
    EXECUTE IMMEDIATE v_sql INTO v_count;
    
    DBMS_OUTPUT.put_line(rec.table_name || ' has ' || v_count);
  END LOOP;
END;
/
```

## Using substitution variables

```sql
clear screen
set serveroutput on
declare
  cursor c_tables is select table_name from user_tables;
  v_data VARCHAR2(2000);
  v_sql VARCHAR2(2000);
  v_stuff VARCHAR2(50) := '&1'; -- try entering MAX(DATADATE) or COUNT(*) 
begin
  for rec in c_tables
  loop
    v_sql := 'SELECT TO_CHAR(' || v_stuff || ') FROM ' || rec.table_name;
    
    begin
      execute immediate v_sql into v_data;
      dbms_output.put_line(rec.table_name || ': ' || v_data);
    
    exception
      when others then
        dbms_output.put_line('failed to run: ' || v_sql);
        raise;
    end;
    end case;
  end loop;
end;
/
```
## One liners

### Grants

```sql
SELECT 'GRANT ' || privilege || ' ON "' || GRANTOR ||'"."' || TABLE_NAME || 
       '" TO "' || GRANTEE || '";' 
FROM dba_tab_privs 
WHERE grantor = 'FOO'
AND grantee = 'BAR'
;
```

### Recreating synonyms as sys

```sql
select 'CREATE OR REPLACE SYNONYM "' || OWNER || '"."' || SYNONYM_NAME || 
       '" FOR "' || TABLE_OWNER || '"."' || TABLE_NAME || '";' 
from dba_synonyms 
where table_owner = 'FOO';
```
Bind vs Substitution variables
Tags: oracle, plsql
Published: 2018-08-26 14:22:18

---
title: Bind vs Substitution variables
published: true
tags: oracle, plsql
canonical_url: https://booyaa.wtf/2017/bind-vs-substitution
---

I always have difficulty remember the difference between these type of 
variables. Although now, that I've started doing a lot of ORDS related work, the difference is become more apparent.

Also substitution variables are really a binding to a user variable.

## Bind variables

```plsql
PROMPT bind variables are...
VAR foo VARCHAR2

SET SERVEROUTPUT ON
BEGIN
  :FOO := 'in PL/SQL blocks';
  DBMS_OUTPUT.PUT_LINE('mostly used...');
END;
/
SET SERVEROUTPUT OFF

PRINT foo
```

output
```
bind variables are...

PL/SQL procedure successfully completed.

mostly used...


FOO
---
in PL/SQL blocks
```

## Substitution variables

```PLSQL
PROMPT Where as substitution variable are...
DEFINE FOO = 'useful in SQL scripts'
SET VERIFY OFF
SELECT '&FOO' AS BAR FROM DUAL;
SET VERIFY ON
```

output
```
Where as user variable are...

BAR                 
---------------------
useful in SQL scripts
```

To be explict, use bind vars to interact with PL/SQL blocks and substituion variables could be used anywhere. The only downside to substituion variables is that you can't DEFINE a variable with another user variable.

Also you can break substitution variables, if there's an errant `SET DEFINE OFF`, still not sure how you could test for this? Perhaps using default values and testing for it i.e. like SQLCMD variables.

Further reading:

- [Literals, Substitution Variables and Bind Variables](https://oracle-base.com/articles/misc/literals-substitution-variables-and-bind-variables)
- [PL/SQL 101 : Substitution vs. Bind Variables](https://community.oracle.com/docs/DOC-915518)