K. Hausman, J. Mueller, A. Hariharan, N. Ayanian and G. Sukhatme, "Cooperative Control for Target Tracking with Onboard Sensing", International Journal of Robotics Research, vol. 34, no. 13, pp. 1660-1677, Nov. 2015.
N. Ayanian and V. Kumar, "Decentralized Feedback Controllers for Multi-Agent Teams in Environments with Obstacles", IEEE Transactions on Robotics, vol. 26, no. 5, pp. 878-887, Oct. 2010.
N. Ayanian, J. Keller, D. Cappelleri, and V. Kumar, "Development of a Successful Open-Ended Robotics Design Course at the High School Level", Special Issue on Robotics Education, ASEE Computers in Education, 20(3), July - September 2010.
W. Hönig and N. Ayanian. "Dynamic Multi-Target Coverage Maximization with Robotic Cameras", Submitted to IEEE Intl Conf. on Robotics and Automation, 2016.
Wolfgang Hönig, Christina Milanes, Lisa Scaria, Thai Phan, Mark Bolas, Nora Ayanian, "Mixed Reality for Robotics," in IEEE/RSJ Intl Conf. on Intelligent Robots and Systems, Hamburg, Germany, September 2015.
S. Wang, B. Krishnamachari, and N. Ayanian. "The Optimism Principle: A Unified Framework for Optimal Robotic Network Deployment in An Unknown Obstructed Environment", IEEE/RSJ Intl Conf. on Intelligent Robots and Systems, Hamburg, Germany, 2015.
N. Kamra and N. Ayanian, “A Mixed Integer Programming Model for Timed Deliveries in Multirobot Systems,” in IEEE Conf. on Automation Science and Engineering, Gothenburg, Sweden, August 2015.
S. Garg and N. Ayanian. "Persistent Monitoring of Stochastic Spatio-temporal Phenomena with a Small Team of Robots", Robotics: Science and Systems X, Berkeley, CA, July 2014.
K. Hausman, J. Müller, A. Hariharan, N. Ayanian, and G. Sukhatme. "Cooperative Control for Target Tracking with Onboard Sensing", Proceedings ofthe Int'l Symposium on Experimental Robotics, Morrocco, Jun 2013.
N. Ayanian, A. Spielberg, M. Arbesfeld, J. Strauss, and D. Rus. "Controlling a Team of Robots from a Single Input," IEEE Int'l Conference on Robotics and Automation, Hong Kong, June 2014.
C. Sung, N. Ayanian, and D. Rus. "Improving the Performance of Multi-Robot Systems by Task Switching", IEEE Int'l Conference on Robotics and Automation, Karlsruhe, Germany, May 2013.
N. Ayanian, D. Rus, and V. Kumar. “Decentralized Multirobot Control in Partially Known Environments with Dynamic Task Reassignment”, IFAC Workshop on Distributed Estimation and Control in Networked Systems, Santa Barbara, CA, September 2012, pp. 311-316.
G. Wagner, H. Choset, and N. Ayanian. “Subdimensional Expansion and Optimal Task Reassignment,” AAAI Symposium on Combinatorial Search, Niagara Falls, Ontario, Canada, July 2012. Short Paper.
N. Ayanian, V. Kallem, and V. Kumar. “Navigation Functions for Coordinating Multiple Mobile Robots,” IEEE/RSJ Int’l Conference on Intelligent Robots and Systems, San Francisco, CA, September 2011.
N. Ayanian, J. Keller, P. White, and V. Kumar. “Sparking a Lifelong Interest in Engineering Through a Summer Academy in Robotics,” in Proc. ASME Mechanisms and Robotics Conference, Montreal, Canada, August 2010.
N. Ayanian and V. Kumar. “Abstractions and Controllers for Groups of Robots in Environments with Obstacles”, IEEE International Conference on Robotics and Automation, Anchorage, AK, May 2010, pp. 3537-3542.
N. Ayanian, V. Kumar, and D. Koditschek, “Synthesis of Controllers to Create, Maintain, and Reconfigure Robot Formations with Communication Constraints”, Proceedings of the Int’l Symposium on Robotics Research, Lucerne, Switzerland, August 2009.
J. Keller, D. Cappelleri, T. Kientz, N. Ayanian, P. White, and V. Kumar, “Capturing the Interest of Future Engineers: The Development of an Intensive Three-week Summer Academy in Robotics for High School Students”, Proceedings of the Fall 2008 ASEE Mid-Atlantic Section Conference, Stevens Institute of Technology, Hoboken, NJ.
H. Kress-Gazit, N. Ayanian, G. Pappas, and V. Kumar, “Recycling Controllers”, Proceedings of the IEEE Conf. on Automation Science and Engineering, Washington, DC, August 2008.
N. Ayanian, P.J. White, A. Halasz, M. Yim, and V. Kumar, “Stochastic Control for Self-Assembly of XBots”, Proceedings of the ASME Mechanisms and Robotics Conference, New York, NY, August 2008.
N. Ayanian and V. Kumar, “Decentralized Feedback Controllers for Multi-Agent Teams in Environments with Obstacles”, IEEE International Conference on Robotics and Automation, Pasadena, CA, May 2008, pp. 1936-1941 . WINNER, BEST STUDENT PAPER AWARD (~1500 submissions, 661 papers presented)
Predicting


The plugin options can be changed at 2 different levels and with the following priority:
options.plugins.deferred.*
Chart.defaults.global.plugins.deferred.*
Available options:
| Name | Type | Default |
|---|---|---|
delay |
Number |
0 |
xOffset |
Number/String |
0 |
yOffset |
Number/String |
0 |
Note: default options defer the chart loading until the first line of pixels of the canvas appears in the viewport
delay
Number of milliseconds to delay the loading after the chart is considered inside the viewport.
xOffset
Number of pixels (or percent of the canvas width) from which the chart is considered inside the viewport.
yOffset
Number of pixels (or percent of the canvas height) from which the chart is considered inside the viewport.


{% include meta.html %}
If you notice a competition missing or want to request a wall to be added please send me an email with a link to the competition/blog/news/events page


The religions DB has this schema
run python syncdb and create the SQLlite database
import the data (explain how I got the data ):
bash-3.2$ python manage.py loaddata religions.json
Installing json fixture 'religions' from '/Your/path/to/djfacet_test/religions/fixtures'.
Installed 1596 object(s) from 1 fixture(s)
now open up a browser, go to http://<IP_ADDRESS>:8000/ [show image]
enter the admin and have a look at the data; essentially the data model we have is this:
Country ... hasMany .... REligions Religion ... hasOne .... Country
etc...
Check the models.py file for more info


requests.request
-
Declaration
struct
Request
;This is simplest interface to both http and ftp protocols.
Request
has methods get, post and exec which routed to proper concrete handler (http or ftp, etc). To enable some protocol-specific featutes you have to use protocol interface directly (see docs for HTTPRequest or FTPRequest)-
Declaration
pure nothrow @nogc @property void
timeout
(Durationv
);Set
timeout
on connection and IO operation.v
-timeout
value Iftimeout
expired Request operation will throw TimeoutException. -
Declaration
pure nothrow @nogc @property void
keepAlive
(boolv
);Set http
keepAlive
valuev
- use keepalive requests -true
, or not -false
Request will automatically reopen connection when host, protocol or port change (so it is safe to send different requests through single instance of Request). It also recovers if server prematurely close keep-alive connection. -
Declaration
pure nothrow @nogc @property void
maxRedirects
(uintv
);Set limit on HTTP redirects
v
- limit on redirect depth Throws MaxRedirectsException when limit is reached. -
Declaration
pure nothrow @nogc @property void
maxContentLength
(size_tv
);Set maximum content lenth both for http and ftp requests
v
- maximum content length in bytes. When limit reached - throws RequestException -
Declaration
pure nothrow @nogc @property void
maxHeadersLength
(size_tv
);Set maximum length for HTTP headers
v
- maximum length of the HTTP response. When limit reached - throws RequestException -
Declaration
@property void
bufferSize
(size_tv
);Set IO buffer size for http and ftp requests
v
- buffer size in bytes. -
Declaration
@property void
verbosity
(uintv
);Set
verbosity
for HTTP or FTP requests.v
-verbosity
level (0 - no output, 1 - headers to stdout, 2 - headers and data hexdump to stdout). default = 0. -
Declaration
@property void
authenticator
(Authv
);Set
authenticator
for http requests.v
- Auth instance.Example:
import requests; void main() { rq = Request(); rq.authenticator = new BasicAuthentication("user", "passwd"); rs = rq.get("http://httpbin.org/basic-auth/user/passwd"); }
-
Declaration
@property void
proxy
(stringv
);set
proxy
property.v
- full url toproxy
.Discussion
Note that we recognize
proxy
settings from process environment (see https://github.com/ikod/dlang-requests/issues/46): you can use http_proxy, https_proxy, all_proxy (as well as uppercase names). -
Declaration
pure nothrow @nogc @property void
cookie
(Cookie[]v
);Set Cookie for http requests.
v
- array ofcookie
.Discussion
You can set and read cookies. In the next example server set
cookie
and we read it.Example:
void main() { rs = rq.get("http://httpbin.org/cookies/set?A=abcd&b=cdef"); assert(rs.code == 200); auto json = parseJSON(cast(string)rs.responseBody.data).object["cookies"].object; assert(json["A"].str == "abcd"); assert(json["b"].str == "cdef"); foreach(c; rq.cookie) { final switch(c.attr) { case "A": assert(c.value == "abcd"); break; case "b": assert(c.value == "cdef"); break; } } }
-
Declaration
pure nothrow @nogc @property Cookie[]
cookie
();Get Cookie for http requests.
-
Declaration
pure nothrow @nogc @property void
useStreaming
(boolv
);set "streaming" property
v
= value to set (true
- use streaming).Discussion
Use streaming when you do not want to keep whole response in memory.
Example:
import requests; import std.stdio; void main() { Request rq = Request(); rq.useStreaming = true; auto rs = rq.get("http://example.com/SomeHugePicture.png"); auto stream = rs.receiveAsRange(); File file = File("SomeHugePicture.png", "wb"); while(!stream.empty) { file.rawWrite(stream.front); stream.popFront; } file.close(); }
-
Declaration
pure nothrow @nogc @property long
contentReceived
();get length og actually received content. this value increase over time, while we receive data
-
Declaration
pure nothrow @nogc @property long
contentLength
();get
contentLength
of the responce -
Declaration
@property void
sslSetVerifyPeer
(boolv
);Enable or disable ssl peer verification.
v
- enable iftrue
, disable iffalse
.Discussion
Default -
false
.Example:
auto rq = Request(); rq.sslSetVerifyPeer(true); auto rs = rq.get("https://localhost:4443/");
-
Declaration
pure nothrow @nogc @property @safe void
sslSetKeyFile
(stringpath
, SSLOptions.filetypetype
= SSLOptions.filetype.pem);Set
path
to ssl key file.Discussion
file
type
can be SSLOptions.filetype.pem (default) or SSLOptions.filetype.der or SSLOptions.filetype.asn1.
if you configured only key file or only cert file, we will try to load counterpart from the same file.Example:
auto rq = Request(); rq.sslSetKeyFile("client01.key"); auto rs = rq.get("https://localhost:4443/");
-
Declaration
pure nothrow @nogc @property @safe void
sslSetCertFile
(stringpath
, SSLOptions.filetypetype
= SSLOptions.filetype.pem);Set
path
to ssl cert file.Discussion
file
type
can be SSLOptions.filetype.pem (default) or SSLOptions.filetype.der or SSLOptions.filetype.asn1.
if you configured only key file or only cert file, we will try to load counterpart from the same file.Example:
auto rq = Request(); rq.sslSetCertFile("client01.crt"); auto rs = rq.get("https://localhost:4443/");
-
Declaration
pure nothrow @nogc @property @safe void
sslSetCaCert
(stringpath
);Set
path
to ssl ca cert file.Example:
auto rq = Request(); rq.sslSetCaCert("/opt/local/etc/openssl/cert.pem"); auto rs = rq.get("https://localhost:4443/");
-
Declaration
@property auto
bind
(stringv
);Set local address for any outgoing requests.
v
can be string with hostname or ip address. -
Declaration
void
addHeaders
(in string[string]headers
);Add
headers
to requestParameters
string[string]
headers
headers
to send.Example:
rq = Request(); rq.keepAlive = true; rq.addHeaders(["X-Header": "test"]);
-
Declaration
Response
get
(A...)(stringuri
, Aargs
);Execute GET for http and retrieve file for FTP. You have to provide at least
uri
. All other arguments should conform to HTTPRequest.get
or FTPRequest.get
depending on the URI scheme. When arguments do not conform scheme (for example you try to callget
("ftp://somehost.net/pub/README", {"a":"b"}) which doesn't make sense) you will receive Exception("Operation not supported for ftp") -
Declaration
Response
post
(A...)(stringuri
, Aargs
);Execute POST for http and STOR file for FTP. You have to provide
uri
and data. Data should conform to HTTPRequest.post
or FTPRequest.post
depending on the URI scheme. When arguments do not conform scheme you will receive Exception("Operation not supported for ftp") -
Declaration
Response
exec
(string method = "GET", A...)(stringuri
, Aargs
);Execute request with method
-


WITNESS LIST State Affairs Committee March 26, 2001-2:00P HB 1300 Against: Arnold, W. D. (Texas Cable and Telecommunications Association) Burt, Helen (Association of Electric Companies of Texas) Jewell, Michael (AT&T) Leahy, Timothy (Southwestern Bell) Registering, but not testifying: For: Briesemeister, Janee (Consumers Union) Smith, Tom "Smitty" (Public Citizen) Against: Zion, Mark (Texas Public Power Association) HB 1692 For: Gibson, Gary (Southwestern Public Service) On: Hudson, David (Southwestern Public Service) Registering, but not testifying: For: Bornsheuer, Jack (IBEW Local 716) Briesemeister, Janee (Consumers Union) Cooke, Alex "Ty" (CIty of Lubbock and West Texas Municipal Power Agency) Craven, Eric (Texas Electric Cooperatives) Dreyspring, Michael (Lea County Electric Cooperative) Fainter, John (Association of Electric Companies of Texas) Landry, Richard (Paper Allied Industrial Chemical and Energy Workers International Union) Levy, Rick (Texas State Association of Electric Workers and IBEW) Miller, Neal (The Chevron Companies) Moore, Julie (Occidental Petroleum Corp.) Oldham, Phillip (Texas Indutrial Energy Consumers in the SPS Service Territory) Oliver, Derrell (Lubbock Power and Light) Perry, Steve (Texaco Exploration and Production, Inc. and Texaco, Inc.) Rigsbee, Ken (Phillips Petroleum Company) Smith, Tom "Smitty" (Public Citizen) Tilley, Danny (Texas Building and Trades Council) Zion, Mark (Texas Public Power Association) HB 1736 For: Arnold, W. D. (Texas Cable and Telecommunications Association) Chapman, Randy (Texas Legal Services) Comedy, Don (Self) Craven, Eric (Texas Electric Cooperatives) Easum, Bryan (City of Tulia) Feldman, Lowell (Self) Harting, Sue Ann (Mayor Robert Campbell of Crawford) Honold, Brad (Self) McMillan, David (Floresville Electric Light and Power System) Melchior, Rick (Self and Texas Rural Development Council) Montgomery, Monty (Development Corporation of Haskell, Inc.) Nobles, Amanda (Self and Texas Economic Development Sales Tax Association) O'Brien, Philip (Hughes Network Systems) Thompson, Larry (Coleman Development Corporation) Against: Atwell, Larry (Verizon) Erhart, Carl (Verizon) Gray, Weldon (Eastex Telephone Cooperative, Texas Telephone Association and TSTCI) Lopez, Dave (Southwestern Bell) On: Clark, Candice (Southwest Competitive Telecommunications Association) Combs, Susan (Texas Department of Agriculture) Crick, Gene (TeleCommunity Resource Center) Perlman, Brett (Public Utility Commission of Texas) Ratliff, Thomas (Western Wireless) Sharp, Kent (Self) Tessen, Robert "Sam" (Telecommunications Infrastructure Fund) Walker, Craig (Health Care Computer Corporation) Whittington, Pam (Public Utility Commission of Texas) Willis, D. L. "Dally" (Texas Political & Legislative Committee of the Communications Workers of America) Registering, but not testifying: For: Briesemeister, Janee (Consumers Union) Crutchfield, John (Harlingen Area Chamber of Commerce and Development Corporation of Harlingen) Darte, Tom (Greenville Electric Utility System) Delabarre, Ed (Texas Association of Telecommunication Officers) Igo, Shanna (Texas Municipal League) Jones, John (State Bar of Texas Legal Services to the Poor in Civil Committee) Meraz, Gloria (Texas Library Association) Schwab, Carlton (Texas Economic Development Council) Shochet, Eileen (TIF Library Working Group) Strover, Sharon (Self) Against: Camacho, Jose (Valor Telecom) Jones, Tom (Sprint) Wyatt, Mark (Texas Telephone Association) On: Brown, William (CWA Local 6171) Bugher, Lourdes (Communications Workers of America) Cortez, Ralph (CWA Local 6143) Davis, W. L. (Communications Workers of America) Deviney, Lee (Texas Department of Agriculture and Texas Agriculture Finance Authority) Estrada, Jose (CWA Local 6132) Fleming, Gary (SBC Communications) Flores, Raymond (Communications Workers of America) Garza, Alicia (CWA Local 6143) Garza, John (Communications Workers of America) Guthrie, Darrell (Public Utility Commission of Texas) Hallford, Currie (Communications Workers of America) Jewell, Michael (AT&T) Jimenez, Maria (CWA Local 6132) Kelly, Brian (General Services Commission) King, Clarence (Communications Workers of America) Lanford, Lane (Public Utility Commission of Texas) May, Steve (CWA Local 6171) Mueller, Paula (Public Utility Commission of Texas) Pinkley, Craig (Texas Department of Economic Development) Ramos, Andres (Communications Workers of America) Saucedo, Robert (CWA Local 6143) HB 2107 For: Briesemeister, Janee (Consumers Union) Galloway, Carol (Self) Gay, Geoffrey (Steering Committees of Cities served by TXU, CPL & TNMP) Hall, Jr., Alton (City of Houston) Against: Baker, Thomas (TXU and Association of Electric Companies of Texas) Roberson, Mark (American Electric Power) Schaeffer, Steve (Reliant Energy and Association of Electric Companies of Texas) On: Perlman, Brett (Public Utility Commission of Texas) Wood, Pat (Public Utility Commission of Texas) Registering, but not testifying: For: Biedrzycki, Carol (Texas Ratepayers Organization to Save Energy) Carter, Candice (AARP) Deike, Bobby (Economic Opportunity Advancement Corporation - Waco) Franke, Kelly (Combined Community Action, Inc.) Jocho, Sheila (Economic Opportunity Advancement Corporation - Waco) Landrum, Carla (Economic Opportunity Advancement Corporation - Waco) Landry, Richard (Paper Allied Industrial, Chemical and Energy Workers International Union) Lemieux, Kerrin (Texas Alliance for Human Needs) Littles, Paula (Texas AFL-CIO) Mardiros, Lara (Self and Texas Association of Community Action Agencies) Rodriguez, Stella (Texas Association of Community Action Agencies) Smith, Mark (Texas Industries) Smith, Tom "Smitty" (Public Citizen) Stange, Darlene (Combined Community Action, Inc.) Stone, Shelly (Economic Opportunity Advancement Corporation - Waco) Summers, Glenn (Economic Opportunity Advancement Corporation - Waco) On: Bornsheuer, Jack (IBEW Local 716) Levy, Rick (Texas State Assoication of Electric Workers and IBEW) Tilley, Danny (Texas Building & Trades Council) HB 2156 For: Chapman, Randall (Texas Legal Sevices Center) On: Perlman, Brett (Public Utility Commission of Texas) Registering, but not testifying: For: Biedrzycki, Carol (Texas Ratepayers Organization to Save Energy) Briesemeister, Janee (Consumers Union) On: Durso, Susan (Public Utility Commission of Texas) Ervin, Janis (Public Utility Commission of Texas) Essler, Jim (Texas Department of Human Services) Fagan, Jennifer (Public Utility Commission of Texas) HB 2262 For: Coble, John (Texas Optometric Association) Against: Canada, Don (Texas Association of Optometrists) Glene, Donald (Self and Texas Association of Optometrists) Hanna, Mark (Texas Association of Optometrists) Richardson, C. Bruce (Opticians Association of Texas) Zweig, Brian (Self) Registering, but not testifying: For: Avery, B. J. (Texas Optometric Association) Niemann, Fred (Texas Optometric Association) Sorrenson, Laurie (Texas Optometric Association) Against: Schwartz, A. R. "Babe" (Texas Association of Retail Optical Companies) HB 2388 For: Briesemeister, Janee (Consumers Union) On: Brown, Brook (Texas Telephone Association) Cohen, Bruce (Verizon) Lopez, Dave (Southwestern Bell) Registering, but not testifying: For: Ratliff, Thomas (Western Wireless) On: Camacho, Jose (Valor Telecom) Durso, Susan (Public Utility Commission of Texas) Srininasa, Nara (Public Utility Commission of Texas) HB 2519 For: Brown, Steve (Self) Hudgeons, Jerry (Self) Against: Bornsheuer, Jack (International Brotherhood of Electrical Workers) Tilley, Danny (Texas Building and Trades Council) Registering, but not testifying: Against: Landry, Richard (Paper Allied Industrial, Chemical and Energy Worker International Union) Pomikahl, Randy (IEC of Texas) HB 2589 Registering, but not testifying: On: Purcell, Carolyn (Department of Information Resources) HB 2772 Registering, but not testifying: For: Woodford, Suzy (Self and Common Cause Texas) On: Cook, Chris (Comptroller of Public Accounts) Esquivel, Eddie (Department of Information Resources) HCR 116 Registering, but not testifying: For: Smith, Tom "Smitty" (Public Citizen)


Class: $.Complicated.LabelModel
- Inherits:
-
Toybox.Lang.Object
-
Toybox.Lang.Object
-
Overview
Model for complications that have the following appearance
-
An identifier icon
-
A label under the icon
Instance Member Summary collapse
Instance Method Summary collapse
-
initialize(l as String, i as BitmapType)
Constructor.
Instance Attribute Details
var icon as as BitmapType
Icon
var label as as String
Label
Instance Method Details
initialize(l as String, i as BitmapType)
Constructor


HTTPie (pronounced aitch-tee-tee-pie) is a command line HTTP client.
Its goal is to make CLI interaction with web services as human-friendly
as possible. It provides a simple http
command that allows for sending
arbitrary HTTP requests using a simple and natural syntax, and displays
colorized output. HTTPie can be used for testing, debugging, and
generally interacting with HTTP servers.
- Expressive and intuitive syntax
- Formatted and colorized terminal output
- Built-in JSON support
- Forms and file uploads
- HTTPS, proxies, and authentication
- Arbitrary request data
- Custom headers
- Persistent sessions
- Wget-like downloads
- Python 2.6, 2.7 and 3.x support
- Linux, Mac OS X and Windows support
- Plugins
- Documentation
- Test coverage
On macOS, HTTPie can be installed via Homebrew
(recommended):
$ brew install httpie
A MacPorts port is also available:
$ port install httpie
Most Linux distributions provide a package that can be installed using the
system package manager, e.g.:
# Debian-based distributions such as Ubuntu:
$ apt-get install httpie
# RPM-based distributions:
$ yum install httpie
# Arch Linux
$ pacman -S httpie
A universal installation method (that works on Windows, Mac OS X, Linux, …,
and always provides the latest version) is to use pip:
# Make sure we have an up-to-date version of pip and setuptools:
$ pip install --upgrade pip setuptools
$ pip install --upgrade httpie
(If pip
installation fails for some reason, you can try
easy_install httpie
as a fallback.)
The latest development version can be installed directly from GitHub:
# Mac OS X via Homebrew
$ brew install httpie --HEAD
# Universal
$ pip install --upgrade https://github.com/jkbrzt/httpie/archive/master.tar.gz
Although Python 2.6 and 2.7 are supported as well, it is recommended to install
HTTPie against the latest Python 3.x whenever possible. That will ensure that
some of the newer HTTP features, such as SNI (Server Name Indication),
work out of the box.
Python 3 is the default for Homebrew installations starting with version 0.9.4.
To see which version HTTPie uses, run http --debug
.
Hello World:
$ http httpie.org
Synopsis:
$ http [flags] [METHOD] URL [ITEM [ITEM]]
See also http --help
.
Custom HTTP method, HTTP headers and JSON data:
$ http PUT example.org X-API-Token:123 name=John
Submitting forms:
$ http -f POST example.org hello=World
See the request that is being sent using one of the output options:
$ http -v example.org
Use Github API to post a comment on an
issue
with authentication:
$ http -a USERNAME POST https://api.github.com/repos/jkbrzt/httpie/issues/83/comments body='HTTPie is awesome! :heart:'
Upload a file using redirected input:
$ http example.org < file.json
Download a file and save it via redirected output:
$ http example.org/file > file
Download a file wget
style:
$ http --download example.org/file
Use named sessions to make certain aspects or the communication persistent
between requests to the same host:
$ http --session=logged-in -a username:password httpbin.org/get API-Key:123
$ http --session=logged-in httpbin.org/headers
Set a custom Host
header to work around missing DNS records:
$ http localhost:8000 Host:example.com
The name of the HTTP method comes right before the URL argument:
$ http DELETE example.org/todos/7
Which looks similar to the actual Request-Line
that is sent:
DELETE /todos/7 HTTP/1.1
When the METHOD
argument is omitted from the command, HTTPie defaults to
either GET
(with no request data) or POST
(with request data).
The only information HTTPie needs to perform a request is a URL.
The default scheme is, somewhat unsurprisingly, http://
,
and can be omitted from the argument – http example.org
works just fine.
If you find yourself manually constructing URLs with
on the terminal, you may appreciate the param==value
syntax for appending
URL parameters. With that, you don't have to worry about escaping the &
separators for your shell. Also, special characters in parameter values,
will also automatically escaped (HTTPie otherwise expects the URL to be
already escaped). To search for HTTPie logo
on Google Images you could use
this command:
$ http www.google.com search=='HTTPie logo' tbm==isch
GET /?search=HTTPie+logo&tbm=isch HTTP/1.1
Additionally, curl-like shorthand for localhost is supported.
This means that, for example :3000
would expand to http://localhost:3000
If the port is omitted, then port 80 is assumed.
$ http :/foo
GET /foo HTTP/1.1
Host: localhost
$ http :3000/bar
GET /bar HTTP/1.1
Host: localhost:3000
$ http :
GET / HTTP/1.1
Host: localhost
You can use the --default-scheme <URL_SCHEME>
option to create
shortcuts for other protocols than HTTP:
$ alias https='http --default-scheme=https'
There are a few different request item types that provide a
convenient mechanism for specifying HTTP headers, simple JSON and
form data, files, and URL parameters.
They are key/value pairs specified after the URL. All have in
common that they become part of the actual request that is sent and that
their type is distinguished only by the separator used:
:
, =
, :=
, ==
, @
, [email protected]
, and :[email protected]
. The ones with an
@
expect a file path as value.
| Item Type |
Description |
HTTP Headers
Name:Value
|
Arbitrary HTTP header, e.g. X-API-Token:123 . |
URL parameters
name==value
|
Appends the given name/value pair as a query
string parameter to the URL.
The == separator is used. |
Data Fields
field=value ,
[email protected]
|
Request data fields to be serialized as a JSON
object (default), or to be form-encoded
(--form, -f ). |
Raw JSON fields
field:=json ,
field:[email protected]
|
Useful when sending JSON and one or
more fields need to be a Boolean , Number ,
nested Object , or an Array , e.g.,
meals:='["ham","spam"]' or pies:=[1,2,3]
(note the quotes). |
Form File Fields
[email protected]/dir/file
|
Only available with --form, -f .
For example [email protected]~/Pictures/img.png .
The presence of a file field results
in a multipart/form-data request. |
Note that data fields aren't the only way to specify request data:
Redirected input is a mechanism for passing arbitrary data request
request.
You can use \
to escape characters that shouldn't be used as separators
(or parts thereof). For instance, foo\==bar
will become a data key/value
pair (foo=
and bar
) instead of a URL parameter.
Often it is necessary to quote the values, e.g. foo='bar baz'
.
If any of the field names or headers starts with a minus
(e.g., -fieldname
), you need to place all such items after the special
token --
to prevent confusion with --arguments
:
$ http httpbin.org/post -- -name-starting-with-dash=foo -Unusual-Header:bar
POST /post HTTP/1.1
-Unusual-Header: bar
Content-Type: application/json
{
"-name-starting-with-dash": "value"
}
JSON is the lingua franca of modern web services and it is also the
implicit content type HTTPie by default uses.
Simple example:
$ http PUT example.org name=John email=[email protected]
PUT / HTTP/1.1
Accept: application/json, */*
Accept-Encoding: gzip, deflate
Content-Type: application/json
Host: example.org
{
"name": "John",
"email": "[email protected]"
}
If your command includes some data request items, they are serialized as a JSON
object by default. HTTPie also automatically sets the following headers,
both of which can be overwritten:
Content-Type |
application/json |
Accept |
application/json, */* |
You can use --json, -j
to explicitly set Accept
to application/json
regardless of whether you are sending data
(it's a shortcut for setting the header via the usual header notation:
http url Accept:'application/json, */*'
). Additionally,
HTTPie will try to detect JSON responses even when the
Content-Type
is incorrectly text/plain
or unknown.
Non-string fields use the :=
separator, which allows you to embed raw JSON
into the resulting object. Text and raw JSON files can also be embedded into
fields using [email protected]
and :[email protected]
:
$ http PUT api.example.com/person/1 \
name=John \
age:=29 married:=false hobbies:='["http", "pies"]' \ # Raw JSON
<EMAIL_ADDRESS>\ # Embed text file
<EMAIL_ADDRESS># Embed JSON file
PUT /person/1 HTTP/1.1
Accept: application/json, */*
Content-Type: application/json
Host: api.example.com
{
"age": 29,
"hobbies": [
"http",
"pies"
],
"description": "John is a nice guy who likes pies.",
"married": false,
"name": "John",
"bookmarks": {
"HTTPie": "http://httpie.org",
}
}
Please note that with this syntax the command gets unwieldy when sending
complex data. In that case it's always better to use redirected input:
$ http POST api.example.com/person/1 < person.json
The currently supported authentication schemes are Basic and Digest
(see auth plugins for more). There are two flags that control authentication:
--auth, -a |
Pass a username:password pair as
the argument. Or, if you only specify a username
(-a username ), you'll be prompted for
the password before the request is sent.
To send an empty password, pass username: .
The username:[email protected] URL syntax is
supported as well (but credentials passed via -a
have higher priority). |
--auth-type, -A |
Specify the auth mechanism. Possible values are
basic and digest . The default value is
basic so it can often be omitted. |
$ http -a username:password example.org
$ http -A digest -a username:password example.org
$ http -a username example.org
Authorization information from your ~/.netrc
file is honored as well:
$ cat ~/.netrc
machine httpbin.org
login httpie
password test
$ http httpbin.org/basic-auth/httpie/test
HTTP/1.1 200 OK
[...]
Additional authentication mechanism can be installed as plugins.
They can be found on the Python Package Index.
Here's a few picks:
By default, HTTP redirects are not followed and only the first
response is shown:
$ http httpbin.org/redirect/3
To instruct HTTPie to follow the Location
header of 30x
responses
and show the final response instead, use the --follow, -F
option:
$ http --follow httpbin.org/redirect/3
To change the default limit of maximum 30
redirects, use the
--max-redirects=<limit>
option:
$ http --follow --all --max-redirects=5 httpbin.org/redirect/3
You can specify proxies to be used through the --proxy
argument for each
protocol (which is included in the value in case of redirects across protocols):
$ http --proxy=http:http://<IP_ADDRESS>:3128 --proxy=https:https://<IP_ADDRESS>:1080 example.org
With Basic authentication:
$ http --proxy=http:http://user:[email protected]:3128 example.org
You can also configure proxies by environment variables HTTP_PROXY
and
HTTPS_PROXY
, and the underlying Requests library will pick them up as well.
If you want to disable proxies configured through the environment variables for
certain hosts, you can specify them in NO_PROXY
.
In your ~/.bash_profile
:
export HTTP_PROXY=http://<IP_ADDRESS>:3128
export HTTPS_PROXY=https://<IP_ADDRESS>:1080
export NO_PROXY=localhost,example.com
To enable SOCKS proxy support please install requests[socks]
using pip
:
$ pip install -U requests[socks]
Usage is the same as for other types of proxies:
$ http --proxy=http:socks5://user:[email protected]:port --proxy=https:socks5://user:[email protected]:port example.org
To skip the host's SSL certificate verification, you can pass --verify=no
(default is yes
):
$ http --verify=no https://example.org
You can also use --verify=<CA_BUNDLE_PATH>
to set a custom CA bundle path:
$ http --verify=/ssl/custom_ca_bundle https://example.org
To use a client side certificate for the SSL communication, you can pass
the path of the cert file with --cert
:
$ http --cert=client.pem https://example.org
If the private key is not contained in the cert file you may pass the
path of the key file with --cert-key
:
$ http --cert=client.crt --cert-key=client.key https://example.org
Use the --ssl=<PROTOCOL>
to specify the desired protocol version to use.
This will default to SSL v2.3 which will negotiate the highest protocol that both
the server and your installation of OpenSSL support. The available protocols
are ssl2.3
, ssl3
, tls1
, tls1.1
, tls1.2
. (The actually
available set of protocols may vary depending on your OpenSSL installation.)
# Specify the vulnerable SSL v3 protocol to talk to an outdated server:
$ http --ssl=ssl3 https://vulnerable.example.org
If you use HTTPie with Python version lower than 2.7.9
(can be verified with http --debug
) and need to talk to servers that
use SNI (Server Name Indication) you need to install some additional
dependencies:
$ pip install --upgrade requests[security]
You can use the following command to test SNI support:
$ http https://sni.velox.ch
By default, HTTPie only outputs the final response and the whole response
message is printed (headers as well as the body). You can control what should
be printed via several options:
--headers, -h |
Only the response headers are printed. |
--body, -b |
Only the response body is printed. |
--verbose, -v |
Print the whole HTTP exchange (request and response).
This option also enables --all (see bellow). |
--print, -p |
Selects parts of the HTTP exchange. |
--verbose
can often be useful for debugging the request and generating
documentation examples:
$ http --verbose PUT httpbin.org/put hello=world
PUT /put HTTP/1.1
Accept: application/json, */*
Accept-Encoding: gzip, deflate
Content-Type: application/json
Host: httpbin.org
User-Agent: HTTPie/0.2.7dev
{
"hello": "world"
}
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 477
Content-Type: application/json
Date: Sun, 05 Aug 2012 00:25:23 GMT
Server: gunicorn/0.13.4
{
[…]
}
All the other output options are under the hood just shortcuts for
the more powerful --print, -p
. It accepts a string of characters each
of which represents a specific part of the HTTP exchange:
| Character |
Stands for |
H |
request headers |
B |
request body |
h |
response headers |
b |
response body |
Print request and response headers:
$ http --print=Hh PUT httpbin.org/put hello=world
As an optimization, the response body is downloaded from the server
only if it's part of the output. This is similar to performing a HEAD
request, except that it applies to any HTTP method you use.
Let's say that there is an API that returns the whole resource when it is
updated, but you are only interested in the response headers to see the
status code after an update:
$ http --headers PATCH example.org/Really-Huge-Resource name='New Name'
Since we are only printing the HTTP headers here, the connection to the server
is closed as soon as all the response headers have been received.
Therefore, bandwidth and time isn't wasted downloading the body
which you don't care about. The response headers are downloaded always,
even if they are not part of the output
HTTPie does several things by default in order to make its terminal output
easy to read.
Binary data is suppressed for terminal output, which makes it safe to perform
requests to URLs that send back binary data. Binary data is suppressed also in
redirected, but prettified output. The connection is closed as soon as we know
that the response body is binary,
$ http example.org/Movie.mov
You will nearly instantly see something like this:
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Encoding: gzip
Content-Type: video/quicktime
Transfer-Encoding: chunked
+-----------------------------------------+
| NOTE: binary data not shown in terminal |
+-----------------------------------------+
HTTPie uses a different set of defaults for redirected output than for
terminal output. The differences being:
- Formatting and colors aren't applied (unless
--pretty
is specified).
- Only the response body is printed (unless one of the output options is set).
- Also, binary data isn't suppressed.
The reason is to make piping HTTPie's output to another programs and
downloading files work with no extra flags. Most of the time, only the raw
response body is of an interest when the output is redirected.
Download a file:
$ http example.org/Movie.mov > Movie.mov
Download an image of Octocat, resize it using ImageMagick, upload it elsewhere:
$ http octodex.github.com/images/original.jpg | convert - -resize 25% - | http example.org/Octocats
Force colorizing and formatting, and show both the request and the response in
less
pager:
$ http --pretty=all --verbose example.org | less -R
The -R
flag tells less
to interpret color escape sequences included
HTTPie`s output.
You can create a shortcut for invoking HTTPie with colorized and paged output
by adding the following to your ~/.bash_profile
:
function httpless {
# `httpless example.org'
http --pretty=all --print=hb "[email protected]" | less -R;
}
HTTPie features a download mode in which it acts similarly to wget
.
When enabled using the --download, -d
flag, response headers are printed to
the terminal (stderr
), and a progress bar is shown while the response body
is being saved to a file.
$ http --download https://github.com/jkbrzt/httpie/archive/master.tar.gz
HTTP/1.1 200 OK
Content-Disposition: attachment; filename=httpie-master.tar.gz
Content-Length: 257336
Content-Type: application/x-gzip
Downloading 251.30 kB to "httpie-master.tar.gz"
Done. 251.30 kB in 2.73862s (91.76 kB/s)
If not provided via --output, -o
, the output filename will be determined
from Content-Disposition
(if available), or from the URL and
Content-Type
. If the guessed filename already exists, HTTPie adds a unique
suffix to it.
You can also redirect the response body to another program while the response
headers and progress are still shown in the terminal:
$ http -d https://github.com/jkbrzt/httpie/archive/master.tar.gz | tar zxf -
If --output, -o
is specified, you can resume a partial download using the
--continue, -c
option. This only works with servers that support
Range
requests and 206 Partial Content
responses. If the server doesn't
support that, the whole file will simply be downloaded:
$ http -dco file.zip example.org/file
- The
--download
option only changes how the response body is treated.
- You can still set custom headers, use sessions,
--verbose, -v
, etc.
-
--download
always implies --follow
(redirects are followed).
- HTTPie exits with status code
1
(error) if the body hasn't been fully
downloaded.
-
Accept-Encoding
cannot be set with --download
.
Responses are downloaded and printed in chunks which allows for streaming
and large file downloads without using too much memory. However, when
colors and formatting is applied, the whole response is buffered and only
then processed at once.
You can use the --stream, -S
flag to make two things happen:
The output is flushed in much smaller chunks without any buffering,
which makes HTTPie behave kind of like tail -f
for URLs.
Streaming becomes enabled even when the output is prettified: It will be
applied to each line of the response and flushed immediately. This makes
it possible to have a nice output for long-lived requests, such as one
to the Twitter streaming API.
Prettified streamed response:
$ http --stream -f -a YOUR-TWITTER-NAME https://stream.twitter.com/1/statuses/filter.json track='Justin Bieber'
Streamed output by small chunks alá tail -f
:
# Send each new tweet (JSON object) mentioning "Apple" to another
# server as soon as it arrives from the Twitter streaming API:
$ http --stream -f -a YOUR-TWITTER-NAME https://stream.twitter.com/1/statuses/filter.json track=Apple \
| while read tweet; do echo "$tweet" | http POST example.org/tweets ; done
By default, every request HTTPie makes is completely independent of any
previous ones to the same host.
However, HTTPie also supports persistent
sessions via the --session=SESSION_NAME_OR_PATH
option. In a session,
custom headers—except for the ones starting with Content-
or If-
—,
authorization, and cookies
(manually specified or sent by the server) persist between requests
to the same host.
# Create a new session
$ http --session=/tmp/session.json example.org API-Token:123
# Re-use an existing session — API-Token will be set:
$ http --session=/tmp/session.json example.org
All session data, including credentials, cookie data,
and custom headers are stored in plain text.
That means session files can also be created and edited manually in a text
editor—they are regular JSON.
You can create one or more named session per host. For example, this is how
you can create a new session named user1
for example.org
:
$ http --session=user1 -a user1:password example.org X-Foo:Bar
From now onw, you can refer to the session by its name. When you choose to
use the session again, any the previously used authorization and HTTP headers
will automatically be set:
$ http --session=user1 example.org
To create or reuse a different session, simple specify a different name:
$ http --session=user2 -a user2:password example.org X-Bar:Foo
Named sessions' data is stored in JSON files in the directory
~/.httpie/sessions/<host>/<name>.json
(%APPDATA%\httpie\sessions\<host>\<name>.json
on Windows).
Instead of a name, you can also directly specify a path to a session file. This
allows for sessions to be re-used across multiple hosts:
$ http --session=/tmp/session.json example.org
$ http --session=/tmp/session.json admin.example.org
$ http --session=~/.httpie/sessions/another.example.org/test.json example.org
$ http --session-read-only=/tmp/session.json example.org
To use an existing session file without updating it from the request/response
exchange once it is created, specify the session name via
--session-read-only=SESSION_NAME_OR_PATH
instead.
HTTPie uses a simple JSON config file.
The default location of the configuration file is ~/.httpie/config.json
(or %APPDATA%\httpie\config.json
on Windows). The config directory
location can be changed by setting the HTTPIE_CONFIG_DIR
environment variable. To view the exact location run http --debug
.
The JSON file contains an object with the following keys:
An Array
(by default empty) of default options that should be applied to
every invocation of HTTPie.
For instance, you can use this option to change the default style and output
options: "default_options": ["--style=fruity", "--body"]
Another useful
default option could be "--session=default"
to make HTTPie always
use sessions (one named default
will automatically be used).
Or you could change the implicit request content type from JSON to form by
adding --form
to the list.
Default options from the config file, or specified any other way,
can be unset for a particular invocation via --no-OPTION
arguments passed
on the command line (e.g., --no-style
or --no-session
).
When using HTTPie from shell scripts, it can be handy to set the
--check-status
flag. It instructs HTTPie to exit with an error if the
HTTP status is one of 3xx
, 4xx
, or 5xx
. The exit status will
be 3
(unless --follow
is set), 4
, or 5
,
respectively.
#!/bin/bash
if http --check-status --ignore-stdin --timeout=2.5 HEAD example.org/health &> /dev/null; then
echo 'OK!'
else
case $? in
2) echo 'Request timed out!' ;;
3) echo 'Unexpected HTTP 3xx Redirection!' ;;
4) echo 'HTTP 4xx Client Error!' ;;
5) echo 'HTTP 5xx Server Error!' ;;
6) echo 'Exceeded --max-redirects=<n> redirects!' ;;
*) echo 'Other Error!' ;;
esac
fi
The default behaviour of automatically reading stdin
is typically not
desirable during non-interactive invocations. You most likely want
use the --ignore-stdin
option to disable it.
It is a common gotcha that without this option HTTPie seemingly hangs.
What happens is that when HTTPie is invoked for example from a cron job,
stdin
is not connected to a terminal.
Therefore, rules for redirected input apply, i.e., HTTPie starts to read it
expecting that the request body will be passed through.
And since there's no data nor EOF
, it will be stuck. So unless you're
piping some data to HTTPie, this flag should be used in scripts.
Also, it's might be good to override the default 30
second --timeout
to
something that suits you.
The syntax of the command arguments closely corresponds to the actual HTTP
requests sent over the wire. It has the advantage that it's easy to remember
and read. It is often possible to translate an HTTP request to an HTTPie
argument list just by inlining the request elements. For example, compare this
HTTP request:
POST /collection HTTP/1.1
X-API-Key: 123
User-Agent: Bacon/1.0
Content-Type: application/x-www-form-urlencoded
name=value&name2=value2
with the HTTPie command that sends it:
$ http -f POST example.org/collection \
X-API-Key:123 \
User-Agent:Bacon/1.0 \
name=value \
name2=value2
Notice that both the order of elements and the syntax is very similar,
and that only a small portion of the command is used to control HTTPie and
doesn't directly correspond to any part of the request (here it's only -f
asking HTTPie to send a form request).
The two modes, --pretty=all
(default for terminal) and --pretty=none
(default for redirected output), allow for both user-friendly interactive use
and usage from scripts, where HTTPie serves as a generic HTTP client.
As HTTPie is still under heavy development, the existing command line
syntax and some of the --OPTIONS
may change slightly before
HTTPie reaches its final version 1.0
. All changes are recorded in the
change log.
Please use the following support channels:


Chrome OS 78 brings Virtual Desk keyboard shortcuts, click-to-call, simpler printing, and more
by Joe FedewaGoogle is announcing a slew of features that are now available in Chrome OS 78, which is rolling out today. These additions build upon previously launched features and they continue to polish the ever-evolving Chromebook OS. Keyboard shortcuts have been added to Virtual Desks, Click-to-call is ready for primetime, printing gets easier, and more. Let’s dive in.
Virtual Desks were introduced to the stable channel in Chrome OS 76 back in August. To make using Virtual Desks even more convenient, Google is adding highly requested keyboard shortcuts. The shortcuts allow you to create a new Desk, switch between Desks, and move windows between Desks. Here’s how to use the shortcuts:
- Create a new Desk with “Shift” + “Search ” + “=”
- Switch between Desks with “Search ” + “]”
- Move windows between Desks with “Shift” + “Search ” + “]”
Next up is Click-to-Call, which is something we’ve been tracking for a while. The feature allows you to highlight/right-click a phone number on the desktop and send it to your Android phone to easily make a call. It was added in Chrome OS 78 beta, but now it’s enabled in the stable channel for everyone. To make sure you have the feature, sign in to your Google account on your Chromebook and phone.
Chrome OS 78 will allow compatible printers to automatically show up in your printer list without setup. All you have to do to print something is press Ctrl + P and choose the printer. Google says they’ve also reduced the steps it takes to save a printer to your profile. You can also now save a printer to be the default, which should save time as well.
Lastly, Google has made it easier to share feedback. All you have to do is press and hold the power button on your Chromebook. This will bring up the power menu, which now has a shortcut to “Feedback.” This will take you to a screen where you can input your feedback about anything.
Source: Google


3D Simo: The One 3D Printing Tool to Rule Them All
3D Simo pens are hoping to change the world of 3D printing.
by Christopher McFaddenWouldn't it be great if you could simply draw and 3D print something right in front of you? Well, that's exactly what 3D Simo's range of pens is designed to do.
If you want to be able to create 3D sculptures out of thin air without the need for a bulky 3D printer then you might want to consider treating yourself to a 3D Simo pen.
Here we introduce this innovative company and explore some of their expansive range of wonderful products.
RELATED: 7 3D PRINTERS TO START YOUR 3D PRINTING JOURNEY IN 2019
Who is 3D Simo?
3D Simo is a new up and coming company that has developed a series of products to bring 3D technology to the masses.
They are on a mission to create the next 21st century smart, compact tools and to encourage and inspire the creators of the future.
Their new generation 3D pens make use of a variety of thermoplastic materials that provide an enormous range of possibilities for 3D fanatics.
"Drawing with this pen is just a pleasure. It melts plastic evenly and that what makes it easier creating beautiful and neat drawings. My favorite part of this new device is a variety of materials that you can use with it. A drawing mat that goes in the set is also an excellent base you can use for drawing with your 3D pen." - penandplastic.com.
Their series of intuitive 3D pens are specifically designed to help make the process of designing and creating 3D objects as simple as possible. 3D Simo's series of products are designed to replace an entire suite of tools to enable amateurs and professionals to bring their 3D creations to the next level.
“What matters to us is the quality of our products, as well as the usability of our products in everyday life. At the same time, we are modernizing workshop equipment to the 21st century,” says the company's founder David Paškevič in a press release.
“Users can easily switch out attachments and the device will automatically register which one you’re using. Then, you can set the speed of extrusion, temperature, and material. Not only that, but you can use any 3D printer material on the market.”
What can you do with 3D Simo's pens?
As we have already highlighted, 3D Simo pens have been designed for a variety of tasks all in one device. While their primary function enables a user to 3D draw and print in a single step, with attachments they can do a lot more.
 Using the cutting tool you can easily shape and cut a piece of foam to make 3D letters, numbers or anything you can think of.
With the burning attachment, 3D Simo's range of pens will let you easily, and quickly, decorate surfaces like wood or leather in record time.
"It gives you the possibility to decorate old shoes, leather jackets or even wooden furniture which have become bored off. Remember, the longer you apply heat to the surface, the darker it will become." - penandplastic.com.
You can also solder with their specialized soldering tool. It works just as well as a purpose-built soldering iron and allows you to melt the solder and complete electrical connections with ease.
You can also use the soldering tool to make last-minute adjustments to your 3D plastic sculptures by melting and remolding the plastic.
3D Simo's range of products
As previously mentioned, the company has a range of products aimed at users of various ages and skill levels.
1. 3D Simo Basic is perfect for younger users
Aimed at young 3D amateurs, 3D Simo's Basic is specially designed to bring the wonders of 3D technology to children 8 years and above. It enables children to draw materials with an easy-to-use and intuitive 3 button pen.
All they need to do is pick up the pen and design their creation with ease right in front of them in real-time. No need for an expensive, and often complicated 3D printer.
What's more, it comes with a range of colors and is completely safe to use.
2. 3D Simo MultiPro is the only 3D pen you'll ever need
Combining universal tools for every conceivable need, this 3D pen is designed for use by professionals and more advanced amateurs. Like their basic model, MultiPro lets users create 3D objects by literally drawing them in the air.
Marketed as a small, hand-held workshop it comes with up to 7 changeable extensions that be used to solder, cut and burn too. All this in one compact, and intuitive, device.
3D Simo will also unveil the newest extensions: the power drill, jigsaw, and electric screwdriver very soon. Shipping should be available from December this year.
Prices start at $99 including 3 attachments. Other attachments can be bought through their website as and when required.
3. 3Dsimo Kit 2 is an open-source, customizable 3D pen
3D Simo's Kit 2 is their first open-source 3D printing pen that can be modified according to the user's specific requirements. For only $49, you can download the design, modify as needed and print it yourself on any 3D FDM printer.
"Every single plastic piece of this tool is printed on FDM printers and can be modified, changed or just printed all over again. You can find all manuals and technical information on our GitHub." - 3D Simo.
Just like the MultiPro, Kit 2 allows for 3D drawing, soldering, burning, foam cutting and more. But this is the first open-source mini-workshop.
All parts can be downloaded directly from the 3D Simo Github for free and edited to your needs.
4. Accessories and materials
3D Simo's range of pens comes with an entire suite of accessories and consumables to provide you with all the things you will ever. These include, but are not limited to: -
- Drawing pad
- Silicone drawing pad
- Replaceable spare tips for burning (MultiPro)
- Spare 3D drawing tools for Multipro
- 3D Smo's range of guides and books
- Nozzles
- Various stands
- Various connectors and power packs
- Spare tips for soldering and burning
- And many more.
Each pen is specifically designed to use a range of filaments of various colors and materials. They have a huge range available on their site so be sure to check it out.
So, if you want to get into 3D printing, or are looking for some more strings to your bow, you might just want to consider getting yourself a 3D Simo pen.


Coming Soon (The SendFriend app)
Why stand in line for 20 minutes and get ripped off with a high transaction cost? That’s not fair to you because you worked so hard for your money.
SendFriend innovated a solution that makes money transfers real time and cost-effective. By eliminating unnecessary steps in the money transfer process, SendFriend created cost-savings just so you and your loved can benefit from them.
SendFriend allows you to send money to your loved ones at a below market rate including both conversion rate and transaction fee.
SendFriend allows you to track the money as well as give you and your loved ones delivery notifications through text.
SendFriend makes all money transfers real time.
SendFriend guarantees your transaction or your money back immediately.


When we describe the general location of one place in relation to another, we generally do so using the 16 compass directions. For more accurate location information we state the true bearing between the two places by measuring the angular distance between them. (In exams it is a good idea to use bearing to check the accuracy of your direction answers.)


Data, Design and Society
Ewan Klein, Alyssa Alcorn
23 January 2016
Just Writing (10.00-10.15)
Today’s Prompts
5 mins today!
Alyssa Presentation
(10.20-11.00)
BIO BREAK
Preparing for Fast Hack
Class Time, Wednesday 27 Jan
Team rendezvous
Raise issues, problems with us
Class Time, Friday 29 Jan
Group presentations!
And submit your slides no later than 16:00 on Learn
Any closing issues, general questions
(11.45-11.50)


Internet of Things
Technology is about giving human beings superpowers. Early computers were tools that helped people perform basic tasks faster and also remember large sets of data. They were awesome for basic processing, storage and retrieval – but those abilities were tied to a local machine.
Then came the internet. Storage & retrieval coupled with the distribution of the internet gave us incredible reach and access. We could easily share, distribute and retrieve group knowledge - making us smarter, more connected, etc. But we were still tethered to a computer for this - until mobile. Now everyone has all of this magic in their pocket with them everywhere they go.
Software & technology has continually gotten better over the years and we can now easily store, share & access data anywhere, anytime. But what hasn’t materially changed much is the way we collect and input data. Most data is still collected by a person typing things in via a keyboard.
The iPhone gave us a taste of what life would be like with sensors embedded in our lives - collecting data and doing the input for us (GPS, accelerometer, fingerprint). We’re already seeing companies today leveraging these sensors top build awesome products like Nest, Fitbit, Estimote, etc.
As the cost of sensors continues to go down, they will continue to permeate everyday life. In another post I mentioned that in Taiwan as the bus gets close to the stop, it sends push notifications to users that are in the vicinity. That’s awesome, and just a tiny example of what is possible here.
So I’m really excited for everything around us to be connected & help us to collect data and transmit it. The benefits will be enormous, and we will see tons of revolutionary technologies that automate and improve our lives over the next few years.


During this week, we learned about sodering and electronics. First we learned each of the different parts in a cricut and their symbols.
Resistors limit the flow of electricty in the cricut. LED or Light Emitting Diode transfers the electrcity into light. Switch turns on and off
the flow of electrcity. The multimeter is a tool used to measure the volt and amps of a cricut. Potentiometer is type of resistor that is able to
change the resistance by sliding or rotating a dile. A diode has higher resistance in one direction, and lower in the other. Transistors are
used to switch the electric power. Capacitors store the electric energy for the cricut. The Breadboard connects all of the
componets without sodering. Ohms are the measure of resistance, Amps measure the current of electrcity and Volts measure the voltage. DC stands for direct current, and AC stands for alternate current. DC cricuts are
all in a linear fashion while AC are in a simultaneous fashion. Here are the all of the 15 practice cricuts I completed.
In this unit we also practiced sodering. We got all of the parts of the digital clock seperately, and had to soder them together to make it fuction.
We heated the metal tin up to 750 degrees until it melted. We got a small bead of liquid tin that would cool, and would connect each of the pieces together.
Our job was to create a digital clock by sodering all the componets together.


| Name | Description |
|---|---|
| DesktopComputer |
Extends from BaseClasses.BaseAppliance_AC.
| Type | Name | Default | Description |
|---|---|---|---|
| Power | Pnom | 20 | Nominal absorbed power (avg) [W] |
| Voltage | Vdc | 10 | DC voltage [V] |
| Real | cphinom | 0.9 | nominal power factor |
| Real | eta | 0.85 | DC supply efficiency |
| Boolean | ReleaseQ | false | release heat to port |
| HeatCapacity | C | 100 | equivalent heat capacity [J/K] |
| ThermalConductance | G | 2 | equivalent thermal conductance [W/K] |
| Temperature | Tstart | 273.15 + 20 | initial T [K] |
| Type | Name | Description |
|---|---|---|
| PosNegPhasorPins | plug | |
| HeatPort | heatPort | |
| output RealOutput | Pabs | Instantaneous power as output signal |
| output RealOutput | Qabs | Instantaneous power as output signal |
| input BooleanInput | ON |


Something prevented your request from completing.
We have no idea what just happened, and we didn't prepare for this error code. 🤷♂
Sorry, we can't connect to the server. Perhaps try again later.
Also, please remember that this is not a production system, but just a silly demo. So the server might not always be available.
We have this cool thing called client-side validation... It didn't quite work this time, *sigh*.
The server says you have to correct the following on your form:
▪ {{message}}
It looks like you tried to do something you're not authorized to. We understand who you are, but we can't find your special permission for this action.
Sorry, probably we shouldn't have exposed this feature to you.
Sorry, we couldn't access the resource you requested.
This normally shouldn't happen, and sadly chances are it's not a transient error. 🙄
The server didn't respond in time. Sorry. You might want to try again later. Or now, it's up to you. You're the boss. 🤜🤛
Uh-oh. This is what shouldn't happen.
The server couldn't process your request, in a rather unflattering way. This error might be transient, but chances are it's not. 🙄
The specific service you tried to access is currently unavailable. Our server told us that this is most likely a transient issue, so fingers crossed. 🤞
Here, have a cookie for trying: 🍪


Before Change
min_reduce += 1
total_words += sum(itervalues(vocab))
logger.info("collected %i word types from a corpus of %i words and %i sentences" %
(len(vocab), total_words, sentence_no + 1))
self.corpus_count = sentence_no + 1
self.raw_vocab = vocab
def scale_vocab(self, min_count=None, sample=None, dry_run=False):
After Change
vocab = defaultdict(int)
for sentence_no, sentence in enumerate(sentences):
if sentence_no % progress_per == 0:
logger.info("PROGRESS: at sentence //%i, processed %i words, keeping %i word types",
sentence_no, sum(itervalues(vocab)) + total_words, len(vocab))
for word in sentence:
vocab[word] += 1
if self.max_vocab_size and len(vocab) > self.max_vocab_size:


Package
Class
Use
Tree
Deprecated
Index
Help
PREV LETTER
NEXT LETTER
FRAMES
NO FRAMES
All Classes
A
C
D
E
F
G
H
I
M
O
P
R
S
T
U
C
calcDiscount()
- Method in class oops.
OrderInvoice
if the customer, which belongs to the order is a member, discount is allocated
calcSubTotal(Map<MenuItem, Integer>)
- Method in class oops.
OrderInvoice
calcTotal()
- Method in class oops.
OrderInvoice
The total cost of order is calculated depending on GST+discount
checkAvailability()
- Method in class oops.
Items
checkAvailability()
- Method in interface oops.
MenuItem
checkAvailability()
- Method in class oops.
PromotionalSetPackage
checkVeg()
- Method in class oops.
MainCourse
choseMenu()
- Method in class oops.
MenuChoice
compareTo(Items)
- Method in class oops.
Items
Used to sort the items in a menu according to their price, if price are equal, sorted by name
compareTo(PromotionalSetPackage)
- Method in class oops.
PromotionalSetPackage
Used to sort items by price
ConvertFromFile
- Class in
oops
ConvertFromFile()
- Constructor for class oops.
ConvertFromFile
create(SalesReport)
- Method in class oops.
DessertMenu
The function below create, remove, update, display,getItem,toFile etc are overridden because it realized the interface Menu
create(SalesReport)
- Method in class oops.
DrinkMenu
The function below create, remove, update, display,getItem,toFile etc are overridden because it realized the interface Menu
create(SalesReport, MenuItem)
- Method in class oops.
ItemsMenu
Constructor, takes in sales report
create(SalesReport)
- Method in class oops.
MainCourseMenu
The function below create, remove, update, display,getItem,toFile etc are overridden because it realized the interface Menu
create(SalesReport)
- Method in interface oops.
Menu
Creates a new item and adds to menu
create(SalesReport)
- Method in class oops.
PromotionalPackagesMenu
Creates a promotional Package
createOrder()
- Method in class oops.
Order
Creates a new order
createReservation(Customer)
- Method in class oops.
Reservation
Creates order
Customer
- Class in
oops
Customer()
- Constructor for class oops.
Customer
Reads attributes of customer
Package
Class
Use
Tree
Deprecated
Index
Help
PREV LETTER
NEXT LETTER
FRAMES
NO FRAMES
All Classes
A
C
D
E
F
G
H
I
M
O
P
R
S
T
U


|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |
| Packages that use org.apache.axis.wsdl.toJava | |
| org.apache.axis.description | |
| org.apache.axis.wsdl | |
| org.apache.axis.wsdl.toJava |
Classes in org.apache.axis.wsdl.toJava used by org.apache.axis.description| TypeEntry
|
This class represents a wsdl types entry that is supported by the WSDL2Java emitter. |
Classes in org.apache.axis.wsdl.toJava used by org.apache.axis.wsdl| GeneratedFileInfo
|
File info available after emit to describe what exactly was created by the Emitter. |
Classes in org.apache.axis.wsdl.toJava used by org.apache.axis.wsdl.toJava| BaseTypeMapping
|
Get the base language name for a qname BindingEntry
|
This class represents a WSDL binding. DefinedType
|
This Type is for a QName that is a complex or simple type, these types are always emitted. Element
|
This class represents a TypeEntry that is a type (complexType, simpleType, etc. Emitter
|
This class produces java files for stubs, skeletons, and types from a WSDL document. GeneratedFileInfo
|
File info available after emit to describe what exactly was created by the Emitter. GeneratedFileInfo.Entry
|
Structure to hold entries. JavaWriter
|
All of Wsdl2java's Writer implementations do some common stuff. MessageEntry
|
This class represents a WSDL message. Namespaces
|
This class is essentially a HashMap of Parameters
|
This class simply collects all the parameter or message data for an operation into one place. PortTypeEntry
|
This class represents a WSDL portType. ServiceEntry
|
This class represents a WSDL service. SymbolTable
|
This class represents a table of all of the top-level symbols from a set of WSDL Definitions and DOM Documents: XML types; WSDL messages, portTypes, bindings, and services. SymTabEntry
|
SymTabEntry is the base class for all symbol table entries. Type
|
This class represents a TypeEntry that is a type (complexType, simpleType, etc. TypeEntry
|
This class represents a wsdl types entry that is supported by the WSDL2Java emitter. Undefined
|
This Undefined interface is implemented by UndefinedType and UndefinedElement. Writer
|
This is the interface for all writers. WriterFactory
|
Writer and WriterFactory are part of the Writer framework. |
|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |


Numerical Formal Concept Analysis (nFCA) is a modern unsupervised learning tool for analyzing general numerical data. Given input data, this R package nFCA outputs two nFCA graphs: a H-graph and an I-graph that reveal systematic, hierarchical clustering and inherent structure of the data.
| Version: | 0.3 |
| Published: | 2015-02-15 |
| Author: | Junheng Ma, Jiayang Sun, and Guo-Qiang Zhang |
| Maintainer: | Junheng Ma <jxm216 at case.edu> |
| License: | GPL-2 |
| NeedsCompilation: | no |
| SystemRequirements: | Ruby, Graphviz |
| CRAN checks: | nFCA results |
| Reference manual: | nFCA.pdf |
| Package source: | nFCA_0.3.tar.gz |
| Windows binaries: | r-devel: nFCA_0.3.zip, r-release: nFCA_0.3.zip, r-oldrel: nFCA_0.3.zip |
| OS X binaries: | r-release: nFCA_0.3.tgz, r-oldrel: nFCA_0.3.tgz |
Please use the canonical form https://CRAN.R-project.org/package=nFCA to link to this page.


Diane and I decided to go to the Holy Cross City Trail on the spur of the moment, so there wasn't time to get anyone to go with us. We found the trail head and started up the rough and rocky road. There were a couple real challenging spots, especially with patches of heavy snow. On the way up we went past another entrance that was higher up on the trail. We crossed a stream and I was having a real tough time getting through due to deep snow and big rocks. It was just before the turn off for the hiking trail. I hiked up a bit and it didn't look like it was going to get much easier. We decided to turn around since the snow was deep, it was snowing, and it was around 3:00 in the afternoon.  After the all three of us were sated, we headed out. It was lots of fun and I'm looking forward to next summer when I can give it another shot.


--- title: Announcements layout: default bodyClass: page-services-list ---
Keep yourselves updated with the latest news from DRR's Desk
{{announcement.date | date: "%-d %B %Y"}}


(CAUTION: still under development) This is a Measure whose value at time t is the value that its source operand had at time t-delay for a specified delay.
More...
|
| | Delay (Subsystem &sub, const Measure_< T > &source, Real delay) |
| | Create a Measure whose output is the same as the given source measure but delayed by a time delay. More...
|
| |
| Delay & | setUseLinearInterpolationOnly (bool linearOnly) |
| | (Advanced) Restrict the Delay measure to use only linear interpolation to estimate delayed values. More...
|
| |
| Delay & | setCanUseCurrentValue (bool canUseCurrentValue) |
| | (Advanced) Allow the Delay measure to refer to the current value when estimating the delayed value. More...
|
| |
| Delay & | setSourceMeasure (const Measure_< T > &source) |
| | Replace the source measure. More...
|
| |
| Delay & | setDelay (Real delay) |
| | Change the delay time. More...
|
| |
| bool | getUseLinearInterpolationOnly () const |
| | Return the value of the "use linear interpolation only" flag. More...
|
| |
| bool | getCanUseCurrentValue () const |
| | Return the value of the "can use current value" flag. More...
|
| |
| const Measure_< T > & | getSourceMeasure () const |
| | Obtain a reference to the source Measure. More...
|
| |
| Real | getDelay () const |
| | Get the amount of time by which this Measure is delaying its source Measure. More...
|
| |
| | SimTK_MEASURE_HANDLE_PREAMBLE_ABSTRACT (Measure_, AbstractMeasure) |
| | This class is still abstract so we don't want it to allocate an Implementation object in its default constructor. More...
|
| |
| const T & | getValue (const State &s, int derivOrder=0) const |
| | Retrieve the Value of this Measure or one of its time derivatives, assuming the supplied State has been realized to at least the required stage for the selected value or derivative, as reported by getDependsOnStage(). More...
|
| |
| Measure_ & | setDefaultValue (const T &defaultValue) |
| | Change the default value associated with this Measure. More...
|
| |
| const T & | getDefaultValue () const |
| | Obtain a reference to the default value associated with this Measure.  More...
|
| |
| | AbstractMeasure (Subsystem &, Implementation *g, const SetHandle &) |
| | Construct this handle with a given Implementation object (whose reference count will be bumped) and then let the given Subsystem adopt this Measure (which will again bump the Implementation's reference count, leaving us with two new handles). More...
|
| |
| | AbstractMeasure (const AbstractMeasure &) |
| | Shallow copy constructor copies the pointer from the source Implementation object and bumps its reference count. More...
|
| |
| AbstractMeasure & | operator= (const AbstractMeasure &source) |
| | Shallow assignment operator results in this handle referencing the same Implementation object as does the source. More...
|
| |
| | ~AbstractMeasure () |
| | Destructor decrements the Implementation's reference count and deletes the object if the count goes to zero. More...
|
| |
| AbstractMeasure & | shallowAssign (const AbstractMeasure &) |
| | Shallow assignment operator destructs the current Implementation object (meaning its reference count is decremented and the object actually deleted only if the count goes to zero), then copies the Implementation pointer from the source and bumps its reference count. More...
|
| |
| AbstractMeasure & | deepAssign (const AbstractMeasure &source) |
| | Deep assignment clones the Implementation object pointed to by the source handle, so that this handle ends up pointing to a new Measure object similar to the original but not yet contained in any Subsystem. More...
|
| |
| int | getNumTimeDerivatives () const |
| | Every Measure can produce a value, and some can provide one or more total derivatives with respect to time of that value. More...
|
| |
| Stage | getDependsOnStage (int derivOrder=0) const |
| | At what Stage can we expect the value of this AbstractMeasure or one of its time derivatives to be available? Users of Measures will typically impose restrictions on the levels they will accept. More...
|
| |
| bool | isSameMeasure (const AbstractMeasure &other) const |
| | There can be multiple handles on the same Measure. More...
|
| |
| bool | isEmptyHandle () const |
| |
| bool | isInSubsystem () const |
| | Test whether this Measure object has been adopted by a Subsystem. More...
|
| |
| const Subsystem & | getSubsystem () const |
| | Return a reference to the Subsystem that owns this Measure. More...
|
| |
| MeasureIndex | getSubsystemMeasureIndex () const |
| | Return the MeasureIndex by which this Measure is known to the Subsystem that owns it. More...
|
| |
| const Implementation & | getImpl () const |
| |
| Implementation & | updImpl () |
| |
| bool | hasImpl () const |
| |
| int | getRefCount () const |
| |
template<class T>
class SimTK::Measure_< T >::Delay
(CAUTION: still under development) This is a Measure whose value at time t is the value that its source operand had at time t-delay for a specified delay.
For times prior to the start of a simulation this Measure behaves as though the source value had been constant at its initial value.
When the source Measure can provide a time derivative dvalue we use saved (t,value,dvalue) triples surrounding the required time to construct a cubic Hermite interpolant giving a third-order accurate estimate of the delayed value. Otherwise we use more data points to construct the cubic interpolant but the accuracy cannot be guaranteed. If there aren't enough data points, then linear interpolation is used instead. There is an option to force use of linear interpolation if you prefer.
In the case where the delayed time is within the current step, we would need the current source value in order to interpolate. We assume that is not available (commonly the current value depends on the delayed value) so have to extrapolate beyond the last buffered value in that case. Extrapolation is considerably less accurate than interpolation, so when step sizes are large compared to delay times the accuracy of the delayed value is reduced. In cases where the source does not depend on its delayed value, you can request that the current value be used if necessary, ensuring consistent accuracy. Alternatively, you can set the maximum integrator step size to be just less than the minimum delay time, guaranteeing that there will always be an entry already in the buffer that is later than any requested delayed time. That could have a substantial performance penalty if steps much larger than the delay would otherwise have been taken.
Implementation
This Measure maintains a variable-sized buffer holding values that the source measure and its time derivative (if available) had at each time step starting just prior to t-delay until just before the current time t. New values are added to the end of the buffer as integrator steps are completed, and old values that are no longer needed are removed from the beginning. When a value is requested at current time t, the Measure interpolates using values from just prior to t-delay and just afterwards to approximate the value at t-delay.
- See also
- Measure_::Integrate, Measure_::Differentiate


My name is
Payam Dowlatyari, and I am a Software Engineer in Silicon Valley, California.
I studied Software Engineering at UC Irvine and specialized in Web Development and Human-Computer
Interaction. I have experience
working in industry and academia and as a freelancer since 2019. My projects in UX Design include but
are not limited to User
Interface Design, Visual and Graphic Design, User Research, Wireframing, Prototyping, Information
Architecture, etc. Also, I offer Software Development services such as Backend Engineering,
Full-stack Web
Development,
and Database Management and Design.
Please check out my
resume for more details.
Well-designed user experience can make a real difference. I create user interfaces based upon UX principles.
Whether it is a static website or a dynamic and interactive application, I provide you with the right solution.
Data is the most valuable asset in the market. I design what and how data should be organized and retrieved.


Pig Latin Translator
Phrase to translate
Submit Survey
You use the following methods of transportation to travel to work or school:


{% extends 'main/base.html' %} {% load static %} {% block content %}
Thank you! We have your authorization from Open Humans.
Login into Source
Check this out here: {{ oh_proj_page }}


Mon May 20, 2019
Hey there dear reader - thanks for stopping by! We’re already five months into 2019, but this is the first blog post of the year, so I’m here to regale you with some delightfully random topics of interest. After all, we’re both here for a bit of entertainment aren’t we? A break from the relentless flow of our lives. Time never slows, and there are things in this world we should talk about.
Before we jump into it, I’d like to assure you that I’m alive and well, despite once again failing to keep up my end of the post-once-a-month bargain. I will also assure you that I will never mention this particular failing again, lest every post begins with another lame apology and an empty promise.
Having said that, my focus this year has been on developing some healthy fitness and eating habits. And, despite a setback every now and then, I’ve stuck with it since January. I know it’s working because the notch progression on my belt has reversed direction and my pants now look scrunched up at the waist and ridiculous.
A few years ago, my previous doctor told me to drink more red wine. I ignored him. And then my next doctor also told me to drink red wine - and eat unsalted almonds - or he would put me on cholesterol-lowering medication. He gave me until December to turn the ship around. Well, I don’t want to go on meds, but I don’t want to start a drinking habit either. So I eat lots of almonds now. And less chips and chocolate.
I’ll blame my high bad cholesterol / low good cholesterol as the impetus for my recent lifestyle changes, but the truth is - I’m getting old folks. And writers have the most sedentary lifestyle of all. We don’t even get up very often to go into meetings.
Anyway, enough idle chatter - I’ve put together a few random things you should know about in 2019 - after the break.
The ultimate nap hack
Who doesn’t love sleep (besides from all children everywhere)? I know I do. And besides from exercise, healthy eating, and lowering your stress levels, sleep is such an underrated - yet powerful - promoter of health.
Naps, of course, are a great way to give you a boost of energy, but they are also good for cardiovascular health - and I think I’ve discovered the holy grail of power naps. Full disclosure - I haven’t actually mastered the holy grail of power naps. So this is only an untested theory posited from an armchair sleep enthusiast. The fever dreams of a post-lunch mind.
The first step is to drink a strong cup of coffee.
Yes, you read that correctly. There is scientific evidence that chugging a java before taking a twenty-minute nap will prepare your brain to maximize the forthcoming caffeine jolt.
The second step is to fall asleep quickly before the coffee kicks in.
Falling asleep on command can be hard, especially under pressure. But all it takes is discipline. There are techniques, such as this one used by the military, that - with practice - will allow you to fall asleep in within two minutes.
Sounds great, right?
Now the only missing plug-in for this hack is having time allocated to this healthy habit. Unfortunately, the demise of the midday siesta in the modern world is a big step backwards. Let’s kill Daylight Savings Time and bring back the siesta - for the good of humankind. Why should napping only benefit the rich or the retired (or the freelancer)?
I support the war on drugs
No, not that war on drugs. The other war on drugs. I’m saying we should support natural measures to combat bugs - no more antibiotics, antimicrobials, or antifungals (unless it saves lives). The liberal use of these things is giving rise to drug-resistant superbugs that should give everybody nightmares.
If you want to know how the premise of Last of Us is becoming a reality, read this New York Times article on a nasty drug-resistant fungus called Candida auris.
For some reason, people are more afraid of AI wiping us out in a dystopian future despite the fact that it will take another hundred years for Siri to be vaguely threatening. But superbugs are here today and, on the path we’re on, it can only get worse.
Stream all the things?
Enough about health - let’s do a hard pivot back to the familiar territory of technology and talk about streaming services. Many Canadians, including myself, were eager early adopters of streaming services such as Netflix and Google Play Music when they arrived several years ago. But the so-called streaming wars have made our relationship with such services…complicated.
With cord-cutting becoming more prevalent, scraps over exclusivity have fragmented the video-streaming landscape in a big way.
The forthcoming Disney+ streaming platform, for example, caused Netflix to spitefully cancel all their Marvel shows. I really liked those shows. Also, Netflix keeps raising their prices to make more original content. Some of their homegrown shows are good, but most are forgettable. Almost all their movies are terrible.
Netflix can’t afford to pay billions of dollars in licensing fees for popular network shows forever - or may not have any choice in the matter. For instance, it looks like NBC will be removing the much-loved Friends and The Office from Netflix and starting up a their own streaming service. Can Netflix stand on original content alone? Perhaps. Brand loyalty goes a long way.
Meanwhile, Apple is throwing heaps of cash at stalwart celebrity heavyweights such as Oprah and Steven Spielberg in an effort to crack open the streaming market through brute force. Their efforts may be laughable so far (their media event for Apple TV+ didn’t show even one trailer), but you’d be a fool to underestimate Apple’s persistence once they’ve committed to something.
On the music side, Apple’s doggedness has paid off for them with Apple Music now in second place behind Spotify in terms of subscriber counts. Google, on the other hand, is far more fickle when it comes to ongoing product support (RIP Google Reader). Sadly, my beloved Google Play Music is also being shuttered in favour of the inferior Youtube Music.
Yet, despite a few lingering skirmishes, the music streaming war is mostly over. A few artists have tried to use exclusivity to leverage subscriptions (looking at you Beyoncé and Tidal). But the music industry hasn’t got any fight left in them after Steve Jobs blindsided them in the early 2000s.
So what will be the next arena in the streaming wars?
It’s a big one: the billion-dollar gaming industry.
When you move processing power to a remote server, you save the gamer from spending thousands on a gaming PC every few years. Take the forthcoming Google Stadia, for example. Their slogan says it all: “The future of gaming is not a box”. Sony and Microsoft are also coming up with their own streaming platforms.
Streaming everything in a digital world sounds good in principle, especially if an initial hardware investment become unnecessary. But companies have to stop pushing the subscription model on us. Subscriptions are very profitable income streams - I get it. But for the consumer, it doesn’t make sense in some cases. Attention is a finite resource and at some point, subscription fatigue will set in.
The casual gamer, for example, would be happy to purchase one or two games a year, as long as they own those games. Why not allow a one-time payment for streaming access to one game in perpetuity? After all, it’s a small step from being able to download anything from your Steam Library at any time to playing a game in your Steam Library at any time… without even downloading it.
Notch watch
I’m not sure when the notch in smartphones become my hill to die on, but the dream of a single, uninterrupted plane of glass is too tantalizing to give up on. Based on the latest iPhone 11 leaks, it looks like the Apple faithful are in for another year living with the notch.
Disappointing. Especially compared to the latest Android phones which are already living the all-screen dream - albeit with some sacrifice. The recently announced OnePlus 7 Pro, for example, ostensibly has the best phone screen ever manufactured: an unblemished 1440 x 3120 pixel AMOLED 6.67-inch display with HDR 10+ compatibility and a 90 Hz refresh rate. Gorgeous.
But to avoid the notch, or the equally horrible cut-out hole that Samsung went with on the S10 this year, the OnePlus 7 Pro opted for a mechanized pop-up camera. Clever idea - but you know what they say about moving parts. The price of mechanical engineering: fragile, vulnerable, novelty phones. Another case-in-point: the Asus ZenFone 6 with its crazy rotating camera.
And what’s with the asymmetrical top and bottom bezels on every single android phone these days? It drives me nuts. Symmetry is such a fundamental industrial design concept but is ignored in favour of a few extra pixels of screen real estate at the top of the phone. Sure, the display controller prevents the screen from going all the way to the edge at the bottom. But why not make the “forehead” the same size as the “chin”?
Apple achieves symmetry by bending the bottom of the display inside the chassis and tucking the controller underneath the fold. Over-engineering for the sake of aesthetics: typical Apple overindulgence, but in this case, worth it.
I was hoping that a truly all-screen iPhone would arrive in 2020. But if that doesn’t happen and I’m still feeling stubborn, I could either switch back to Android or wait longer. After all, my iPhone 6S is still getting the latest software updates… for now.
One more thing
I’ll keep the fifth random thing short. I mean, if I was being smart, I would have split this post up into five small posts and been set for the rest of the year. But where’s the fun in that? So, in the spirit of fun, I’ll leave you with this famous Chinese poem called Lion-Eating Poet in the Stone Den (shown here in pinyin):
Shíshì shīshì Shī Shì, shì shī, shì shí shí shī. Shì shíshí shì shì shì shī. Shí shí, shì shí shī shì shì. Shì shí, shì Shī Shì shì shì. Shì shì shì shí shī, shì shǐ shì, shǐ shì shí shī shìshì. Shì shí shì shí shī shī, shì shíshì. Shíshì shī, Shì shǐ shì shì shíshì. Shíshì shì, Shì shǐ shì shí shì shí shī. Shí shí, shǐ shí shì shí shī shī, shí shí shí shī shī. Shì shì shì shì.
You see, every syllable has the same sound, but is pronounced in a different tone. Mandarin is a much more tonal language than English and this neat poem shows the wonderful variety of expression which has evolved linguistically throughout the world. Go here if you want to read the translation.
We live in an amazing world and these are incredible times. Thanks for joining me on the journey - I hope we can do this again soon!


This webpage reads in the size of the side of a square and displays a hollow square of that size constructed of asterisks.


execline
Software
skarnet.org
The backtick program
backtick runs a program and stores its output in an
environment variable, then executes another program.
Interface
In an execlineb script:
backtick [ -i | -I | -x | -D default ] [ -N | -n ] [ -E | -e ] variable { prog1... } prog2...
- backtick reads prog1... in a
block and unquotes it.
- It runs prog1... as a child process and saves its
output in memory. This output must not contain a null character.
- backtick execs into prog2..., with
variable added to the environment with prog1...'s
output as a value.
Options
- -N : store prog1...'s output as is, including the last newline, if any.
- -n : chomp an ending newline off prog1...'s output. This is the default.
- -e : no autoimport. This is the default.
- -E : autoimport. Instead of exec'ing into
prog2..., exec into importas -ui variable variable
prog2.... This substitutes variable into the command
line instead of putting it into the environment.
The other options tell backtick what to do if prog1...'s output
is not suitable as the contents of an environment variable (i.e. it
contains a null character) or if prog1... crashes or exits
nonzero:
- -i : backtick exits with an
approximation of prog1's exit code,
or 124 if prog1 wrote a null character. This is the default.
- -I: the value of variable is set to whatever
the start of prog1...'s output is, up to the first null character,
or to whatever prog1... wrote before crashing; chomping is applied
if required; then execution proceeds.
- -x : variable is removed from
the environment, and execution proceeds.
- -D default : the value of variable
is set to default, and execution proceeds.


Device Orientation
Device Motion
alpha
beta
gamma
Acceleration
x
y
z
Acceleration including gravity
x
y
z
Rotation rate
alpha
beta
gamma


{% extends 'base.html' %} {% load i18n %} {% load bootstrap3 %} {% block content %}
{% blocktrans trimmed %} The content on this page has expired. You may have reached this page by changing the page after sending your requests. {% endblocktrans %}


CURE OF TOOTHACHE.
ONE good man informed me that, though he had no faith in charming, yet this he knew, that he was underground one day, and had the toothache "awful bad, sure enough; and Uncle John ax'd me, 'What's the matter ?' says he. 'The toothache,' says I. 'Shall I charm it ?' says he. 'Ees,' says I. 'Very well,' says he; and off he went to work in the next pitch. Ho dedn't my tooth ache, Lor' bless ee; a just ded, ye knaw; just as if the charm were tugging my very life out. At last Uncle John corned down to the soller, and sing'd out, 'Alloa ! how 's your tooth in there,' says he. 'Very bad,' says I. 'How's a feeling ?' says he. 'Pulling away like an ould hoss with the "skwitches,"' says I. 'Hal drag my jaw off directly,' says I. 'Ees the charm working ?' says he. 'Es, a shure enuf,' says I. 'Es,' says he, 'al be better d'rectly.' 'Hope a will,' says I. Goodness gracious dedn't a ache; I believe a did you; then a stopped most to once. 'Es better,' says I. 'I thought so,' says he; 'and you waan't have un no more for a long time,' says he. 'Thank ee, Uncle John,' says I; 'I 'll give ee a pint o' beer pay-day,' and so I ded; an' I haben't had the toothache ever since. Now, if he dedn't charm tin, how ded a stop ? and if he dedn't knaw a would be better a long time, how ded he say so ? No, nor I haven't had tin never since. So that 's a plain proof as he knaw'd all about it, waden't a you ?"
I nodded assent, convinced it was useless to argue against such reasoning as that.


For most adults, the results are accurate to within 1-3%. For quick and easy estimation, it's generally sufficient.
However, there are more accurate methods such as hydrostatic weighing, skin callipers, and bioelectrical impedance.
Men should measure their waist around the navel, and women should measure at the narrowest width.
Measure your neck around the base, below the Adam's Apple for men.
For women, measure your hips around the largest width.


Lorem ipsum dolor, sit amet consectetur adipisicing elit. Officia quis expedita voluptas commodi molestiae accusantium sit explicabo omnis, deleniti rerum, ut numquam iste dignissimos hic consectetur, voluptates voluptate quam reprehenderit?
Install Dependencies:
sudo apt install cloc git build-essentials
Install OliveTears:
sudo apt install olivetears
Configure users:
git config user.email<EMAIL_ADDRESS>echo "configuring things, please wait..."
I don't have much creativity left:
sudo apt update
Plugins can make your life a lot easier, but also can make it a hell. Check some pros and cons of using them.
-
Pros:
- Easy to set up
- Finish your project sooner
- Legacy stuff you gotta mantain by yourself
- I don't know
- Who cares?
Cons:
For Arch Linux:
pacman -Syu
For ArcoLinux:
pacman -S olivetears
Really?
Cause I'm really tired. I don't know what else can I type here. I think one lorem ipsum is already too much...


{% import 'bootstrap/wtf.html' as wtf %} {% extends 'base.html' %} {% import 'macros.html' as macro %} {% block content %}
Comment : {{comment.description}}
Posted by: {{comment.user.username}}


Attribute groups allow the schema designer to collect together common groups of attributes. The example below is based on the XML Linking standard XLink which defines groups of attributes that define a number of link properties including xlink:href and xlink:type that we will see here.
<?xml version="1.0" encoding="UTF-8"?> <link xmlns="http://example.org/" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="foo.xml" />
The xlink:href attribute is of type xs:anyURI, and this is resolved against the document base to provide an absolute URI that retains its meaning in RDF. However, it remains a literal of type xs:anyURI.
@prefix ns2: <http://example.org/> . @prefix ns1: <http://example.org/def/> . @prefix xlink_: <http://www.w3.org/1999/xlink#> . @prefix xs_: <http://www.w3.org/2001/XMLSchema#> . @prefix xlink: <http://www.w3.org/1999/xlink> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix xs: <http://www.w3.org/2001/XMLSchema> . <http://example.org/link.xml> ns2:link [ xlink_:href "http://example.org/foo.xml"^^xs_:anyURI ; xlink_:type "simple"^^xs_:string ] .
For brevity only the attributeGroup reference is included here. The simpleLink attribute group also defines a fixed xlink:type attribute that has an implied value of 'simple' which is added to the RDF model even though it is not explicit in the XML.
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.org/" xmlns:xlink="http://www.w3.org/1999/xlink"> <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd" /> <xs:element name="link"> <xs:complexType> <xs:attributeGroup ref="xlink:simpleLink"/> </xs:complexType> </xs:element> </xs:schema>


Welcome to the Main Page of the Test Site
1. Table of students
Base ID
Name
{% for st in students %}
{{st.id}}
{{st.name}}
{% endfor %}


Java with IntelliJ
Run MXNet Java Examples Using the IntelliJ IDE (macOS)
This tutorial guides you through setting up a simple Java project in IntelliJ IDE on macOS and demonstrates usage of the MXNet Java APIs.
Prerequisites:
To use this tutorial you need the following pre-requisites:
- Java 8 JDK
- Maven
- OpenCV
- IntelliJ IDEA (One can download the community edition from here)
MacOS Prerequisites
Run the following commands to install the prerequisites on MacOS.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update
brew tap caskroom/versions
brew cask install java8
brew install maven
brew install opencv
Ubuntu Prerequisites
Run the following commands to install the prerequisites on Ubuntu.
sudo apt-get install openjdk-8-jdk maven
Set Up Your Project
Step 1. Install and setup IntelliJ IDEA
Step 2. Create a new Project:
From the IntelliJ welcome screen, select "Create New Project".
Choose the Maven project type.
Select the checkbox for Create from archetype
, then choose org.apache.maven.archetypes:maven-archetype-quickstart
from the list below. More on this can be found on a Maven tutorial : Maven in 5 Minutes.
click Next
.
Set the project's metadata. For this tutorial, use the following:
GroupId
mxnet
ArtifactId
javaMXNet
Version
1.0-SNAPSHOT
Review the project's properties. The settings can be left as their default.
Set the project's location. The rest of the settings can be left as their default.
After clicking Finish, you will be presented with the project's first view.
The project's pom.xml
will be open for editing.
Step 3. The Java packages are currently available on Maven. Add the following under the dependencies
tag :
<dependency>
<groupId>org.apache.mxnet</groupId>
<artifactId>mxnet-full_2.11-osx-x86_64-cpu</artifactId>
<version>1.4.0</version>
</dependency>
The official Java Packages have been released as part of MXNet 1.4 and are available on the MXNet Maven package repository.
Note : - Change the osx-x86_64 to linux-x86_64 if your platform is linux. - Change cpu into gpu if you have a gpu backed machine and want to use gpu.
Step 4. Import dependencies with Maven:
- Note the prompt in the lower right corner that states "Maven projects need to be imported". If this is not visible, click on the little greed balloon that appears in the lower right corner.
Click "Import Changes" in this prompt.
Step 5. Build the project: - To build the project, from the menu choose Build, and then choose Build Project.
Step 6. Navigate to the App.java class in the project and paste the code in main
method from HelloWorld.java from Java Demo project on MXNet repository, overwriting the original hello world code.
You can also grab the entire Java Demo project and run it by following the instructions on the README.
Step 7. Now run the App.java.
The result should be something similar to this:
Hello World!
(1,2)
Process finished with exit code 0
Troubleshooting
If you get an error, check the dependencies at the beginning of this tutorial. For example, you might see the following in the middle of the error messages, where x.x
would the version it's looking for.
...
Library not loaded: /usr/local/opt/opencv/lib/libopencv_calib3d.x.x.dylib
...
This can be resolved be installing OpenCV.
Command Line Build Option
- You can also compile the project by using the following command at the command line. Change directories to this project's root folder then run the following:
mvn clean install dependency:copy-dependencies
If the command succeeds, you should see a lot of info and some warning messages, followed by:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.475 s
[INFO] Finished at: 2018-11-08T05:06:31-08:00
[INFO] ------------------------------------------------------------------------
The build generates a new jar file in the target
folder called javaMXNet-1.0-SNAPSHOT.jar
.
To run the App.java use the following command from the project's root folder and you should see the same output as we got when the project was run from IntelliJ.
bash
java -cp "target/javaMXNet-1.0-SNAPSHOT.jar:target/dependency/*" mxnet.App
Next Steps
For more information about MXNet Java resources, see the following: