teleren/devto huggingface dataset:
The day I sold everything
Tags: travel
Published: 2019-02-21 16:38:28

---
title: The day I sold everything
published: true
tags: travel
---

#### And what I’ve learned about the mobile internet

In May 2014 I will move to Amsterdam (more about this in a future post), and just like every human being that needs to get rid of an entire apartment, it was time to do the typical post “family sells everything”.

And, since I took some vacation weeks — therefore I had a **lot** of free time — I decided to build a project using some new stuff like Node.js and MongoDB, and see what happened.

### The Website

I based the website on a CSS framework I’ve built when working for [Scup](http://www.scup.com/), responsive by default, because I didn’t want to spend too much time searching for a perfect e-commerce, besides believing that something simple is better.

I defined the prices, asked my friend [Davi Pasqualetti](http://www.davipasqualetti.com/) for help to have quality photos, finished the website, tested it, [published it](http://vendetudo.wex.vc/) and posted on [my Facebook profile](http://fb.me/wesley.souza), at 9pm on a Friday. And went out.

### Boom

A couple of minutes later, my phone would not stop showing e-mail arriving — because I made the website send me an e-mail indicating people interested at something, who knows if the database explodes, right.

![](https://cdn-images-1.medium.com/max/880/0*OOiA80un8XULFP-O.png)

All this combination, together with the respect to the website’s simplicity and responsiveness, guaranteed a success **much** bigger than I anticipated. There were 619 visits just on the first 3 hours, and 1690 in the next day.

![](https://cdn-images-1.medium.com/max/745/0*SnEf4Ozui1Au1zkD.png)

Now, what makes me believe that the biggest part of the success is consequence of the respect to simplicity and responsiveness? Take a look at the chart below:

![](https://cdn-images-1.medium.com/max/858/0*q_mgxolYJIdHb4YD.png)

Most part of the visitors used their iPhone or Android, coming from [the Facebook post](https://www.facebook.com/shares/view?id=10203583395610457). Since the website respected their device and was very simple, everybody finished the entire checkout process on their own mobile phone, guaranteeing huge numbers of interested people and reserving everything in a matter of hours.

### So what?

So what that the answer is very simple: know your audience and respect them. My audience was word of mouth: social media, mainly Facebook, where most of my posts are shared. And since [more than one billion people use them via mobile](http://mashable.com/2014/04/23/facebook-1-billion-mobile-users/), it is natural that a simple and responsive website would have happy users.

I warmly thank the more than [300 shares](https://graph.facebook.com/http://vendetudo.wex.vc/) the website had, from close friends to people I’ve never seen in my life.

Now let’s empty the apartment and fly to Amsterdam.
Hello developers and designers!
Tags: engineering
Published: 2020-10-05 10:44:08

---
title: Hello developers and designers!
published: true
date: 2014-05-02 00:00:00 UTC
tags: Engineering
canonical_url: 
---

Welcome to our new initiative to contribute and spread the learnings/findings we had working with LoginRadius API! We always try to come up with new ideas/process during our development and research sessions..sometimes they are funny but awesome. :). We'll share those ideas and…

   
[Read On](https://www.loginradius.com/engineering/blog/hello-developers-and-designers/)
Sending push notifications with Google App Engine
Tags: backend, windowsphone, googleappengine
Published: 2019-10-24 09:06:55

---
title: Sending push notifications with Google App Engine
published: true
tags: backend,windows phone,google app engine
canonical_url: 
---

When I built a Windows Phone application for local weather forecast it was naturally to implement push notifications – because you know how hard it is for users to manually check if new weather information is available. So, the question was how to do it – simple, fast and for free?

### Solution

There’s a service from Google called App Engine which enables you to make web applications in Java or Python and host them on their servers for free. There are a lot of constraints which they had to make in order to make it free to use for everyone, but for application of this purpose there weren’t too many obstacles to make it work.

### Problems

I won’t write about building a web application here, but rather about a problems I came across. So, once I’ve made it and put it to service it was working OK before first problem came up – a request to send notifications was taking too much time. Google App Engine runs applications in a sandbox environment which means you don’t have much freedom there. The constraint that was a problem was that each request has only 60 seconds to finish before it’s terminated. As I knew that sending a notification usually doesn’t take too long, only a fraction of a second I was thinking that even with thousands of users it shouldn’t be a problem. But, as I looked at the logs I saw that sometimes it takes a few seconds and then it fails. That’s when URL is not available and notification is not possible to send. There’s nothing you can do about it because Microsoft is responsible for delivering notifications to users. But here are a few things you can do about this problem:

- When a notification URL of a user changes, delete old URL. Not only because it will clear unnecessary data, but it will also make sending notifications faster because your server won’t be trying to send a notification to an old URL.

- Use asynchronous requests. All requests to external resources go through URL Fetch service, but it allows you to fetch URLs asynchronously. You should use that feature not to block your thread when calling thousands of notification URLs. One thing to remember is that a request has only 60 seconds to finish and no thread cannot outlive a request that started it.

- Don’t delete URLs that failed once. I thought that URL that failed is safe to delete because it’s not working and it’s probably some old URL. That was wrong as it lead to deletion of a lot of URLs that were active and users couldn’t receive notifications until their URL changed.

In general Google App Engine works great for this purpose. It’s simple to use, reliable and free, but it has quite a lot of limitations which could make a problem for some other application. This is understandable because even Google doesn’t have unlimited resources and when you use something for free, you don’t really have the right to complain about it :)
Constituga
Tags: original, shorts, dev
Published: 2020-07-07 09:33:02

---
title: Constituga
published: true
date: 2014-04-26 12:09:00 UTC
tags: Original,Shorts,dev
canonical_url: 
---

[Constituga](https://github.com/pitermarx/constituga)

O [HTML é horrível](http://www.parlamento.pt/Legislacao/Paginas/ConstituicaoRepublicaPortuguesa.aspx), Word e PDF são formatos fechados, por isso fiz um parser em JS que transforma o HTML em Markdown.

Feliz 40º aniversário do 25 de Abril

[Preâmbulo](https://github.com/pitermarx/constituga/blob/master/Output/PRE%C3%82MBULO.md)

[Princípios fundamentais](https://github.com/pitermarx/constituga/blob/master/Output/Princ%C3%ADpios%20fundamentais.md)

[Parte I Direitos e Deveres fundamentais](https://github.com/pitermarx/constituga/blob/master/Output/PARTE%20I%20Direitos%20e%20deveres%20fundamentais.md)

[Parte II Organização económica](https://github.com/pitermarx/constituga/blob/master/Output/PARTE%20II%20Organiza%C3%A7%C3%A3o%20econ%C3%B3mica.md)

[Parte III Organização do poder político](https://github.com/pitermarx/constituga/blob/master/Output/PARTE%20III%20Organiza%C3%A7%C3%A3o%20do%20poder%20pol%C3%ADtico.md)

[Parte IV Garantia e revisão da constituição](https://github.com/pitermarx/constituga/blob/master/Output/PARTE%20IV%20Garantia%20e%20revis%C3%A3o%20da%20constitui%C3%A7%C3%A3o.md)
HumbleBundle Downloadagent (hib-dlagent) on Arch Linux
Tags: arch, linux, humblebundle
Published: 2019-08-08 12:58:21

---
title: HumbleBundle Downloadagent (hib-dlagent) on Arch Linux
published: true
tags: arch,linux,humblebundle
canonical_url: https://www.zufallsheld.de/2014/04/15/humblebundle-downloadagent-hib-dlagent-on-arch-linux/
---

I purchased nearly all Humble Indie Bundles from the [HumbleBundle](https://www.humblebundle.com/)-guys. I also do not want to manually download and install the games from the site, because after all, I use Linux and a decent package-manager, _pacman_. Luckily, there’s the [AUR](https://aur.archlinux.org/) and the _hib-dlagent_, which lets me install and update games via pacman. ![humble-bundle-logo](https://www.zufallsheld.de/images/humble-arch-logo.png)

The hib-dlagent is a “Tool to download Humble Indie Bundle binaries by file name”. It is integrated with the package build utility _makepkg_, “a script to automate the building of packages”. Makepkg is used to download and install packages from the AUR.

To install the hib-dlagent, enter the following in your favorite shell:

```
pakku -S hib-dlagent-git
```

Then you have to edit the makepgk.conf (_/etc/makepkg.conf_) so when installing games from the AUR, the _hib-dlagent_ is used. Append the following to the “DLAGENTS”-section:

```
'hib::/usr/bin/hib-dlagent -u $YOUREMAIL -p $YOURPASSWORD -o %o %u'
```

Insert your email address and password you use for logging in to the HumbleBundle-site. In the end, the section should look like this:

```
#-- The download utilities that makepkg should use to acquire sources
# Format: 'protocol::agent'
DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
      'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
      'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
      'rsync::/usr/bin/rsync --no-motd -z %u %o'
      'scp::/usr/bin/scp -C %u %o'
      'hib::/usr/bin/hib-dlagent -u $YOUREMAIL -p $YOURPASSWORD -o %o $(echo %u | cut -c 7-)')
```

When you’re done, you can install games from the AUR as usual, for example, to install the very good [FTL](http://www.ftlgame.com/), use:

```
pakku -S ftl
```
Check if type exists in MSSQL
Tags: sql, mssql, snippet
Published: 2014-03-27 16:07:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Check if type exists in MSSQL
slug: check-if-type-exists-in-mssql
date: 2014-03-27 16:07
tags: 
 - sql
 - mssql
 - snippet
---
Snippet time. Check if a type exists in MSSQL with the following simple query:

    IF TYPE_ID(N'[dbo].[udt_SomeCustomType]') IS NOT NULL
    BEGIN
        -- type exists, do something here
    END

And of course, the other way round:

    IF TYPE_ID(N'[dbo].[udt_SomeCustomType]') IS NULL
    BEGIN
        -- type does not exist, do something here
    END

More SQL snippets to come.
Ordering and filtering objects with ng-repeat
Tags: angular, javascript
Published: 2014-03-26 10:25:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Ordering and filtering objects with ng-repeat
slug: ordering-and-filtering-objects-with-ng-repeat
date: 2014-03-26 10:25
tags:
 - angularjs
 - javascript
---
AngularJS allows you to iterate over collections using the `ng-repeat` directive. You have the ability to order and filter the collection, but this only works for arrays, not for objects. You'd think that you'd retain the functionality of arrays, considering the object is treated like one, but you don't.

The solution to this is to push the contents of the object into an array using a `filter`. By keeping the references intact, we are still able to bind to the objects, as they are essentially the same object.

```
.filter('objectAsArray', function() {
    return function(object) {
        var array = [];
        for (item in object) {
            array.push(object[item]);
        }
        return array;
    }
});
```

Let's look at what we'd need if we wanted to order and/or filter an array:

```
<p ng-repeat="item in itemArray | orderBy: 'order' | filter: {visible: true}">
  {{item}}
</p>
```

But what if that was an object? Well, we just pop the `objectAsArray` filter in:

```
<p ng-repeat="item in itemObj | objectAsArray | orderBy: 'order' | filter: {visible: true}">
    {{item}}
</p>
```

This is indeed a very useful little filter.

View the [live plunkr example here](http://plnkr.co/edit/RObsrXoSSkRA271w9WJr?p=preview).
メディア共有機能搭載！ 進化したMedia Go 2.7 レビュー iOS/Android端末での使い方もご紹介！
Tags: review
Published: 2018-05-16 20:28:28

---
title: メディア共有機能搭載！ 進化したMedia Go 2.7 レビュー iOS/Android端末での使い方もご紹介！
published: true
tags: review
canonical_url: http://connect.coron.tech/archives/51838189.html
---

[![hpcapture000057](http://livedoor.blogimg.jp/cv_k/imgs/f/0/f0f4c372-s.png)](http://livedoor.blogimg.jp/cv_k/imgs/f/0/f0f4c372.png "hpcapture000057")  

ついにメディア共有機能搭載！
  
  
先日、ソニーのメディアファイル管理ソフト、Media Goの最新版である2.7がリリースされました。Media Go 2.7では待望のメディア共有機能が搭載されており、DLNAに対応した様々な機器から直接Media Goのライブラリ内にあるファイルを再生することができるようになっています。また、[ウォークマン](http://amzn.to/2kL1eCZ)F880/ZX1シリーズには4月下旬頃にDSDファイル再生(PCMに変換)が可能になるアップデートが実施される予定となりました。今回はこの、Media Go 2.7で何が変わったのか、どう便利になったのかをご紹介します。  
  
続きは以下からどうぞ。  
[続きを読む](http://connect.coron.tech/archives/51838189.html) ![](http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=2732114&name=cv_k&pid=51838189)
Debugging a Node.js application, with node-inspector, within a virtual machine.
Tags: javascript, debugging, node, development
Published: 2018-10-29 23:03:47

---
title: Debugging a Node.js application, with node-inspector, within a virtual machine.
published: true
tags: javascript,debugging,nodejs,development
canonical_url: 
---

If you use a virtual machine to develop your Node.js app and probably you use [Vagrant](http://vagrantup.com/) to configure and port your work environment, sooner or later you are going to need to debug.While node has a [built in debugger](http://vimeo.com/19465332), [node-inspector](https://github.com/node-inspector/node-inspector) provides a pleasant graphical interface for debugging node programs. Node Inspector is a debugger interface for node.js using the WebKit Web Inspector, the familiar javascript debugger from Safari and Chrome.

### Installation

With [npm](http://github.com/isaacs/npm):

```
npm install -g node-inspector
```

### Forwarding ports

– The straight forward option is to open VirtualBox and go to the machine configuration settings.

![](https://cdn-images-1.medium.com/max/650/0*CCeEmqmKBIGrfPh0.png)

Virtual box machine settings

And then to Network -> advanced-> port forwarding:

![](https://cdn-images-1.medium.com/max/650/0*5lR_0ZguAMkRlaCQ.png)

Virtual box port forwarding

There you use VirtualBox’s Port Forwarding Rules window to forward ports. You don’t have to specify any IP addresses. Changes take effect immediately. — If you are using Vagrant, it’s easier. Write down this line in your vagrantfile (I use 3001 as an example)

```
config.vm.network :forwarded\_port, guest: 3001, host: 3001 # node-inspector
```

Chages will take effect next time you start your virtual machine.

### Debugging with node-inspector

Now you are all set to start using node-inspector. Go to your virtual machine console and run

```
node --debug your\_program.js
```

NOTE: make sure that the –debug flag comes before your/node/program.js or else you may see an EADDRINUSE error. and then, in another console, run

```
node-inspector --web-port=3001
```

I use 3001 just as an example, you could use whatever you want. Now open [http://127.0.0.1:3001/debug?port=5858](http://127.0.0.1:3001/debug?port=5858) in your favorite WebKit based browser. You should now see the javascript source from node. If you don’t, click the scripts tab. Select a script and set some breakpoints (far left line numbers) or simply add a debugger call in your code (node will break automatically on the call, just as V8 does).

_Originally published at_ [_leolanchas.com_](http://leolanchas.com/blog/2014/03/15/debugging-a-nodejs-application-with-node-inspector-within-a-virtual-machine/) _on March 15, 2014._
Make Google look good again
Tags: chrome
Published: 2014-03-12 09:54:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Make Google look good again
slug: make-google-look-good-again
date: 2014-03-12 09:54
tags: 
 - chrome
---
If you're like me, you're probably feeling like your Wednesday has been ruined by [Google testing bigger, none underlined titles for page results](http://googlesystem.blogspot.co.uk/2014/03/a-google-experiment-makes-page-titles.html). It looks horrible, and is definitely a bad decision.

![Bad Google!](http://i.imgur.com/C0ZnCUR.png)

There is a fix to tide you over though, in the case that Google drags their heels. If you're using Chrome, that is. Install [Stylish](https://chrome.google.com/webstore/detail/stylish/fjnbnpbmkenffdnngjfgmeleoegfcffe) (an extension which allows you to override a site's style), and install any theme for Google. Then edit it, delete all the existing css, and paste this in:

    #res h3 { 
      font-size: 16px !important; 
    }
    #newsbox, .rgsep { 
      display: none;
    }

This will make your page titles more bearable and remove the giant newsbox from the SERP.

![Looking much better](http://i.imgur.com/qnNfVE2.png)

Looking much better!
Remove all tags from git repo
Tags: git
Published: 2014-03-06 10:27:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Remove all tags from git repo
slug: remove-all-tags-from-git-repo
date: 2014-03-06 10:27
tags: 
 - git
---
I had started to tag builds with a branch name and date, but after a while, these started to make the log unreadable. It was time to Arnold Schwarzenegger-ize them.

I found this somewhere online:

    for t in `git tag`
    do
        git push origin :$t
        git tag -d $t
    done

Saved it to `removetags.sh`, ran it, and now my life (and log) is much happier.
Modify your last commit message
Tags: snippet, git
Published: 2014-03-05 11:51:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Modify your last commit message
slug: modify-your-last-commit-message
date: 2014-03-05 11:51
tags: 
 - snippet
 - git
---
It's easy to modify your last commit message, simply add `--amend` and commit again.

    git commit -m "Fixed issue where udpate failed"

Oh, not again, look at that typo!

    git commit --amend -m "Fixed issue where update failed"

As simple as that.
Changing text selection colours
Tags: css
Published: 2014-03-04 08:53:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Changing text selection colours
slug: changing-text-selection-colours
date: 2014-03-04 08:53
tags: 
 - css
---
A nice little trick to add a bit of polish to your site is changing the colour of text selection. [Stockapps Blog](http://blog.stockapps.net/) have a nice orange colour, and of course, [Si Digital](http://sidigital.co/) have their well known Fuchsia highlighting.

You can easily implement this using the pseudo-element `::selection`.

    ::selection {
        color: white;
        background: red;
    }

Unfortunately, Gecko requires prefixing, so you also have to add in `::moz-selection`:

    ::moz-selection {
        color: white;
        background: red;
    }
    ::selection {
        color: white;
        background: red;
    }

It is worth noting that this is experimental, having been dropped from the specification, so I guess you shouldn't rely on this for anything "important" just yet. Hopefully it will stick around!
Using number inputs, and hiding the arrows
Tags: webkit, chrome, css, html
Published: 2014-03-03 11:09:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Using number inputs, and hiding the arrows
slug: using-number-inputs-and-hiding-the-arrows
date: 2014-03-03 11:09
tags: 
 - webkit
 - chrome
 - css
 - html5
---
For a long time we've lived with a few basic input types; text, password, select, and submit. But with HTML5 there are a few more input types that we get to play with. Some of these are yet to be fully supported, but if you're developing for a single browser like I am at the moment, and that single browser happens to be Chrome, [you're in luck](http://caniuse.com/input-number).

After finding Angular's `ng-pattern` to be cumbersome, I decided to checkout the [number input type](http://dev.w3.org/html5/markup/input.number.html). The client-side validation was just what I wanted, but the pesky up/down buttons made it look ugly and took up precious space on my already cramped user interface.

Having used the power of Google, I found a way to disable these ugly buttons.

    input::-webkit-outer-spin-button,
    input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;        
    }

The next issue I had was that it wanted to accept integers only. Not good for currency operations. 

Luckily, there are a few attributes available to us. One of these is `step`, which "specifies the value granularity of the element’s value". Setting `step` to `any` allows you to go to any granularity you like. 

Another two useful attributes are `min` and `max`, which allow you to set a defined range.

    <input type="number" step="any" min="0" max="100">

This is a truly useful element and hopefully we'll see much more built-in functionality come to HTML5.
Ruby Conf 12 – Y Not- Adventures in Functional Programming by Jim Weirich
Tags: videos, dev
Published: 2020-07-07 09:32:44

---
title: Ruby Conf 12 – Y Not- Adventures in Functional Programming by Jim Weirich
published: true
date: 2014-02-23 18:31:26 UTC
tags: Videos,dev
canonical_url: https://blog.pitermarx.com/2014/02/99/
---

{% youtube FITJMJjASUs %}

Or, “How to implement the Y Combinator in Ruby”
Find column from all tables
Tags: sql
Published: 2014-02-18 10:26:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Find column from all tables
slug: find-column-from-all-tables
date: 2014-02-18 10:26
tags: 
 - sql
---
A very useful SQL snippet today, courtesy of [Danny Dawes](http://twitter.com/noirenex) and [SQLAuthority](http://blog.sqlauthority.com/2008/08/06/sql-server-query-to-find-column-from-all-tables-of-database/).

The following query will list all tables that reference a specific column name:

    SELECT t.name AS table_name,
    SCHEMA_NAME(schema_id) AS schema_name,
    c.name AS column_name
    FROM sys.tables AS t
    INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
    WHERE c.name LIKE '%EmployeeID%'
    ORDER BY schema_name, table_name;

Just change `%EmployeeID%` to the column name you're looking for.
“I Enjoy the Music with Boombox” NFC&Bluetooth搭載CDラジオ SONY ZS-RS70BT レビュー
Published: 2018-05-16 20:27:54

---
title: “I Enjoy the Music with Boombox” NFC&Bluetooth搭載CDラジオ SONY ZS-RS70BT レビュー
published: true
tags: 
canonical_url: http://connect.coron.tech/archives/51832463.html
---

[![IMG_0749](http://livedoor.blogimg.jp/cv_k/imgs/7/0/702558b7-s.jpg)](http://livedoor.blogimg.jp/cv_k/imgs/7/0/702558b7.jpg "IMG\_0749")  
  

I Enjoy the Music with Boombox  
(私はCDラジカセ/CDラジオで音楽を楽しみます)  

  
あえて今、このような商品を買うのは正直どうなんだろうと思われる方が多いと思われるCDラジカセ/CDラジオ。日本国外ではラインナップ縮小傾向にありそんな中でもほぼ毎年のようにこの分野に新商品を投じてきたのがソニーです。  
  
近年ではUSB端子やSDカードスロットを搭載することによって容易にカセット等の旧世代メディアのデジタル化が容易にできるようになるなど、進化し続けてきて、ついに今年、ソニーが今最も製品に取り付ける最優先技術ともいえるNFCとBluetoothを搭載しているモデルが登場しました。発表された時点からかなり気になっており、いろいろ悩んだ末購入してみました。今回はこのZS-RS70BTを詳しく紹介します。  
  
続きは以下からどうぞ。[続きを読む](http://connect.coron.tech/archives/51832463.html) ![](http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=2732114&name=cv_k&pid=51832463)
Counting commits with Git
Tags: git
Published: 2014-02-10 15:56:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Counting commits with Git
slug: counting-commits-with-git
date: 2014-02-10 15:56
tags: 
 - git
---
To count commits on a branch, you can use `git rev-list`.

For the branch you're on, use:

    git rev-list --count HEAD
    5

Or for another `<branch>`, use:

    git rev-list --count <branch>
    5

Also, to count commits by author, you can use `git shortlog`:

    git shortlog -s -n
    4 Some User
    1 Joe Bloggs