Welcome to our Showcase Project! Our love for non-GMO produce brought us together. Our passion for coding created this project. Our team consists of six software engineers who developed Farm Fresh Produce to demonstate the collaboration of different levels of expertise. Today, we continue to grow our knowledge at Lambda School, encouraging strong skills for a better Internet for all.
Back End Architect - Afia Caruso is a Baltimore based Developer that cherishes creativity, inclusion, and accessibility. When they're not coding they enjoy hanging out with loved ones and making dishes using non gmo produce.
User Interface Developer - I love buying organic local produce! Not only for health and environmental reasons but also because it tastes so much better! I love the idea of farmers being able to interact with their local communities as well.
Back End Architect - My favorite fruit is avocado because of its right taste and versatility. I can put it in smoothies, eat it on sandwiches or as guacamole. Something about sauteed mushrooms (my favorite vegetable) and onions puts me in a good mood.
Project Lead - As a south Texas farm boy, born and raised, I wholeheartedly believe in eating fresh, local and organic produce and writing clean code. Been a part of Lambda since February 2019 and eating organic since the day I was born.
Front End Artchitect - I like making green smoothies based on leafy greens and fruit. Also love chilly peppers (not in the smoothie)! But I love all vegetables, especially organic! I also love tropical fruits, they remind me of home.
User Interface Developer - If I had an indoor greenhouse right next to my kitchen, I'd be in heaven! Eating a plant-based diet has been life-changing by itself - but being able to explore the world of fresh fruits and vegetables can take a lifetime!


Using folding in scintilla
scintilla is a script editing component http://www.scintilla.org for more information.
This setting up and using code-folding scintilla
First we create some constants for later use
static const int MARGIN_SCRIPT_FOLD_INDEX = 1;
Register the on margin click event for the window (this is windows specific)
static const int WINDOW_ID = 900;
BEGIN_MESSAGE_MAP(CDocumentWindow, CDocumentWindowsBaseClass)
ON_NOTIFY(SCN_MARGINCLICK, WINDOW_ID, OnMarginClicked)
END_MESSAGE_MAP()
(WINDOW_ID is used in the CreateWindow call when you create the window)
Set the lexer you want to use...
(This will be done in the constructor or on create method...)
SendEditor(SCI_SETLEXER, SCLEX_CPP);
SendEditor(SCI_SETSTYLEBITS, 5);
Set some properties so the lexer knows what we want
SendEditor(SCI_SETPROPERTY, (WPARAM)"fold", (LPARAM)"1");
SendEditor(SCI_SETPROPERTY, (WPARAM)"fold.compact", (LPARAM)"0");
(The fold.compact option folds blank lines,
which I don't like, but by default it's on "1")
I also like:
SendEditor(SCI_SETPROPERTY, (WPARAM)"fold.comment", (LPARAM)"1");
SendEditor(SCI_SETPROPERTY, (WPARAM)"fold.preprocessor", (LPARAM)"1");
Now resize all the margins to zero
(This will be done in a RecalcLineMargin method...)
SendEditor(SCI_SETMARGINWIDTHN, MARGIN_SCRIPT_FOLD_INDEX, 0);
Then set the margin type and margin mask and resize it...
SendEditor(SCI_SETMARGINTYPEN, MARGIN_SCRIPT_FOLD_INDEX, SC_MARGIN_SYMBOL);
SendEditor(SCI_SETMARGINMASKN, MARGIN_SCRIPT_FOLD_INDEX, SC_MASK_FOLDERS);
SendEditor(SCI_SETMARGINWIDTHN, MARGIN_SCRIPT_FOLD_INDEX, 20);
Set some visual preferences
SendEditor(SCI_MARKERDEFINE, SC_MARKNUM_FOLDER, SC_MARK_PLUS);
SendEditor(SCI_MARKERDEFINE, SC_MARKNUM_FOLDEROPEN, SC_MARK_MINUS);
SendEditor(SCI_MARKERDEFINE, SC_MARKNUM_FOLDEREND, SC_MARK_EMPTY);
SendEditor(SCI_MARKERDEFINE, SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_EMPTY);
SendEditor(SCI_MARKERDEFINE, SC_MARKNUM_FOLDEROPENMID, SC_MARK_EMPTY);
SendEditor(SCI_MARKERDEFINE, SC_MARKNUM_FOLDERSUB, SC_MARK_EMPTY);
SendEditor(SCI_MARKERDEFINE, SC_MARKNUM_FOLDERTAIL, SC_MARK_EMPTY);
SendEditor(SCI_SETFOLDFLAGS, 16, 0); // 16 Draw line below if not expanded
Tell scintilla we want to be notified about mouse clicks in the margin
SendEditor(SCI_SETMARGINSENSITIVEN, MARGIN_SCRIPT_FOLD_INDEX, 1);
Respond to SCN_MARGINCLICK events... (note that the method prototype is windows specific)
afx_msg void
CDocumentWindow::OnMarginClick(NMHDR* nmhdr, LRESULT* result)
{
SCNotification* notify = (SCNotification*)nmhdr;
const int modifiers = notify->modifiers;
const int position = notify->position;
const int margin = notify->margin;
const int line_number = SendEditor(SCI_LINEFROMPOSITION, position, 0);
switch (margin) {
case MARGIN_SCRIPT_FOLD_INDEX:
{
SendEditor(SCI_TOGGLEFOLD, line_number, 0);
}
break;
}
}
That should be enough to get it working.
You'll want to play around with it until you're happy with the way the folding works,
scintilla seems to use a much more complicated MarginClick...
Luckily harvesting the MarginClick code from scintilla is easy:
First change in OnMarginClick change:
SendEditor(SCI_TOGGLEFOLD, line_number, 0);
To:
MarginClick(position, modifiers);
Then in your header file...
bool MarginClick(int position, int modifiers);
void Expand(int &line, bool doExpand,
bool force = false, int visLevels = 0, int level = -1);
void FoldAll();
Then go and find those methods from SciTEBase.cxx and copy them to your code.

SendEditor(SCI_ENSUREVISIBLEENFORCEPOLICY, line_number);
SendEditor(SCI_GOTOLINE, line_number);
That's it, enjoy.
You can send any comments or suggestions about this to vascy@hotmail.com


{% extends "base.html" %} {% block content %}
This page is designed to help you get started using the apiTool.py
.
So we'll go over the things you need to be able to run this without any issues on your local machine.
Again, this is for the apiTool.py
Python script, the web tool works as is.
User Key
,Secret Key
and User Agent
apiTool.py
script
usrkey
,scrtkey
and usr_agent
variables with the correct information which you can get from your team lead or boss.> C: (press ETNER)
This moves you to the C: drive, this may or may not be where need to go, double check.
C:\> cd Users\myusername\Desktop (press ETNER)
You should be in whatever directory you downloaded the script to. You can check with the "dir" command.
python apiTool.py -h (press ENTER)
You should get something like this:
C:\Users\myusername\Desktop>python apiTool.py -h (press ENTER) usage: apiTool.py [-h] -c CUSTOMER_ID -d DOMAIN [-t [{ex,rs}]] [-u USER] [--get-user-info] [--get-domain-info] [--get-mailboxes] [--user-vex {false,true}] [--domain-vex {false,true}] optional arguments: -h, --help show this help message and exit -c CUSTOMER_ID, --customer-id CUSTOMER_ID Email & Apps Customer ID -d DOMAIN, --domain DOMAIN Customer domain name you are working with ex: domain.com. -t [{ex,rs}], --mbx-type [{ex,rs}] Mailbox Type: rs or ex -u USER, --user USER User/mailbox you want to work with. --get-user-info User/mailbox you want to GET info on. --get-domain-info Domain you want to GET info on. --get-mailboxes Get list of mailbox users for a domain. --user-vex {false,true} User/Mailbox you want to change value for. --domain-vex {false,true} domain you want to change value for.
usrkey
,scrtkey
and usr_agent
variables with the correct information which you can get from your team lead or boss.your-macbook:~ username$ cd /path/to/where/script/is (press ENTER)
your-macbook:~ username$ python apiTool.py -h
You should get something like this:
your-macbook:~ username$ python apiTool.py -h (press ENTER) usage: apiTool.py [-h] -c CUSTOMER_ID -d DOMAIN [-t [{ex,rs}]] [-u USER] [--get-user-info] [--get-domain-info] [--get-mailboxes] [--user-vex {false,true}] [--domain-vex {false,true}] optional arguments: -h, --help show this help message and exit -c CUSTOMER_ID, --customer-id CUSTOMER_ID Email & Apps Customer ID -d DOMAIN, --domain DOMAIN Customer domain name you are working with ex: domain.com. -t [{ex,rs}], --mbx-type [{ex,rs}] Mailbox Type: rs or ex -u USER, --user USER User/mailbox you want to work with. --get-user-info User/mailbox you want to GET info on. --get-domain-info Domain you want to GET info on. --get-mailboxes Get list of mailbox users for a domain. --user-vex {false,true} User/Mailbox you want to change value for. --domain-vex {false,true} domain you want to change value for.
Continue to see examples.
{% endblock %}


Bloomberg officially announced entry to presidential race over the weekend and no-one noticed
by Rob BeschizzaWatch $1bn or so go up in smoke on his way to 3-5%. ATTN Mike<EMAIL_ADDRESS>Watch $1bn or so go up in smoke on his way to 3-5%. ATTN Mike: ads@boingboing.net.


XIAO WU (1998)
3 out of ****
Starring Wang Hongwei, Hao Hongjian, Zuo Baitao; Written & Directed by Jia Zhangke; Cinematography by Yu Lik-wai
One becomes accustomed to seeing the world on screen distorted by the conventions of cinematic "realism," so it is rather a shock to see a movie which resembles life as it might actually be lived. XIAO WU is a low-budget Chinese film which opens a window onto small-town China. It gives us a view unobstructed by the things which distance most movies from actuality: no narrative structure, no famous actors, no technical polish. It is not a documentary, but it might as well be.
It is set in Fenyang, a dusty provincial town not likely to be found in any tourist brochures. Fenyang is director Jia Zhangke's hometown, and his actors are non-professionals. Town and people are presented with a spare, unglamourous style which emphasizes above all what this place is like, seemingly without exaggeration and certainly without romanticization. Xiao Wu is a pickpocket living a rather aimless existence in the town. The movie follows him through the days and nights of his life.
Xiao Wu's former partner in crime is now a respectable businessman--which is to say, he sells cigarettes. He is getting married. Xiao Wu, an embarrassing reminder of the businessman's past, is not invited to the wedding. Sometime in their past, Xiao Wu promised a gift to his former friend. To honour his promise, he shows up before the wedding reception and offers his gift. The two men sit down in a back room and have an awkward conversation, seen as one long unbroken take. It is one of the film's best scenes, capturing the two men's respective characters with precision, suggesting the weight of the emotional history between them without verbalizing it.
But the film does not stitch scenes like this into a larger design. We witness a succession of incidents in Xiao Wu's life, related only by the fact that they all happen to the same man and they all serve the film's political agenda (like most Chinese movies seen in the West these days, it is a harsh critique of communism). Xiao Wu goes to a brothel and befriends a prostitute. He has dinner with his family. He falls under the suspicion of the local chief of police after some ID cards are stolen. There is no sense of imposed narrative, no sense that the film is moving toward closure. Instead, there are long unbroken takes which ignore the demands of drama.
A representative sequence: Xiao Wu and the prostitute he is sort of dating sit together in bed. They talk. They are silent. They smoke. The smoke drifts in the air. Background sounds from the street emphasise the silence in the room. She sings. They smoke some more. Smoke drifts. She asks Xiao Wu to sing. He demurs, embarrassed. The camera never moves.
The movie as a whole is similar in approach: it lets things happen, not forcing them in any particular direction. Xiao Wu purchases a pager. His girlfriend has his number. One day, he goes to the apartment she shares with some other prostitutes and discovers that she has gone away with some men from the city. He waits for her to page him. Each time his pager goes off, we wait for it to be her, expecting a resolution to their relationship. But she never pages him. That's not the way this movie works.
The thrust of the film, instead, is simply to _see_ Xiao Wu. He is under our scrutiny throughout the film, which strips away the clutter and distraction of plot and laboured symbolism and postcard photography, and is instead content to observe. This impulse toward exposure becomes literal at one point, when Xiao Wu is alone in a public bathhouse. We see him fully naked.  It is here that XIAO WU crystallizes into the epiphanous vision of one man's private life that it strives to be.
It is easy to become impatient with the film's methods, but what it accomplishes, in the end, is rare. We are given some obscure understanding of Xiao Wu's existence, freed of moralizing or generalizations. He is not a victim or a hero or an everyman. He is himself. That is XIAO WU's triumph: it shows a man who is no more than what he is. It shows us what it is that makes him, like all of us, unique.
Subjective Camera (subjective.freeservers.com) Movie Reviews by David Dalgleish<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Man Utd's Victor Lindelof criticises Raheem Sterling and Joe Gomez after England spat
The Manchester United defender has spoken out about Monday's incident between Manchester City's Raheem Sterling and Liverpool's Joe Gomez while on England duty
by Jake Polden, https://www.mirror.co.uk/authors/jake-polden/Victor Lindelof has criticised Raheem Sterling and Joe Gomez for bringing domestic issues to the national team following Monday's canteen clash.
Sterling and Gomez came to blows while on England duty following Liverpool's 3-1 victory over Manchester City at Anfield.
Gomez, who had squared up to Sterling the day before, attempted to shake Sterling's hand. The Man City star responded with the comment: "So you think you're the big man?" before reportedly trying to get the Liverpool defender in a headlock.
Sterling has been axed from the Three Lions' Euro 2020 qualifier with Montenegro as a result of the bust-up, Gareth Southgate confirmed on Tuesday.
Wading into the debate, Manchester United centre-back Lindelof sympathised with the duo, admitting emotions can run high in football.
But added it's not "optimal" for rival players to start quarreling on international duty.
"There can be some hot feelings," Lindelof told Fotbollskanalen. "There are important matches being played in the league.
"But when you come to the national team you have to try to let go of those feelings and think of the national team.
"It is perfectly understandable that there can be a lot of emotions, but of course it is not optimal if you should go in and start quarreling.
"I don't know the whole situation so I can't stand here and say who was right or who was wrong."


2015-2016   August 8, 2016 August 22, 2015 August 22, 2015 August 22, 2015 August 22, 2015 August 22, 2015 August 22, 2015 August 22, 2015 August 21, 2015


The Plan
I'm looking forward to manipulating page elements with Javascript, but I'm not there yet. Since the index page doesn't really have much to do at this point, given the scope of my DBC pages is so simple, I'd like to include a flipboard on the page as a fun way to communicate some stuff about myself. This can also serve as a project to iterate on as I learn more. I'll build a mock version of it for this page, and then revise when I've got the chops.
The index page will of course have to have the site title, a brief text intro, links to my DBC blog pages, as well as links to Unit 1 assignment result pages.
The Wireframe
Click here for the fullsize wireframe.


| filter_eurocordex_filelist | R Documentation |
go through file list and look from which files data should be read
filter_eurocordex_filelist(fList, num_time)
fList |
data.frame containing columns filename (char), time_start (int/numeric), and time_stop (int/numeric). |
num_time |
2-element array of numeric or integer |
data.frame containing a filtered version of fList; additional columns are added, which indicate which records have to be read from the netCDF files
# Used by `read_eurocordex_data`. Please look into that function's code for a usage example.


Darlene Mae Larson
JANESVILLE - Darlene (Indermuehle) Larson, 76, of Janesville, WI, passed away peacefully on November 24, 2019 after living life to the fullest while managing the progression of Parkinson's disease.
Darlene was born April 23, 1943, in Hartford, WI, where she also graduated high school. She married her high school sweetheart, David Larson, on June 21, 1964, who preceded her in death. She obtained her Masters Degree in Library & Information Studies from UW-Madison and enjoyed her time as a business education teacher and librarian at several public schools.
Darlene had passion for her family, their get togethers, creative games, scrapbooking, drumming, yoga/tai chi, reiki, line dancing, and her life long love of horses, which she was able to care and ride on her farm as well as trail riding throughout the state.
She is survived by her sons Dylan (Abby) of FL, Dan (Sue) of Janesville and her two beloved grandchildren Sophie, Kade (Zoe), and 3 great grandchildren, along with a brother, her two sisters, and many nieces and nephews.
A memorial service and remembrance of life will be planned for late May / early June 2020, when her horse riding ceremony can be honored.
Her family is grateful for the care and comforts that Cedar Crest and Agrace Hospice Care has provided to her over many years.
All Faiths Funeral and Cremation Services of Janesville, Wisconsin is assisting the family.
For online condolences and guestbook please visit: www.866allfaiths.com.
All Faiths Funeral and Cremation Service
Janesville, Wisconsin
(608) 754-8700


Home
Gods
Heros
Myths
Creatures
Mythology- a body of stories about gods and heros that try to explain how the world works.
All Rights reserved. Made by Thomas Steinholz and his partners Sam and Roy


PIXI Transition Manager
Github
Demo 1
Demo 2
Demo 3
Demo 4
Click anywhere on the scenes to start a transition. Have fun to play with parameters.


{# -*- mode: jinja2 -*- #} {% import 'admin/layout.html' as layout with context -%} {% import 'admin/static.html' as admin_static with context %} {% from "admin/macros.html" import sidebar_link with context %}


wifi_off
photo_camera
videocam
fullscreen
flight_takeoff
Takeoff
vertical_align_top
vertical_align_bottom
rotate_left
rotate_right
arrow_upward
arrow_downward
arrow_back
arrow_forward
speed
speed x:
0
cm/s
speed
speed y:
0
cm/s
speed
speed z:
0
cm/s
battery_full
0
%
update
0
s
height
0
cm
whatshot
0
C
ac_unit
0
C
device_hub
pitch:
0
°
device_hub
roll:
0
°
device_hub
yaw:
0
°
height
0
m
fast_forward
acc x:
0
cm/s²
fast_forward
acc y:
0
cm/s²
fast_forward
acc z:
0
cm/s²
square_foot
0
cm
code
gamepad
keyboard
report
vertical_align_top
vertical_align_bottom
rotate_left
rotate_right
arrow_upward
arrow_downward
arrow_back
arrow_forward
flight_takeoff
Takeoff


--- layout: default --- {% capture intro %}{% include intro.md %}{% endcapture %} {{ intro | markdownify }} {% capture projects %}{% include projects.md %}{% endcapture %} {{ projects | markdownify }}


Slick Slider
For help go
here
.
Go back to
plugin selection
.
Knock Knock!
Who's There?
It's John.
John who?
JOHN CENA!!! WWE CHAMPION!!! THIS SUNDAY NIGHT, SUUUPER SLAAAM!!!


---
layout: post
title: VSCode JTAG Debugging of ESP32 - Part 3
date: '2017-06-09T13:28:00.001-07:00'
author: gojimmypi
tags:
- Espressif
modified_time: '2017-06-09T17:24:41.135-07:00'
thumbnail: https://3.bp.blogspot.com/-qaRW6jDNFHY/WTr_wv0xXqI/AAAAAAAAAcA/Wzq1uv8uO9cjq7ixJFcCzSwwXnAY3x7PQCLcB/s72-c/menu_config_FreeRTOS.PNG
blogger_id: tag:blogger.com,1999:blog-4109066286647243251.post-7553493991623549327
blogger_orig_url: https://gojimmypi.blogspot.com/2017/06/vscode-jtag-debugging-of-esp32-part-3.html
---
(see also hardware setup, part 1, and part 2
)
Test drive of OpenOCD WIP branch with VSCode. See:
https://github.com/espressif/openocd-esp32/wiki/Work-in-progress-ESP32-dual-core-target
If there's already an openocd-esp32 checked out, save it:
{% include code_header.html %}
cd ~/workspace
mv openocd-esp32 openocd-esp32-master
cd ~/workspace
git clone -b feature/esp32_dualcore --recursive https://github.com/espressif/openocd-esp32.git
cd openocd-esp32
git status
then follow instructions
https://github.com/espressif/openocd-esp32
./bootstrap
./configure
make
sudo make install
cp /./home/gojimmypi/workspace/openocd-esp32/esp32_dc.cfg /./home/gojimmypi/workspace/openocd-esp32/esp32_dcx.cfg
Mine looks like this:
# Example configuration file to hook up an ESP32 module or board to a JTAG
# adapter. Please modify this file to your local setup.
# Include the configuration for the JTAG adapter.
# By default, DevKit-J is used.
# Later versions of DevKit-J are known as ESP-WROVER-KIT,
# they can work with the same configuration file.
# If you use a different interface, please edit this to include the
# configuration file of yours.
# source [find interface/ftdi/esp32_devkitj_v1.cfg]
# The ESP32 only supports JTAG.
transport select jtag
# The speed of the JTAG interface, in KHz. If you get DSR/DIR errors (and they
# do not relate to OpenOCD trying to read from a memory range without physical
# memory being present there), you can try lowering this.
# On DevKit-J, this can go as high as 20MHz if CPU frequency is 80MHz, or 26MHz
# if CPU frequency is 160MHz or 240MHz.
adapter_khz 1000
#Source the ESP32 configuration file
source [find target/esp32_dc.cfg]
# The TDI pin of ESP32 is also a bootstrap pin that selects the voltage the SPI flash
# chip runs at. When a hard reset happens (e.g. because someone switches the board off
# and on) the ESP32 will use the current TDI value as the bootstrap value because the
# JTAG adapter overrides the pull-up or pull-down resistor that is supposed to do the
# bootstrapping. These lines basically set the idle value of the TDO line to a
# specified value, therefore reducing the chance of a bad bootup due to a bad flash
# voltage greatly.
# Enable this for 1.8V SPI flash
#esp32 flashbootstrap 1.8
# Enable this for 3.3V SPI flash
esp32 flashbootstrap 3.3
That depends on the module which is used on the dev board. Most WROOM modules use 3.3V flash, while WROVER modules use 1.8V flash.
#
# Olimex ARM-USB-OCD-H
#
# http://www.olimex.com/dev/arm-usb-ocd.html
#
interface ft2232
ft2232_device_desc "Olimex OpenOCD JTAG ARM-USB-OCD-H"
ft2232_layout olimex-jtagft2232_vid_pid 0x15ba 0x002b
Modified launch.json in VSCode (different from prior blog). Note changes as specified here
. But I omitted last line with single "c".
{
"version": "0.2.0",
"configurations": [
{
"name": "OpenOCD Debug",
"type": "cppdbg",
"request": "launch",
"miDebuggerPath": "C:/msys32/opt/xtensa-esp32-elf/bin/xtensa-esp32-elf-gdb.exe",
"program": "Y:/home/gojimmypi/esp/hello_world/build/hello-world.elf",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"text": "file 'Y:/home/gojimmypi/esp/hello_world/build/hello-world.elf'"
},
{
"text": "target remote <IP_ADDRESS>:3333"
},
{
"text": "monitor reset halt"
},
{
"text": "thb app_main"
},
{
"text": "x $a1=0"
}
],
"externalConsole": false,
"cwd": "Y:/home/gojimmypi/esp/hello_world/build/",
"logging": {
"trace": true,
"traceResponse": true,
"engineLogging": true
}
}
]
}
then launch OpenOCD
cd ~/workspace/openocd-esp32/tcl
sudo openocd -f interface/ftdi/olimex-arm-usb-ocd-h.cfg -f ~/workspace/openocd-esp32/esp32_dcx.cfg
Output looks like this:
Open On-Chip Debugger 0.10.0-dev-gc83a89c (2017-06-09-11:42)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
adapter speed: 1000 kHz
force hard breakpoints
Info : clock speed 1000 kHz
Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : JTAG tap: esp32.slave tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : Target halted. PRO_CPU: PC=0x4008495D (active) APP_CPU: PC=0x00000000
cd ~/esp/hello_world
export PATH=$PATH:$HOME/esp/xtensa-esp32-elf/bin
export IDF_PATH=~/esp/esp-idf
make menuconfig
make clean
make
make flash
Ensure it is working:
make monitor
Output like this:
MONITOR
--- idf_monitor on /dev/ttyUSB0 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
ets Jun 8 2016 00:22:57
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0x00
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0008,len:8
load:0x3fff0010,len:4400
load:0x40078000,len:11092
ho 0 tail 12 room 4
load:0x40080000,len:252
0x40080000: _iram_start at ??:?
entry 0x40080034
0x40080034: _iram_start at ??:?
I (49) boot: ESP-IDF v2.0-rc1-854-gba55461 2nd stage bootloader
I (49) boot: compile time 13:14:19
I (49) boot: Enabling RNG early entropy source...
I (67) boot: SPI Speed : 40MHz
I (79) boot: SPI Mode : DIO
I (92) boot: SPI Flash Size : 4MB
I (104) boot: Partition Table:
I (115) boot: ## Label Usage Type ST Offset Length
I (138) boot: 0 nvs WiFi data 01 02 00009000 00006000
I (161) boot: 1 phy_init RF data 01 01 0000f000 00001000
I (185) boot: 2 factory factory app 00 00 00010000 00100000
I (208) boot: End of partition table
I (221) boot: Disabling RNG early entropy source...
I (238) boot: Loading app partition at offset 00010000
I (753) boot: segment 0: paddr=0x00010018 vaddr=0x00000000 size=0x0ffe8 ( 65512)
I (753) boot: segment 1: paddr=0x00020008 vaddr=0x3f400010 size=0x070ac ( 28844) map
I (769) boot: segment 2: paddr=0x000270bc vaddr=0x3ffb0000 size=0x02b00 ( 11008) load
I (800) boot: segment 3: paddr=0x00029bc4 vaddr=0x40080000 size=0x00400 ( 1024) load
0x40080000: _iram_start at ??:?
I (822) boot: segment 4: paddr=0x00029fcc vaddr=0x40080400 size=0x12cdc ( 77020) load
I (885) boot: segment 5: paddr=0x0003ccb0 vaddr=0x400c0000 size=0x00000 ( 0) load
I (886) boot: segment 6: paddr=0x0003ccb8 vaddr=0x00000000 size=0x03350 ( 13136)
I (906) boot: segment 7: paddr=0x00040010 vaddr=0x400d0018 size=0x26ae8 (158440) map
0x400d0018: _flash_cache_start at ??:?
I (932) cpu_start: Pro cpu up.
I (943) cpu_start: Starting app cpu, entry point is 0x40080ec0
0x40080ec0: call_start_cpu1 at /home/gojimmypi/esp/esp-idf/components/esp32/./cpu_start.c:174
I (0) cpu_start: App cpu up.
I (976) heap_alloc_caps: Initializing. RAM available for dynamic allocation:
I (998) heap_alloc_caps: At 3FFAE2A0 len 00001D60 (7 KiB): DRAM
I (1018) heap_alloc_caps: At 3FFB6418 len 00029BE8 (166 KiB): DRAM
I (1039) heap_alloc_caps: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM
I (1061) heap_alloc_caps: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (1082) heap_alloc_caps: At 400930DC len 0000CF24 (51 KiB): IRAM
I (1103) cpu_start: Pro cpu start user code
I (1161) cpu_start: Starting scheduler on PRO CPU.
Hello world!
I (201) cpu_start: Starting scheduler on APP CPU.
This is ESP32 chip with 2 CPU cores, WiFi/BT/BLE, silicon revision 0, 4MB external flash
Looping in 10 seconds...
Looping in 9 seconds...
Looping in 8 seconds...
Looping in 7 seconds...
Looping in 6 seconds...
net use y: \\<IP_ADDRESS>\c$
Then in Windows Explorer, open VSCode from
Y:\home\gojimmypi\esp\hello_world\build
Unable to start debugging. Unexpected GDB output from command "-interpreter-exec console "c"".
1: (138) LaunchOptions
1: (143) LaunchOptions
1: (143) LaunchOptions
-enable-pretty-printing
1: (144) LaunchOptions
file 'Y:/home/gojimmypi/esp/hello_world/build/hello-world.elf'
1: (144) LaunchOptions
target remote <IP_ADDRESS>:3333
1: (144) LaunchOptions
monitor reset halt
1: (144) LaunchOptions
thb app_main
1: (144) LaunchOptions
x $a1=0
1: (144) LaunchOptions
c
1: (144) LaunchOptions
1: (144) LaunchOptions
1: (176) Starting: "C:/msys32/opt/xtensa-esp32-elf/bin/xtensa-esp32-elf-gdb.exe" --interpreter=mi
1: (189) DebuggerPid=22492
1: (216) ->=thread-group-added,id="i1"
1: (217) ->~"GNU gdb (crosstool-NG crosstool-ng-1.22.0-61-gab8375a) 7.10\n"
1: (217) ->~"Copyright (C) 2015 Free Software Foundation, Inc.\n"1: (217) ->~"License GPLv3+: GNU GPL version 3 or later
\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law. Type \"show copying\"\nand \"show warranty\" for details.\n"
1: (217) ->~"This GDB was configured as \"--host=i686-host_pc-mingw32 --target=xtensa-esp32-elf\".\nType \"show configuration\" for configuration details."
1: (217) ->~"\nFor bug reporting instructions, please see:\n"
1: (217) ->~"
.\n"
1: (217) ->~"Find the GDB manual and other documentation resources online at:\n
.\n"
1: (217) ->~"For help, type \"help\".\n"
1: (217) ->~"Type \"apropos word\" to search for commands related to \"word\".\n"
1: (217) ->(gdb)
1: (222) <-1001-gdb-set -="" 1:="" on="" target-async="">1001^done
1: (228) ->(gdb)
1: (229) 1001: elapsed time 6
1: (234) <-1002-enable-pretty-printing -="" 1:="">1002^done
1: (239) ->(gdb)
1: (239) 1002: elapsed time 5
1: (241) <-1003-interpreter-exec -="" 1:="" build="" console="" esp="" file="" gojimmypi="" hello-world.elf="" hello_world="" home="">~"Reading symbols from Y:/home/gojimmypi/esp/hello_world/build/hello-world.elf..."
1: (274) ->~"done.\n"
1: (275) ->1003^done
1: (275) ->(gdb)
1: (275) 1003: elapsed time 34
1: (275) <-1004-interpreter-exec -="" <IP_ADDRESS>:3333="" 1:="" console="" remote="" target="">~"Remote debugging using <IP_ADDRESS>:3333\n"
1: (305) ->=thread-group-started,id="i1",pid="42000"
1: (305) ->=thread-created,id="1",group-id="i1"
1: (307) ->~"0x00000000 in ?? ()\n"
1: (307) ->*stopped,frame={addr="0x00000000",func="??",args=[]},thread-id="1",stopped-threads="all"
1: (309) ->1004^done
1: (309) ->(gdb)
1: (318) 1004: elapsed time 42
1: (319) <-1005-thread-info -="" 1:="" 1="">1005^done,threads=[{id="1",target-id="Remote target",frame={level="0",addr="0x00000000",func="??",args=[]},state="stopped"}]
1: (329) ->(gdb)
1: (330) 1005: elapsed time 11
1: (330) <-1006-interpreter-exec -="" 1:="" console="" e="" halt="" monitor="" reason="" reset="" started="" thread:="" thread="" threadid="" type="">@"JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)\n"
1: (366) ->@"JTAG tap: esp32.slave tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)\n"
1: (490) ->@"Target halted. PRO_CPU: PC=0x400D0E1C (active) APP_CPU: PC=0x00000000 \n"
1: (500) ->@"esp32: target state: halted\n"
1: (542) ->@"esp32: Debug controller was reset (pwrstat=0x5F, after clear 0x0F).\n"
1: (542) ->@"esp32: Core was reset (pwrstat=0x5F, after clear 0x0F).\n"
1: (676) ->@"Target halted. PRO_CPU: PC=0x5000004B (active) APP_CPU: PC=0x00000000 \n"
1: (691) ->@"esp32: target state: halted\n"
1: (740) ->@"esp32: Core was reset (pwrstat=0x1F, after clear 0x0F).\n"
1: (1048) <-1020-interpreter-exec -="" 1:="" console="" info="" sharedlibrary="">~"No shared libraries loaded at this time.\n"
1: (1051) ->1020^done
1: (1051) ->(gdb)
1: (1051) 1020: elapsed time 3
E output: {"category":"console","output":"Loaded 'shared libraries loaded at this time.'. Cannot find or open the symbol file.\r\n","data":null,"type":"output"}
Loaded 'shared libraries loaded at this time.'. Cannot find or open the symbol file.
1: (1061) <-1021-thread-info -="" 1:="">1021^done,threads=[{id="1",target-id="Remote target",frame={level="0",addr="0x40000400",func="??",args=[]},state="stopped"}],current-thread-id="1"
1: (1072) ->(gdb)
1: (1072) 1021: elapsed time 11
1: (1078) <-1022-stack-list-frames -="" 0="" 1000="" 1:="">1022^done,stack=[frame={level="0",addr="0x40000400",func="??"}]
1: (1083) ->(gdb)
1: (1083) 1022: elapsed time 4
1: (1086) <--exec-continue -="" 1:="">^error,msg="Warning:\nCannot insert breakpoint 3.\nCannot access memory at address 0x400f4d55\nCannot insert breakpoint 4.\nCannot access memory at address 0x400f4d75\n"
1: (1104) ->(gdb)
E output: {"category":"stderr","output":"ERROR: Warning:\nCannot insert breakpoint 3.\nCannot access memory at address 0x400f4d55\nCannot insert breakpoint 4.\nCannot access memory at address 0x400f4d75\n\r\n","data":null,"type":"output"}
ERROR: Warning:
Cannot insert breakpoint 3.
Cannot access memory at address 0x400f4d55
Cannot insert breakpoint 4.
Cannot access memory at address 0x400f4d75
To resolve this, click on Debug - Remove All Breakpoints in VSCode.


We listen
to grasp context, understand the goal, day-dream winning scenarios
We work
design, develop, test, optimize
Launch and care


- Ness
- Controller
You can include this library to your code file by typing the below code;
use Ness\Controller
About Controllers #top
A controller is a class which responds to http requests. All your controller class files must be located in controller folder and must contain a Controller suffix. You can read more about directory structure Here.
Default Controller #top
By default in controller folder there is a indexController.php file. This is the default controller class for Ness PHP. The core framework file (Ness\system\boot.php) looks in controller folder and search's indexController.php file with a class named indexController and public function IndexAction if not specified in url.
Example Controller #top
class AuthController extends Ness\Controller
{
public function indexAction($param=0)
{
$this->View->Render("startpage.php");
}
}
Save this file to project_name\Application\Controller\AuthController .php Now when you navigate to : http://localhost/project_name/auth/index or http://localhost/project_name/auth you will see the startpage.php view run.
Owning & Versioning a Controller #top
If your team works on a big project you can use some commands to own and version the controller. This will make easy to the project leader to track which developer is developed the controller/area and whats is the version number of the controller.
$this->setVersion(integer $prm);
| Call this method in __construct for setting a version number to your controller | ||
| Return | void | |
| Parameters | $prm integer; Version Number. |
You can use the command below for getting the version number of controller.
$this->getVersion();
| Return | Integer | |
| Parameters | None |
For using version information of your controller in another controller class just create an instance of controller and call getVersion() function.
For setting an author for your controller.
$this->setAuthor(string $prm);
| Call this method in __construct for setting an author to your controller | ||
| Return | void | |
| Parameters | $prm string; Author name. |
You can use the command below for getting the author name;
$this->getAuthor();
| Call this method for getting the author name | ||
| Return | String | |
| Parameters | None |
Methods #top
Public Methods
If you want to declare a action result to controller your function must have the Action suffix.Other functions not considered to be used as actions, can be defined as private methods.
Private Methods
Private methods can be defined and used in controllers.
public function ResetAction()
{
if($this->check())
{
$this->View->Render("Auth/Reset_Password.phtml");
}
echo "Hello World";
}
private function check(&$param)
{
if(!$param== 1){
return false;
}else {return true;}
}
Constructor
You can define your own constructors in controllers, here is an example.
function __construct()
{
parent::__construct();
//other constructor code here;
//load libraries;
//etc;
}


Generals gathered in their masses
just like witches at black masses
Evil minds that plot destruction,
sorcerer of death's construction.
In the fields the bodies burning,
as the war machine keeps turning.

Politicians hide themselves away
They only started the war
Why should they go out to fight?
They leave that role to the poor
Time will tell on their power minds
Making war just for fun
Treating people just like pawns in chess
Wait `till their judgement day comes, yeah!
Now in darkness, world stops turning,
ashes where the bodies burning.
No more war pigs have the power,
hand of god has struck the hour.
Day of judgement, god is calling,
on their knees the war pigs crawling.
Begging mercy for their sins,
Satan, laughing, spreads his wings...Oh lord, yeah!


Public Types | |
| typedef Point | first_argument_type |
| typedef bool | result_type |
| typedef Point | second_argument_type |
This functor compares points and orders them on x, then on y, then on z coordinate.
| Geometry | the geometry | |
| Dimension | the dimension to sort on, defaults to -1, indicating ALL dimensions. That's to say, first on x, on equal x-es then on y, etc. If a dimension is specified, only that dimension is considered | |
| Strategy | underlying coordinate comparing functor, defaults to the default comparison strategies related to the point coordinate system. If specified, the specified strategy is used. This can e.g. be std::less<double>. |
Definition at line 204 of file compare.hpp.
| typedef Point boost::geometry::less< Point, Dimension, Strategy >::first_argument_type |
Definition at line 213 of file compare.hpp.
| typedef Point boost::geometry::less< Point, Dimension, Strategy >::second_argument_type |
Definition at line 214 of file compare.hpp.
| typedef bool boost::geometry::less< Point, Dimension, Strategy >::result_type |
Definition at line 215 of file compare.hpp.
|
December 1, 2009 |
Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam Copyright © 2008-2009 Bruno Lalande, Paris Copyright © 2009 Mateusz Loskot, Cadcorp, London |


| Program: | Hexkit Strategy Game System |
| Version: | 4.3.3 |
| Released: | 30 September 2015 |
| Author: | Christoph Nahr |
| Contact: |<EMAIL_ADDRESS>|
| Website: | http://kynosarges.org/Hexkit.html |
All files – individual files, multi-file packages, and individual files contained in multi-file packages – that constitute the original distribution of the Hexkit Strategy Game System are Copyright © 2000–2015 by Christoph Nahr, except where otherwise noted.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The fantasy tileset included in the binary and source packages is Copyright © 11 April 2000 by DeBray Bailey (used by permission). Please refer to the file Images\DeBray Bailey\readme.txt for the full copyright statement regarding this tileset.


--- layout: post date: 2006-03-06 time: "09:00:00" authors: ["Greg Wilson"] title: "Web Server Programming Lecture Is Up" tags: ["Carpentries Lessons"] ---
The lecture on server-side programming is up: if you think it should be split into two parts, please let me know. That leaves only three to go (XML, security, and integration).
And by this time on Thursday, we'll be in Lima, Peru...


KATINAS
ROBOT
is offline
is online
Connection failed. Please check IP address...
Connect
connecting...
STOP MOVING
Start camera
Stop camera
Send


In this section a more realistic, still simple, application example is given, to demonstrate various features of the StateGraph library. This example shows the control of a two tank system from the master thesis of Isolde Dressler (see literature).
In the following figure the top level of the model is shown. This model is available as StateGraph.Examples.ControlledTanks.
In the right part of the figure, two tanks are shown. At the top part, a large fluid source is present from which fluid can be filled in tank1 when valve1 is open. Tank1 can be emptied via valve2 that is located in the bottom of tank2 and fills a second tank2 which in turn is emptied via valve3. The actual levels of the tanks are measured and are provided as signals level1 and level2 to the tankController.
The tankController is controlled by three buttons, start, stop and shut (for shutdown) that are mutually exclusive. This means that whenever one button is pressed (i.e., its state is true) then the other two buttons are not pressed (i.e., their states are false). When button start is pressed, the "normal" operation to fill and to empty the two tanks is processed:
The above "normal" process can be influenced by the following buttons:
The implementation of the tankController is shown in the next figure:
When the "start" button is pressed, the stateGraph is within the CompositeStep "makeProduct". During normal operation this CompositeStep is only left, once tank2 is empty. Afterwards, the CompositeStep is at once re-entered.
When the "stop" button is pressed, the "makeProduct" CompositeStep is at once terminated via the "suspend" port and the stateGraph waits in step "s2" for further commands. When the "start" button is pressed, the CompositeStep is re-entered via its resume port and the "normal" operation continues at the state where it was aborted by the suspend transition. If the "shut" button is pressed, the stateGraph waits in the "emptyTanks" step, until both tanks are empty and then waits at the initial step "s1" for further input.
The opening and closing of valves is not directly defined in the stateGraph. Instead via the "setValveX" components, the Boolean state of the valves are computed. For example, the output y of "setValve2" is computed as:
y = makeProduct.fillTank2.active or emptyTanks.active
i.e., valve2 is open, when step "makeProduct.fillTank2 or when step "emptyTanks" is active. Otherwise, valve2 is closed.


The UnitDelay object holds the value from the last update time. It is used to prevent an infinite loop from occurring when a modelled calculation includes a feedback loop.
y = X
where:
y = present output value for the UnitDelay object
X = input to the UnitDelay at the last update time


Sign Up
✅ Who are tutors?
The tutors are other students from different areas with the desire to support in subjects that could be difficult, so the tutors support through classes, they provide resources to support other students.
🖍 Who can be a tutor?
Anyone with schedule availability and willingness to teach can be a tutor.


Program started at Mon-07-May-2007 18:25.
Analysed requests from Thu-01-Feb-2007 00:00 to Wed-28-Feb-2007 23:59 (28.00 days).
(Go To: Top | General Summary | Monthly Report | Daily Summary | Hourly Summary)
This report contains overall statistics.
Successful requests: 18,414,128
Average successful requests per day: 657,663
Successful requests for pages: 5,759,986
Average successful requests for pages per day: 205,718
Failed requests: 5,485
Redirected requests: 361,328
Distinct files requested: 771
Distinct hosts served: 235,540
Corrupt logfile lines: 152
Data transferred: 332.36 gigabytes
Average data transferred per day: 11.87 gigabytes
(Go To: Top | General Summary | Monthly Report | Daily Summary | Hourly Summary)
This report lists the activity in each month.
Each unit () represents 200,000 requests for pages or part thereof.
| month | reqs | pages | |
|---|---|---|---|
| Feb 2007 | 18414128 | 5759986 |
Busiest month: Feb 2007 (5,759,986 requests for pages).
(Go To: Top | General Summary | Monthly Report | Daily Summary | Hourly Summary)
This report lists the total activity for each day of the week, summed over all the weeks in the report.
Each unit () represents 30,000 requests for pages or part thereof.
| day | reqs | pages | |
|---|---|---|---|
| Sun | 3433174 | 1061754 | |
| Mon | 3798897 | 1180945 | |
| Tue | 2500576 | 768738 | |
| Wed | 2224169 | 692446 | |
| Thu | 1999666 | 640417 | |
| Fri | 1958747 | 667439 | |
| Sat | 2498899 | 748247 |
(Go To: Top | General Summary | Monthly Report | Daily Summary | Hourly Summary)
This report lists the total activity for each hour of the day, summed over all the days in the report.
Each unit () represents 15,000 requests for pages or part thereof.
| hour | reqs | pages | |
|---|---|---|---|
| 0 | 250038 | 82292 | |
| 1 | 118730 | 44007 | |
| 2 | 66974 | 28176 | |
| 3 | 44912 | 22241 | |
| 4 | 40196 | 20271 | |
| 5 | 50048 | 23427 | |
| 6 | 111461 | 41090 | |
| 7 | 305991 | 98896 | |
| 8 | 725962 | 225685 | |
| 9 | 1065822 | 337376 | |
| 10 | 1107949 | 348662 | |
| 11 | 1099661 | 349587 | |
| 12 | 1246370 | 393644 | |
| 13 | 1228220 | 383644 | |
| 14 | 1007344 | 313656 | |
| 15 | 1000214 | 313294 | |
| 16 | 1140428 | 352003 | |
| 17 | 1350399 | 406183 | |
| 18 | 1441701 | 439197 | |
| 19 | 1397178 | 424580 | |
| 20 | 1213335 | 374324 | |
| 21 | 1063359 | 326717 | |
| 22 | 827416 | 251736 | |
| 23 | 510420 | 159298 |


HTML5 JavaScript Banner Transition Library
This JavaScript banner animation library intended for use with creating web-based animated banners using HTML5's CSS transition capabilties.
One should have a base knowledge of how CSS transitions function in order to be able to fully use this library.
Contained within this library are full, but simple examples of how to use both of this JS libraries for creating an animated banner. BannerTransition.js costs about 6KB in file size.
This JS library is a bit more involved in what goes in the background. Because CSS transitions are simply animating CSS style value changes from the current value to the new one, a 50 millisecond timer is implemented to replicate a timeline playhead. Every time the timer ticks forward, it checks to see if there is a keyframe with style changes to make and if there is, it applies the new style value on the target(s) and the browser will handle making the transition change.


Understanding the CSS box model will enable us to effectively organise the layout and design of our websites. I will be demonstrating this concept with regards to 'block level' HTML elements (elements such as: paragraphs, headers, forms, tables, divs) as it is these elements the CSS box model is more commonly applied to.
Imagining packing a box in a room helped me grasp this concept! First I will start with some content that will be inside the box.
Our content is simply text inside a div with the class "box". This could also be any other block level HTML element. I have set the width and background colour for this div to help with the demonstration. Now we can begin to define the contents surroundings.
I like to imagine that the border is the cardboard we are packing the content into. We can change the thickness, colour, and style of the border (cardboard) in CSS using the following border property shorthand:
border: border-width border-style border-color
We can add padding around our content and this will space the content away from the border. Like adding bubblewrap to an item before it goes into a box! You will notice that adding the padding (and border) has added dimension to the div, that is to do with the box-sizing property. Read up on that at W3Schools.
padding: length
Margin is the space around the border. I like to imagine that adding margin will move the box around the room, allowing us to walk around the box or reposition it. Notice how the box is pushed away from the side of the browser window.
margin: length
Did you notice that before we applied our own margin to the box that there was already space between the box and the browser window? That is because our browsers automatically adds some CSS properties. If you wanted to erase that space and have the box against the browser window you would need to change the margin on the 'body' element of your CSS file and remove the margin on your box.
I would also like to mention that throughout this blog I was using the property shorthand and affected all sides with a single value. These properties have a lot of flexibility say if you wanted to isolate a particular side of the property. For example, margin-top, margin-right, margin-bottom, margin-left. The same can be applied to padding, and border. Furthermore, using the shorthand you can specify the sides you want to change on a single line. For example: margin: 10px 15px 20px 25px will add margin in the order of top, right, bottom, left.
I hope you get a sense for how the box model can be used to add borders around elements, and define space. Used alongside other foundational CSS concepts like positioning, we can begin to create effective layouts for our websites.


If you love Telegram but don't want to leave Discord then you'll be pleased to find we've built a bridge in this channel. If you'd like to join the group in the Telegram app you can find it here: https://t.me/KomodoPlatform_Official.
Between 29-Dec-19 12:00 AM and 30-Dec-19 12:00 AM
GatewayBOT29-Dec-19 02:05 AM
[telegram] <capf45>
GatewayBOT29-Dec-19 03:42 AM
[telegram] <rezarrected> Where can we get the Atomic DeX wallet (re @Lennart: yes and yes!)
[telegram] <Suzycrabgrass> I don't see a way to solve the liquidity problem:( I feel all dexs will struggle.
[telegram] <rezarrected> Was there a hard fork recently
GatewayBOT29-Dec-19 08:10 AM
[telegram] <Acura360> All Dex‘s using same Orderbook & Liquidity Pool.. (re @Suzycrabgrass: I don't see a way to solve the liquidity problem:( I feel all dexs will struggle.)
[telegram] <Acura360> Yes (re @rezarrected: Was there a hard fork recently)
GatewayBOT29-Dec-19 09:08 AM
[telegram] <Lennart> liquidity bot /bridge is being developed (re @Suzycrabgrass: I don't see a way to solve the liquidity problem:( I feel all dexs will struggle.)
[telegram] <Lennart> liq shouldn't be a problem in OUR dex (post-beta)
GatewayBOT29-Dec-19 03:09 PM
[telegram] <Debodebeli> I hope next year will be better
GatewayBOT29-Dec-19 03:27 PM
[telegram] <joshuamayu44> I'm buying kmd. Betting on barterdex
[telegram] <Acura360> You mean AtomicDex (re @joshuamayu44: I'm buying kmd. Betting on barterdex)
GatewayBOT29-Dec-19 05:03 PM
[telegram] <Andi> Antara...the rest is nice to have.. (re @joshuamayu44: I'm buying kmd. Betting on barterdex)
[telegram] <MButcho> thank you, magnum seems to be having problem at the moment, getting no compatible device found error
GatewayBOT29-Dec-19 06:44 PM
[telegram] <Michi> /bridge
GatewayBOT29-Dec-19 08:03 PM
[telegram] <t0sma> Did you update your Ledger with the last firmware? (re @MButcho: thank you, magnum seems to be having problem at the moment, getting no compatible device found error)
[telegram] <Acura360> actually yes, but on HyperDex you will see it - in the future this will be optimized (re @Suzycrabgrass: Also, I can't see the order book without loading funds? Is that correct?)
GatewayBOT29-Dec-19 08:47 PM
[telegram] <Suzycrabgrass> Why would anyone use atomic dex if it's not as user friendly? (re @Acura360: actually yes, but on HyperDex you will see it - in the future this will be optimized)
[telegram] <Acura360> AtomicDex is not userfriendly?? WHAT ? (re @Suzycrabgrass: Why would anyone use atomic dex if it's not as user friendly?)(edited)
[telegram] <Suzycrabgrass> I mean hyperdex seems more user friendly
[telegram] <Suzycrabgrass> Both are good, just saying what I feel people would choose.
[telegram] <Acura360> You know that AtomicDex is in a very early beta phase?
[telegram] <Suzycrabgrass> I'm just wondering why two
[telegram] <Acura360> because every team can make there own GUI using the AtomicDex API(edited)
[telegram] <Suzycrabgrass> Okayy
GatewayBOT29-Dec-19 10:16 PM
[telegram] <Lens Clinton> I earn huge money online while others loss money online!
Join me in making $10000 weekly from home, no hidden fees
Type info✍


In 2019 I made a visualization showing my process of applying to a new job as a Web Developer. I wanted to show just how long it took, how many applications I made, and how many places simply never responded.
Well in May of 2020 at the height of the covid pandemic in the U.S. I was laid off from that new 2019 job, along with around 40% of the company, so back on that search I went!
As with
last year, there are a number of factors to consider with
reading this data.
Having seen the rate of companies that never respond from last year, I was not surprised much by the ghost rate this year. As well, though there is certainly not enough data to make a definite conclusion, in general smaller companies were more likely to ghost, which is understandable given their team size. I applied to 19 small companies (< 50 people), 26 medium companies (< 500 people) and 30 large companies (> 500 people), and their ghost rates were 84%, 65%, 57% respectively. That said, larger companies usually had longer processes, including the longest application process, which took 4 months just to get to the onsite interview, though I can only imagine covid hiring freezes must have had something to do with it.
Overall, my main takeaways are much the same as last year:


Tests that there's no deadlock when a plugin creates an alert in response to a synchronous Windows message from the browser process.


Prior to running the experiment, we need to run a few tests. First we will test the speed of your internet connection, which may take a few minutes, depending on the speed of your connection. If the tests are successful, you will then see a screen with a video, accompanied by a question to verify your browser supports the video format.


Contributing to Open Source Part I: The Easy Way
3462 Views
Published on 27 February 2019
How do you contribute to open source? In this video, I'll describe the easiest way to make a simple contribution to an open source project -- without using the command line, a text editor, "forking a repo", or even touching Git outside of Github. I'll also describe what kinds of contributions open source software projects are typically looking for. As an example, I use submitting a student solution to a web development exercise from The Odin Project, a free online curriculum for learning web development with Ruby on Rails. You can find more information about that project at http://theodinproject.com.


--- layout: page title: "Scala in Depth" prev: kindle_split_021.html next: kindle_split_023.html book_path: books/scala-in-depth-joshua-d-suereth--_oeb/ --- {% include JB/setup %} {% raw %}
Chapter 1. Scala—a blended language
Table 1.1. Attributes commonly ascribed to object-oriented and functional programming
Chapter 3. Modicum of style—coding conventions
Chapter 4. Utilizing object orientation
Table 4.1. Issues with inheritance versus object composition
Chapter 9. Actors
Chapter 10. Integrating Scala with Java


{%extends 'base.html'%} {%block content %} {%include "navbar.html"%} {%for post in posts%}
Liked by {{user.username}} and others
{{post.caption}}
{{image.caption}}
{{image.date_uploaded}}


The builtin type byteString.
A byteString is a sequence of bytes (octets) with any value, including NUL.
| $Size() int @public |
Return the number of bytes in the byteString.
|
| $ToString() string @public |
Convert the byteString to a string.
|
| $ToString(format) string @public |
Convert the byteString to a string and then apply format.
|
| $latin1ToString() string @public |
Assuming that the byteString contains Latin1 characters, return a string
encoded in utf-8.
|
| $Compare(other) int @public |
Return -1, 0 or 1 when other is larger, equal to or smaller than this
byteString.
|
| $Equal(other) bool @public |
Return TRUE when other is equal to this byteString, FALSE otherwise.
|
| $asString() string @public |
Return the byteString as a string.
|
| $toVarString() varString @public |
Convert the byteString to a varString. Equivalent to
|
| $toVarByteString() varByteString @public |
Convert the byteString to a varByteString.
|
| $get(idx) int @public |
Return the byte at position idx.
|
| $getByte(idx) int @public |
Return the byte at position idx.
|
| $getChar(idx) int @public |
Return the UTF-8 encoded character at position idx.
|
| $getCharSize(idx) int @public |
Return the byte size of the UTF-8 encoded character at position idx.
|
| $find(b) int @public |
Return the lowest index where byteString b appears.
|
| $find(b) int @public |
Return the lowest index where byte b appears.
|
| $findLast(b) int @public |
Return the highest index where byteString b appears.
|
| $findLast(b) int @public |
Return the highest index where byte b appears.
|
| $startsWith(b) bool @public |
Return TRUE when the byteString starts with b.
|
| $endsWith(b) bool @public |
Return TRUE when the byteString ends with b.
|
| $hash() int @public |
Return a number that is a hash value of the byteString.
|
| $slice(start) byteString @public |
Return a copy of the byteString, starting at index start.
|
| $slice(start, end) byteString @public |
Return a copy of the byteString, starting at index start and ending at
end, inclusive.
|
| $split() list<byteString> @public |
Return a list with the byteString split into pieces, split at white space.
|
| $split(sep) list<byteString> @public |
Return a list with the byteString split into pieces, split at sep.
|
| |
| |


Removes and animates closing of the tab.
animateClose(id, [event])
| id |
string, id of tab to close |
| event |
object or array, tab or array of tabs |
Returns undefined.
Description
This method will remove and animate closing of the tab with id = id.
If you have tabs defined in the following way:
You can add tabs:


{_}CLASSES: Body: calendarClass: Main body, should have at least width Titles: calendarTitleClass: Title (with month name) line calendarTitleDaysClass: Line (div) that holds the week day names calendarTitleWeekDayClass: Cell with a week day name calendarTitleWeekendDayClass: Cell with a weekend day name Days: calendarLineClass: Line (div) with 7 days calendarDayNormal*: A normal day cell calendarDayToday*: Today cell calendarDayWeekend*: Weekend cell calendarDayEmpty*: An empty cell calendarDayHighlight*: A highlighted cell (will always override others) * - added by php in {class} Basic CSS sample: {/}


Home
Registrations
Students
Class Rooms
Cources
Class Management
Course
All Course
Date From
Search
Add New
ID
Course
Start Date
Days
Times
Fees
Description
Edit Class
Course Name
Start Date
Days
Times
Close
Save


Accentuate large values and attenuate small values. An odd power is used to preserve the sign of the data
Click here to view our Cube Clipping Funciton
Click here to download our Cube Clipping M-File.
* Note: the ".bin" extension on the m-file does NOT indicate a
binary file type.
It only tricks your browser into downloading
the file instead of viewing it.


Hangman
May 16, 2013
App Academy W1D4
Hangman
After yesterday’s exhausting day today was more of a time to sit down and gathering one’s self in preparation for tomorrow when we talk about nodes and trees. Those I expect are going to be mighty challenging so I am going to have to work pretty hard in my preparation. We also learned about the rigorous assessments that we are going to have to take on Monday. If we fail 2 of them, we are asked to leave the program. Supposedly the dropoff rate was pretty big last year. I hope to stay afloat for the next 8 weeks!
Today’s big learning opportunity was in a big project that is called Hangman. The prompt basically asked us to create together a program that lets you play Hangman with a computer or human friend. The parameters were:
The program imports a dictionary file that we provide.
We tell the computer how many human players are playing. If it is less than two then the computer goes and fills in the rest of the roster with computer players
We as players get to choose if we want to be the one picking or guessing the words
Then the program either helps facilitate the game or if we have chosen two computers playing against one another then they compete until the end without input from myself. I found it a delightful challenge to put it together.
Three Things I Learned Today:
In my attempt to understand recursion better, I started to get a better sense of what is going on when a recursion call and what happens in the “stack level goes too deep” error message.
Many times I am working with one eye on helping to test the program and too often I am defaulting to certain things to make it easier to run a program from the terminal. Examples include hard-coding the name of the dictionary file to be passed into Hangman. This is bad for debugging if someone else is looking at the code. Creating a library and a number of presets might at first be a hassle but can result in more modular and easily understandable methods and overall better code.
Spending a little time thinking hard on what a program can do saves a lot of time
Share


|
Analysis Type
|
Fully Manual
|
|
Type of Shell Pressure Loading
|
None
|
|
Load Curve Number for Shell Pressure Loads
|
1
|
|
Smooth Shell Pressure
|
Yes
|
|
Hydrostatic Pressure Control for Shell Elements
|
None
|
|
Z Coordinate Datum for Hydrostatic Pressure
|
0
in
|
|
Weight Density of Fluid Causing Shell Hydrostatic Pressure
|
0
lbf/in³
|
|
Nodal Temperature Time-Variation Load Curve Index
|
1
|
|
Where On Disk Is Nodal Temperature Data Stored
|
No thermal Data
|
|
Temperature Data File
|
None
|
|
Output Results of All Time Steps
|
No
|
|
Output Results of All Time Steps With Wall Interaction
|
No
|
|
Calculate and Output Strains
|
No
|
|
Output Reaction Forces
|
Not Calculated
|
|
Number of time steps
|
10
|
|
Initial Time Step Size
|
1
s
|
|
Nonlinear Iterative Solution Method
|
Unknown Value
|
|
Maximum Number of Iterations
|
15
|
|
Convergence Criteria
|
Displacement
|
|
Displacement Tolerance
|
1e-4
|
|
Force Tolerance
|
1e-15
|
|
Line Search Convergence Tolerance
|
0.5
|
|
Number of Time Steps Between Iterations
|
1
|
|
Number of Time Steps Between Reforming Stiffness Matrix
|
1
|
|
Time Integration Methods Suggested for Type of Analysis
|
General: MES, NLS
|
|
Parameter for MES Integration Method
|
1
|
|
First Parameter for LS Integration Method
|
0.50
|
|
Second Parameter for LS Integration Method
|
0.25
|
|
Output interval
|
1
|
|
Starting Time for Event
|
0
s
|
|
Interval to save restart data.
|
Last step only.
|
|
Resume from Step
|
0
|
|
Resume/Extend Run
|
No
|
|
Time Step Number Extension
|
0
|
|
Use A Constant Time Step Size
|
No
|
|
Decrease Trigger: Rate of convergence
|
Automatically Set
|
|
Decrease Trigger: Allow for Non-monotonic convergence
|
Yes
|
|
Decrease Trigger: High Solution Tolerance
|
Yes
|
|
Time Step Change Factor
|
2
|
|
Increase Trigger: Number of Convergent Time Steps
|
4
|
|
Increase Trigger: Increment to Number of Convergent Time Steps
|
4
|
|
Time step reduction if there are distorted elements
|
Yes
|
|
Apply Rayleigh Damping
|
No
|
|
Mass-related Rayleigh Damping Coeeficient
|
0.05
|
|
Stiffness-related Rayleigh Damping Coefficient
|
0.05
|
|
Time Step Data In Output File
|
No
|
|
Equation Numbers Data in Output File
|
No
|
|
Element Stiffness In Output File
|
No
|
|
Global Stiffness In Output File
|
No
|
|
Displacement of Nodes In Output File
|
No
|
|
Velocity of Nodes In Output File
|
No
|
|
Acceleration of Nodes In Output File
|
No
|
|
Element Input Data in Output File
|
No
|
|
Nodal Input Data in Output File
|
No
|
|
Initial Condition Input Data In Output File
|
No
|
|
Printout Blocks Output To File
|
No
|
|
Mass Representation
|
Lumped
|
|
Matrix Reform Interval Within Each Time Step
|
1
|
|
Maximum Stiffness Reformations Per Interval
|
1
|
|
Number of Time Steps Between Reforming Stiffness Matrix
|
1
|
|
Avoid Bandwidth Optimization
|
No
|
|
Bandwidth Optimization Method
|
Single Body
|
|
Convergence tolerance
|
1E-6
|
|
Maximum Number of Iterations
|
1000
|
|
Number of processors
|
-1
|
|
Run Static Analysis
|
No
|
|
Type of Solver
|
Sparse
|
|
Tolerance for stiffness matrix entries
|
0
|
Custom K-nodes are used to orient beam elements in a direction other than the default orientation. The default orientation for beam elements is based on the surface number of each beam element. The following table shows the values used for beams with a custom beam orientation.


--- layout: post title: Apps Passwords and Role Based Activation for WP Google Authenticator date: 2014-11-16 21:32:19.000000000 +07:00 categories: - WordPress - WP Google Authenticator ---
I am really happy to announce that I pushed version 1.1.0 of WP Google Authenticator today. This version is the biggest update since the first release of the plugin. It adds support for two things that have been asked in the past: apps passwords and role based activation.
You might be using the WordPress mobile app on your iPhone or Android phone. So far you could actually use the WordPress app without problem. The plugin was using the user agent to determine if the connection was made from the WordPress app, and if it was, the one time password was skipped. This, obviously, brings the additional security this plugin adds down.
I'm happy to say that this is no longer the case. It is still possible to use desktop editing applications (or web services) to connect to WordPress, but it will require a manual intervention from you. It is not that difficult, and the good part is that the plugin is no longer limited to the official WordPress mobile app.
From now on, if you want to use a service or application that requires your credentials to log into WordPress, you have the ability to create an "app password". This is a password dedicated to one application that can bypass the one time password.
What's the difference with your own account password? First of all, the app password generated is strong. Most likely stronger that your current password. The second advantage is that you can revoke an app password at anytime. Don't need it anymore? Click a button and it's deleted. Think your app password has been compromised? One click and it's fixed without cutting the access of other apps.
Now that you have one (or more) app password(s) set, you can securely log in using your preferred app.
Also, in order to keep an eye on what's happening, every use of an app password is saved in an access log. If a connection look suspect, the log even highlight it and display a warning message inviting you to check what's happening and revoke the app password if there is a real risk.
The second major feature that's been added in version 1.1.0, and it's been requested by a few users, is role based forced activation of 2-steps authentication.
Until now, you could either force all users to use 2FA, or let them decide whether they want to use it or not. This has changed. You can now force users of a specific role to use 2FA. This can be especially useful if you have subscribers registered on your site. If the user doesn't have any privilege on your site then there is no need to enforce the security for them.
Here is what it looks like:
I think this is going to be a warmly welcome feature ;)
If you have any more feature suggestions, please go ahead and ask. I am more than happy to make this plugin better and better every-time I have a chance to work on it.


Header 1
Header 2
Header 3
Header 4
Header 5
Header 6
this is more complicated than I assumed.
Google
Lebron James
Serena William
Saquon Barkley
New York City
Tokyo
London


4
1 Then the angel who had been talking with me returned, and he called to me while I was thinking deeply, as though I had been asleep.
2 He asked me, "What do you see?"
I replied, "I see a lampstand made completely of gold. There is a small bowl for olive oil at the top, and there are seven small lamps around the bowl, and a place for seven wicks on each lamp.
3 Furthermore, I see two olive trees, one at the right side of the lampstand and one at the left side."
4 I asked the angel who was talking with me, "Sir, what do these things mean?"
5 He replied, "Surely you know what they mean."
I replied, "No, I do not know."
6 Then the angel said to me, "This is the message from Yahweh to you, Zerubbabel, the governor of Judah: 'You will do what I want you to do, but it will not be by your own strength or power. It will be done by the power of my Spirit,' says Yahweh, Commander of the angel armies."
7 The angel continued to speak to me: "Zerubbabel, you have many difficult matters to handle. They are like high mountains. But it will be as though they became flat land. And you will bring to the new temple the final stone, the highest stone, to complete it. When you set it in place, all the people will shout repeatedly, 'It is beautiful! May God bless it!'"
8 Then Yahweh gave me another message.
9 He said to me, "Zerubbabel himself laid some of the stones for the foundation of the temple, and he will put some of the last stones in their places." Then I said to the other men with him, "When that happens, the people will know that it is Yahweh, Commander of the angel armies, who has sent me to you.
10 The people who are mocking the slow way in which they are building the temple again—these same people will be glad when they see Zerubbabel holding a plumb line in his hand.
The seven lamps represent the eyes of Yahweh, who looks back and forth at everything that happens all over the earth."
11 Then I asked the angel, "What is the meaning of the two olive trees, one on each side of the lampstand?
12 And what is the meaning of the two olive branches, one alongside each of the gold pipes from which olive oil flows to the lamps?"
13 He replied, "Surely you know what they are."
I replied, "No, sir, I do not know."
14 So he said, "They represent the two men whom the Lord who rules the whole earth has appointed."


|
Project: par_kinematics License: BSD Dependencies:
Used by:
None |
DeltaArm Class Reference
Detailed DescriptionAuthor: W. van Teijlingen<EMAIL_ADDRESS>This code is based on http://sensi.org/~svo/dbot/applet/ by Viacheslav Slavinsky. Definition at line 16 of file deltaarm.h. Constructor & Destructor Documentation
Definition at line 19 of file deltaarm.h. Member Function Documentation
Definition at line 29 of file deltaarm.h.
Definition at line 25 of file deltaarm.h. Member Data Documentation
Definition at line 15 of file deltaarm.h.
Definition at line 16 of file deltaarm.h. Definition at line 13 of file deltaarm.h.
Definition at line 17 of file deltaarm.h. The documentation for this class was generated from the following file:
|