teleren/devto huggingface dataset:
IT Degree Necessary?
Tags: discuss
Published: 2018-08-28 14:28:20

---
title: IT Degree Necessary?
published: true
description: 
tags: #discuss
---

I just found that many developers do not have IT-related degree but finally work as a developer. 

**Declare:** I do not have IT-related bachelor degree. I have been working as developer for a several years. Yes. I got a IT-related Master Degree during work.

I just wonder if IT-related degree is necessary for Programmer or Developer. I just wonder IT is a professional industry.

Thanks so much for all comment. I may try to conclude the comments in this post.

# Not a must but a path

*under construction *
MacOS Window Management using Hammerspoon
Tags: allgemein, hammerspoon, lua, macos
Published: 2018-11-16 20:55:29

---
title: MacOS Window Management using Hammerspoon
published: true
tags: Allgemein,hammerspoon,lua,macos
canonical_url: 
---


Using a macOS laptop with various available screen configurations is cumbersome. MacOS tries its best to reset the application windows to the state the screens were attached last time, but some vendors seem to find ways to break that feature.

And there currently is no good window manager available, who supports windows on multiple spaces on multiple screens.

With this in mind, [Hammerspoon](https://www.hammerspoon.org/) enters the state. Hammerspoon is an automation framework, that’s basically a bridge of macOS core management features (like keyboard and mouse handling, window management, etc.) to [Lua](https://www.lua.org/).

There’s a single configuration file that can do various things. Additionally, there’s a library for it that allows spaces management, which still seems to be a big problem for applications.

So I wrote some Lua code to do my window management stuff:

- Identify application windows
- put them on the right screen
- put them on the right space
- maximize them

For a reference to others and a backup for me, I published that on [Github](https://github.com/dploeger/hammerspoon-window-manager).

Have fun.

[PDF](/feed/?pdf=770)
DocToc - Too Cool
Tags: publishing, markdown
Published: 2018-08-28 13:30:07

---
title: DocToc - Too Cool
published: true
description: Little bump for DocToc 
tags: publishing, markdown
---
Just wanted to give a quick shout out. I am working on some more somewhat heavy-duty docs in Markdown (on GitHub Enterprise in this case). I was beginning to despair about having to manually manage a TOC for a relatively long topic, when I decided to search.

I found this nifty tool [DocToc](https://github.com/thlorenz/doctoc) on GitHub. It's exactly what I needed, is easy to use, and has appropriate configurability.

You can control where the TOC is injected with comments. You can control the max levels (I think 3 is a good default), and you can then just `npm i -g doctoc` and run it for folders and individual or sets of files. 

Too cool! So glad it's there. And hey, it should work for dev.to articles, as well.
Learn is Hard, but learn all is so hard
Tags: programming, tech, learn
Published: 2018-08-28 12:02:38

---
title: Learn is Hard, but learn all is so hard
published: true
description: 
tags: Programming, Tech, Learn
---

I got 41 years old, I am a programmer, all my life is programming, C, C++, VB6.0, Php, Javascript, SQL, Ruby, Golang and more.

When I was 20 years old just with 3 technologies are enough to achieve success development application, like:

Languages like VB or Java or Pascal or C++, SQL (Structured Query Language) and a System Operative (Windows or Linux is last very weird), that is, with this is enough for development any applications.

Today is so more complicated because every day came up with new technologies, new paradigms, a new framework, each language came up every week new parches security, new stuff than learn, new stuff than change and adapt it, for example, a developer rookie have to know: a language like: Php or Javascript(ECMAScrip 2015 or 2017)or TypeScript or Ruby or Python or Golang or R or C# or Java(JSE, JEE) in some case 4 or 5 language, to they have to know technologies require: Javascript, Html and CSS and SQL is very basic which is a lot

Today to be a Senior developer is a lot more complicated than 15 years ago, these people have to know Desing Patterns,  Methodologies Agiles, programming is a save way with standard of language, they have known many System Operatives(Windows, Linux, Unix, System Operativo Embedded or microsystem), minimal 9 o 10 languages(R, C, C++, Java, Php, Golang, Python, Pascal, C#, Solidity, etc), IA(Artificial Intelligent), DataMining and more.

Today is more hard be Senior because have known more, but the information is more easy get.

Thanks!
Babel 7 is Released!
Tags: opensource, javascript, babel
Published: 2018-08-28 11:39:43

---
title: Babel 7 is Released!
published: true
description: After almost 2 years of work, Babel 7 is out!
tags: opensource, javascript, babel
---

Announcement:

{% tweet 1034204330352500736 %}


Post: https://babeljs.io/blog/2018/08/27/7.0.0

It's not completely about the breaking changes and features, I added a few sections about [open source maintenance](http://babeljs.io/blog/2018/08/27/7.0.0#maintainers-are-people), [sustainability](http://babeljs.io/blog/2018/08/27/7.0.0#babelsponsorseverything), and [the future](http://babeljs.io/blog/2018/08/27/7.0.0#what-s-next). I hope the heart that we put into our work (not just the what but the how) comes across! Many times it can be hard to describe what maintaining open source can really feel like without coming across as complaining, ungrateful, and sad; it really can be tough but despite what we see online with all the hype with releases (v7 is a great example of that).

And if you haven't yet, check out my recent talk at React Rally:

{% youtube h0sfFX7WH1c %}

If you appreciate the work we're doing, you can support me on [Patreon](https://www.patreon.com/henryzhu) or donate to Babel's [Open Collective](https://opencollective.com/babel) as we are all volunteers as a crowdfunded project. Also appreciate any encouragements and help on the project itself 🙂.
Always add braces
Tags: code
Published: 2020-04-14 10:25:37

---
title: Always add braces
published: true
tags: code
canonical_url: https://timwise.co.uk/2018/08/28/always-add-braces/
---

Small matter of code style that I keep coming across.

Whether to write

```
if (thing) Action();
```

or

```
if (thing)
{
	Action();
}
```

We should always use the latter to avoid introducing bugs when modifying the code manually or through merge tools.

For the reasons behind this, read the following:

- [https://www.joelonsoftware.com/2005/05/11/making-wrong-code-look-wrong/](https://www.joelonsoftware.com/2005/05/11/making-wrong-code-look-wrong/)
- [https://dzone.com/articles/omitting-braces-not-just-a-mat](https://dzone.com/articles/omitting-braces-not-just-a-mat)
- [https://nakedsecurity.sophos.com/2014/02/24/anatomy-of-a-goto-fail-apples-ssl-bug-explained-plus-an-unofficial-patch/](https://nakedsecurity.sophos.com/2014/02/24/anatomy-of-a-goto-fail-apples-ssl-bug-explained-plus-an-unofficial-patch/)
Flatter Data
Tags: development, security, anonymity, anonymous
Published: 2018-08-28 16:35:28

---
title: Flatter Data
published: true
tags: development,security,anonymity,anonymous
canonical_url: https://craignicol.wordpress.com/2018/08/28/flatter-data/
---

I was watching The Verge summary of The Selfish Ledger, Google X’s thought experiment on what your personal data could do in the future. I started to think about Flatland.

[Flatland is a book by Edwin A Abbott about dimensions](https://amzn.to/2NgdC7A). In the book, A Square lives in a 2D world, with other 2D shapes, and tries to comprehend the universe when 3D shapes start turning up, but A Square can only comprehend them in slices or shadows/projections.

See this video by Carl Sagan if you want to know more.

<iframe type="text/html" width="748" height="421" src="https://www.youtube.com/embed/N0WjV6MmCyM?version=3&amp;rel=1&amp;fs=1&amp;autohide=2&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent" allowfullscreen="true" style="border:0;"></iframe>

The personal data organisations see of us is like the circles projected in Flatland. Google sees the videos I like and the technologies I search for help on. HMRC sees my income, savings, and charitable giving. NHS sees my health.

Companies make decisions on this data, and, like the flatlanders, generalise from the pink circles they see. Sometimes that accurately reflects the brown circles, oftentimes, not. Sometimes what looks like 2 circles is a pair of legs, and what looks like one circle is actually a group hug.

I don’t want companies to disambiguate that. I endorse the spirit of GDPR, that data should only be given up in informed consent (absent the usual rights exemptions for criminals who who violate the rights of others.)

For those of us who work in tech, we need to embrace the ambiguity, and help users and other data subjects understand how they have been categorised. Let them embrace anonymity via randomisation, such as number variance data masking.

You never own someone else’s data, you merely look after it for as long as they let you. It’s not about privacy. It’s not about data. It’s about trust. It’s about ethics.

<iframe type="text/html" width="748" height="421" src="https://www.youtube.com/embed/EoBAIQjWoUQ?version=3&amp;rel=1&amp;fs=1&amp;autohide=2&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent" allowfullscreen="true" style="border:0;"></iframe>
On Making Tech Decisions
Tags: beginners, learning, career, tips
Published: 2018-08-17 19:47:55

---
title: On Making Tech Decisions
published: true
description: One should not be afraid to make decisions. 
tags: beginners,learning,career,tips
---

I was always afraid to make decisions, even a simple one. Most of it was because I was afraid to be wrong. 

> What will others think of me ? + Imposter syndrome.

We discuss our ideas with our team and then come to a conclusion based on :

* Points discussed by the team/pair.
* Evaluating pros & cons.
* The collective intellect of the team.

__We did the best we can, with the knowledge we had at that point in time__

No person will take a decision to knowingly harm the project.

Now this decision can be right or wrong. If its wrong one must not start a *blame game or point fingers*. Its a sign of toxic workplace and senior folks/"manager" must identify and solve such issues at the earliest. If not, others in team who might have good ideas/solutions just keep quite and later quit because they are afraid of being shamed.


{% twitter 1027129061401710593 %}

A software as long as its used will go through continuous evolution. Now it depends how you handle the changes. If you think of short term and pushes changes with bad design and no tests because **you don't have time**, Its fine just ensure this tech debt is addressed as soon as your urgency is taken care of. But if one urgent/"no-time" issues comes after another and you forget about the tech-debt it will bite you back. Something is terribly wrong with project/product management in this case. 


{% twitter 1029970538347679744 %}

> Fail fast -> Learn -> Improve

Right or wrong we learn from the decisions we make.We discover data points which we didn't have earlier.But waiting without making no decision is no progress we are just delaying obvious disaster to happen.

So when we figure out the decision we made was wrong, simply take the corrective step and evolve the software. Principles that aid in this are TDD/Refactoring. If we have enough test coverage one can confidently do a refactoring. The books __Test Driven Development by Example__ and __Extreme Programming Explained__ by __Kent Beck__ are really good resources for learning these techniques. Another book is __Refactoring Improving the Design of Existing Code__ by __Martin Fowler__. 


Now that being said, one should not make same mistake twice that's waste of time.


And if you don't know something, you should reach out and talk to people to learn from similar situation faced by them so that we don't make the mistake they might have made. 

> Most confusions or problems in a Software can be avoided if we just communicate/"talk" with other people "ASK" for help.

{% twitter 1026486946153938944%}

With all that being said, I still sometimes feel that Fear of the dark !!! 
**given dark='make decision'**
How to do machine/deep learning on older laptops
Tags: data, python, tensorflow, help
Published: 2018-08-28 09:34:06

---
title: How to do machine/deep learning on older laptops
published: true
description: Machine Learning on older laptops
tags: #data #python #tensorflow #help
---

I have a really old HP Pavilion G6, which is capable of simple programming task(app/website development and writing scripts), but when it comes to deep learning specially with tensorflow, it just throttles and never gives output.

I have heard about splitting task on GPU(my GPU isn't good either) but haven't tried it so can someone give me suggestions about doing deep learning stuff on older laptops?

I have tried Kaggle kernels but the website becomes unresponsive sometimes.Also, I am a student so for now I don't have enough money to buy a new one
I'm a Tester, Ask Me Anything!
Tags: ama, testing
Published: 2018-08-28 09:27:46

---
title: I'm a Tester, Ask Me Anything!
published: true
description: Ask Me Anything about Testing
tags: #ama #testing
---

I have worked as a Software Tester in varying capacities for over 20 years.  Managed QA Departments, started new QA Teams in various Start-Ups, combined QA and Release (doing both in a few companies).

Have to work with Testers on your Teams?  Need to write Tests?  Unclear on what are Tests?  Feel free to ask me anything!
Tell us your experience about poisonous work environment and how you moved on.
Tags: environment, personality, discuss
Published: 2018-08-28 09:15:15

---
title: Tell us your experience about poisonous work environment and how you moved on.
published: true
description: 
tags: #environment #personality #discuss
---
Dear fellow folks,

Recently, I've seen many toxic comments on a recruitment website, someone shared their feedbacks about current or ex jobs. Those guys were hateful, disrespectful and angry, of course I know they have reasons for that while they're mostly mentioning about bias, bullying and blaming. I'm soon getting a new in-office job after years working remotely, I'm also afraid of these situations, changing work habitats may be a big challenge, I'm not sure how to deal with them TBH. I'd like to listen from your experiences and how you got these over.

Best,

Duc
How to define complete of a project in a agile process?
Tags: discuss
Published: 2018-08-28 09:14:28

---
title: How to define complete of a project in a agile process?
published: true
description: 
tags: #discuss
---

We all know that software is a never-completed product but released. Agile Methodology adopt a change but make change frequently. 

How can a middle-level developer know how a project is completed?
What's the point using callbacks if they're only called once?
Tags: discuss, javascript, node
Published: 2018-08-28 09:09:24

---
title: What's the point using callbacks if they're only called once?
published: true
description: Don't we barely need concurrency if all of our program is waiting for a single request result?
tags: discuss, javascript, nodejs
---

Can someone explain what's the point using a callback if it's only called once?
Concurrency?

Don't we barely need concurrency if all of our program is waiting for a single request result? (That's often the case for me.)

Moreover, pyramidal code obstruct readability.
For me, `await` is a gift (not always, but very often).

So, how are you handling asynchronous code most of the time?
I'd be happy to find out great design patterns I may not know :-)
Vulkan Memory Allocator 2.1.0
Tags: vulkan, memory, allocator, library
Published: 2018-08-28 09:01:32

---
title: Vulkan Memory Allocator 2.1.0
published: true
tags: vulkan,memory,allocator,library
canonical_url: http://asawicki.info/news_1686_vulkan_memory_allocator_210.html
---

Yesterday I merged changes in the code of **Vulkan Memory Allocator** that I've been working on for past few months to "master" branch, which I consider a major milestone, so I marked it as **version 2.1.0-beta.1**. There are many new features, including:

- Added linear allocation algorithm, accessible for custom pools, that can be used as free-at-once, stack, double stack, or ring buffer.
- Added feature to record sequence of calls to the library to a file and replay it using dedicated application.
- Improved support for non-coherent memory.
- Improved debug features related to detecting incorrect mapped memory usage.
- Changed format of JSON dump to include more information and allow better coloring in VmaDumpVis.

The release also includes many smaller bug fixes, improvements and additions. Everything is tested and documented. Yet I call it "beta" version, to encourage you to test it in your project and send me your feedback.

{% github https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator %}
Spiral Animation with CSS / JS / HTML
Tags: video, webdev, javascript, programming
Published: 2018-08-28 08:53:01

---
title: Spiral Animation with CSS / JS / HTML
published: true
description: In this video I show how I create a spiral transition animation.
tags: video, webdev, javascript, programming
---

{% youtube BFesF3T1n4E %}

[Source Code](https://gist.github.com/mortoray/5b8eb860d5de706bbb66f37f27b1259d)
Which newsletters do you read?
Tags: discuss, webdev, programming, productivity
Published: 2018-08-28 08:41:39

---
title: Which newsletters do you read?
published: true
description: Great newsletters to stay informed
tags: discuss,webdev,programming,productivity
---

Newsletters are a good way to catch up on various topics. Which newsletters do you subscribe to?

### My list:

- **[The Morning Paper](https://blog.acolyer.org/about/)** - Acolyer summarizes an academic paper in CS everyday. Topics range from ML to operating systems to scalability to software engineering. He covers breakout papers from recent conferences as well as old classics. The newsletter takes a break during summer and winter (just like university!)
- **[Daily Coding Problem](https://www.dailycodingproblem.com/)** - A coding problem everyday. Occasionally, tips on solving problems.
- **[Discoverdev](https://www.discoverdev.io/)**
Weekly curation of interesting articles in programming and data science
- **[Farnam Street Brain Food Newsletter](https://fs.blog/)** - Weekly newsletter on mental models, problem solving approaches of famous people, productivity tips
- **[The Exponential View](http://www.exponentialview.co/)** - A good weekly overview of tech news. A lot of focus on how AI and automation affects culture
- **[Rendezvous](https://tinyletter.com/cassidoo)** - Focused on web development with content for beginners and experienced devs
- **[Ben Horowitz's Newsletter](https://www.ben-evans.com/newsletter/)** - A VC's weekly take on tech news

#### Language Specific Newsletters:

**[Pycoders](https://www.pycoders.com/) (Python)** - Weekly coverage of new articles and featured libraries in Python ecosystem
**[This Week in Rust](https://this-week-in-rust.org/)(Rust)** - Weekly updates on key changes to Rust, state of various RFCs, featured crates and aggregated blog posts
Generate colors palette from an image
Tags: colors, palettes, images
Published: 2018-08-28 07:50:44

---
title: Generate colors palette from an image
published: true
description: Generate colors palette from an image in one click
tags: colors, palettes, images
---
1. Choose and download your favorite image (example [unsplash image](https://unsplash.com/photos/h1tRqt0kh8E)).

2. Visit [colors generate tool](https://colorswall.com/palette/generate).

3. Click on "Pick colors palette from image" icon.
![Generate color from an image](https://colorswall.com/images/from_image/from_image_icon.png)

4. Press button "Ok".
![Colors from image](https://colorswall.com/images/from_image/from_image_with_image.png)

5. Enjoy your new palette.
![Image colors palette result](https://colorswall.com/images/from_image/result.png)

Video version
{% youtube ViNT-UZth_8 %}
Explain Ruby's define_method like I'm five
Tags: ruby, definemethod, likeimfive
Published: 2018-08-28 05:38:06

---
title: Explain Ruby's define_method like I'm five
published: true
description: I'm looking for help understanding define_method in Ruby.
tags: ruby, define_method, like I'm five
---

Y'all I'm dying here. Can somebody please explain how this works?
It's time for Typescript Native
Tags: typescript, deno, node, javascript
Published: 2018-08-28 05:26:03

---
title: It's time for Typescript Native
published: true
description: With Deno on horizon I see a bright future for Typescript
tags: typescript, deno, nodejs, javascript
cover_image: https://cdn-images-1.medium.com/max/2000/1*QlULHLylx_VpkUySbQOEvQ.png
---

Unless you have been living under a rock; you must be aware of the project [Deno](https://github.com/denoland/deno). Yes it's the project by the same guy who wrote Node.js and according to him it's his redemption from mistakes he did in Node.js: {% link https://dev.to/nickytonline/10-things-i-regret-about-nodejs-14m3  %}

While project is written in Rust and it uses the same v8 engine under the hood. He made one interesting choice this time around. He selected Typescript as a primary language instead of JS. 

Now is it a good or bad choice is a separate debate and only time will tell. I personally believe typed languages have more milage than dynamic languages both in terms of perf tuning and developer scalability. One might disagree; but after the Node.js hype is dead we can clearly see players like Golang and mid-evil dinosaurs like Java/C++/C/C# [still holding top spots](https://www.techempower.com/benchmarks/).

While browsing through Deno's source code I had a thought about how about if Deno can pre-compile TS projects into single binary like Go does? How about not having to rely on JIT and complex pipeline of V8 at all? If somebody writes strictly typed  code we can benefit a lot from type hinting that Typescript has and still keep the nice features. 

While somebody in Microsoft is struggling to find a feature that can get him his next promotion, I am wishing for something else. With [CLR now cross-platform](https://github.com/dotnet/coreclr) drop the C# ball and write us a **Typescript Native** compiler. In my opinion Microsoft has better odds of success with a huge community that already understands and writes Typescript! Microsoft can go head on with Golang and increase chances of .Net core being more well adopted than where it is right now. I will drop Golang if somebody can give me a nice syntax like Typescript with all the performance goodness that I can get from Golang.
Which visual studio code extension is the best for creating todo/bookmarks?
Tags: discuss, help
Published: 2018-08-28 04:20:07

---
title: Which visual studio code extension is the best for creating todo/bookmarks?
published: true
tags: discuss, help
---

Here's a scenario.

I've been working on a redux app and (a) I am new at it and (b) haven't touched it in a week. So I'm going through it and adding these comments

```
// 1.0 started here
// 1.1 dispatch FETCH_CONTENT
// 1.3 fetched payload
...
```

I tried few extensions that promise to gather these comments and none of the work right. Most of them only display the comments on the open page.

Currently I'm using an extension called Bookmarks but I feel like surely you guys use something similar but better.  Can you suggest anything?

Edited for more clarification

![](https://thepracticaldev.s3.amazonaws.com/i/o0ub1mdmpa001i4hqqng.png)

Those are my bookmarks. I numbered them but the get grouped by the page they are in. It does what I need it to do, but I was wondering whether there was a better way (apart from I should write better code not to need this- he)