Skip to content

Commit

Permalink
change github address to /pawelngei
Browse files Browse the repository at this point in the history
  • Loading branch information
pawelngei committed Jul 5, 2018
1 parent 8816f61 commit 2884bfc
Show file tree
Hide file tree
Showing 10 changed files with 79 additions and 82 deletions.
5 changes: 2 additions & 3 deletions content/11en_taxbrackets_01.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Hah, my first technical post on the blog, even if very lame :)

During the last year's elections in Poland a truly leftist party surfaced for the first time in decades, proposing to raise the taxes with a progressive tax system. It turned out that a lot of Poles didn't know how such a system works and became terrified by the thought of a 75% tax for the richest.

That convinced me to create some kind of visualization of various tax systems - be in flat or progressive. This is an early stage effect of my works: TaxBrackets 0.1, available at [my Github](http://github.com/pawelchojnacki/d3-taxBrackets).
That convinced me to create some kind of visualization of various tax systems - be in flat or progressive. This is an early stage effect of my works: TaxBrackets 0.1, available at [my Github](http://github.com/pawelngei/d3-taxBrackets).

<a href="https://www.flickr.com/photos/jakerust/16825349671/">
<img title="Taxes CC-BY http://www.gotcredit.com/" class="article-img" src="/images/11_taxbrackets/taxes.jpg" style="width: 500px; height: auto; margin: 2em auto;">
Expand Down Expand Up @@ -181,7 +181,6 @@ This is just an early alpha version, which probably needs a redesign as well as

6. Packaging it into a standardized d3 module, maybe?

I will try to keep you updated about [my progress](http://github.com/pawelchojnacki/d3-taxBrackets) - maybe this will keep me motivated to finish this project before the next elections ;)
I will try to keep you updated about [my progress](http://github.com/pawelngei/d3-taxBrackets) - maybe this will keep me motivated to finish this project before the next elections ;)

If you have any comments - please [contact me](mailto:a%6C%78%64 (A%54) %61%6Cxd.org) about it!

4 changes: 2 additions & 2 deletions content/12en_survivejs.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Translation: false

This time I wish to share a recommendation. For two years I've been developing in JavaScript in Angular, using various in-house habits and techniques of my respective employers. I have tried vanilla JS and CoffeeScript, Grunt and Gulp, Jasmine and Mocha, various deployment models. I have been learning various tools on my own, but I always seemed to lack the understanding of what is their specific place and strength in a project.

I never really got what's so good in [React](https://facebook.github.io/react/) and [Webpack](https://webpack.github.io/), even though I've completed the tutorials before. I got myself to understand [ES6 and BabelJS](https://babeljs.io/), but never intuitively realized the potential of `const` and modules, even though my [taxBrackets](https://github.com/pawelchojnacki/d3-taxBrackets) project uses a lot of their functions.
I never really got what's so good in [React](https://facebook.github.io/react/) and [Webpack](https://webpack.github.io/), even though I've completed the tutorials before. I got myself to understand [ES6 and BabelJS](https://babeljs.io/), but never intuitively realized the potential of `const` and modules, even though my [taxBrackets](https://github.com/pawelngei/d3-taxBrackets) project uses a lot of their functions.

<a href="http://survivejs.com/">
<img title="SurviveJS" class="article-img" src="/images/12_survivejs/title.png" style="width: auto; height: auto; margin: 2em auto;">
Expand All @@ -21,7 +21,7 @@ If you want to spare $20 to $24 dollars (depending on where you live), you can b

What I like about it is the fact that it never shows *the only way* to achieve something, describing each of the tools and approaches instead. It covers Webpack, but also talks about Grunt and Gulp. It uses ES2015, but TypeScript is an option. React Flux implementation? [Alt](http://alt.js.org/), but read also about [Redux](https://github.com/rackt/redux) and all the others. The book is full of links and references, which make a great context, enriching every developer's knowledge.

The application itself is just a Kanban/ToDo demo, available [online](http://survivejs.com/demos/08_building_kanban/). I really encourage you to try going after the author step by step, commiting each subchapter and seeing all the errors you will get after forgetting that semicolon. Thanks to this approach I feel I really understood what's the role of a `const` and modules (including libraries) in an ES6 app, I began to love Webpack which seemed bloated and unintuitive so far. I will certainly have some ideas how to rewrite my taxBrackets with this knowledge.
The application itself is just a Kanban/ToDo demo, available [online](http://survivejs.com/demos/08_building_kanban/). I really encourage you to try going after the author step by step, commiting each subchapter and seeing all the errors you will get after forgetting that semicolon. Thanks to this approach I feel I really understood what's the role of a `const` and modules (including libraries) in an ES6 app, I began to love Webpack which seemed bloated and unintuitive so far. I will certainly have some ideas how to rewrite my taxBrackets with this knowledge.

The only thing I feel uneasy about is the whole variety of Flux implementations - such as [alt](http://alt.js.org/) used in the project. The sheer number of them and differences between the very concepts of respective libraries leave me confused. I could definitely use rewriting the SurviveJS application with [redux](https://github.com/rackt/redux) for example.

Expand Down
58 changes: 29 additions & 29 deletions content/14en_neuroon_analysis_sources.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ Translation: false

### Edit 29.09.2016

The analysis and all the data files are available for peer review at my [Github](https://github.com/pawelchojnacki/sleep_project).
The analysis and all the data files are available for peer review at my [Github](https://github.com/pawelngei/sleep_project).

<a
<a
href="/images/14_neuroon_signals/examination/examination_bed.jpg"
target="_blank">
<img
Expand Down Expand Up @@ -49,7 +49,7 @@ Over course of the last two years I declared my willingness to conduct full rese

The developer model of the NeuroOn looks and according to my understanding works exactly as a production model - it's just a PCB board in a silicone casing with several additional cables allowing access to its data ports.

<a
<a
href="/images/14_neuroon_signals/mask/neuroon_main_unit_front.jpg"
target="_blank">
<img
Expand All @@ -61,7 +61,7 @@ The developer model of the NeuroOn looks and according to my understanding works

Three gold plated electrodes are located at the very top of the board (I haven't checked the exact material so as not to damage the mask, but the product description claims[^13] it's gold). Together they produce one differential channel of combined EEG, EOG and EMG, with the center electrode serving as a ground. The pulse oximeter and thermometer are hidden in a cutout area close to the middle electrode and LEDs are visible in the bottom corners. In the very heart of the board there is the only button serving as an on/off toggle.

<a
<a
href="/images/14_neuroon_signals/mask/neuroon_main_unit_back.jpg"
target="_blank">
<img
Expand All @@ -73,7 +73,7 @@ Three gold plated electrodes are located at the very top of the board (I haven't

There are no interesting elements on the back of the board. I understand "test unit" to be only the signature of pre-production units, with exactly the same specifications as the production models.

<a
<a
href="/images/14_neuroon_signals/mask/neuroon_foam_back.jpg"
target="_blank">
<img
Expand All @@ -85,7 +85,7 @@ There are no interesting elements on the back of the board. I understand "test u

The mask itself together with the band that holds it tightly to the user's head. Its length can be regulated by undoing the velcro between the foam and more rigid mask front and just moving the band's holders on the velcro.

<a
<a
href="/images/14_neuroon_signals/mask/neuroon_foam_front.jpg"
target="_blank">
<img
Expand All @@ -97,7 +97,7 @@ The mask itself together with the band that holds it tightly to the user's head.

The front of the mask unit is made of foam. The PCB board is placed in the opening at its top and is not held by any kind of velcro or additional bands. If the NeuroOn is worn properly it cannot fall of being kept between the user's forehead and the mask - the electrode prints on the skin can be visible even an hour after waking up.

<a
<a
href="/images/14_neuroon_signals/mask/neuroon_assembled_noleds.jpg"
target="_blank">
<img
Expand All @@ -109,7 +109,7 @@ The front of the mask unit is made of foam. The PCB board is placed in the openi

The LEDs are visible exactly in the foam's cutouts.

<a
<a
href="/images/14_neuroon_signals/mask/neuroon_assembled_led.jpg"
target="_blank">
<img
Expand All @@ -123,7 +123,7 @@ After turning the mask on, a pair of blue LEDs light up. In my very subjective o

I used the mask in developer mode, using a graphical manager created in Java by the Intelclinic team. According to our agreement I cannot share its code or binary files used for signal analysis. It also means that I haven't used a regular phone app, going to a Bluetooth / data cable debugger instead.

<a
<a
href="/images/14_neuroon_signals/mask/neuroon_debug_ground.jpg"
target="_blank">
<img
Expand All @@ -135,7 +135,7 @@ I used the mask in developer mode, using a graphical manager created in Java by

Even though NeuroOn has a microUSB port it isn't connected to the data pin, serving only as a universal charger. In my setup I'm using it as a ground.

<a
<a
href="/images/14_neuroon_signals/mask/neuroon_debug_nochannel.jpg"
target="_blank">
<img
Expand All @@ -147,7 +147,7 @@ Even though NeuroOn has a microUSB port it isn't connected to the data pin, serv

The data pin is located as the very first pin on the left side of the board, under the silicone. In order to reach it, I need to prick the outer silicone layer with a specially prepared signal cable.

<a
<a
href="/images/14_neuroon_signals/mask/neuroon_debug_data.jpg"
target="_blank">
<img
Expand All @@ -159,7 +159,7 @@ The data pin is located as the very first pin on the left side of the board, und

The data cable properly put on. It only looks off, it's working.

<a
<a
href="/images/14_neuroon_signals/mask/neuroon_debug_full.jpg"
target="_blank">
<img
Expand All @@ -175,7 +175,7 @@ Now NeuroOn the is ready to be connected to my PC and programmed in debugging mo

After conducting several night-ling signal gathering sessions with NeuroOn I decided to proceed with a proper experiment. My main research question was: *is signal gathered by the mask of a good enough quality to detect a sleep stage in real time, given processing power of an average smartphone?* Intelclinic promised a mask able to wake up its user in an optimal sleep stage - so I'm assuming that it should have knowledge of their state at any given moment.

<a
<a
href="/images/14_neuroon_signals/examination/doorsign.jpg"
target="_blank">
<img
Expand Down Expand Up @@ -203,7 +203,7 @@ The second night consisted of only:

Of course during both of them I was gathering signal from the NeuroOn as well. Its location of my forehead wasn't a problem - no electrodes in traditional 10-20 based sleep examinations are located so low above eyebrows.

<a
<a
href="/images/14_neuroon_signals/examination/examination_bed.jpg"
target="_blank">
<img
Expand All @@ -215,7 +215,7 @@ Of course during both of them I was gathering signal from the NeuroOn as well. I

NeuroOn on an examination bed. Since the room wasn't shielded or covered in a Faraday cage, please expect 50Hz band to be cut off from the result signal due to resonance with the electric network.

<a
<a
href="/images/14_neuroon_signals/examination/testing_suite.jpg"
target="_blank">
<img
Expand All @@ -227,7 +227,7 @@ NeuroOn on an examination bed. Since the room wasn't shielded or covered in a Fa

Programming the board before the first night, so that it gathers signal for the next eight hours. I was instructed to use the "CLEAR" option before each session, which in my understanding means overwriting the free memory with zeros.

<a
<a
href="/images/14_neuroon_signals/examination/amplifier_front.jpg"
target="_blank">
<img
Expand All @@ -239,7 +239,7 @@ Programming the board before the first night, so that it gathers signal for the

During both of the nights AURA PSG by GRASS Technologies[^15] was used. It gathered signals with 200Hz frequency. According to the Sleep Disorders Center it's a standard for professional drug research.

<a
<a
href="/images/14_neuroon_signals/examination/amplifier_back.jpg"
target="_blank">
<img
Expand All @@ -251,7 +251,7 @@ During both of the nights AURA PSG by GRASS Technologies[^15] was used. It gathe

All signals were saved directly to a computer in the Center, bypassing the device's memory.

<a
<a
href="/images/14_neuroon_signals/examination/1020.png"
target="_blank">
<img
Expand All @@ -263,7 +263,7 @@ All signals were saved directly to a computer in the Center, bypassing the devic

Electrodes used in both sessions: A1 and A2, F3 and F4, C3 and C4, O1 and O2, Fz and Cz as ground and reference. In addition to them EOG1 and EOG2 for EOG, CHIN1, CHIN2 and CHIN3 on the chin, for detecting face movements and ECG on the chest.

<a
<a
href="/images/14_neuroon_signals/examination/night_1_electrodes_front.jpg"
target="_blank">
<img
Expand All @@ -275,7 +275,7 @@ Electrodes used in both sessions: A1 and A2, F3 and F4, C3 and C4, O1 and O2, Fz

Night one - electrode placement on the front - EOG1 and EOG2 are visible by the eyes, Fz on the forehead, CHIN1, CHIN2 and CHIN3 under the chin. F3 and F4 just over the (nonexistent) hairline.

<a
<a
href="/images/14_neuroon_signals/examination/night_1_electrodes_left.jpg"
target="_blank">
<img
Expand All @@ -287,7 +287,7 @@ Night one - electrode placement on the front - EOG1 and EOG2 are visible by the

Visible CHIN1, EOG1, F3, C3 and O1. The tape just behind my ear is used only for securing the cables.

<a
<a
href="/images/14_neuroon_signals/examination/night_1_electrodes_back.jpg"
target="_blank">
<img
Expand All @@ -299,7 +299,7 @@ Visible CHIN1, EOG1, F3, C3 and O1. The tape just behind my ear is used only for

Visible O1 and O2 on the back of my skull, Cz on the top of it.

<a
<a
href="/images/14_neuroon_signals/examination/night_1_electrodes_right.jpg"
target="_blank">
<img
Expand All @@ -313,7 +313,7 @@ As on the left: CHIN3, EOG2, F4 and C4, O2.

After trying on the NeuroOn Fz had to be moved a little bit upwards, as otherwise the tape might touch one of its electrodes.

<a
<a
href="/images/14_neuroon_signals/examination/night_1_lying.jpg"
target="_blank">
<img
Expand All @@ -327,7 +327,7 @@ Just before putting the mask on - I can honestly say that the full body "armor"

Due to the amount of equipment I had on myself my sleep quality was very low, which should be visible both in the signal and its description.

<a
<a
href="/images/14_neuroon_signals/examination/night_2_electrodes_front.jpg"
target="_blank">
<img
Expand All @@ -339,7 +339,7 @@ Due to the amount of equipment I had on myself my sleep quality was very low, wh

Second night - gathering only EEG, EOG and ECG signals. I knew that shaving my head and face will help, but completely forgot about ECG. Well, I lost some of my chest hair in the morning.

<a
<a
href="/images/14_neuroon_signals/examination/night_2_electrodes_mask.jpg"
target="_blank">
<img
Expand All @@ -351,7 +351,7 @@ Second night - gathering only EEG, EOG and ECG signals. I knew that shaving my h

After putting the NeuroOn foam - the electrode placement is plainly visible.

<a
<a
href="/images/14_neuroon_signals/examination/night_2_full_mask.jpg"
target="_blank">
<img
Expand All @@ -363,7 +363,7 @@ After putting the NeuroOn foam - the electrode placement is plainly visible.

As you can see, the electrodes are pressed firmly to my forehead.

<a
<a
href="/images/14_neuroon_signals/examination/electrode_prints.jpg"
target="_blank">
<img
Expand All @@ -375,7 +375,7 @@ As you can see, the electrodes are pressed firmly to my forehead.

Electrode prints are plainly visible even an hour after waking up.

<a
<a
href="/images/14_neuroon_signals/examination/software.jpg"
target="_blank">
<img
Expand Down Expand Up @@ -412,6 +412,6 @@ Since signal analysis should take me at least a month, I don't want to come to a
> In my first post I mentioned having asked the support whether the mask hardware is technically capable of detecting the sleep-stage in real time. I got a message from the support today. They did not answer my question directly (or course…) but said that “We may add in the future the option of waking up when in the light sleep”. What I make of this is that it’s hard to implement and not their top priority at the moment.
[^13]: [NeuroOn Technology](https://neuroon.com/technology/)
[^14]: Sleep Disorders Center at the Institute of Psychiatry and Neurology in Warsaw's [official page](http://www.sen-instytut.pl/index_en.html)
[^15]: All official pages of GRASS Technology seem dead, but information about AURA PSG amplifier are available at [SelectScience](http://www.selectscience.net/products/aura-psg-ambulatory-systems/?prodID=171717) and [Sleep Disorders Center's page](http://www.sen-instytut.pl/sleep_laboratory.html)
[^15]: All official pages of GRASS Technology seem dead, but information about AURA PSG amplifier are available at [SelectScience](http://www.selectscience.net/products/aura-psg-ambulatory-systems/?prodID=171717) and [Sleep Disorders Center's page](http://www.sen-instytut.pl/sleep_laboratory.html)
[^16]: CC-BY 4.0 - detailed license can be found at [Creative Commons](https://creativecommons.org/licenses/by/4.0/)
[^17]: Open science notebook as a great way of presenting findings - [JuPyTer](http://jupyter.org/)
Loading

0 comments on commit 2884bfc

Please sign in to comment.