The Interface Counters report summarizes the statistics for the interfaces. It also displays the IP address, speed, duplex, MAC address, and current status of each interface.For automatically negotiated speed and duplex settings, the Interface Counters report displays the speed at which they are negotiated.
LAN - Displays statistics for the LAN interface.WAN - Displays statistics for the WAN interface.Primary - Displays statistics for the primary interface.Aux - Displays statistics for the auxiliary interface.Inpath - Displays statistics for the in-path interface. Displays the MAC address, speed, and duplex setting for the interface. Use this information to troubleshoot speed and duplex problems. Make sure the speed for the Steelhead appliance matches the WAN or LAN interfaces. Riverbed recommends setting the speed to 100 and duplex to full. Displays the total number of packets, packets discarded, errors encountered, packets overrun, frames sent, and multicast packets sent. Displays the total number packets, packets discarded, errors encountered, packets overrun, carriers used, and collisions encountered.Note: If you have multiple dual port, four-port, or six-port bypass cards installed, the Configure > Networking > Interface Counters report displays the interface statistics for each LAN and WAN port.How many packets is the appliance transmitting or receiving? Are there any errors occurring during the packet transmissions? What is the current status of the interface? Choose Reports > Networking > Interface Counters to display the Interface Counters page.


Academic Phylogeny of Physical Anthropology
Sorry, something went terribly wrong. The admins have been notified.
Go back to the site


Donating to Charity
I’ve been meaning to write this blog post for a while, probably since 2006. (Almost) everyone that I know of donates to charity on a regular enough basis. I’m a college student so I don’t donate as much as I should. But it really annoys me how the “main” charities run a campaign of guilt and spend millions on it. I’ve donated money to all of these charities, the third world aid charities. All of them spend far too much on paying people commission and advertising. One that I can think of off hand is asking people who donated more than €250 to sign a form and send it back.
This to me is astonishing, do people ignore letters from the charity
asking for a simple tax refund (a tick box affair). This leads me to a
few scenarios:
- The Charity constantly bug people for money by letter - leading to
people ignoring them
- People have no emotional and very little other connection to the
cause - merely donating for self appeasement
I suspect both may be true. The second point reminds me of the Catholic Churches insistence you pay for salvation before the reformation - people donate to make themselves feel better. Still this Charity must see it as money well spent if they predict to make it back.
This is part of the reason I am conducting more due diligence of Charities I donate to in future. I don’t want to subsidise kerb crawlers or massive TV and Radio campaigns to male me feel guilty - in fact I switch it off or change channels as soon as I see it coming. These tactics in my mind are unethical, I want to donate to a charity to help a cause not make myself feel better.
Also what bugs me is the relationship to churches which some charities are not honest about - I don’t think this applies to Irish Charities except fringe ones - but definitely applies to some evangelical ones from the United States. Some have shown an appaling lack of ethics and moral compass in seeking to convert survivors of the Earthquake. There preying on people who’ve lost whole families in some cases. Can there conversion not wait until they can rebuild there homes and their lives?
I am going to focus my future donations in my core area of competence - computing. I can judge measureable results and hold some of them to account better if I have the knowledge of the charities core aims and abilities. Likewise with Open Source software, which can help get computers in to hands of the poorest and help them educate themselves for tomorrow and get themselves out of the need for food aid today. Of course charities closer to home which I have interactions with (having two rescue dogs) the RSPCA and research into cancer (affected every family I’d guess) heart diesease (ditto).
I think this post has cleared up my thoughts on two things: making sure you donate to something you care about and avoid at all costs those who seek to waste the money you have donated.


title>Bikcraft - Conheça o portfólio de clientes
conheça os projetos que amamos mostrar
"The way to get started is to quit talking and begin doing."
Walt Disney
"The greatest glory in living lies not in never falling, but in rising every time we fall."
Nelson Mandela
"Your time is limited, so don't waste it living someone else's life. Don't be trapped by dogma – which is living with the results of other people's thinking."
Steve Jobs
"o verdadeiro segredo da felicidade está em ter um genuíno interesse por todos os detalhes da vida cotidiana"
WILLIAN MORRIS


|
BitShares-Core
6.1.0
BitShares blockchain implementation and command-line interface software
|
#include <future.hpp>
Public Types | |
| typedef std::shared_ptr< promise< void > > | ptr |
| Public Types inherited from fc::promise_base | |
| typedef std::shared_ptr< promise_base > | ptr |
Public Member Functions | |
| virtual | ~promise () |
| void | wait (const microseconds &timeout=microseconds::maximum()) |
| void | wait_until (const time_point &tp) |
| void | set_value () |
| void | set_value (const void_t &) |
| template<typename CompletionHandler > | |
| void | on_complete (CompletionHandler &&c) |
| Public Member Functions inherited from fc::promise_base | |
| virtual | ~promise_base () |
| const char * | get_desc () const |
| virtual void | cancel (const char *reason FC_CANCELATION_REASON_DEFAULT_ARG) |
| bool | canceled () const |
| bool | ready () const |
| bool | error () const |
| void | set_exception (const fc::exception_ptr &e) |
Static Public Member Functions | |
| static ptr | create (const char *desc FC_TASK_NAME_DEFAULT_ARG) |
| static ptr | create (bool fulfilled, const char *desc FC_TASK_NAME_DEFAULT_ARG) |
Protected Member Functions | |
| promise (const char *desc) | |
| promise (bool fulfilled, const char *desc) | |
| Protected Member Functions inherited from fc::promise_base | |
| promise_base (const char *desc FC_TASK_NAME_DEFAULT_ARG) | |
| void | _wait (const microseconds &timeout_us) |
| void | _wait_until (const time_point &timeout_us) |
| void | _notify () |
| void | _set_value (const void *v) |
| void | _on_complete (detail::completion_handler *c) |
Additional Inherited Members | |
| Protected Attributes inherited from fc::promise_base | |
| const char * | _cancellation_reason |
Definition at line 159 of file future.hpp.
| typedef std::shared_ptr< promise<void> > fc::promise< void >::ptr |
Definition at line 161 of file future.hpp.
|
inlinevirtual |
Definition at line 163 of file future.hpp.
|
inlineprotected |
Definition at line 189 of file future.hpp.
|
inlineprotected |
Definition at line 190 of file future.hpp.
|
inlinestatic |
Definition at line 165 of file future.hpp.
|
inlinestatic |
Definition at line 169 of file future.hpp.
|
inline |
Definition at line 185 of file future.hpp.
|
inline |
Definition at line 181 of file future.hpp.
|
inline |
Definition at line 182 of file future.hpp.
|
inline |
Definition at line 174 of file future.hpp.
|
inline |
Definition at line 177 of file future.hpp.


The server commands are gathered in groups. C : Connections - Statistics. D : Documentation. Q : QTH locator. N : Ham Callsigns Directory ("Call-Book"). T : Satellite orbits computation. F : Switches back to BBS mode. B : Quit and disconnects This page was last updated


Custom GUI Demo
Console Demo
Volume:
100
%
Play Audio 1
Play Audio 2
Play Audio 3
Play Audio 4
Console:
Command Input:
IP:
Port:
Send
Disconnect
Connect
Commands in this example:
Set volume: "4255:<volume>"
Start audio 1: "4110"
Start audio 2: "4210"
Start audio 3: "4310"
Start audio 4: "4410"


Apply for an OSDC Allocation
Please fill out the form below for access to the Open Science Data Cloud. Once your application is submitted, a member of our team will be in touch regarding your application as soon as possible.
If you are interested in our Protected Data Cloud for The Cancer Genome Atlas please see the Bionimbus PDC page. Any questions about the application process can be directed to<EMAIL_ADDRESS>Thank you.


#include <senml_basepack.h>
|
| | SenMLBasePack () |
| |
| | ~SenMLBasePack () |
| |
| int | toJson (Stream &dest, SenMLStreamMethod format=SENML_RAW) |
| |
| int | toJson (char *dest, int length, SenMLStreamMethod format=SENML_RAW) |
| |
| int | toCbor (Stream &dest, SenMLStreamMethod format=SENML_RAW) |
| |
| int | toCbor (char *dest, int length, SenMLStreamMethod format=SENML_RAW) |
| |
| void | fromJson (Stream &source, SenMLStreamMethod format=SENML_RAW) |
| |
| void | fromJson (const char *source) |
| |
| void | fromCbor (Stream &source, SenMLStreamMethod format=SENML_RAW) |
| |
| void | fromCbor (char *source, int length, SenMLStreamMethod format) |
| |
| bool | add (SenMLBase &item) |
| |
| bool | clear () |
| |
| SenMLBase * | getFirst () |
| |
| virtual int | getCount () |
| |
| virtual int | fieldsToJson ()=0 |
| |
| virtual int | fieldsToCbor ()=0 |
| |
| virtual const char * | getBaseName () |
| |
| virtual SenMLUnit | getBaseUnit () |
| |
| | SenMLBase () |
| |
| | ~SenMLBase () |
| |
| SenMLBase * | getNext () |
| |
| SenMLBase * | getRoot () |
| |
| virtual void | adjustToBaseTime (double prev, double time) |
| |
| virtual int | fieldsToJson ()=0 |
| |
| virtual int | fieldsToCbor ()=0 |
| |
SenMLBasePack represents a single senml document that can be sent or received.
◆ SenMLBasePack()
| SenMLBasePack::SenMLBasePack |
( |
| ) |
|
|
inline |
◆ ~SenMLBasePack()
| SenMLBasePack::~SenMLBasePack |
( |
| ) |
|
|
inline |
◆ add()
Adds the specified SenML object to the document. The item will be appended to the end of the linked list. The item being added, can be a regular SenMLRecord or another SenMLPack object if you want to send data for multiple devices in 1 SenML message. Check the result of the function to see if the operation was successful or not. Possible reasons for failure:
- if the item being added is already part of a document.
- Parameters
-
| item | a pointer to a SenMlRecord or SenMLPack that needs to be added to the document. |
- Returns
- true upon success, otherwise false.
◆ clear()
| bool SenMLBasePack::clear |
( |
| ) |
|
Clear out the document and remove all the children. Children aren't destroyed, this is up to the developer.
- Returns
- true (at the moment, the function does not yet return false as it doesn't detect any errors)
◆ contentToCbor()
| int SenMLBasePack::contentToCbor |
( |
| ) |
|
|
protectedvirtual |
◆ contentToJson()
| int SenMLBasePack::contentToJson |
( |
| ) |
|
|
protectedvirtual |
◆ fieldsToCbor()
| virtual int SenMLBasePack::fieldsToCbor |
( |
| ) |
|
|
pure virtual |
renders all the fields to cbor format. renders all the fields of the object without the length info at the beginning note: this is public so that custom implementations for the record object can use other objects internally and render to json using this function (ex: coordinatesRecord using 3 floatRecrods for lat, lon & alt.
- Returns
- : The number of bytes that were written.
Implements SenMLBase.
Implemented in SenMLDoublePack, SenMLIntPack, SenMLPack, and SenMLSimplePack.
◆ fieldsToJson()
| virtual int SenMLBasePack::fieldsToJson |
( |
| ) |
|
|
pure virtual |
renders all the fields to json, without the starting and ending brackets. Inheriters can extend this function if they want to add extra fields to the json output note: this is public so that custom implementations for the record object can use other objects internally and render to json using this function (ex: coordinatesRecord using 3 floatRecrods for lat, lon & alt.
- Returns
- : None
Implements SenMLBase.
Implemented in SenMLDoublePack, SenMLIntPack, SenMLPack, and SenMLSimplePack.
◆ fromCbor() [1/2]
parse senml cbor from the specified memory and, for each registered actuator, call the appropriate event on the actuator itself, for others, the callback function PACK_ACTUATOR_SIGNATURE will be called, if present. This method takes a memory blob as input. The data must be fully defined.
- Parameters
-
| source | the source data to use as input. |
| length | the length of the source data. |
| format | determins how the data will be read (ex: as normal binary or in HEX format). See SenMLStreamMethod for possible methods. |
- Returns
- none
◆ fromCbor() [2/2]
read and parse senml cbor from the specified source and, for each registered actuator, call the appropriate event on the actuator itself, for others, the callback function PACK_ACTUATOR_SIGNATURE will be called, if present. This method is ideal for devices with very littel ram memory. It will block on most decices if there is no more input to be read from the stream and the end of the cbor structure is not yet reached. Note: on mbed systems, the blocking nature is not garanteed. Instead, if no more data is available before the end is reached, parsing will fail.
- Parameters
-
| source | the source stream to read the data from. |
| format | determins how the data will be read (ex: as normal binary or in HEX format). See SenMLStreamMethod for possible methods. |
- Returns
- none
◆ fromJson() [1/2]
| void SenMLBasePack::fromJson |
( |
const char * |
source | ) |
|
parse a senml json string from the specified source and, for each registered actuator, call the appropriate event on the actuator itself, for others, the callback function PACK_ACTUATOR_SIGNATURE will be called, if present. This method takes a string stored in memory as input. The json must be fully defined. It is up to the caller to transform it to a regular text string, if needed (ex: lora devices might send it in hex format).
- Parameters
-
| source | the source string to use as input. This must be null terminated. |
- Returns
- none
◆ fromJson() [2/2]
read and parse a senml json string from the specified source and, for each registered actuator, call the appropriate event on the actuator itself, for others, the callback function PACK_ACTUATOR_SIGNATURE will be called, if present. This method is ideal for devices with very littel ram memory. It will block on most devices if there is no more input to be read from the stream and the end of the json structure is not yet reached. Note: on mbed systems, the blocking nature is not garanteed. Instead, if no more data is available before the end is reached, parsing will fail.
- Parameters
-
| source | the source stream to read the data from. |
| format | determins how the data will be read (ex: as normal text or in HEX format). See SenMLStreamMethod for possible methods. |
- Returns
- none
◆ getArrayLength()
| int SenMLBasePack::getArrayLength |
( |
| ) |
|
|
protectedvirtual |
◆ getBaseName()
| virtual const char * SenMLBasePack::getBaseName |
( |
| ) |
|
|
inlinevirtual |
◆ getBaseUnit()
| virtual SenMLUnit SenMLBasePack::getBaseUnit |
( |
| ) |
|
|
inlinevirtual |
◆ getCount()
| int SenMLBasePack::getCount |
( |
| ) |
|
|
virtual |
- Returns
- the number of items this pack contains.
◆ getFieldLength()
| virtual int SenMLBasePack::getFieldLength |
( |
| ) |
|
|
inlineprotectedvirtual |
◆ getFirst()
get the first recrod of in this pack element.
- Returns
- null when this object is empty (has no children), otherwise, the first item (SenMLRecord or SenMLPack) of the list.
◆ isActuator()
| virtual bool SenMLBasePack::isActuator |
( |
| ) |
|
|
inlineprotectedvirtual |
◆ isPack()
| virtual bool SenMLBasePack::isPack |
( |
| ) |
|
|
inlineprotectedvirtual |
◆ setLast()
| void SenMLBasePack::setLast |
( |
SenMLBase & |
value | ) |
|
|
protected |
◆ setupStreamCtx() [1/2]
| void SenMLBasePack::setupStreamCtx |
( |
char * |
dest, |
|
|
int |
length, |
|
|
SenMLStreamMethod |
format |
|
) |
| |
|
protectedvirtual |
◆ setupStreamCtx() [2/2]
◆ toCbor() [1/2]
render the content of the current object to cbor data (binary). This function renders the data to a memory buffer. If the buffer is full before the entire object is rendered, an error will be written to the debug stream.
- Parameters
-
| dest | a memory buffer to which the data will be rendred. |
| length | the length of the memory buffer. |
| format | determins how the data will be rendered. See SenMLStreamMethod for possible methods. |
- Returns
- nr of bytes that were rendered
◆ toCbor() [2/2]
render the content of the current object to cbor data (binary). This function is ideal for devices with low memory usage but offers less control over the rendering process.
- Parameters
-
| dest | the destination stream to where the data will be rendered without buffering it in memory |
| format | determins how the data will be rendered. See SenMLStreamMethod for possible methods. |
- Returns
- nr of bytes that were rendered
◆ toJson() [1/2]
render the content of the current object to json data (string). This function renders the data to a memory buffer. If the buffer is full before the entire object is rendered, an error will be written to the debug stream.
- Parameters
-
| dest | a memory buffer to which the data will be rendred. |
| length | the length of the memory buffer. |
| format | determins how the data will be rendered. See SenMLStreamMethod for possible methods. |
- Returns
- nr of bytes that were rendered
◆ toJson() [2/2]
render the content of the current object to json data (string). This function is ideal for devices with low memory usage but offers less control over the rendering process.
- Parameters
-
| dest | the destination stream to where the data will be rendered without buffering it in memory |
| format | determins how the data will be rendered. See SenMLStreamMethod for possible methods. |
- Returns
- nr of bytes that were rendered
◆ SenMLBase
◆ SenMLCborParser
◆ SenMLJsonListener
◆ SenMLPack
The documentation for this class was generated from the following files:


Mediatank
Shortcuts
Jukebox
IP address of the Mediatank:
For example <IP_ADDRESS>
Nickname of your Mediatank:
Location of the busybox26 binary on your Mediatank:
Location of the directory which contains your media files:
To configure your shortcuts, please fill in the following fields:
Audio stream
Video stream
Web page
Audio stream
Video stream
Web page
Audio stream
Video stream
Web page
Audio stream
Video stream
Web page
Enter the location of the connector for your Jukebox:
After playing a file, restart gaya on the following location:
Save settings


Green Growth, Smart Growth: A New Approach to Economics, Innovation, and the Environment Lecture by Ralf Fuecks. Ralf Fcks book Green Growth, Smart Growth: A New Approach to Economics, Innovation and the Environment proposes that we find ourselves at a crossroads between environmental disaster and a new industrial revolution: a shift from the ruthless exploitation of nature toward cooperation with it. Fcks asserts that decoupling economic growth from environmental consumption is an ambitious goal, but also an achievable one. In presenting Green Growth, Smart Growth via a multimedia presentation and discussion, Fcks outlines a way forward in this great transformation, and does so in the conviction that the dangers posed by climate change can be overcome through a new approach to economics, innovation and proactive policymaking. Ralf Fuecks has been a member of the Executive Board of the Heinrich Bll Foundation since 1996.
Read MoreGreen Growth, Smart Growth: A New Approach to Economics, Innovation, and the Environment Lecture by Ralf Fuecks. Ralf Fcks book Green Growth, Smart Growth: A New Approach to Economics, Innovation and the Environment proposes that we find ourselves at a crossroads between environmental disaster and a new industrial revolution: a shift from the ruthless exploitation of nature toward cooperation with it. Fcks asserts that decoupling economic growth from environmental consumption is an ambitious goal, but also an achievable one. In presenting Green Growth, Smart Growth via a multimedia presentation and discussion, Fcks outlines a way forward in this great transformation, and does so in the conviction that the dangers posed by climate change can be overcome through a new approach to economics, innovation and proactive policymaking. Ralf Fuecks has been a member of the Executive Board of the Heinrich Bll Foundation since 1996.
Read MoreGreen Growth, Smart Growth: A New Approach to Economics, Innovation, and the Environment Lecture by Ralf Fuecks. Ralf Fcks book Green Growth, Smart Growth: A New Approach to Economics, Innovation and the Environment proposes that we find ourselves at a crossroads between environmental disaster and a new industrial revolution: a shift from the ruthless exploitation of nature toward cooperation with it. Fcks asserts that decoupling economic growth from environmental consumption is an ambitious goal, but also an achievable one. In presenting Green Growth, Smart Growth via a multimedia presentation and discussion, Fcks outlines a way forward in this great transformation, and does so in the conviction that the dangers posed by climate change can be overcome through a new approach to economics, innovation and proactive policymaking. Ralf Fuecks has been a member of the Executive Board of the Heinrich Bll Foundation since 1996.
Read MoreGreen Growth, Smart Growth: A New Approach to Economics, Innovation, and the Environment Lecture by Ralf Fuecks. Ralf Fcks book Green Growth, Smart Growth: A New Approach to Economics, Innovation and the Environment proposes that we find ourselves at a crossroads between environmental disaster and a new industrial revolution: a shift from the ruthless exploitation of nature toward cooperation with it. Fcks asserts that decoupling economic growth from environmental consumption is an ambitious goal, but also an achievable one. In presenting Green Growth, Smart Growth via a multimedia presentation and discussion, Fcks outlines a way forward in this great transformation, and does so in the conviction that the dangers posed by climate change can be overcome through a new approach to economics, innovation and proactive policymaking. Ralf Fuecks has been a member of the Executive Board of the Heinrich Bll Foundation since 1996.
Read MoreGreen Growth, Smart Growth: A New Approach to Economics, Innovation, and the Environment Lecture by Ralf Fuecks. Ralf Fcks book Green Growth, Smart Growth: A New Approach to Economics, Innovation and the Environment proposes that we find ourselves at a crossroads between environmental disaster and a new industrial revolution: a shift from the ruthless exploitation of nature toward cooperation with it. Fcks asserts that decoupling economic growth from environmental consumption is an ambitious goal, but also an achievable one. In presenting Green Growth, Smart Growth via a multimedia presentation and discussion, Fcks outlines a way forward in this great transformation, and does so in the conviction that the dangers posed by climate change can be overcome through a new approach to economics, innovation and proactive policymaking. Ralf Fuecks has been a member of the Executive Board of the Heinrich Bll Foundation since 1996.
Read More


|
GPGPU-Sim
|
Go to the source code of this file.
Functions | |
| int | ptx_parse () |
| extern prototypes More... | |
| int | ptx__scan_string (const char *) |
| int | ptxinfo_parse () |
| bool | keep_intermediate_files () |
| void | ptx_reg_options (option_parser_t opp) |
| void | print_ptx_file (const char *p, unsigned source_num, const char *filename) |
| char * | gpgpu_ptx_sim_convert_ptx_and_sass_to_ptxplus (const std::string ptxfilename, const std::string elffilename, const std::string sassfilename) |
| symbol_table * | gpgpu_ptx_sim_load_ptx_from_string (const char *p, unsigned source_num) |
| void | gpgpu_ptxinfo_load_from_string (const char *p_for_info, unsigned source_num) |
Variables | |
| memory_space * | g_global_mem |
| globals More... | |
| memory_space * | g_tex_mem |
| memory_space * | g_surf_mem |
| memory_space * | g_param_mem |
| bool | g_override_embedded_ptx = false |
| const char * | g_ptxinfo_filename |
| int | ptxinfo_debug |
| FILE * | ptxinfo_in |
| static bool | g_save_embedded_ptx |
| bool | g_keep_intermediate_files |
| bool | m_ptx_save_converted_ptxplus |
| char* gpgpu_ptx_sim_convert_ptx_and_sass_to_ptxplus | ( | const std::string | ptxfilename, |
| const std::string | elffilename, | ||
| const std::string | sassfilename | ||
| ) |
Definition at line 100 of file ptx_loader.cc.
| symbol_table* gpgpu_ptx_sim_load_ptx_from_string | ( | const char * | p, |
| unsigned | source_num | ||
| ) |
Definition at line 153 of file ptx_loader.cc.
| void gpgpu_ptxinfo_load_from_string | ( | const char * | p_for_info, |
| unsigned | source_num | ||
| ) |
Definition at line 185 of file ptx_loader.cc.
| bool keep_intermediate_files | ( | ) |
Definition at line 58 of file ptx_loader.cc.
| void print_ptx_file | ( | const char * | p, |
| unsigned | source_num, | ||
| const char * | filename | ||
| ) |
Definition at line 74 of file ptx_loader.cc.
| int ptx__scan_string | ( | const char * | ) |
| int ptx_parse | ( | ) |
extern prototypes
| void ptx_reg_options | ( | option_parser_t | opp | ) |
Definition at line 60 of file ptx_loader.cc.
| int ptxinfo_parse | ( | ) |
| memory_space* g_global_mem |
globals
Definition at line 38 of file ptx_loader.cc.
| bool g_keep_intermediate_files |
Definition at line 55 of file ptx_loader.cc.
| bool g_override_embedded_ptx = false |
Definition at line 42 of file ptx_loader.cc.
| memory_space* g_param_mem |
Definition at line 41 of file ptx_loader.cc.
| const char* g_ptxinfo_filename |
Definition at line 49 of file ptx_loader.cc.
|
static |
Definition at line 54 of file ptx_loader.cc.
| memory_space* g_surf_mem |
Definition at line 40 of file ptx_loader.cc.
| memory_space* g_tex_mem |
Definition at line 39 of file ptx_loader.cc.
| bool m_ptx_save_converted_ptxplus |
Definition at line 56 of file ptx_loader.cc.
| int ptxinfo_debug |
| FILE* ptxinfo_in |


--- layout: archive title: "Animations" excerpt: "Animated shorts made by using illustrations created in Illustrator and animated using After Effects." permalink: /animations/ author_profile: false header: teaser: gifs/world_white.gif sidebar: - title: "My animations" text: "Animated shorts made by using illustrations created in Illustrator and animated using After Effects." image: android.gif --- {% include base_path %}


Swipe right to see what you can look forward to...
Maybe this will be of use:https://www.w3.org/WAI/tutorials/carousels/
Card titles and captions below:


From a post by Ted Leung came some links to a Python to Scheme translator that was presented at the 2003 Scheme Workshop.
I found this comments on Python interesting:
Here is my take on Python after working through this "exercise": Python pretends to be an OO-based language yet it is really a hashtable-based that creates an illusion of OO-oriented programming. For simple programs, this works all right but most Pythonistas seem to actually exploit the translucent nature of objects and classes. It is a hopeless task to reason about modules or program pieces in this language. (source)
It is an interesting comment, though certainly greatly biased because the author came at it from an implementation perspective, rather than the perspective of writing Python code. Though really I would say (to quote import this) Namespaces are one honking great idea -- let's do more of those!. Really all the hash tables (dictionaries) are namespaces, and all the namespaces look the same, and none of them are magical.
A surprising number of languages -- Scheme included (where they can't decide on a-lists or hash tables) -- make dictionaries way too difficult. Considering that I use dictionaries almost as much as lists, it's really other languages that should be answering for their deficiencies.
But anyway, I don't actually disagree about what he has to say. Well, you can reason about code, just not in an analytic, programmatic sort of way (which is what he wants to do, because he's writing a compiler). I guess I'm not as concerned, because I prefer programmer empowerment to compiler empowerment (and there are more than enough languages out there that are biased to the compiler, probably because the first programmer is usually a compiler writer ;)
Another comment:
It reminds me of Lisp in its extreme youth where the value and function cells were kept on the symbol property list and people felt free to manipulate them in undisciplined ways. Its very flexible and powerful, but the lack of discipline makes it impossible to reason about. Since those days we've learned that we can achieve the same results in a structured manner. Python is still young. (source)
I'm sympathetic to things that will make a program easier to understand, and I can see how manipulating the object model (which is so very easy in Python) can be an issue. There are greater sins (like Acquisition), but cleverness is a dangerous thing, and there is a great deal of room for cleverness in Python. (Though Lispers aren't one to talk, what with their All Powerful macros) I myself have been prone to cleverness from time to time. I sometimes think the best libraries are the ones that seem most simplistic, sometimes painfully explicit -- they are the easiest to understand, and the least likely to surprise. But then, I tend not to write libraries like that, so there's obviously some disconnect in my thinking.
I think his comments are correct. He state it's impossible to _reason_ about Python code. That's right. If you ever played with computer aided reasoning and software specifications, you know what he is talking about. There are actually very few languages where it's doable to reason about at least a subset of that language - most functional languages somehow are in that category. There are even fewer languages where you can reason about the full language with all constructs. I am not even sure that Haskell fully qualifies here, but that's one language where I wouldn't be too surprised if it would be possble.
But then, I think that reasoning about software is as much a dead tree as artificial intelligence - at least in the "pure" sense. There are many good ideas coming from the reasoning croud, though, so we shouldn't put them off to bad ;-)
Many new compiler optimizations actually come from reasoning about code. For example type inference is something that best works if your language is structured in a way that makes reasoning possible or at least partly possible - ML or Haskell rely heavily on it, many Lisp and Scheme compilers use it to produce much faster code by infering concrete types where possible and generating concrete code instead of generic code.
AI gave us much better search algorithms and data inference algorithms that run many optimized database engines and rule engines nowadays, btw. ;-)
So I wouldn't take his critic as too critical - it does say much more about the possibility for transparent and automatic optimizations than it says about the actual language itself. It _is_ important if you work on a Python compiler, though, as it says you a lot about the language. Efficient compilation of Python code might need a helping hand by the programmer (PyRex actually shows this quite nicely).
I second Georg here. These comments probably aren't meant to criticize, they are just dry observations from a compiler writer. And they're true (well, at least the first one is). However:
"""Python pretends to be an OO-based language yet it is really a hashtable-based that creates an illusion of OO-oriented programming. For simple programs, this works all right but most Pythonistas seem to actually exploit the translucent nature of objects and classes. It is a hopeless task to reason about modules or program pieces in this language."""
Yes, that's really all what objects are about, they're dicts with some sugar and special rules. Some people think that "true" OO is the way Java, C++ or Eiffel do it... maybe this compiler writer is one of them. I disagree; at least Smalltalk's notion of OO was never like that.

It's understandable that a compiler writer would like to reason about "modules or program pieces"; most Python programmers don't feel the need for this, though. I guess they'd much rather just *use* the language. :-)
Hmm. Smalltalks OO is quite different from most all other OO implementations. The only systems that are a bit like Smalltalk OO are those implemented in Scheme or other Lisps. So it's not like much other implementations :-)
But OO itself is a rather weird concept, allmost every class of languages has it's own idea what it is. Most Algol derived languages see OO as structures with code. Most scripting languages somehow have a objects/classes as hashes (or something similar) idea. That's easy to see why it happened: hashes are quite handy when modelling OO in those class of languages.
Scheme usually uses different approaches: Objects are much more encapsulated, often they are implemented as a bunch of defines (the methods) over some closure (the state). So someone coming from Scheme background will see much more the control flow aspect of objects than the data representation aspect! That's where this special criticism might come from: for someone coming from a defines-over-closures-over-instance-variables aspect, this hashes/dicts-as-objects must look really ugly.
I used to upset Common Lisp programmers by giving references from Common Lisp idioms to Perl idioms and showing where similar concepts existed. Most times they didn't get over the step to accept that Perls object _implementation_ are hashes, just because that was a handy datatype to use. Common Lisp people are _really_ weird with respect to OO, as their CLOS is much more than what people usually see in OO: they have structure implementations, that's standard. But methods in Common Lisp are not bound to one class, they are specified on all parameters. So you actually don't have the view on objects as code+data - you have objects as data and generic functions as code, where the compiler (and sometimes the runtime) does the magic to automatically find the most specific method for a generic function. This is very nice if you think in functional programming terms. Actually I would prefer that every day over Pythons rather crude object system. Only problem is that I would need all those nice extension modules and especially the nice and terse syntax of Python. I can't stand the bloated identifiers common lisp uses :-)
And let's don't even start to discuss Haskell Type Classes ...
There is a very good book on all this: "Theoretical aspects of Object-Oriented Programming", MIT Press, Gunter and Mitchell Editors. Highly recommended if you want to see what OO actually can be. Other stuff to study would be the AI stuff about frame languages like loops or flavors - those were predecessors to the Common Lisp CLOS system and heavily propagated the objects-as-data-chunks-with-slots with seperate function binding ideas.
It's rather bad that nowadays primitive object oriented systems like Java or C++ dominate the thinking of language designers, as that largely hinders language design. Ok, there is allways Ruby, that seems to be written by a Smalltalk+Scheme-Fan.
Another way of thinking about OO is in terms of messages -- at least, that was Alan Kay's preferred metaphor (even though classes then became the norm). Python does very well at this, and if all you think about is messages then Python is more complete than most OO systems. Classes are just one kind of object, and types are one kind of object, but Python's object system is really defined by the set of rules that control getattr (or its syntactic form of ".").
Classic message-based programming paradigms like proxy objects are very simple in Python. In fact, I think they are simpler than in Smalltalk, though they are complicated by the presence of first-class functions/methods. But then, the hackability of methods might be a big plus (or maybe it's too clever and leads to things like Acquisition ;)
Anyway, I don't entirely disagree with the people I quote, but I think that they might not have noticed the namespaces because they were paying too much attention to the hash tables. Dynamic namespaces are the essential component of Python, and of course you'll implement those with hash tables. But you'll never see the namespaces from the implementation alone, they are merely implied.
Really, the justification of Python is also what they use as a criticism: "most Pythonistas seem to actually exploit the translucent nature of objects and classes".  But it is useful, and the intelligent programmer can utilize Python's internal mechanisms to implement many things that would have to be done more explicitly (and with no greater efficiency) in another language.# Ian Bicking
Oh, of course it is usefull. And PyDS uses several of those weird things :-)
The problem isn't that it's usefull or not. The problem is, that the quotes came from a very different angle. Lisp OO systems have their own weird way doing stuff that make both life easier and more complicated. If you ever happen to look at Metaclasses in Common Lisp, you will see discussions about metaclasses in Python rather silly ;-)
I was just pointing out a contrast. For instance, in Tcl you can do something like:
set x 1+2
set y [expr 3*$x]
And y == 5, because [expr 3*$x] expands to [expr 3*1+2]. Crazy stuff. Useful? Not at all. A pain for compiler writers? Indeed. So sometimes you can get the worst of both worlds, a form of generality that no one wants, but somehow can't be eliminated.
(Of course, none of us are really disagreeing on anything here, just to clear that up)# Ian Bicking
I, in fact, as a programmer, find it a lot easier to think of Python in terms of hashtables and namespaces rather than objects. That's perhaps because of how it's implemented. I came to Python from a OO mindset and found it difficult to learn in the beginning, but from the point I realised it's name-value pairs all the way, it started feeling like a toy.


Husband Giving Vasectomy Ring Made Of His Own Sperm As Christmas Gift To Wife
by Cameron Frew‘On the first day of Christmas, my true love gave to me… a ring made out of his own spunk.’
At the end of November, a husband will undergo the snip. He’ll soon be without his precious sperm – but with Christmas fast approaching, he’s got the perfect way to immortalise his manhood.
Forget chocolates, flowers and lingerie, this man is going all in with jewellery for his wife. However, there’s a twist: he’s wanting to give her a ring made out of his sperm.
The dad-of-five is armed with £1,500, and has reached out to online marketplace Bark to find a willing person to help him. Hopefully someone comes forward soon…
The loving husband told The Sun:
I know this is super weird, but I’m due to get a vasectomy at the end of November, and I wanted to do something funny with the last few living sperm I’ve got, kind of like a keepsake of my manhood.
The plan is to give the ring to my wife on Christmas day, wait for her to tell me it’s beautiful, let her wear it for a couple of hours, and then tell her what it’s actually made of.
Super weird? Maybe. Hilarious? Definitely. He had the brainwave after reading about rings made from breast milk, inspiring him to look into turning his semen into a dazzling piece of jewellery.
The husband and wife have been together for more than 20 years, and have been known to give each other lots of quirky, light-hearted gifts.
Explaining that he’s not a ‘complete nutter’, the husband added:
So you don’t think I’m a complete nutter, my wife and I have been together for more than 20 years now, have five kids (hence the vasectomy haha!) and since day one we’ve been pulling pranks on each other with quirky presents – this will hopefully be the best one yet though.
I know this type of jewellery can be quite expensive (I saw some breast milk ones online), so I’ve set aside around £1,500 for the ring, I’m not really looking to spend any more than that.
With the big day quickly approaching, it’ll soon be crunch time for the ring. Kai Feller, co-founder of Bark, is urging people to come forward to help make this husband’s wet dream a reality.
Feller said:
This is definitely one of the weirdest requests we’ve received in a while, but as always we’re happy to help our customers find a professional who can facilitate their needs, no matter how obscure!
Some might disapprove, but if people are having rings made out of breast milk and human ashes, why can’t sperm be made into one as well? We urge anyone with the skills to create this type of ring to get in touch with us.
Wait till she gets a load of this!
After graduating from Glasgow Caledonian University with an NCTJ and BCTJ-accredited Multimedia Journalism degree, Cameron ventured into the world of print journalism at The National, while also working as a freelance film journalist on the side, becoming an accredited Rotten Tomatoes critic in the process. He’s now left his Scottish homelands and took up residence at UNILAD as a journalist.


News Rhythms
We’re quite familiar today with the idea of news cycles: the fluctuating window of time it takes for a full turnover of major news items. Underlying these variable, context-driven cycles are other, structural patterns of news making and circulating.
The difference is partly a classic superstructure / base distinction in that many of the factors contributing to news rhythms are economic or industrial. Historically, the newspaper was as much a literary and social medium as an informational one though, so I don’t mean “news” in the strict sense. News rhythms are also shaped by cultural or even arbitrary factors, as when some TV timeslots are shaped by the after-effects of a particularly popular program. To some degree they also take on a perpetuating momentum of their own; established patterns sometimes redouble “merely” by the force of their own precedent. Hence, in part, “rhythms.”
Using data from Chronicling America, I’ve been exploring a few ways to represent these underlying rhythms in nineteenth- and early twentieth-century newspapers in order to better understand how they impact the results of text mining research.
Figure 1 shows the distribution of pages printed on each day of the week throughout the years for 1867, 1889, and 1918. Because the contents of Chronicling America reflect the digitization choices of institutions rather than the true number of pages printed, I have represented totals as a proportion rather than a raw count: the number of pages for each day divided by the number of available pages for that year in Chronicling America. This makes for a more stable metric of comparison across years.1 The black line corresponds to the second y axis, at right, representing the average number of pages per issue.
Historically speaking, Figure 1 graphs the growth of the Friday issue (as the last work day on which to obtain a paper before the weekend) and the emergence of the Sunday edition (an aberration prior to the end of the 1860s). Some of these papers were weeklies; some were the weekly editions of dailies; some were dailies, which themselves fluctuated in length by day of week. As the jump in page count suggests, this quickly became its own distinctive entity. It was often in fact billed as a “Sunday magazine,” which naturally did not thrill the weekly magazines that had to start competing with them.
But again, there’s an element of arbitrariness to news rhythms. In the nineteenth century the day of publication for weekly newspapers and magazines was often something of a local tradition – or a reaction to it on the part of a competitor seeking more open ground. The preference for Wednesdays vs. Thursdays (or, later, Thursdays vs. Fridays) sometimes depended on place.
Representing page count over time provides a sense of the pattern and regularity underlying this distribution. Figure 2 uses the same data with the x axis is grouped by date instead of day. As for the y axis, I wanted to capture a sense of the true difference in total volume of newsprint from year to year, since the number of newspapers and pages per issue both significantly increased. So I used a proportion again (pages per date divided by yearly total) multiplied by the total number of newspapers published in that year.2
The change in the distribution of pages published on each day in Figure 1 is represented here in a sharpening of peaks from 1867 to 1889 to 1918. With an increase in the number of pages per day came an increase in variability from day to day as well. As the number of newspapers almost tripled from 1867 (5871) to 1889 (16279), the amount of variability almost doubled; as the number of newspapers almost quadrupled from 1867 to 1918 (22842), the mount of variability almost tripled. The end-of-year funkiness in all three corresponds with Christmas.
I find this visualization beautiful. The wave appearance should make clear an additional reason why I like the phrase “news rhythms,” and it reflects a vital experiential element of print. This manner of visualization highlights newspapers' contributions to the tempo of daily life as print news became ever more ubiquitous and indispensable over the nineteenth century, not only in print-glutted world of the urban daily but in the territory of the country weekly, whose denizens increasingly took multiple papers and exchanged copies with friends and neighbors.3
Like sonic waves, of course, news rhythms travel over both time and space: that is, the time of transmission or delivery. Still, many readers – especially before the maturation of Rural Free Delivery over the first decade of the 1900s – retrieved their newspapers at post offices, general stores, news stands, or their printers and planned their days or weeks accordingly. The readerly experience of news rhythms was thus contingent on a variety of factors that could cause either a lag (reader location, especially if rural) or stagger (receiving additional papers from distant locations) but not necessarily.
-
I enjoy quibbles, so I’ll note that this isn’t a completely stable metric of comparison: it is still possible that, by chance, all of the state-level selection committees picked a grossly disproportionate number of, say, Thursday-publishing papers from 1867 relative to the true number of Thursday-publishing papers from 1867. Because each of these years of data encompasses over 200 papers, because Figure 2 attests to the consistency of these figures, and because both align with other forms of evidence, though, I believe they are at least generally reliable. ↩
-
For 1889 and 1918 I used N. W. Ayer & Son’s Newspaper Annual. For 1867 I fibbed a bit and used the 1870 data, the closest I had on hand, from S. N. D. North’s rich 1880 census report, History and Present Condition of the Newspaper and Periodical Press of the United States. ↩
-
David Henkin wrote an nice article fairly recently on the “hegemony of the weekly regime” in the nineteenth century that draws considerably on newspapers. David Henkin, “Hebdomadal Form: Diaries, News, and the Shape of the Modern Week.” Representations 131.1 (2015): 52-67. www.jstor.org/stable/10.1525/rep.2<IP_ADDRESS> ↩


WITNESS LIST State Cultural and Recreational Resources Committee February 20, 2003-8:30A Agency Overview On: Allday, Martin (Texas State Cemetery Committee) Cook, Robert (Texas Parks & Wildlife) Hernandez, Ricardo (Texas Commission on the Arts) McElwain, Gaye Greever (Texas Commission on the Arts) Osburn, Hal (Texas Parks & Wildlife)


When term uri is part of the path, it has to be encoded. Some browsers unencode %2E to a period. The URL then fails to be interpreted correctly. It is also possible you mistyped the address or the page may have moved.
Known browser support:
| Support | Platform | Browser |
|---|---|---|
| ✓ | Mac | Firefox |
| ✓ | Mac | Safari |
| X | Mac | Chrome |
| ✓ | Windows | Firefox |
| X | Windows | Internet Explorer |
| X | Windows | Chrome |
If you are the application owner check the logs for more information.


|
Assimp
5.0.1, master @ cd42b955
|
FBX parsing class, takes a list of input tokens and generates a hierarchy of nested Scope instances, representing the fbx DOM. More...
Public Member Functions | |
| Parser (const TokenList &tokens, bool is_binary) | |
| Parse given a token list. More... | |
| ~Parser () | |
| const Scope & | GetRootScope () const |
| bool | IsBinary () const |
Private Member Functions | |
| TokenPtr | AdvanceToNextToken () |
| TokenPtr | CurrentToken () const |
| TokenPtr | LastToken () const |
Private Attributes | |
| TokenPtr | current |
| TokenList::const_iterator | cursor |
| const bool | is_binary |
| TokenPtr | last |
| std::unique_ptr< Scope > | root |
| const TokenList & | tokens |
Friends | |
| class | Element |
| class | Scope |
FBX parsing class, takes a list of input tokens and generates a hierarchy of nested Scope instances, representing the fbx DOM.
| Assimp::FBX::Parser::Parser | ( | const TokenList & | tokens, |
| bool | is_binary | ||
| ) |
Parse given a token list.
Does not take ownership of the tokens - the objects must persist during the entire parser lifetime
| Assimp::FBX::Parser::~Parser | ( | ) |
|
private |
|
private |
|
inline |
|
inline |
|
private |
|
friend |
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |


Two men boiled alive after their Lada fell into sinkhole in car park
Two men have died after the vehicle they were in filled with scorching hot water when a hole opened up in a car park.
They were trapped in the Lada Largus car and died almost instantly as a result of being sprayed with 75°C water.
A hot water pipe had burst under the car park where they were driving and their car fell into the sinkhole which opened up in Penza Russia.
The local Ministry of Emergencies said: ‘A car fell as a result of the ground collapsing. Sadly people were killed.’
A journalist from Penza Vzglyad local news website said: ‘Another car drove over the same spot minutes before the accident.
Advertisement Advertisement
‘The driver noticed ground beginning to steam – and quickly drove off. Then these two men came.
‘They parked – and the asphalt collapsed right under them.
The accident is now being investigated by local authorities.
Got a story for Metro.co.uk?
Get in touch with our news team by emailing us at<EMAIL_ADDRESS>For more stories like this, check our news page.


{% block extrahead %} {% endblock %}
From here you can search these documents. Enter your search terms below.


Little Helpers
Enter Student information
WID Number
Student Name
Add
Enter URL information for the following:
Main Folder
Student Spreadsheet
Add


Enter a user name or an email address if you want to use your Gravatar.
The name seen by your opponent.
It's now your turn to define the master combination
Supporting help text


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import config.AppConfig @import models._ @this(mainTemplate: views.html.Layout, header: views.html.header, form: FormWithCSRF, summary: GovukSummaryList) @(sortCode: String)(implicit request: Request[_], messages: Messages, appConfig: AppConfig) @mainTemplate(pageTitle = Option(messages("bars.metadataResults.title")), breadcrumbContribution = Seq( BreadcrumbsItem(content = Text("Verify"), href = Some(s"${controllers.routes.BarsController.getVerify}")), BreadcrumbsItem(content = Text("Result"), href = Some(s"#")) )) {


WASD Keys to move. Shift to slow down.Dodge the blocks for as long as you can! Can you reach a new high score?
Score: 0 Level: 1


Causation
Causation means that one (independent) variable causes the other (dependent) variable and is formulated by Reichenbach (1956) as follows:
If two random variables X and Y are statistically dependent (X/Y), then either (a) X causes Y, (b) Y causes X, or (c ) there exists a third variable Z that causes both X and Y. Further, X and Y become independent given Z, i.e., X⊥Y∣Z.
This definition is incorporated in Bayesian graphical models (a.k.a. Bayesian networks, Bayesian belief networks, Bayes Net, causal probabilistic networks, and Influence diagrams). A lot of names for the same technique. To determine causality, we can use Bayesian networks (BN). Let’s start with the graph and visualize the statistical dependencies between the three variables described by Reichenbach (X, Y, Z) (see figure below). Nodes correspond to variables (X, Y, Z) and the directed edges (arrows) indicate dependency relationships or conditional distributions.
But how can we tell what causes what? The conceptual idea to determine the direction of causality, thus which node influences which node, is by holding a node constant and then observe the effect. As an example, let’s take DAG (a) in Figure 2, which describes that Z is caused by X, and Y is caused by Z. If we now keep Z constant there should not be a change in Y if this model is true. Every Bayesian network can be described by these four graphs, and with probability theory (see the section below) we can glue the parts together. It should be noted that a Bayesian network is a Directed Acyclic Graph (DAG) and DAGs are causal. This means that the edges in the graph are directed and there is no (feedback) loop (acyclic).
DAGs encode conditional independencies. (a, b, c) are Equivalence classes. (a, b) Cascade, (c ) Common parent, and (d) is a special class with V-structure.
Probability theory
Probability theory, or more specific Bayes theorem or Bayes Rule, forms the fundament for Bayesian networks. The Bayes rule is used to update model information, and stated mathematically as the underneath equation.
The equation consists of four parts; the posterior probability is the probability that Z occurs given X. The conditional probability or likelihood is the probability of the evidence given that the hypothesis is true. This can be derived from the data. Our prior belief is the probability of the hypothesis before observing the evidence. This can also be derived from the data or domain knowledge. Finally, the marginal probability describes the probability of the new evidence under all possible hypotheses which needs to be computed.
Structure learning
With structure learning, we want to determine the structure of the graph that best captures the causal dependencies between the variables in the data set.
What is the DAG that best fits the data?
A naïve manner to find the best DAG is simply creating all possible combinations of the graph, i.e., by making tens, hundreds, or even thousands of different DAGs until all combinations are exhausted. Each DAG can then be scored on the fit of the data. Finally, the best scoring DAG is returned. In the case of variables X, Y, Z, one can make the graphs as shown below and a few more because it is not only X>Z>Y, but it can also be like Z>X>Y, etc. The variables X, Y, Z can be boolean values (True or False), but can also have multiple states.
The search space of DAGs becomes so-called super-exponential in the number of variables that maximize the score. This means that an exhaustive search is practically infeasible with a large number of nodes, and therefore, various greedy strategies have been proposed to browse DAG space. With optimization-based search approaches, it is possible to browse a larger DAG space. Such approaches require a scoring function and a search strategy. A common scoring function is the posterior probability of the structure given the training data, like the BIC or the BDeu. Note that a local search strategy makes incremental changes aimed at improving the score of the structure. A global search algorithm like Markov chain Monte Carlo can avoid getting trapped in local minima but I will not discuss that here.
Approaches to search throughout the DAG space and find the best fitting graph for the data are implemented in bnlearn
, and can be categorized under:
Score-based structure learning
Constraint-based structure learning
Hybrid structure learning
For score-based approaches there are two main components; 1. The search algorithm to optimize throughout the search space of all possible DAGs; such as ExhaustiveSearch, Hillclimbsearch, Chow-Liu.
2. The scoring function indicates how well the Bayesian network fits the data. Commonly used scoring functions are Bayesian Dirichlet scores such as BDeu or K2 and the Bayesian Information Criterion (BIC, also called MDL).
bnlearn
contains the following Score-based structure learning methods:
Exhaustivesearch
Hillclimbsearch
Chow-liu
Tree-augmented Naive Bayes (TAN)
NaiveBayes
Each approach can be scored using the following scoretypes:
bic
k2
bdeu
Exhaustivesearch
The ExhaustiveSearch approach scores every possible DAG and returns the best-scoring DAG. This search approach is only attractable for very small networks and prohibits efficient local optimization algorithms to always find the optimal structure. Thus, identifying the ideal structure is often not tractable. Nevertheless, heuristic search strategies often yield good results if only a few nodes are involved (read: less than 5 or so).
Lets determine the best possible structure for the sprinkler dataset.
# Load library
import bnlearn as bn
# Load example
df = bn.import_example('sprinkler')
# Structure learning
model = bn.structure_learning.fit(df, methodtype='ex', scoretype='bic')
# Compute edge strength using chi-square independence test and remove (prune) the not-signficant edges
model = bn.independence_test(model, df, alpha=0.05, prune=True)
# Examine the output of the chi-square test. All P values are significant. Nothing is removed.
print(tabulate(model['independence_test'], tablefmt="grid", headers="keys"))
# source target stat_test p_value chi_square dof
#-- --------- --------- ----------- ----------- ------------ -----
# 0 Cloudy Rain True 1.08061e-87 394.062 1
# 1 Cloudy Sprinkler True 8.38371e-53 233.906 1
# 2 Rain Wet_Grass True 3.88651e-64 285.902 1
# 3 Sprinkler Wet_Grass True 1.19692e-23 100.478 1
# Plot
bn.plot(model)
Hillclimbsearch
Hillclimbsearch is a heuristic search approach that can be used if more nodes are used. HillClimbSearch implements a greedy local search that starts from the DAG “start” (default: disconnected DAG) and proceeds by iteratively performing single-edge manipulations that maximally increase the score. The search terminates once a local maximum is found. With Hillclimbsearch we can determine the best DAG for multiple nodes.
Lets examine the results using hte alarm example that contains 37 nodes.
# Load library
import bnlearn as bn
# Load example
df = bn.import_example('alarm')
# Structure learning
model = bn.structure_learning.fit(df, methodtype='hc', scoretype='bic')
# Plot detected DAG
G = bn.plot(model)
# Compute edge strength using chi-square independence test
model1 = bn.independence_test(model, df, alpha=0.05, prune=False)
bn.plot(model1, pos=G['pos'])
# Examine the output of the chi-square test. 53 edges are detected but not all P values are significant, i.e. those with stat_test=False
print(tabulate(model1['independence_test'], headers="keys"))
# source target stat_test p_value chi_square dof
#-- ------------ ------------ ----------- ------------ ------------ -----
# 0 LVFAILURE HISTORY True 0 7179.51 1
# 1 LVEDVOLUME CVP True 0 12510.3 4
# 2 LVEDVOLUME HYPOVOLEMIA True 0 6421.13 2
# 3 LVEDVOLUME LVFAILURE True 0 5240.09 2
# 4 PCWP LVEDVOLUME True 0 15718.7 4
# 5 STROKEVOLUME PCWP True 0 1683.67 4
# 6 STROKEVOLUME CO True 0 6848.73 4
# 7 STROKEVOLUME LVFAILURE True 0 2083.49 2
# 8 STROKEVOLUME HYPOVOLEMIA True 0 1810.87 2
# 9 STROKEVOLUME LVEDVOLUME True 0 2221.26 4
#10 ERRLOWOUTPUT HRBP True 0 5828.4 2
#11 HR HREKG True 0 8306.22 4
#12 HR CO True 0 5444.03 4
#13 HR HRSAT True 0 8450.71 4
#14 HR HRBP True 0 9205.59 4
#15 ERRCAUTER HREKG True 0 7081.32 2
#16 ERRCAUTER HRSAT True 0 7126.75 2
#17 HREKG HRSAT True 0 14283.5 4
#18 TPR BP True 0 5639.01 4
#19 TPR ANAPHYLAXIS True 2.06818e-54 247.226 2
#20 ARTCO2 EXPCO2 True 2.02465e-308 1441.92 6
#21 ARTCO2 CATECHOL True 1.6471e-265 1219.37 2
#22 ARTCO2 TPR False 0.71824 2.09528 4
#23 VENTLUNG EXPCO2 True 0 9159.91 9
#24 VENTLUNG MINVOL True 0 10273.7 9
#25 VENTLUNG KINKEDTUBE True 1.75631e-26 122.985 3
#26 INTUBATION SHUNT True 0 4154.53 2
#27 INTUBATION VENTLUNG True 4.45141e-71 343.198 6
#28 INTUBATION PRESS True 2.65747e-161 761.872 6
#29 INTUBATION MINVOL True 0 4453.48 6
#30 FIO2 PVSAT True 6.37291e-152 696.282 2
#31 PVSAT VENTALV True 0 9573.62 6
#32 PVSAT SAO2 True 0 12841.4 4
#33 VENTALV ARTCO2 True 0 14150.2 6
#34 VENTALV MINVOL True 0 15664 9
#35 VENTALV VENTLUNG True 0 12209.5 9
#36 VENTALV INTUBATION True 0 5476.61 6
#37 SHUNT SAO2 True 6.09174e-48 217.434 2
#38 PULMEMBOLUS SHUNT True 8.36791e-157 711.741 1
#39 PULMEMBOLUS PAP True 1.07736e-243 1118.91 2
#40 PULMEMBOLUS ERRLOWOUTPUT True 0.0345358 4.46798 1
#41 KINKEDTUBE PRESS True 5.55643e-211 974.694 3
#42 VENTTUBE PVSAT True 0 4643.05 6
#43 VENTTUBE PRESS True 0 2834.42 9
#44 VENTTUBE VENTALV True 0 6157.26 9
#45 VENTTUBE INTUBATION False 0.548197 4.96588 6
#46 VENTTUBE KINKEDTUBE False 0.476625 2.49263 3
#47 MINVOLSET VENTMACH True 0 15374.5 6
#48 VENTMACH VENTTUBE True 0 12278.4 9
#49 DISCONNECT VENTTUBE True 0 3926.11 3
#50 CATECHOL TPR True 0 1813.11 2
#51 CATECHOL HR True 0 4253.1 2
#52 CO BP True 0 2246.32 4
# Compute edge strength using chi-square independence test and remove (prune) the not-signficant edges
model3 = bn.independence_test(model, df, alpha=0.05, prune=True)
bn.plot(model3, pos=G['pos'])
Chow-liu
The Chow-Liu Algorithm is a Tree search based approach which finds the maximum-likelihood tree structure where each node has at most one parent. The complexity can be limited by restricting to tree structures which makes this approach very fast to determine the DAG using large datasets (aka with many variables) but requires setting a root node.
The Chow-Liu algorithm has three steps:
Compute the mutual information for all pairs of variables X,U. This function measures how much information U provides about X
Find the maximum weight spanning tree: the maximal-weight tree that connects all vertices in a graph. This can be found using Kruskal or Prim Algorithms
Pick any node to be the root variable, and assign directions radiating outward from this node (arrows go away from it). This step transforms the resulting undirected tree to a directed one.
Lets determine the best possible structure for the titanic dataset.
# Load library
import bnlearn as bn
# Load example
df_raw = bn.import_example(data='titanic')
# Preprocessing raw dataset
dfhot, dfnum = bn.df2onehot(df_raw)
# Structure learning
model = bn.structure_learning.fit(dfnum, methodtype='cl', black_list=['Embarked','Parch','Name'], root_node='Survived', bw_list_method='nodes')
# Plot detected DAG
G = bn.plot(model)
# Compute edge strength using chi-square independence test and remove (prune) the not-signficant edges
model1 = bn.independence_test(model, dfnum, alpha=0.05, prune=True)
# [bnlearn] >Edge [Ticket <-> Sex] [P=0.714624] is excluded because it was not significant (P<0.05) with [chi_square]
# Plot
bn.plot(model1, pos=G['pos'])
Tree-augmented Naive Bayes (TAN)
Tree-augmented Naive Bayes (TAN) algorithm is also a tree-based approach that can be used to model huge datasets involving lots of uncertainties among its various interdependent feature sets. It relaxes the naive Bayes attribute independence assumption by employing a tree structure, in which each attribute only depends on the class and one other attribute. A maximum weighted spanning tree that maximizes the likelihood of the training data is used to perform classification.
TAN has three steps:
Approximate the dependencies among features with a tree Bayes net.
- Tree induction algorithm
Optimality: Maximum likelihood tree
Efficiency: Polynomial algorithm
Robust parameter estimation
Lets determine the best possible structure for the asia dataset.
# Load library
import bnlearn as bn
# Load example
df = bn.import_example('asia')
# Structure learning
model = bn.structure_learning.fit(df, methodtype='tan', class_node='lung')
# Plot detected DAG
G = bn.plot(model)
# Compute edge strength using chi-square independence test
model1 = bn.independence_test(model, df, alpha=0.05, prune=False)
bn.plot(model1, pos=G['pos'])
# Examine the output of the chi-square test. 13 edges are detected but not all P values are significant, i.e. those with stat_test=False
print(tabulate(model1['independence_test'], headers="keys"))
# source target stat_test p_value chi_square dof
#-- -------- -------- ----------- ------------ ------------ -----
# 0 either xray True 0 5589.38 1
# 1 either tub True 5.36195e-294 1342.91 1
# 2 either dysp True 2.82344e-85 382.959 1
# 3 tub asia False 0.104413 2.63681 1
# 4 dysp bronc True 0 4737.06 1
# 5 bronc smoke True 1.0335e-211 964.3 1
# 6 lung asia False 1 0 1
# 7 lung tub False 0.125939 2.34186 1
# 8 lung smoke True 3.70391e-91 409.979 1
# 9 lung bronc True 1.90616e-09 36.0673 1
#10 lung either True 0 8604.76 1
#11 lung xray True 0 4800.25 1
#12 lung dysp True 1.34994e-76 343.097 1
# Compute edge strength using chi-square independence test and remove (prune) the not-signficant edges
model2 = bn.independence_test(model, df, alpha=0.05, prune=True)
# [bnlearn] >Edge [tub <-> asia] [P=0.104413] is excluded because it was not significant (P<0.05) with [chi_square]
# [bnlearn] >Edge [lung <-> asia] [P=1] is excluded because it was not significant (P<0.05) with [chi_square]
# [bnlearn] >Edge [lung <-> tub] [P=0.125939] is excluded because it was not significant (P<0.05) with [chi_square]
bn.plot(model2, pos=G['pos'])
NaiveBayes
Naive Bayes is a special case of Bayesian Model where the only edges in the model are from the feature variables to the dependent variable.
The method requires specifying:
The root node.
Edges should start from the root node.
MaximumLikelihood estimator is the default.
Example to design a DAG with the naivebayes model:
# Load library
from pgmpy.factors.discrete import TabularCPD
import bnlearn as bn
# Create some edges, all starting from the same root node: A
edges = [('A', 'B'), ('A', 'C'), ('A', 'D')]
DAG = bn.make_DAG(edges, methodtype='naivebayes')
# Set CPDs
cpd_A = TabularCPD(variable='A', variable_card=3, values=[[0.3], [0.5], [0.2]])
cpd_B = TabularCPD(variable='B', variable_card=2, values=[[0.4, 0.9], [0.6, 0.1]], evidence=['A'], evidence_card=[2])
cpd_C = TabularCPD(variable='C', variable_card=2, values=[[0.4, 0.9], [0.6, 0.1]], evidence=['A'], evidence_card=[2])
cpd_D = TabularCPD(variable='D', variable_card=2, values=[[0.4, 0.9], [0.6, 0.1]], evidence=['A'], evidence_card=[2])
# Make the DAG
DAG = bn.make_DAG(DAG, CPD=[cpd_A, cpd_B, cpd_C, cpd_D], checkmodel=True)
# Plot the CPDs as a sanity check
bn.print_CPD(DAG, checkmodel=True)
# Plot the DAG
bn.plot(DAG)
Example for structure learning with the naivebayes model:
# Load library
import bnlearn as bn
# Load example
df = bn.import_example('random_discrete')
# Structure learning
model = bn.structure_learning.fit(df, methodtype='naivebayes', root_node="B")
# Compute edge strength using chi-square independence test
model = bn.independence_test(model, df, prune=False)
# Plot
bn.plot(model)
# Prune using the chi-square independence test
model = bn.independence_test(model, df, prune=True)
# [bnlearn] >Compute edge strength with [chi_square]
# [bnlearn] >Edge [B <-> A] [P=0.240783] is excluded because it was not significant (P<0.05) with [chi_square]
# [bnlearn] >Edge [B <-> C] [P=0.766384] is excluded because it was not significant (P<0.05) with [chi_square]
# [bnlearn] >Edge [B <-> D] [P=0.382504] is excluded because it was not significant (P<0.05) with [chi_square]
# Plot
bn.plot(model)
Constraint-based
A different, but quite straightforward approach to build a DAG from data is to identify independencies in the data set using hypothesis tests, such as chi2 test statistic. The p_value of the test, and a heuristig flag that indicates if the sample size was sufficient. The p_value is the probability of observing the computed chi2 statistic (or an even higher chi2 value), given the null hypothesis that X and Y are independent given Zs. This can be used to make independence judgements, at a given level of significance.
Hypothesis tests
Construct DAG (pattern) according to identified independencies (Conditional) Independence Tests
Independencies in the data can be identified using chi2 conditional independence tests.
Lets determine the best possible structure for the water dataset.
# Load library
import bnlearn as bn
# Load example
df = bn.import_example('water')
# Structure learning
model = bn.structure_learning.fit(df, methodtype='cs')
# Plot detected DAG
G = bn.plot(model)
# Compute edge strength using chi-square independence test
model = bn.independence_test(model, df, alpha=0.05, prune=True)
bn.plot(model, pos=G['pos'])
References


Module: ActiveModel::Lint::Tests
| Relationships & Source Files | |
| Defined in: | activemodel/lib/active_model/lint.rb |
Overview
You can test whether an object is compliant with the Active Model ::ActiveModel::API
by including Tests
in your TestCase. It will include tests that tell you whether your object is fully compliant, or if not, which aspects of the ::ActiveModel::API
are not implemented.
Note an object is not required to implement all APIs in order to work with Action Pack. This module only intends to provide guidance in case you want all features out of the box.
These tests do not attempt to determine the semantic correctness of the returned values. For instance, you could implement valid?
to always return true
, and the tests would pass. It is up to you to ensure that the values are semantically meaningful.
Objects you pass in are expected to return a compliant object from a call to to_model
. It is perfectly fine for to_model
to return self
.
Instance Attribute Summary
-
#test_persisted? ⇒ Boolean
readonly
Passes if the object’s model responds to
persisted?
and if calling this method returns eithertrue
orfalse
.
Instance Method Summary
-
#test_errors_aref
Passes if the object’s model responds to
errors
and if calling[](attribute)
on the result of this method returns an array. -
#test_model_naming
Passes if the object’s model responds to
model_name
both as an instance method and as a class method, and if calling this method returns a string with some convenience methods::human
,:singular
and:plural
. -
#test_to_key
Passes if the object’s model responds to
to_key
and if calling this method returnsnil
when the object is not persisted. -
#test_to_param
Passes if the object’s model responds to
to_param
and if calling this method returnsnil
when the object is not persisted. -
#test_to_partial_path
Passes if the object’s model responds to
to_partial_path
and if calling this method returns a string. - #assert_boolean(result, name) private
- #model private
Instance Attribute Details
#test_persisted? ⇒ Boolean
(readonly)
Passes if the object’s model responds to persisted?
and if calling this method returns either true
or false
. Fails otherwise.
persisted?
is used when calculating the URL for an object. If the object is not persisted, a form for that object, for instance, will route to the create action. If it is persisted, a form for the object will route to the update action.
# File 'activemodel/lib/active_model/lint.rb', line 70
def test_persisted? assert_respond_to model, :persisted? assert_boolean model.persisted?, "persisted?" end
Instance Method Details
#assert_boolean(result, name) (private)
[ GitHub ]# File 'activemodel/lib/active_model/lint.rb', line 113
def assert_boolean(result, name) assert result == true || result == false, "#{name} should be a boolean" end
#model (private)
[ GitHub ]# File 'activemodel/lib/active_model/lint.rb', line 108
def model assert_respond_to @model, :to_model @model.to_model end
#test_errors_aref
Passes if the object’s model responds to errors
and if calling [](attribute)
on the result of this method returns an array. Fails otherwise.
errors[attribute]
is used to retrieve the errors of a model for a given attribute. If errors are present, the method should return an array of strings that are the errors for the attribute in question. If localization is used, the strings should be localized for the current locale. If no error is present, the method should return an empty array.
#test_model_naming
Passes if the object’s model responds to model_name
both as an instance method and as a class method, and if calling this method returns a string with some convenience methods: :human
, :singular
and :plural
.
Check ::ActiveModel::Naming
for more information.
# File 'activemodel/lib/active_model/lint.rb', line 81
def test_model_naming assert_respond_to model.class, :model_name model_name = model.class.model_name assert_respond_to model_name, :to_str assert_respond_to model_name.human, :to_str assert_respond_to model_name.singular, :to_str assert_respond_to model_name.plural, :to_str assert_respond_to model, :model_name assert_equal model.model_name, model.class.model_name end
#test_to_key
Passes if the object’s model responds to to_key
and if calling this method returns nil
when the object is not persisted. Fails otherwise.
to_key
returns an ::Enumerable
of all (primary) key attributes of the model, and is used to a generate unique DOM id for the object.
#test_to_param
Passes if the object’s model responds to to_param
and if calling this method returns nil
when the object is not persisted. Fails otherwise.
to_param
is used to represent the object’s key in URLs. Implementers can decide to either raise an exception or provide a default in case the record uses a composite primary key. There are no tests for this behavior in lint because it doesn’t make sense to force any of the possible implementation strategies on the implementer.
#test_to_partial_path
Passes if the object’s model responds to to_partial_path
and if calling this method returns a string. Fails otherwise.
to_partial_path
is used for looking up partials. For example, a BlogPost model might return “blog_posts/blog_post”.


Welcome to Moodetect
Give you what you trully need through your emotion
People's name
people's bio
Capture
OR
Put Your Photo:
Analyze
Source image:
Hide Playlist
1
Risin' High (feat Raashan Ahmad)
Ancient Astronauts - We Are to Answer
3:30
2
The Gun
Lorn - Ask The Dust
3:16
3
Anvil
Lorn - Anvil
3:32
4
I Came Running
Ancient Astronauts - We Are to Answer
3:30
5
First Snow
Emancipator - Soon It Will Be Cold Enough
5:12
6
Terrain
pgs.lost - Key
5:29
7
Vorel
Russian Circles - Guidance
5:29
8
Intro / Sweet Glory
Jimkata - Die Digital
2:39
9
Offcut #6
Little People - We Are But Hunks of Wood Remixes
1:00
10
Dusk To Dawn
Emancipator - Dusk To Dawn
5:25
11
Anthem
Emancipator - Soon It Will Be Cold Enough
5:40
Show Playlist


@tomruttle almost everywhere
Working with Node.js for about 2.5 years
Working with React for a little over a year
Almost zero front-end experience aside from React
The same* code runs on both
the server and the client
A very simple form in React:
const React = require('react');
const SimpleForm = ({ actionEndpoint }) => (
<form method="post" action={actionEndpoint}>

A Simple Form

Please input some text:
<input type="text" name="text" />
<button type="submit">SUBMIT</button>
</form>
);
SimpleForm.propTypes = {
actionEndpoint: React.PropTypes.string.isRequired,
};
module.exports = SimpleForm;
Here's what it looks like
(With a few Bootstrap CSS classes added)index.js:
const formEl = React.createElement(SimpleForm, formProps);
const markup = ReactDOM.renderToString(formEl);
res.send(`
<!DOCTYPE html>

${markup}

`);
client.js:
const { props } = document.getElementById('props').dataset;
const formEl = React.createElement(SimpleForm, JSON.parse(props));
ReactDOM.render(formEl, document.getElementById('app'));
Share functions when compiling your client scripts
e.g. validation, transformations, API calls/handling
Share state per request
by adding it to the markup in your server's response
Your app should perform as well as is possible given the conditions under which it is being run.
Component props change between client and server
Don't ignore this error!
More often than not it hints at more serious problems in your React inplementation.
Don't include changable props in your Component's markup
Progressive enhancement means client behaves less predictably
How to handle form submissions via XHR AND <form> action
Assumptions:
Content Negotiation:
switch (req.headers['content-type']) {
case 'application/json':
return res.status(status).send();
case 'application/x-www-form-urlencoded':
return res.redirect(url);
}
Refresh Header:
return res.status(status).set('Refresh', `0;url=${url}`).send();
Sometimes the internet is slow!
How do we keep the Virtual DOM in sync with the DOMQuick demo
React.DOM.input({
type: 'text',
name: 'text',
ref: props.onMountText,
value: props.valueText,
onChange: props.onChangeText,
})
Wrapper Component:
onMountText(input) {
this.setState({
valueText: input.value,
isInvalid: this.validateForm(input.value),
});
input.focus();
}
const { DOM: r } = require('react');
const SimpleForm = ({ actionEndpoint }) =>
r.form(
{ method: 'post', action: actionEndpoint },
r.h3({}, 'A simple Form'),
r.label({ htmlFor: 'text' }, 'Please input some text: '),
r.input({ type: 'text', name: 'text' }),
r.button({ type: 'submit' }, 'SUBMIT')
);
SimpleForm.propTypes = {
actionEndpoint: React.PropTypes.string.isRequired,
};
module.exports = SimpleForm;


for i in
range
range(stop) -> range object
range(start, stop[, step]) -> range object
Return an object that produces a sequence of integers from start (inclusive)
to stop (exclusive) by step. range(i, j) produces i, i+1, i+2, ..., j-1.
start defaults to 0, and stop is omitted! range(4) produces 0, 1, 2, 3.
These are exactly the valid indices for a list of 4 elements.
When step is given, it specifies the increment (or decrement).
(2, n+1):
f
Built-in mutable sequence.
If no argument is given, the constructor creates a new empty list.
The argument must be an iterable if specified.
.append
Append object to the end of the list.
(f[i-1] + f[i-2])
f
[0, 1] → [0, 1, 1] → [0, 1, 1, 2] → [0, 1, 1, 2, 3] → [0, 1, 1, 2, 3, 5] → [0, 1, 1, 2, 3, 5, 8] → [0, 1, 1, 2, 3, 5, 8, 13] → [0, 1, 1, 2, 3, 5, 8, 13, 21] → [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
= [0, 1, 1, 2, 3, 5, 8, 13, 21] → [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]


Embed Widget
Embed widgets in your website
Select an embed widget and see it on the bottom right:
Gitter chat
Discord chat
Help desk
tlk.io chatroom
Typeform survey
Any website


Enter some numbers in cells A1 an B1, then an expression in another cell, like A1+B1 then update either A1 or B1. The cell with expression should automatically update.
A1+B1


WITNESS LIST Business & Industry Committee (Subcommittee on Healthcare Technology) June 29, 2000-12:00A Interim Charge On: Doty, William "Bill" (Self and U.T. M.D. Anderson) Enloe, Jr., J. David (Introgen Therapeutics, Inc.) Frison, Paul (Self and Houston Technology Center) Gallagher, Shawn Leo (Introgen Therapeutics, Inc.) Holmes, Harry (U.T. M.D. Anderson) Lopez, M.D., Gabriel (Self and U.T. M.D. Anderson Cancer Center) Swisher, M.D., Stephen G. (Self and U.T. M.D. Anderson Cancer Center) Walsh, Jonhn (Self) Wilfong, II, Hugh C. (Self and M.D. Anderson Outreach Corp.) Zumstein, Ph.D., Louis A. (Introgen Therapeutics, Inc.) Zwelling, M.D., Leonard (Self and U.T. M.D. Anderson Cancer Center)


In this level, you will learn how to create packets and send them from one computer to another.
Pause the simulation and click on the packet that is sent from Bob's computer to Alice's computer. The information about a packet is contained in its packet headers. This is a simple packet that only lists information in the network layer. Note the two pieces of information contained in this header: srcip (the source of the packet) and dstip (the destination of the packet).
To pass this level, you will need to send a packet from Alice to Bob. To do this:


RSDAppDelegate
open class RSDAppDelegate : UIResponder, RSDAppOrientationLock, RSDAlertPresenter
RSDAppDelegate
is an optional class that can be used as the appDelegate for an application.
Using this class as the base class of your app delegate is not required, but is included as a possible solution to certain common issues with setting up an app.
-
Override to set the shared factory on startup.
Declaration
Swift
open func instantiateFactory() -> RSDFactory
-
Override and return a non-nil value to set up using a custom color palette with your app.
Declaration
Swift
open func instantiateColorPalette() -> RSDColorPalette?
-
Convenience method for presenting a modal view controller.
Declaration
Swift
open func presentModal(_ viewController: UIViewController, animated: Bool, completion: (() -> Void)?)
-
The default orientation lock if not overridden by setting the
orientationLock
property.An application that requires the default to be either portrait or landscape, while still setting the app allowed orientations to allow some view controllers to rotate must override this property to return those orientations only.
Declaration
Swift
open var defaultOrientationLock: UIInterfaceOrientationMask { get }
-
The
orientationLock
property is used to override the default allowed orientations.Seealso
defaultOrientationLock
Declaration
Swift
open var orientationLock: UIInterfaceOrientationMask?
-
Declaration
Swift
open func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask
Return Value
The
orientationLock
or thedefaultOrientationLock
if nil.


About Me
Currently working in Calibo as Product Development Engineer. I have around 7 years of overall experience in Web Application Development.
I am a full stack developer with expertise in Java. Worked on frontend and backend development in Monolithic and Microservice architecture, many AWS Services, Payment gateway (Stripe) and Linux System Administration etc. I have worked on ERP application and other web application development in product and service based organizations. Spring, Hibernate, Angular, ReactJS, Docker are some of the technologies I have mostly worked on.
I am also active on stackoverflow.com and have more than 8000 reputation points there. Apart from these technical stuff I am a hobbyist guitarist.
Professional Career
2020 - Present
Product Development Engineer in Calibo. Here I have worked on a Product Platform-as-a-Service (pPaaS) application. I worked on several technologies here e.g. Spring Boot, Java 8, Jenkins, Sagemaker, MLFlow, Kubernetes etc. My core responsibility while working here are Team Leading, Understanding the requirement of new feature and owning responsibility to get that feature delivered to production environment, involve in architectural decision making.
2019 - 2020
Senior Engineer in Nagarro. Here I have worked on SOA and Microservice applications with Spring Boot, Spring MVC, Angular, Material-UI, Docker, RabbitMQ. I am involved in having meeting with client, understanding their requirement, making documents for their requirement, writing code, and deploying changes to production server.
2017 - 2019
Senior Software Developer in Enbraun. My core tasks during this period were to code on one of complex logical feature, Writing technical specification on assigned feature, To provide architectural and technical views for application's enhancement, To Train and Review code of my development team, to provide technical assitance in troubleshooting server error i.e. production server and development servers.
2015 - 2017
Worked on a web-application eResource Scheduler as Software Developer. It is a specialised collaborative (multi-user) and configurable web application that lets organisations schedule, plan and manage employees, equipment and other resources on projects.
I worked on backend (JavaEE, Spring), frontend (AngularJS, bootstrap), nosql (aerospike), unit-testing (JUnit) and database (postgresql) for this project. Later I also worked on System Administration of production and test servers, Administration of development server. During that period I have worked on Stripe API, OAuth 2.0, AWS (EC2, RDS and S3), Jenkin server, gitlab server, mail servers.
2014 - 2015
Worked on a Freelance Project, CQuiz, a Desktop application. Developed this software for Graphic Era University to organize a quiz competation. That application is developed in Java Swing and to control gcc for compilation of C++ code through Java, Java Native API is used.
I have worked on other projects also during this period. I developed theme website for my college (Doon Institute of Engineering and Technology). For that I used PHP, bootstrap and jQuery.
Educational Details
| Duration | Degree / Board | College / School | Aggregates |
|---|---|---|---|
| 2022 - 2023 | MS in Data Science | Liverpool John Moores University | Results Awaited |
| 2021 - 2022 | Post Graduate Diploma in Data Science | International Institute of Information Technology, Bangalore (IIITB) | 3.24/4 CGPA |
| 2011 - 2015 | Bachelor of Technology in Computer Science | Uttarakhand Technical University | 66% |
| 2010 - 2011 | Intermediate from CISCE | Modern School Rishikesh | 88% |
| In 2010 | High School from CISCE | Modern School Rishikesh | 70% |
Skillset
- Java8
- JavaEE
- Microservices
- Spring (Boot, MVC)
- Python, Flask
- Sagemaker, MLFlow, Jupyterlab
- Docker
- Kafka
- ReactJS, AngularJS
- Hibernate
- Linux System Administration
- Git (gitlab), SVN
- Amazon Web Services (EC2, RDS)
- RESTful Web services
- RDBMS (Postgresql, SQL)
- NoSQL (MongoDB, Aerospike)
- Authentication (OAuth 2.0, JWT)
- Stripe API
- SCSS, LESS, Bootstrap, Material-UI
- Bash Programming
Projects
LAZSA
Industry-first Product Platform-as-a-Service (pPaaS) to redefine digital Innovation and drive competitive advantage through digital business. The platform provides a comprehensive set of Tools and Tech Stack to help you manage define, design, develop, and deploy phases of product development efficiently.
It provides complete visibility into the status of various business functions through Executive Dashboards. Automated CI/CD pipeline, DevSecOps Orchestration, AIOps intelligence, Maturity Assessment, and VSM ensure that the release cycles are managed with speed and agility.
My core responsibility while working here are Team Leading, Understanding the requirement of new feature and owning responsibility to get that feature delivered to production environment, involve in architectural decision making.
Technologies: Java8, Spring Boot, AWS, Kafka, ReactJS, Docker, Kubernetes, Jenkins, Sagemaker, MLFlow, Kedro, ELK
DiPEC (Digitalized Project Excecution)
It is a web application created to digitalize project development. It is being
used by Engineers of Siemens. I was
involed in Team leading and Development of this project from very
starting of the development. That application is developed in Microservices
architecture. The technologies used in it are Spring (Boot), RabbitMQ,
Angular 8, Postgresql, Material UI.
Due to some company policies of Nagarro, I could not write much about the
details of the project.
DiPEC (Digitalized Project Excecution)
It is a web application created to digitalize project development. It is being
used by Engineers of Siemens. I was
involed in Team leading and Development of this project from very
starting of the development. That application is developed in Microservices
architecture. The technologies used in it are Spring (Boot), RabbitMQ,
Angular 8, Postgresql, Material UI.
Due to some company policies of Nagarro, I could not write much about the
details of the project.
Leaseplan - Car Rental Application
It is a web application used by customers of Leaseplan for car rental
services. That application was created in SOA, and the technologies used it
this application are Spring Boot, Spring MVC, AngularJs, MicrosoftSql, SVN.
I was involved in discussion with Business Unit, understanding their
requirement, documentation of technical requirement, development /
maintenance of application, testing of application, publishing of the
changes into production server.
Due to some company policies of Nagarro, I could not write much about the
details of the project.
eResrouceScheduler Cloud Application (eRS Cloud)
It is a Cloud based Resource planning, management and scheduling Software written mainly in Java. I was the core member of the team working on this project and was involved in Designing, Development, Testing and Deployment of the application. I was also involved in Recruitment and Training of new developers and Maintenance of servers for this project. It took more than 3 years for us to release its first first version, which was released on May, 2018.
The technologies used in this project are Java8, JavaEE (Servlets, Filters, Intercepters etc.), Restful Services (RESTEasy), AngularJS, npm, bootstrap, Aerospike (NoSQL database), OAuth 2.0, Postgresql, Amazon Web Services (EC2, RDS and S3), Apache Velocity, TestNG with Allure for reporting, Wildfly.
I had worked for nearly 4 years on that project with a team of ~15 members in Enbraun, India. During that period I had worked on different roles. Initially Development (coding) of the project was my core job. Over the time I was involved in Designing structure, Deciding technical standards, and selection of IT tools for the project. I had trained testers Unit Testing of the application with TestNG and REST Assured. I had taken interviews to hire new software developers for this project and later trained them to work on the project.
Later I worked on international payment gateway Stripe, Amazon web services EC2 server maintenance, RDS and S3 infracture setup. I setup git server (Gitlab) for development of eRS Cloud and was responsible for maintenance of the development server. I was extensively involved in setting up of production and testing environment for successful deployment of this eRS Cloud on Amazon Web Servers. Later Code Review of Junior developers and Maintenance of Development and Testing server were other responsibilities under me.
- Link to API Reference of eRS Cloud : https://apidocs.eresourcescheduler.cloud
- Link to eResource Schedulure website : https://www.eresourcescheduler.com
- Link to eRS Cloud application : https://app.eresourcescheduler.cloud
Abho costing sheet
It is a Web application to manage costing of a fashion designing industry Abho. Client, fabric used and their costs, clothes category, labor and their costs, dyeing cost, embroideries, overheads (electricity, internet, etc) could be managed with this application. A precise cost of the piece could be obtained at a particular time and of the costume created afterwards. There is User management module, separate screens (navigation templates) provided and user could be authorized to some or all screens. A team of ~6 members worked on this project for first release which was released on March, 2016.
In this project the File server is provided with servlets, authorization is managed with servlet filters, and oauth2 was used for authorization of Restful Services. My core responsibility in this project was to take design decisions, to mentor other developers and to communicate with client about the requirements. In that project we needed to secure front-end files also (i.e. javascript), because they were containing business logics. Each user can have rights to access particular module, and unauthorised access to front-end files is also restricted.
Technologies used in this project are Java8, JavaEE (Servlets, Filters, Intercepters etc.), Restful Services, AngularJS, Postgresql, Wildfly etc.
Notifier
This is a web application that can notify or remind user about some task or let him write daily notes. I created that application for myself to write daily like I do in diary. Suppose a user want to get notified every Wednesday to watch a TV serial, or want to get reminded of somebody’s birthday, this could be done by this web application.
A good account management, nice looking notifiers (reminder gadgets), fully featured note writing area, cool self-developed (with jQuery) slider are present in this web application. All the changes done by user will be made on server instantly through ajax. Technologies that are used in this project are PHP, HTML5, CSS3, jQuery, tinyMCE, MySQL, Apache Tomcat etc.
- Link to project on GitHub : https://github.com/afzalex/Notifier
CQuiz | Desktop Application
I developed that desktop application to organise a programming quiz competition in Graphic Era University.I developed it during my BTech graduation in 2017. This application had two interfaces, one for admin users and another for normal users (students taking quick competition). Admin user can create questions and review answers submitted by normal users. Normal users can give test, compile there code, and view their submitted data.
The screen of that application id divided into three horizontal resizable panels. First panel contain questions created by admin users, that panel is editable when logged into application as admin user and is non-editable when logged in as normal user. Second panel has editable area for normal user to write answer program for provided questions. Third panel contained tools to compile and check output of written program. Application has a clock showing count down time to normal user, after which they cannot edit their answers i.e. second panel will become non-editable. I needed another application to collect answers from all user's computers. I had written native functions in C language to allow communication between C program and Java program.
Technologies used in this application are Java Swing, SAX (Simple API for XML), JNI (Java Native Interface), C, GCC
Online Banking System | Swiss bank (In industrial training)
Developed it with a team of 4 members using struts2 framework during my industrial training at DIT University organised by HP in 2015. The web application was assumed to be used by bank employees to register user account, register online accounts, to do transactions etc. Then customer can have his own net banking account and they can do transactions himself. This web application was having a Multilanguage (English and Spanish) feature, Password hashich scheme with SHA-256, a security is provided by using proper hashing technique with SHA-256 and a good self-developed captcha feature.
Technologies used in this project are Java7, Struts2, JSPX, Image Processing, I18N jstl, MySQL, oracle weblogic.


First page Back Continue Last page Overview Graphics
Aren't standards doomed to grow?
New standard must be
practically upward compatible
Not from ES3, but from cross-browser web corpus.
Annoying differences → opportunity for committee.
3 of 4 browser rule + experience & sense.
Opt-in for strict code: "use strict";
Mostly subtractive!
Better for new code, for novices & experts.
Not purely compatible, but good code ports easily.


Molecule
C
16
H
18
N
2
O
4
S
The Five Tails
Atom
The Build Validator
Neutron
The CR Designer
Electron
The CR Destroyer
Proton
The Post Office


#include <curve.h>
Public Member Functions | |
| curve (string f, const color &col) | |
| Constructor. | |
| void | dl_gen (const screen &s) |
| Display-list generator. | |
Public Attributes | |
| color | c |
| Color variable. |
This class takes a function that accepts a double and returns a double and does its best to plot it in the grapher.
| glot::curve::curve | ( | string | f, | |
| const color & | col | |||
| ) | [inline] |
| void glot::curve::dl_gen | ( | const screen & | s | ) | [virtual] |
Display-list generator.
| s | - the screen specs |
Implements glot::primitive.
Color variable.
This is the color the curve is supposed to take on.
Reimplemented from glot::primitive.


Simple JS Calculator
Just basic math with two positive numbers possible.
Addition
Subtraction
Multiplication
Division
Modulo
nth Exponent
Nth Root
1th number:
2nd number:
Result:


Detail
Overall
Servers
Sessions
Server Sent: 0(B)
Server Received: 0(B)
Session Sent: 0(B)
Session Received: 0(B)
| ServerID | IP | Sent (B) | Received (B) |
|---|
| SessionID | IP | Sent (B) | Received (B) |
|---|
| ServerID | IP | Sent (B) | Received (B) |
|---|
| SessionID | IP | Sent (B) | Received (B) |
|---|


{% extends "home/about.html" %} {% block subtitle %}{{ title }}{% endblock %} {% block breadcrumb_content %}
The Data Portal has been developed by the Museum’s Biodiversity Informatics group, with the help and support of teams throughout the Museum. It is a window into the Museum’s research and collections data, and is the result of decades of work by the Museum's science staff.
The Data Portal is built with CKAN, an open-source data-publishing platform.
The Museum has contributed to core CKAN and created several extensions to enhance its functionality. This code is licensed under the terms of the GNU GPL v3.0.
All our open-source code can be found on GitHub (CKAN extensions here).
{% endblock %}


Devops and other bits
An update
Jonathan Lake-Thomas /
@jonlt
Sorry.
Chocolatey packaging system
Powershell
Aims to be like apt-get
Endorsed by Microsoft
Packaging & Challenges
Our servers are not always on-line
Chocolatey & pip use on-line repos
Refactor to run offline
Create local repos
Installers (Chocolatey demo) 1
Installers (Chocolatey demo) 2
iShare Test Server
Training Instances
AWS Dash - Python flask application
Lists AWS instances
Will soon allow users to start their own instances


Children must be on their own in the picture – no toys or dummies.
If the child is under 6, they don't have to:
- look directly at the camera
- have a plain expression
If the child is under 1:
- they don’t have to have their eyes open
- if you need to support their head with your hand, your hand must not be visible
- for babies, lay them on a plain sheet and take the photo from above with their face in full view