정모 아빠의 Code to Learn
Do not just learn to code, but code to learn how the world is working!
-
Tweaking Centrarium Theme
Basic Site Setting
Change site setting in
/_config.yml
per your setting.Centrarium’s defalut
base_url
was/centrarium
, which makes me to usehttp://localhost/centrarium:4000
instead ofhttp://localhost:4000
orhttp://ryuci.github.io/centrarium
instead ofhttp://ryuci.github.io
.I don’t like it and changed
base_url
to blank. -
Using Math Expressions in Your Jekyll Blog
My blog is using Kramdown markdown converter. Since Kramdown supports MathJax, you can do PNG rendering using Latex syntax. In plain words, you can put fancy math expressions like this in your blog using LaTex syntax.
How to enable...
-
Solution to 'Invitation to Discrete Mathematics'
As of March 2018, I’m taking a Mook course regaring discrete mathematics from Coursera. Unfortunately, the video lecture coverage is too narrow to understand the subject and to confidently solve assignments and quiz, which is why many students complain about the course. However, as beauty is in the eye...
-
Jekyll Installation on macOS
Whenever installing open source based software, I frequently lose confidence whether I’m on the right track in the course of doing it. It’s mainly because I’m not sure if the instructions on the net is suitable for my setting, if I fully understand them, and if I follow them correctly....
-
도대체 얼마나 오래 코딩을 배워야 하나요?
많은 학부모님들께서 궁금해하시는 사항이기도 하고 저도 늘 고민하고 있는 문제입니다. 제가 고민하는 이유는 다음과 같습니다.
- 코딩 공부에 끝이 없다는 것을 학부모님에게 이해시키기가 쉽지 않다. (오해 사기 딱 좋다!)
- 훌륭한 소프트웨어 개발자의 잠재력을 가진 학생들은 실제로 매우 빨리 배우며, 어느 수준 이상이 되면 혼자서 컴퓨터,...


Click on the canvas to halt the rotation of the planets. Click again to restart the animation.
Drag the mouse across the canvas to change the rotation direction of the planets.
Use the "A", "S", and "D" keys to rotate the pivot joint of the first, second, and third cubes respectively.
Use the "F" and G" key to rotate the pivot joints of the left and right fingers backwards, respectively.
Use the "H" and J" key to rotate the pivot joints of the left and right fingers forwards, respectively.


Table of Contents
- 1. Tutorials: tutorial
- 1.1. MNIST Handwritten Digit: mnist
- 1.2. A few more examples using different datasets and methods: data
- 1.2.1. Keras Iris ANN
- 1.2.2. Pima Indians ANN ANN
- 1.2.3. Taxi Example notebook
- 1.2.4. Poverty Prediction
- 1.2.5. Energy Star Rating Prediction
- 1.2.6. Boston Housing Example notebook
- 1.2.7. SKlearn tutorials
- 1.2.8. Eigenfaces/SVM Sklearn
- 1.2.9. Autoencoder information
- 1.2.10. Audio (for Matt): information
- 2. Reference: information
- 3. Other Interesting Data Sets: data
- 3.1. Group Competition/Project: PUBG
- 3.2. Wine Quality tutorial
- 3.3. Pima Indians Diabetes
- 3.4. NCAA Basketball Super Dataset
- 3.5. USA Names
- 3.6. Fashion MNIST
- 3.7. 2016 MLB Data
- 3.8. Power Lifting
- 3.9. Brewer's Friend Recipes
- 3.10. EPL 2006/7 - 2017/8
- 3.11. EPL 1993-2018
- 3.12. Reddit Memes
- 3.13. Fraiser Dialogs
- 3.14. Models:
1 Tutorials: tutorial
Here are a few examples and tutorials to get started/refresh your skills, starting with the "Hello, World!" of ML: the MNIST Handwritten digits:
1.1 MNIST Handwritten Digit: mnist
1.1.1 Overview information
1.1.2 SVM Digit Classification notebook svm
1.1.3 Keras ANN notebook information ann
1.1.4 Multinomail logist +L1 notebook regression
1.1.5 In-depth ANN/SVM information
1.1.6 Simple with layer parameter adjusting tutorial
1.2 A few more examples using different datasets and methods: data
1.2.1 Keras Iris ANN
1.2.2 Pima Indians ANN ANN
1.2.4 Poverty Prediction
1.2.7 SKlearn tutorials
1.2.8 Eigenfaces/SVM Sklearn
1.2.9 Autoencoder information
1.2.10 Audio (for Matt): information
2 Reference: information
2.1 Artificial Neural Networks
2.1.1 Brief Overview
2.1.2 Deeper Overview
2.1.3 Gentle Introduction
2.1.4 Activation Functions
2.1.5 Network Cheat Sheets
2.1.6 Loss Functions
2.1.7 Convolutional Neural Nets:
2.1.9 ResNet50
2.1.10 Recurrent Neural Nets (RNNs)
2.2 Support Vector Machines
2.2.1 Wikipedia
2.2.2 SVM Theory
2.2.3 SVM Theory 2
2.2.4 Regression
2.2.5 More theory
2.5 Multilabel classification
Currently unsure if "multilabel" is the correct way to conveyr what we are wanting to do
2.5.1 Simple answer
3 Other Interesting Data Sets: data
The following are Kaggle (or possibly other) datasets that are of interest for practice/training/excercise purposes:


| 1 | package fr.sii.ogham.core.builder.retry; | |
| 2 | ||
| 3 | import fr.sii.ogham.core.builder.Builder; | |
| 4 | import fr.sii.ogham.core.retry.RetryStrategy; | |
| 5 | import fr.sii.ogham.core.retry.RetryStrategyProvider; | |
| 6 | ||
| 7 | /** | |
| 8 | * A wrapper that references a {@link RetryStrategy} builder to provide a new | |
| 9 | * {@link RetryStrategy} instance every time the {@link #provide()} method is | |
| 10 | * called. The builder will then simply create and configure the | |
| 11 | * {@link RetryStrategy} instance. | |
| 12 | * | |
| 13 | * @author Aurélien Baudet | |
| 14 | * | |
| 15 | */ | |
| 16 | public class BuilderToRetryStrategyProviderBridge implements RetryStrategyProvider { | |
| 17 | private final Builder<RetryStrategy> delegate; | |
| 18 | ||
| 19 | /** | |
| 20 | * Instantiate the wrapper with the delegate instance. | |
| 21 | * | |
| 22 | * <p> | |
| 23 | * The delegate instance must not be bull | |
| 24 | * | |
| 25 | * @param delegate | |
| 26 | * the retry strategy instance | |
| 27 | */ | |
| 28 | public BuilderToRetryStrategyProviderBridge(Builder<RetryStrategy> delegate) { | |
| 29 | super(); | |
| 30 | this.delegate = delegate; | |
| 31 | } | |
| 32 | ||
| 33 | @Override | |
| 34 | public RetryStrategy provide() { | |
| 35 |
4
1. provide : All methods instructions replaced by: return null; → NO_COVERAGE 2. provide : All methods instructions replaced by: return null; → SURVIVED 3. provide : All methods instructions replaced by: return null; → SURVIVED 4. provide : All methods instructions replaced by: return null; → TIMED_OUT |
return delegate.build(); |
| 36 | } | |
| 37 | ||
| 38 | } | |
Mutations | ||
| 35 |
1.1 2.2 3.3 4.4 |


FROM THE DESK OF DR.HARRY MACDONALDS, MANAGER, ACCOUNTS AND OPERATIONS, FIRSTRAND BANK JOHANNESBURG SOUTH AFRICA. E MAIL<EMAIL_ADDRESS>Tel: +874-7635-94445, CONFIDENTIALITY NOTICE This email and any attachments to it contain information that is confidential and may be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information contained in it is strictly prohibited and may be unlawful. If you have received this email in error, please return it to the sender and delete the email from your records. RE: TRANSFER OF US$56.559 MILLION TO YOUR ACCOUNT. I am Dr. Harry Macdonald the operational manager in account Management section in charge of credit and foreign bills in a prime bank here in South Africa, On a routine inspection, I discovered a dormant domiciliary account with Balance of US$56,559,000(fifty six Million Five Hundred and Fifty) Nine Thousand U.S dollars Only).The account holder was in charge of President Saddam Hussein's secret crude oil transactions in Africa. On further discreet investigation, I discovered that the account holder died long ago with his family on a fatal Auto-accident leaving no beneficiary to the account and no other person knows about it. I am in close contact with the bank manager here who is my partner and is willing to approve the transfer to any reliable and trust worthy foreigner with foreign bank account because the former owner of the a/c is a foreigner. The account has no written or oral WILL attached to it, I will Provide the necessary information and documents needed in order to claim this money if you agree to receive this fund in your account pending my arrival in your country for sharing,South African Civil Service Code of Conduct Laws prohibits Civil Servants from operating Private Foreign Accounts so on receipt of your approval to transfer the money to your account,i will start the necessary things to make the transaction a success. Your urgent reply is highly needed, Hope to hear from you soon. Yours Faithfully, Dr. Harry Macdonald


cymapgt\core\application\spreadsheet\SpreadsheetProcessor\PHPExcelWrapper
PHPExcelWrapper class is a wrapper for the PHPExcel library
The PHPExcelWrapper class aims to make reading/writing Excel files easier by
creating an overall stream object. The PHPExcelWrapper class can be either
a CSV or an Excel5/2007 type. There are no 'reading' or 'get' methods within
this class becuase of the idea that it is much easier to read in data from
a CSV than an Excel file. Thus we implement the AutoConvert static function
which you can use to convert (if needed) an Excel file to a CSV file and
read in the data via a file object and explode(',', $line)
NOTE: if the Type is CSV, then a lot of functions in this class do not
do anything (e.g. autoFit() simply returns out)
- License: http://www.opensource.org/licenses/bsd-license.php
Synopsis
class PHPExcelWrapper
{
- // members
- protected $phpXl;
- protected $phpXlWriter;
- protected $phpXlReader;
- protected $handle;
- public $fileName;
- public $isOpen;
- public $currentRow;
- public $type;
- // methods
- public void __construct()
- public void setXlObj()
- public static string autoConvert()
- public static void getNewFileName()
- public void close()
- public void flush()
- public void getBaseStream()
- public void getExcelAlphaColumn()
- public void getExcelColumnFromAlpha()
- public void getExcelAlphanumericColumnRow()
- public void getCellCoord()
- public void open()
- public void setActiveWorksheet()
- public void save()
- public void autoFit()
- public void setBorders()
- public void setCellBackColor()
- public void setCellTextColor()
- public void setCellFont()
- public void setColumnColor()
- public void setColumnFont()
- public void setHyperlink()
- public void setWorksheetName()
- public void setRowColor()
- public void setCellTextDirection()
- public void setRowFont()
- public void writeCell()
- public void write()
- public void writeRow()
Hierarchy
Members
protected
- $handle
- $phpXl
- $phpXlReader
- $phpXlWriter
public
- $currentRow
- $fileName
- $isOpen
- $type
Methods
public
- __construct()
- autoConvert() — Automatically convert a file type to another
- autoFit() — Set the columns in the Excel file to autofit the content
- close() — Flushes out and saves any data and closes all underlying streams
- flush() — Flushes any data to the file (saves the file)
- getBaseStream() — Get the underlying stream object
- getCellCoord() — Gets a string representation of a cell coordinate
- getExcelAlphaColumn() — Gets the column name from a number (e.g. 2='B', 27='AA', etc.)
- getExcelAlphanumericColumnRow() — Gets the Excel column name from a numeric column and row (e.g. 2 and 1 = 'B1', 27 and 2 = 'AA2', etc.)
- getExcelColumnFromAlpha() — Gets the column number from column name (e.g. 'B'=2, 'AA'=27, etc.)
- getNewFileName() — Gets a new file name for a relevently named temp file
- open() — Open a file
- save() — Save the current data and writes it to disk
- setActiveWorksheet() — Sets the active worksheet
- setBorders() — Set the borders around cells in an Excel file
- setCellBackColor() — Set the background color of a cell
- setCellFont() — Set the font name and size of a cell
- setCellTextColor() — Set the text color of a cell
- setCellTextDirection() — Sets the direction of text in a cell
- setColumnColor() — Sets the color of a column
- setColumnFont() — Set a column to certain font family and size
- setHyperlink() — Add a hyperlink to a cell
- setRowColor() — Set an entire row to a certain color
- setRowFont() — Sets the font of a row
- setWorksheetName() — Set the current worksheet name
- setXlObj() — function setXlObj() = This function sets the protected PhpXl property. We only use this when we are injecting a file from objReader for editing Cyril Ogana - 2013-01-29
- write() — Writes a row of data an advances the current row pointer
- writeCell() — Write data to a specific cell
- writeRow() — Writes data to a specific row


To make easier life, book tatkal ticket with Tatkal@Pocket
We get insulted by others, lose trust for those others. We get back stabbed by friends.
To make easier life, book tatkal ticket with Tatkal@Pocket
What else could rust the heart more over time? Blackgold. The time is now for it to be okay to be great. or being a bright color. For standing out.


Stability: 3 - Stable
You can access this module with:
var vm = require('vm');
JavaScript code can be compiled and run immediately or compiled, saved, and run later.
vm.runInThisContext()
compiles code
, runs it and returns the result. Running
code does not have access to local scope, but does have access to the current
global
object.
Example of using vm.runInThisContext
and eval
to run the same code:
var localVar = 'initial value';
var vmResult = vm.runInThisContext('localVar = "vm";');
console.log('vmResult: ', vmResult);
console.log('localVar: ', localVar);
var evalResult = eval('localVar = "eval";');
console.log('evalResult: ', evalResult);
console.log('localVar: ', localVar);
// vmResult: 'vm', localVar: 'initial value'
// evalResult: 'eval', localVar: 'eval'
vm.runInThisContext
does not have access to the local scope, so localVar
is
unchanged. eval
does have access to the local scope, so localVar
is changed.
In this way vm.runInThisContext
is much like an indirect eval
call,
e.g. (0,eval)('code')
. However, it also has the following additional options:
filename
: allows you to control the filename that shows up in any stack
traces produced.displayErrors
: whether or not to print any errors to stderr, with the
line of code that caused them highlighted, before throwing an exception.
Will capture both syntax errors from compiling code
and runtime errors
thrown by executing the compiled code. Defaults to true
.timeout
: a number of milliseconds to execute code
before terminating
execution. If execution is terminated, an Error
will be thrown.If given a sandbox
object, will "contextify" that sandbox so that it can be
used in calls to vm.runInContext
or script.runInContext
. Inside scripts run
as such, sandbox
will be the global object, retaining all its existing
properties but also having the built-in objects and functions any standard
global object has. Outside of scripts run by the vm module, sandbox
will
be unchanged.
If not given a sandbox object, returns a new, empty contextified sandbox object you can use.
This function is useful for creating a sandbox that can be used to run multiple
scripts, e.g. if you were emulating a web browser it could be used to create a
single sandbox representing a window's global object, then run all <script>
tags together inside that sandbox.
Returns whether or not a sandbox object has been contextified by calling
vm.createContext
on it.
vm.runInContext
compiles code
, then runs it in contextifiedSandbox
and
returns the result. Running code does not have access to local scope. The
contextifiedSandbox
object must have been previously contextified via
vm.createContext
; it will be used as the global object for code
.
vm.runInContext
takes the same options as vm.runInThisContext
.
Example: compile and execute differnt scripts in a single existing context.
var util = require('util');
var vm = require('vm');
var sandbox = { globalVar: 1 };
vm.createContext(sandbox);
for (var i = 0; i < 10; ++i) {
vm.runInContext('globalVar *= 2;', sandbox);
}
console.log(util.inspect(sandbox));
// { globalVar: 1024 }
Note that running untrusted code is a tricky business requiring great care.
vm.runInContext
is quite useful, but safely running untrusted code requires a
separate process.
vm.runInNewContext
compiles code
, contextifies sandbox
if passed or
creates a new contextified sandbox if it's omitted, and then runs the code with
the sandbox as the global object and returns the result.
vm.runInNewContext
takes the same options as vm.runInThisContext
.
Example: compile and execute code that increments a global variable and sets a new one. These globals are contained in the sandbox.
var util = require('util');
var vm = require('vm'),
var sandbox = {
animal: 'cat',
count: 2
};
vm.runInNewContext('count += 1; name = "kitty"', sandbox);
console.log(util.inspect(sandbox));
// { animal: 'cat', count: 3, name: 'kitty' }
Note that running untrusted code is a tricky business requiring great care.
vm.runInNewContext
is quite useful, but safely running untrusted code requires
a separate process.
A class for holding precompiled scripts, and running them in specific sandboxes.
Creating a new Script
compiles code
but does not run it. Instead, the
created vm.Script
object represents this compiled code. This script can be run
later many times using methods below. The returned script is not bound to any
global object. It is bound before each run, just for that run.
The options when creating a script are:
filename
: allows you to control the filename that shows up in any stack
traces produced from this script.displayErrors
: whether or not to print any errors to stderr, with the
line of code that caused them highlighted, before throwing an exception.
Applies only to syntax errors compiling the code; errors while running the
code are controlled by the options to the script's methods.Similar to vm.runInThisContext
but a method of a precompiled Script
object.
script.runInThisContext
runs script
's compiled code and returns the result.
Running code does not have access to local scope, but does have access to the
current global
object.
Example of using script.runInThisContext
to compile code once and run it
multiple times:
var vm = require('vm');
global.globalVar = 0;
var script = new vm.Script('globalVar += 1', { filename: 'myfile.vm' });
for (var i = 0; i < 1000; ++i) {
script.runInThisContext();
}
console.log(globalVar);
// 1000
The options for running a script are:
displayErrors
: whether or not to print any runtime errors to stderr, with
the line of code that caused them highlighted, before throwing an exception.
Applies only to runtime errors executing the code; it is impossible to create
a Script
instance with syntax errors, as the constructor will throw.timeout
: a number of milliseconds to execute the script before terminating
execution. If execution is terminated, an Error
will be thrown.Similar to vm.runInContext
but a method of a precompiled Script
object.
script.runInContext
runs script
's compiled code in contextifiedSandbox
and returns the result. Running code does not have access to local scope.
script.runInContext
takes the same options as script.runInThisContext
.
Example: compile code that increments a global variable and sets one, then execute the code multiple times. These globals are contained in the sandbox.
var util = require('util');
var vm = require('vm');
var sandbox = {
animal: 'cat',
count: 2
};
var script = new vm.Script('count += 1; name = "kitty"');
for (var i = 0; i < 10; ++i) {
script.runInContext(sandbox);
}
console.log(util.inspect(sandbox));
// { animal: 'cat', count: 12, name: 'kitty' }
Note that running untrusted code is a tricky business requiring great care.
script.runInContext
is quite useful, but safely running untrusted code
requires a separate process.
Similar to vm.runInNewContext
but a method of a precompiled Script
object.
script.runInNewContext
contextifies sandbox
if passed or creates a new
contextified sandbox if it's omitted, and then runs script
's compiled code
with the sandbox as the global object and returns the result. Running code does
not have access to local scope.
script.runInNewContext
takes the same options as script.runInThisContext
.
Example: compile code that sets a global variable, then execute the code multiple times in different contexts. These globals are set on and contained in the sandboxes.
var util = require('util');
var vm = require('vm');
var sandboxes = [{}, {}, {}];
var script = new vm.Script('globalVar = "set"');
sandboxes.forEach(function (sandbox) {
script.runInNewContext(sandbox);
});
console.log(util.inspect(sandboxes));
// [{ globalVar: 'set' }, { globalVar: 'set' }, { globalVar: 'set' }]
Note that running untrusted code is a tricky business requiring great care.
script.runInNewContext
is quite useful, but safely running untrusted code
requires a separate process.


I received my MangoPi MQ-Pro a few months ago, and was very eager to test out all the hardware which I use the most on SBC’s. Bluetooth is not one of the features I use a lot on SBC’s. But after having tested out a lot of operating systems and hardware features of the board, I decided to also try and see what the status of Bluetooth on the board was.
Because I use my MangoPi headless almost always, I couldn’t test Bluetooth with an input device. I also don’t use audio on the board. So I decided to try to set up a Bluetooth access point on the board. I already successfully tried this on a Raspberry Pi.
I used the Ubuntu 22.10 RISC-V image for the SiPeed LicheeRV Dock.
This board is very similar to the MangoPi MQ-Pro (same CPU, WiFi+BT radio…).
The first important thing to check is you’re running kernel 5.19.0-1007-allwinner
or higher. If that’s not the case, update the system:
$ sudo apt udpate
$ sudo apt upgrade
$ sudo reboot
After this, when trying to load the kernel module necessary for Bluetooth, a warning in the kernel logs will appear that the firmware and config for the radio are not available.
$ sudo modprobe hci_uart
$ sudo dmesg | grep hci0
...
[ 9197.854777] Bluetooth: hci0: RTL: loading rtl_bt/rtl8723ds_fw.bin
[ 9197.855274] bluetooth hci0: Direct firmware load for rtl_bt/rtl8723ds_fw.bin failed with error -2
[ 9197.855319] Bluetooth: hci0: RTL: firmware file rtl_bt/rtl8723ds_fw.bin not found
...
So it seems the firmware package of Ubuntu doesn’t include the necessary firmware. No problem, the Armbian firmware does seem to include these. We can then fetch the firmware files from these repositories:
sudo wget -O /lib/firmware/rtl_bt/rtl8723ds_config.bin https://github.com/armbian/firmware/raw/master/rtl_bt/rtl8723ds_config.bin
sudo wget -O /lib/firmware/rtl_bt/rtl8723ds_fw.bin https://github.com/armbian/firmware/raw/master/rtl_bt/rtl8723ds_fw.bin
If we reload the hci_uart
module after this, the firmware files get picked up,
and the radio works:
$ sudo modprobe -r hci_uart
$ sudo modprobe hci_uart
$ sudo dmesg | grep hci0
...
[ 9399.931540] Bluetooth: hci0: RTL: loading rtl_bt/rtl8723ds_fw.bin
[ 9399.932142] Bluetooth: hci0: RTL: loading rtl_bt/rtl8723ds_config.bin
...
$ hciconfig # only works after installing bluez-tools
hci0: Type: Primary Bus: UART
BD Address: 68:B9:D3:7C:AD:57 ACL MTU: 1021:8 SCO MTU: 255:12
UP RUNNING PSCAN
RX bytes:3624 acl:0 sco:0 events:168 errors:0
TX bytes:34947 acl:0 sco:0 commands:167 errors:0
Now that the radio is up and running, we can prepare the userspace for Bluetooth.
First of all we will need to install bluez
and bluez-utils
, and enable the
Bluetooth service:
sudo apt install bluez bluez-tools
sudo apt install bluez bluez-tools
There you have it, you can start using Bluetooth with bluetoothctl
. If you
also want to configure a Bluetooth access point, read on!
A few new config files will need to be created for this to work, so keep your editor of choice by hand.
Create the /etc/systemd/network/pan0.netdev
-file with the following content:
[NetDev]
Name=pan0
Kind=bridge
Do the same for the /etc/systemd/network/pan0.network
-file with the following
content:
[Match]
Name=pan0
[Network]
Address=<IP_ADDRESS>/24
DHCPServer=yes
[DHCPServer]
DNS=<DNS server(s)>
You will need to replace the DNS server(s) with one or more (space separated) DNS servers.
/etc/systemd/system/bt-agent.service
needs the following content:
[Unit]
Description=Bluetooth Auth Agent
[Service]
ExecStart=/usr/bin/bt-agent -c NoInputNoOutput
Type=simple
[Install]
WantedBy=multi-user.target
/etc/systemd/system/bt-network.service
needs to look as follows:
[Unit]
Description=Bluetooth NEP PAN
After=pan0.network
[Service]
ExecStart=/usr/bin/bt-network -s nap pan0
Type=simple
[Install]
WantedBy=multi-user.target
Enable ipv4 forwarding by creating a /etc/sysctl.d/bt-pan.conf
-file with the
following content:
# Enable IPv4 routing
net.ipv4.ip_forward=1
Enable ip tables rules:
sudo apt install -y netfilter-persistent iptables-persistent
sudo iptables -t nat -A POSTROUTING -o <outgoing interface> -j MASQUERADE
sudo netfilter-persistent save
You should replace the outgoing interface
with the network interface you are
currently using, for example wlan0
for WiFi, en.....
for a USB to LAN adapter.
Then start and enable everything:
sudo systemctl enable --now systemd-networkd
sudo systemctl enable --now bt-agent
sudo systemctl enable --now bt-network
You can then connect new devices by issuing the following command:
sudo bt-adapter --set Discoverable 1
Go into the Bluetooth settings of your phone/tablet/laptop/… to search for a new Bluetooth devices, and it should connect to it and use it as a Bluetooth access point.  I didn’t succeed in this yet. I am probably missing some kernel config options.


Preparation time
less than 30 mins
Cooking time
over 2 hours
Serves
Serves 2
James Martin’s delicious autumnal feast will give your traditional Sunday roast a run for its money.
For the red-cabbage purée, heat the butter in a large, lidded saucepan over a medium heat. When the butter is foaming, add the red cabbage and fry for 1-2 minutes, or until just softened.
Add the wine and bring to the boil, then reduce the heat and simmer until its volume has reduced by half.
Add the remaining red-cabbage purée ingredients and return the mixture to a simmer, stirring well. Cover the pan with the lid and continue to simmer for 40 minutes, stirring occasionally, until the red cabbage is tender.
Remove the lid from the pan, increase the heat to high and continue to cook until most of the liquid has evaporated and the cabbage is slightly sticky and glossy. Season with salt and pepper. Set aside and reheat before serving.
For the fondant potatoes, preheat the oven to 180C/160C Fan/Gas 4.
Cut cylinders from each potato half using a 3cm/1¼in cookie cutter. Trim the ends flat.
Heat the oil in a deep, heavy-based, ovenproof saucepan over a medium heat. Stand the potato cylinders on end in the oil and fry gently until crisp and golden-brown at the base.
Pour in the chicken stock and bring it to the boil. Add the garlic, thyme and butter, then transfer the pan to the for 20-30 minutes, until the potatoes are tender.
Meanwhile, for the roasted partridge, heat the oil in a large, ovenproof frying pan over a medium heat. Fry the partridges on all sides for 3-4 minutes, until browned all over.
Transfer the pan to the oven with the potatoes, and roast for 12-15 minutes. Baste with the fat a couple of times during cooking. They are cooked when the juices run clear when the partridges are pierced in the thickest part of each thigh using a skewer. Set the partridges aside to rest in the pan while the potatoes finish cooking.
For the blackberry sauce, heat 2 tablespoons of the butter in a saucepan over a medium heat. When the butter is foaming, add the shallot, garlic and thyme and fry for 2 minutes until softened.
Add the remaining blackberry sauce ingredients, apart from the blackberries, and cook, stirring well, for 5-8 minutes until the sauce has thickened.
For the wilted kale, heat the butter in a frying pan over a medium heat. Add the kale leaves and 2 tablespoons of water and stir-fry until wilted.
Just before serving, strain the blackberry sauce through a fine sieve into a clean saucepan. Stir in the remaining butter and the blackberries.
To serve, spoon half of the red-cabbage purée into the centre of each serving plate. Top with one of the roast partridges. Serve the fondant potatoes alongside, with a dab of the blackberry sauce. Serve the remaining blackberry sauce in dipping bowls alongside.


It was the goal to avoid requiring any special modifications to Dead Souls in order for Stellarmap to work with it, however in certain cases Stellarmap can be more effective by making quick and simple changes in order to smooth things out between the two.
Due to the nature of the controls developed for Stellarmap it can be quite tricky to always get the desired result for the matching function calls in the objects being generated. A good example is the armor generator. In Dead Souls the functions for setting armor protections were a tad limited. It requires several calls to SetProtection() with different parameters each time. While this functionality is feasable the result looks rather contrived and isn't very intuitive for the user (just look at the door generator). A simple map-based list worked quite well and it is much easier to add one additional and simple function to the base_armors.c file than to create a specialized control for just this one use.


This is you're EHR portal to manage all you're patient records and authorise various medications
Registering a new doctor


@import common.Edition @import discussion.model.Comment @import views.support.{BulletCleaner, InBodyLinkCleaner, withJsoup} @(comment: Comment, canRecommend: Boolean = false)(implicit request: RequestHeader)


Grouping Operator, used to group calculations (BEDMAS) and functions.
Array Initializer, used to identify an array.
Object Initializer, used to identify an object.
Single Quotes represent literal characters.
Double Quotes represent literal strings.


This page counts to infinity after submitting a compositor frame. A cross-origin iframe is added to ensure that a hit test query is sent to this frame.


This iframe will be replaced by proxy url defined at left.
Features
✓ Calculate Think Time between requests.
✓ Configure to record think time and headers.
✓ Add comments to the script.
✓ Download the JSON flow file at any point in time.
Getting Started
• Enter the Url To Record. (Should start with 'http://' )
• Enter the File Name to save to.
• Configure to record think-time or headers.
• Click Start {{title}} Button to start recording.
• Once recording has started add comments to the script.
• Download script using the download button.
Note: websites with 'X-Frame-Options' set to 'SAMEORIGIN' will not display in this page due to iframe restrictions. Set the 'Open New Browser Window' to record requests.
By Test Developer, for developers and testers
Toap is Up & Running.
Toap was started from another browser or the Toap cache was cleared.
All the Toap settings in this browser are disabled.
Close Toap in the browser from where it was started or restart the node service.


View
Classes
BasicJLabel
BlockBackGroudPanel
ETC_Panel
ExitButton
FrameMoveAction
GameBasicFrame
GameViewPanel
KeyBoardEvent
LevelPanel
MainPanel
NextBlockPanel
NextPanel
RankButton
SaveBlockPanel
SavePanel
ScorePanel
StartFrame
TetrinoBlockPanel


Ammoenio (which translates as “invest” from Latin) is an online platform used for share-trading based crowdfunding and built with Blockchain technology. It helps individuals get into the share-trading business whilst it allows start-ups and small businesses fund their projects by selling part of their shares in the business to individuals willing to invest into it.
The app offers three main components: starting projects and issuing shares, investing into companies (buying shares), trading of shares between individuals. Using Smart Contract functionality, the full investor related process is automated including the issuing and processing of dividend payments, AGM voting and future rights issues.
Combining so many features, Ammoenio is the ultimate tool for disrupting conventional business models and the share-trading markets whilst also bringing innovation like never seen before into the way companies are being run.
Atos Int. has been our client for this project. We have communicated with them through Mr. John Hall, Head of Strategy & Portfolio at Atos International, as well as though Mr. Mike Smith, the Chief Technology Officer at Atos.
Digital Ocean is our provider of hosting services. A partership with them would be beneficial in the future so that we could deploy multiple virtual machines at the same time with several load balancers redirecting trafic between the servers.
Cloudflare is our provider of DNS routing and SSL certificates. Cloudflare also provies us encryption, firewall, traffic management, access rules, static pages and DDoS protection. A partership with Cloudflare would be advantegous for Ammoenio once we start using multiple virtual machines.
We live in world of entrepreneurship and ideas. More and more young people are looking to bring their ideas to life and start their own businesses. Unfortunately, many start-up initiatives lack the funding they need to actually get started. While crowdfunding through donations already exists, most people do not want to invest dozens or hundreds of pounds just to have their name written somewhere. That is why most donations are very low and if not enough people are interested in donating, many fundings either fail short of achieving their goal or have to set quite some modest goals.
Equity crowdfunding changes all of that. Through Ammoenio, individuals get their own shares into the business which will later generate income either through dividends or through the sale of shares, whilst also having voting rights (dependent on the amount of owned shares) into the decisions of that company. Individuals are therefore much more interested in investing and companies have much higher chances of gathering the required money and achieving their goals.
The reason why individuals want to invest into companies and buy shares is quite simple: because it is one the best ways to save money whilst also making a profit out of them (according to moneyexpert.com and citizensadvice.org.uk). We live in a world where extremely low bank deposits interest rates are making people having to look for new ways to save money. The best way to do that is investing. Compared to traditional saving through bank deposits, investing has its risks, but if the company is successful, the financial rewards will be very large and more than worth the risk. That is why the best practice when investing is to invest in multiple companies.
For those individuals wanting to invest into a company, but are afraid of investing in start-ups, Ammoenio also allows buying shares into already existent and running companies. This means a much lower risk of losing the investment, but also a smaller income for the individual.
Once the individual has acquired some shares, he/she will make an income each time dividends are issued. Dividends will grant each individual an income from the profit of the company proportional to the number of shares they own.
If waiting for dividends is not the individual’s preferred way of generating income, he/she can also use the share-trading feature. This way, the individual buys a share when its value is down while anticipating an increase in value at a later date. Selling the share at a higher value will generate income for the individual, while when owning that share, the individual also gets income from any dividends issued by the company. To help with this second way of generating income, Ammoenio provides users with tools that enable them to see how the value of the shares is changing over time. This will allow users to know when is the best time to buy a share and when to sell it.
First stage was researching the Blockchain technology and its possible uses. This took us about 2-3 weeks and it allowed us to get a much better understanding of what Blockchain is, how the technology works and where it can be applied, but also which are the current problems on the market relating to blockchain.
Next we started brainstorming and comming up with a diverse range of ideas over a period of 3 weeks which we presented to our client.
Finally, both us and our client decided on an idea: Ammoenio. This was done after resaerching the market, looking at problems, looking at possible competitors (such as Seedrs and CrowdCube).
We have then continued to update our requirements depending on the seconds stage of research we have done and after talks with our client and with our TA.
We have also held discussions with a number of aproximatly 10-15 of our colleagues both in the early stages and in late stages of the project in order to get a better idea of how our design should look like. This was very useful as we came back a large number of times over the design and improved things.
(I) = Requirements for investor users
(B) = Requirements for business users
(F) = Functional requirements
(N) = Non-functional requirements
| Must Have | Should Have | Could Have | Would Have |
|---|---|---|---|
| (B) (F) The ability to create companies and issue initial shares. | (I) (F) Ability to trade shares between investors. | (F) Real time conversion mechanism from GBP to ETH and back. | (I) (F) The ability to vote in company decisions. |
| (I) (N) See all the user's investments in one place. | (B) (F) Ability to issue more shares. | (N) Use caching so that website loads faster. | (B) (F) The ability to issue dividents. |
| (B) (N) See all the user's companies in one place. | (N) Deploy website on the World Wide Web. | (N) Use SSL ceriticates. | (I) (F) The possibility to buy different kinds of stocks such as preferential shares or convertible shares. |
| (I) (F) Browse through companies on the platform. | (N) Enforce HTTPS connections. | (N) Different types of business models such as reverse vesting. | |
| (N) Easy to access and see company data. | (N) Get our own domain name. | ||
| (N) All trannsactions should be done via Blockchain and smart contracts using Ether (ETH) so that data is immutable, safe and secure. | |||
| (N) Interactive, responsive, easy to use interface. |
This young adult wishes to start his own company, but does not have the funds to do so. They have looked around for sponsors but could not convince anyone that their million-dollar idea would work. He wants to find a way to collect money to found his company in a secure way which will not give him restrictions.
Thom Griffin
Age:26
Occupation:Entrepreneur
Carla wants to invest in companies in return for shares, but she is held back by the expensive cost of share-trading. She also wishes to help small businesses grow if she can, while having a percentage of the company herself.
Carla Johnson
Age:30
Occupation:Freelancer
Ammoenio has two primary use cases. It targets both individuals who want to get into the share-trading business and start-ups or small businesses that wish to fund their projects by selling part of their business’s shares to individuals willing to invest into it.
Users who want to invest can sign up with an investor account. From there, the user can browse the website to see which companies are available on the platform, either from the dashboard or by searching for a specific company. Clicking on a company, the user can see information about it including number of shares available for sale, legal documents, what kind of business it is and more.
A user can choose to buy shares for a specific company by specifying the amount of money (in British Pounds) they want to spend. The platform then calculates how many shares the user can buy with that amount of money, also showing how much the gas transaction, pounds (GBP) to Ether (ETH) conversion and Ammoenio commission will cost. If the user confirms, the purchase is performed and the blockchain is updated with new values, providing the user with the purchased shares.
An investor then has the ability to make their shares public by putting them on the market for sale. By going to the “My Investments” section and choosing a company the user has invested in, they have an option to specify the number of shares they want to sell. This will appear under the company’s profile when another user previews it, providing the option to buy shares both directly from the company and from other users.
Users who wish to start their own business and fund it using our platform can sign up with a business account. From there they can create a new company profile, by providing information such as name, description, legal documents, proof of existence, number of shares they want to start with etc. The company will then be created on the blockchain and will be displayed on the dashboard.
The owner of the company can then create more shares if they want, which means the proportion of shares/company ownership will change. Furthermore, an owner can buy shares from their own company which will be registered as ‘Director Shares’. We allow a business user to create multiple companies on Ammoenio if they wish to.


--- layout: default title: Ideas for the next generation of data science notebooks ---
Wrattler is an extensible, reproducible and polyglot notebook that runs inside JupyterLab and integrates with languages and tools that you know and love.
Try in BinderHub!Write notebooks that combine Python, R, JavaScript and more and easily pass data frames between cells in different languages.
Never get results based on out-of-date code. Wrattler tracks dependencies and automatically invalidates affected cells.
Use interactive components that run fully in browser and write your own powerful JavaScript extensions that let users explore data.
Simplify data wrangling tasks with AI assistants, clever but transparent tools that employ advanced machine learning techniques.
Write JavaScript extensions that create custom user interfaces and easily support languages ranging from R and Python to Racket.
Extend Wrattler with simple server-side kernel or a custom JavaScript cell type that has full access to notebook state.


Hover me for tips
If I got a problem then a problem's got a problem.
some link
You can always see my tips
If I got a problem then a problem's got a problem.
some link


[name]
Applies Catmull-Clark Subdivision Surfaces for creating smooth geometry meshes
Constructor
[name]( subdivisions )
Properties
.subdivisions
Number of time subdivision will be applied
.useOldVertexColors
.supportUVs
.debug
Methods
.modify ( geometry )
Modifies the geometry by running subdivision surfaces. This calls .smooth() internally
.smooth ( oldGeometry )
Performs an iteration of Catmull-Clark Subdivision
Source
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]


Posted by NationSwell Team on May 2, 2018
Posted by SAIC on May 3, 2018
Posted by SAIC Flaxman Library & Special Collection on April 4, 2018
Hosted by Shapiro Center for Research and Collaboration and CAPX. on March 29, 2018
Posted by SAIC Flaxman Library & Special Collection on March 16, 2018
Hosted by 1871 + IHCC on August 30, 2017
Posted by 1871 on July 26, 2017
Posted by Chicago Inno on January 11, 2017


As Aussie dills marvel at China’s inevitable rise, it falls
by Houses and HolesHere’s your pack of usual Aussie grovellers, at the AFR:
Former foreign minister Gareth Evans said he agreed with forecasts that China will have a bigger economy than the US by 2030, although “not in per capita terms”
…A former head of the Department of Foreign Affairs and Trade, Peter Varghese, said it was “more likely than not” China will have a bigger economy than the US by 2030 “because of its much larger population,” although “no one can say [this] with certainty”.
There are 2209 words left in this subscriber-only article.