teleren/devto huggingface dataset:
Cloud thinking : storage as data structures
Tags: development, programming, cloud, cloudcomputing
Published: 2018-03-29 20:07:51

---
title: Cloud thinking : storage as data structures
published: true
tags: development,programming,cloud,cloudcomputing
canonical_url: https://craignicol.wordpress.com/2018/01/16/cloud-thinking-storage-as-data-structures/
series: cloud-thinking
---

We’ve all experienced the performance implications of saving files. We use buffers, and we use them asynchronously.

[Azure storage has Blobs](https://docs.microsoft.com/en-us/rest/api/storageservices/Understanding-Block-Blobs--Append-Blobs--and-Page-Blobs). They look like files, and they fail like files if you write a line at a time rather than buffering. But they’re not files, they’re data structures, and you need to understand them as you need to understand O(N) when looking at Arrays and Linked Lists. Are you optimising for inserts, appends or reads, [or cost](https://craignicol.wordpress.com/2016/10/18/cloud-thinking-efficiency-as-a-requirement/)?

I know it’s tempting to ignore the performance and just blame “the network” but [you own your dependencies](https://craignicol.wordpress.com/2016/11/04/you-own-your-dependencies/) and [you can do better](https://craignicol.wordpress.com/2016/04/19/speed-peak-performance/). Understand your tools, and embrace data structures as persistent storage. After all, in the new serverless world, that’s all you’ve got.

* * *

[Understanding Block Blobs, Append Blobs, and Page Blobs | Microsoft Docs](https://docs.microsoft.com/en-us/rest/api/storageservices/Understanding-Block-Blobs--Append-Blobs--and-Page-Blobs)
How to view CHM files on high DPI monitor?
Tags: windows
Published: 2018-01-20 12:17:51

---
title: "How to view CHM files on high DPI monitor?"
published: true
tags: windows
canonical_url: http://asawicki.info/news_1671_how_to_view_chm_files_on_high_dpi_monitor.html
---

Using monitors with high resolution like 4K, where you need to set DPI scaling other than 100%, is pain in the \*\*\* in Windows - it causes trouble with many applications. That’s why I want to stick with FullHD monitors as long as possible. One of the apps that doesn’t scale with DPI is Microsoft’s own viewer for CHM files (Microsoft Compiled HTML Help). CHM is a file format commonly used for software help/documentation. It has been introduced with Windows 98 as a replacement for old HLP (WinHelp). Although we read almost everything online these days, some programs and libraries still use it.

A CHM document is completely unreadable on 4K monitor with 200% DPI scaling:

[![](http://asawicki.info/files/hh_vs_DPI_1_s.jpg)](http://asawicki.info/files/hh_vs_DPI_1.png)

I searched Google for solution. Some sources say there is Font button in the app’s toolbar that lets increase font size, but it doesn’t work in my case. [This page](https://bugs.mysql.com/bug.php?id=53901) says that availability of this button can be configured when creating CHM file.&nbsp; [This page](https://geekycoder.wordpress.com/2010/01/12/solutions-to-enlarge-the-text-size-of-chm-without-tears/) mentions some alternative readers for CHM format (Firefox plugin, as well as standalone app).

I know that apps which misbehave under high DPI can be configured to work in “compatibility mode”, when Windows just rescales their window. I found out that executable for this default CHM reader is c:\Windows\hh.exe, but I couldn’t find this setting in Properties of this file. I thought that maybe it’s because the file is located in system directory and owned by the system with insufficient privileges for administrators and normal users, so I came up with following solution that actually works:

1. Copy file c:\Windows\hh.exe somewhere else, e.g. to D:\Soft\hh.exe
2. Right-click file D:\Soft\hh.exe. Choose Properties -\> “hh.exe Properties” window appears.
3. Go to Compatibility tab. Check “Override high DPI scaling behavior. Scaling performed by:”. Set combobox below to “System (Enhanced)”. Click OK -\> window closes.
4. Launch this executable with command-line parameter to browse CHM file of your choice, e.g.: `D:\Soft\hh.exe "d:\AGS_SDK-5.1.1\ags_lib\doc\amd_ags.chm"` -\> document should open in the browser with font size good for reading. Every pixel is just scaled to 2x2 pixels.

[![](http://asawicki.info/files/hh_vs_DPI_2_s.jpg)](http://asawicki.info/files/hh_vs_DPI_2.png)
My Favorite Posts of 2017
Tags: youshouldfollow, discuss
Published: 2018-01-15 17:51:04

---
title: My Favorite Posts of 2017
published: true
description: favorite posts of 2017
tags: #youshouldfollow #discuss
---

1. ["Is this the gate you want to keep?"](https://dev.to/wiredferret/is-this-the-gate-you-want-to-keep) - Hedi Waterhouse 
This post helped me to appreciate the need to be humble as a developer. Being a part of tech is more than just being a developer.  Other roles, such as  QAs, managers, sysadmins, support, etc. are important too!
{% user wiredferret %}


2. ["Grammatically Rooting Oneself With Parse Trees"](https://dev.to/vaidehijoshi/grammatically-rooting-oneself-with-parse-trees-16a) - Vaidehi Joshi @vaidehijoshi
In university, it was hard for me to understand parse trees and grammars.  In this post, Vaidehi Joshi explains these concepts creatively and simply.  This post motivated me to learn more about parse trees and how javascript parses source code!
{% user vaidehijoshi %}

3. ["But really, what is a JavaScript test?"](https://blog.kentcdodds.com/but-really-what-is-a-javascript-test-46fe5f3fad77) - Kent C. Dodds 
A lot of courses on learning web development or frameworks put UI testing on the sidelines. I enjoyed this post because it teaches testing from the ground up. It goes from creating unit tests to creating a testing framework.  
{% user kentcdodds %}

What were your favorite posts from last year?
Hello, I am making a modern fullstack JS tutorial livestream. What questions do you have for me?
Tags: discuss
Published: 2018-01-16 06:26:44

---
title: Hello, I am making a modern fullstack JS tutorial livestream. What questions do you have for me?
published: true
tags: discuss
---

When I first started out in FreeCodeCamp, I found [ClementineJS](http://www.clementinejs.com/) to be very helpful in integrating separate bits of frontend and backend knowledge. However it is more than 2 years out of date and a lot of the code looks very janky now. 

I wanted to make an update to ClementineJS that focuses on different choices, eg using Create-React-App instead of writing the frontend without a framework, and using Mongoose instead of the raw mongodb interface. I also think there are a bunch of other smaller pain points around making a fullstack app including authentication, frontend routing, and styling.

Prerequisite knowledge:
- HTML/CSS/JS (including ES6)
- Basic React
- Very Basic NodeJS/Express
- (optional) Webpack, npm

I'm tentatively calling this SunburstJS and the format is basically me remotely teaching my partner John how to make [this repo](https://github.com/sw-yx/sunburstjs) from scratch in a series of live stream videos.

My purpose is simply teaching-to-learn and giving back to the community.

I wanted to include the wonderful dev.to community so um here I am (actually not sure if this is the right place but whatev). Does this sound like it might help? what do you want included? do you want to participate? lmk.
Which is the best managed cloud hosting provider?
Tags: discuss, hosting
Published: 2018-01-16 06:20:26

---
title: Which is the best managed cloud hosting provider?
published: true
description: There are so many cloud hosting providers out there and it isn't easy to choose the perfect find for your business website. 
tags: #discuss #hosting
---
There are so many cloud hosting providers out there and it isn't easy to choose the perfect find for your business website. Here are a few big names. Need your suggestions.
HostGator
Cloudways
RackSpace
BlueHost
Siteground
Compile Time Pain
Tags: discuss, ios
Published: 2018-01-15 21:32:15

---
title: Compile Time Pain
published: true
tags: discuss, iOS
---

Hey all- not sure how many other iOS devs there are on this platform but I like the discussions I've seen so far. Wondering if anyone has any experience reducing compile time for their Swift apps and if there are any sharable tips and tricks you have.
Stop killing kittens
Tags: codequality
Published: 2018-01-15 21:22:31

---
title: Stop killing kittens
published: true
description: Every code atrocity kills a poor innocent kitten, and it gets buried in your personal kitten graveyard.
tags: Code Quality
---

First of all, this is the second time that i wrote this article. Lost the first one because didn't hit "save post" shame on me.

***

At college we had a course called "Code quality and software verification" that teaches you how to avoid (as the teacher said) killing kittens. Every code atrocity kills a poor innocent kitten, and it gets buried in your personal kitten graveyard.

My first kill (not proud) was

    var asdf = 12

So time flies and you start working as a developer for a business company, they have a web app that shows it clients their accounts and how their money was being invested by your company.

Your boss assigns you the task of developing a new module "The Hyper Calculator of Something 4000". You know how it should work but that's all, you have no idea for what it will be used for. Coding happens and since time is money, you give the luxury of killing some kittens. One here, some over there. 

After delivery you have about 5000 lines of questionable quality code but the important part is that works and made your boss happy. All good for me!

Then caos happens, your mystery module starts crashing and giving unexpected values, the company clients think that their money is gone. Your boss is exasperated that you are taking so long to fix the bug because, you wrote the module, it's your code!!

You have your hand on the mouse, ready to click over a file but.. "it was the asdf.py or the finalVersion003.py" you start opening files, looking inside your spaghetti code, digging between kitten bones, using the debugger until you manage to raise an exception VOILÁ!!! wait no.. the console says "Exception occurred" that is some very useful piece of information (not).

Your dead kittens are coming for you and you have nothing to do to fight them. Clients start to leave the company and your boss trying to help you looks your code and finds your graveyard, a cleaner code would have enabled you to solve the problem faster and lost less clients. So he gets so mad because that you get fired.

> The problem with coding is that it's almost impossible to code without creating bugs, it's something that you will have to live with.

> Bugs live in your code and feed on your dead kittens, the more kittens, the stronger will be your bugs. Well not the bug itself but you get the idea.

> Code quality is used not because it's bad killing kittens, but because your dead kittens will rise against you and the ones close.

Protect yourself of those zombie kittens.
Android WebView example to convert a blog into an Android app
Tags: beginners, android, mobileappdevelopment
Published: 2018-01-15 19:11:25

---
title: Android WebView example to convert a blog into an Android app
published: true
description: In this post, you will learn how to make simple web-based apps on Android using WebViews example.
tags: beginners, Android, mobile app development
---

![alt text](https://thepracticaldev.s3.amazonaws.com/i/6ovjtgg3566n7cpk2z8q.png "Android WebViews example project")

**Original article published here:** [How to build Android apps using WebViews](https://codeitbro.com/how-to-create-android-app-using-webviews/)

Do you own a blog or a website and want to turn it into a fully functional Android app? Having an Android app is a plus point as it stays close to the users and they can access your website anytime with just a single tap!

So if you have the same intentions, then this tutorial is just for you. You will learn how to convert a website into an Android app with just a few lines of code using WebViews concept.

A WebView is basically a container which renders a predefined or user-defined web address. Hybrid apps mostly work on the concepts of WebViews which enable web developers to reuse the website code and target multiple platforms at once. WebViews runs the web technologies on your device and also write the code in those languages to leverage the native components like camera, sensors, etc.

In this tutorial (link above), we will create a simple web-based app for our blog using the WebView control and also how you can make it more usable by enabling zoom, navigation, and safe browsing.
Which unit testing framework do you use?
Tags: discuss, testing
Published: 2018-01-15 15:47:16

---
title: Which unit testing framework do you use?
published: true
tags: discuss, testing
---
My team and I started unit testing recently and we're looking for a good framework for C/C#/C++.
I am curious to know: do you perform unit testing? if so, which unit testing framework do you use and why?
Try ending today with a failing test for a great start tomorrow
Tags: productivity, testing, programming, motivation
Published: 2018-01-15 15:45:26

---
title: Try ending today with a failing test for a great start tomorrow
published: true
description: How stopping at "red" can lay the foundation for a productive morning
tags: #productivity, #testing, #programming, #motivation
cover_image: https://thepracticaldev.s3.amazonaws.com/i/1cmcs17nlblr34qmf9rf.png
---

Tying up loose ends at the end of the day feels nice. Completing a task, committing my work, and shutting my laptop leaves me with a satisfying sense of accomplishment that sticks with me through the evening. And on those days when I grapple with a problem for a while and don’t come to any resolution, I can feel a little defeated.

While it’s nice to watch my test suite pass and call it a day, I’ve found that some of my most productive mornings come when I’ve left myself a failing test the night before.

Mornings are a great time to get caught up and plan. But it can be challenging to transition from organizing and digesting to opening a text editor and getting into a flow state. When I get some momentum working on a tricky problem later in the day, I want to bottle it up for morning. I can get close with one failing test.

Starting with a failing test means I know exactly what to work on: making it pass. Compared to an item on a to-do list, a failing test is better at returning my mind to the state it was in when I was focused deeply on the task. Maybe I even spent a bit of time the night before thinking about how I might approach it, so the implementation is a quick win.

It doesn’t work all the time. Sometimes, priorities change overnight, and I have to put the test aside and focus on something else. But often, I find that a little time spent writing a failing test at the end of the day lays the foundation for a great morning.
The 7 Most Popular DEV Posts from the Past Week
Tags: top7
Published: 2018-01-15 15:08:56

---
title: The 7 Most Popular DEV Posts from the Past Week
published: true
description: A round up of the most-read and most-loved contributions from the community this past week.
tags: icymi
cover_image: https://thepracticaldev.s3.amazonaws.com/i/xsr1z6iqv0pd7p3s6ns3.png
---

#1. Must-have tools for Mac users

Inspired by last week's [#DevDiscuss](https://twitter.com/ThePracticalDev/status/950910573369229313) about tooling, Nick followed up with an article about all the must-have tools on his Mac set up. 

{% link https://dev.to/nickytonline/my-mac-setup-2m05 %}

#2. Is Chrome _too_ good?

This post argues that Chrome is ahead of the game and that Safari has gone off-standard in ways comparable to IE. 

{% link https://dev.to/nektro/safari-is-the-new-internet-explorer-1df0 %}

#3. Angular, take 5

Having tried out AngularJS (Angular 1) a while back and having moved on to Vue and React, Ali decides to give Angular 5 a try. 

{% link https://dev.to/aspittel/learning-angular-5-as-a-react-and-vue-developer-5dp3 %}

#4. Fight the Shiny Object Syndrome

An argument for learning with specialization in mind and why it's better to be good at one thing than average at everything. 

{% link https://dev.to/stvnyung/be-good-at-one-thing-not-average-at-everything-1bf1 %}


#5. Rolling Your Own Database System

Kurt explains why he ended up creating his own database system -- out of necessity and for a learning experience. 

{% link https://dev.to/nitricware/why-i-wrote-my-own-database-system-ci9 %}

#6. Will the two kangaroos ever land at the same location and time?

After working through a HackerRank exercise, Douglas decides that math can play a key role in computer programming and asks the community for their opinion.

{% link https://dev.to/douglasmakey/how-important-is-math-in-computer-programming-cnf %}

#7. Do it yourself!

Sometimes it makes more sense to build things yourself than pay a $13/mo service fee. Omar builds a twitter bot in 17 lines of code to show us how DIY can be simple and effective. 

{% link https://dev.to/omarhashimoto/how-to-build-a-simple-twitter-bot-in-17-lines-ofcode-2aan %}


_That's it for our weekly wrap up! Keep an eye on dev.to this week for daily content and discussions...and if you miss anything, we'll be sure to recap it next Monday!_
[Question] Have you had an interview where you just talked about previous work, no assignments? Please share your experience!
Tags: discuss, interview
Published: 2018-01-15 14:41:59

---
title: "[Question] Have you had an interview where you just talked about previous work, no assignments? Please share your experience!"
published: true
description: A question about interview approaches
tags: discuss, interview
---

Hi everyone,

Have you ever had or conducted an interview without whiteboarding, home assignments, binary-tree-rotations, write-a-website-in-two-hours, design-twitter-on-paper exercises?

Was there an interview where you only talked about the candidate's (or yours) previous experience, their projects, their role, how they solved problems?

I'd love to hear if you had such experience!

As an interviewer, did you feel it is better or worse than more traditional ones? 

Was such an interview approach successful for you? More or less stressful for your candidates? Was there enough info about the candidate's skills? Were hired folks more or less successful?

As a candidate, did you present yourself better or worse? Did you feel more at ease? Did you prefer this approach or other ones?

I'll be happy if you could share your experience!
Thanks in advance!
How to build a PHP remote application update system with Authentication? 
Tags: discuss
Published: 2018-01-15 12:32:32

---
title: How to build a PHP remote application update system with Authentication? 
published: true
tags: discuss
---
Hey there! I have built an application in PHP. It is a paid application and contains a licensing system too. 

Now, I want to provide automatic updates to my clients. How should I do it? 

One important thing is the update URL should not be accessible by the normal public, only my registered application users can download the file. 

To be simple, I want authentication to be done while downloading the updates too so that others can't get updates without buying my application.
I made a simple app to ping google with Csharp
Tags: beginners, github, csharp, showdev
Published: 2018-01-15 11:49:43

---
title: I made a simple app to ping google with Csharp
published: true
description: 
tags: #Beginner, #github, #csharp, showdev
---

#Ping Tester

I have been around for a while but this is my first post.A little about myself:
I have been teaching myself programming with Csharp for about a year now.

This app pings google by default but it can be easily changed by changing the web-address. you simply select how many times the app should ping the site press start and boom magic happens. The application calculates the highest, lowest and average ping times as well as the amount of packet loss. The app visualizes the ping for the last 10 pings in a line graph.

This was my first time using a background worker thread and a delegate. I really enjoyed figuring out how to use these concepts to build a responsive app. 

I uploaded it to github go and take a look [here](https://github.com/MixMasterMot/PingTest)
Vagrant provisioning with Sparrowdo
Tags: vagrant, sparrowdo, perl6, devops
Published: 2018-01-15 12:19:45

---
title: Vagrant provisioning with Sparrowdo
published: true
description: Vagrant provisioning with Sparrowdo
tags: vagrant, sparrowdo, perl6, devops
---

# Sparrowdo Vagrant support

With the latest commits of [Sparrowdo](https://github.com/melezhik/sparrowdo) project it's possible to provision Vagrant boxes.

The interface might change, however for those who're curios of what is going on:

# Spin up your Vagrant host

```
$ vagrant up 
```

# Create some Sparrowdo scenario


```
$ nano sparrowfile 
```

```
#!perl6
directory "/opt/my/directory";
file "/opt/my/directory/file", %( content => "hello" );
package-install "nginx";
service-start "nginx";
```

# Run sparrowdo scenario on vagrant host by ssh

```
$ sparrowdo --vagrant --bootstrap 
```

# Why this is useful?

* you don't want to bother with Vagrant shell provisioning, which might be tough 
* you separate provision logic and bootstrap logic ( `sparrowfile` and `Vagrantfile` )
* you want to try nifty Sparrowdo configuration management tool on your Vagrant boxes
Why it’s hard to get stuff done
Tags: softwaredevelopment, agile, productivity
Published: 2018-01-15 10:53:33

---
title: "Why it’s hard to get stuff done"
published: true
tags: software-development,agile,productivity
canonical_url: https://medium.com/@jezhalford/why-its-hard-to-get-stuff-done-cfe611b612b3
---

![](https://cdn-images-1.medium.com/max/1024/0*g0zkRWwpL2exJIOj.jpg)

Do you ever find you’re swamped by thousands of tiny things that stop you from ever making any real progress?

In software this sort of thing happens pretty often. Perhaps more often than in other industries — we’ve even come up with a handy name for those awkward niggles. “Blockers” are our catch-all excuse for not moving&nbsp;forward.

It can be tempting to leave it at that, and work on something else. When we encounter a problem we side-step it. We must “make progress” on something else, while we wait for the problem to resolve itself. Our work ends up looking something like&nbsp;this:

![](https://cdn-images-1.medium.com/max/1024/1*zG5hUZ4AKhWSDN8kxvnMsQ.png)

All those exes represent half-finished stuff that we leave hanging around. With any luck we might finish one of those things, but it certainly looks like we’re starting more than we’re finishing, doesn’t&nbsp;it?

If we continue to start more than we finish, we’ll find that things pile up. And before we know it we’ll be over-run with half finished bits of work that cloud our view of what’s important.

That’s when we start fire-fighting, and desperately picking off bits of work for whoever shouts&nbsp;loudest.

This is a horrible way to live our&nbsp;lives.

This situation is something we all need to work hard to avoid. The solution is simple to describe, but hard to do. Just finish something before you start something. Stop jumping between work streams and focus on something to completion.

The hard part is that might mean working on _nothing at all_ until your blocker is resolved. The best teams learn to recognise these situations, and come together to overcome the problem as quickly as possible. By focusing on clearing road blocks in this way, you will ultimately finish and deliver _something_.

And one thing delivered is absolutely better than ten things half finished.

_Jez Halford is a software development consultant helping teams to deliver better software, more frequently. Visit_ [_jezhalford.com_](https://jezhalford.com) _to find out&nbsp;more._