@Documented @Target(value={PARAMETER,TYPE,METHOD}) @Retention(value=RUNTIME) @Inherited public @interface Response
Identifies an interface to use to interact with HTTP parts of an HTTP response through a bean.
Can be used in the following locations:
| Modifier and Type | Optional Element and Description |
|---|---|
String[] |
api
Free-form value for the Swagger Response Object.
|
int[] |
code
The HTTP response code.
|
String[] |
d
Synonym for
description() . |
String[] |
description
|
String[] |
ex
Synonym for
example() . |
String[] |
example
A serialized example of the body of a response.
|
String[] |
examples
Serialized examples of the body of a response.
|
String[] |
exs
Synonym for
examples() . |
ResponseHeader[] |
headers
|
Class<? extends HttpPartParser> |
parser
Specifies the
HttpPartParser class used for parsing strings to values. |
Schema |
schema
|
Class<? extends HttpPartSerializer> |
serializer
Specifies the
HttpPartSerializer class used for serializing values to strings. |
int[] |
value
A synonym for
code() . |
public abstract Class<? extends HttpPartParser> parser
HttpPartParser
class used for parsing strings to values.
Overrides for this part the part parser defined on the REST resource which by default is OpenApiParser
.
public abstract Class<? extends HttpPartSerializer> serializer
HttpPartSerializer
class used for serializing values to strings.
Overrides for this part the part serializer defined on the REST resource which by default is OpenApiSerializer
.
public abstract int[] code
public abstract int[] value
code()
.
Allows you to use shortened notation if you're only specifying the code.
The following are completely equivalent ways of defining the response code:
public abstract String[] description
public abstract String[] d
description()
.public abstract Schema schema
public abstract ResponseHeader[] headers
public abstract String[] example
This is the Overview > juneau-marshall > JSON Details > Simplified JSON of an example of the body.
This value is converted to a POJO and then serialized to all the registered serializers on the REST method to produce examples for all
supported language types.
These values are then used to automatically populate the examples()
field.
There are several other options for defining this example:
@ResourceSwagger (value)
/@MethodSwagger (value)
).
The latter is important because Juneau also supports auto-generation of JSON-Schema from POJO classes using JsonSchemaSerializer
which has several of it's own
options for auto-detecting and calculation POJO examples.
In particular, examples can be defined via static methods, fields, and annotations on the classes themselves.
Examples can also be specified via generic properties as well using the BeanContext.BEAN_examples
property at either the class or method level.
JsonParser.DEFAULT
or a simple String if the object
has a schema associated with it meancan be converted from a String.
public abstract String[] examples
This is a Overview > juneau-marshall > JSON Details > Simplified JSON object whose keys are media types and values are string representations of that value.
In general you won't need to populate this value directly since it will automatically be calculated based on the value provided in the example()
field.
However, this field allows you to override the behavior and show examples for only specified media types or different examples for different media types.
public abstract String[] exs
examples()
.public abstract String[] api
This is a Overview > juneau-marshall > JSON Details > Simplified JSON object that makes up the swagger information for this field.
The following are completely equivalent ways of defining the swagger description of the Response object:
The reasons why you may want to use this field include:
Copyright © 2016–2020 The Apache Software Foundation. All rights reserved.


medis.Telescope package¶
Submodules¶
medis.Telescope.FPWFS module¶
-
medis.Telescope.FPWFS.
active_null
(wf, iter, w)¶
-
medis.Telescope.FPWFS.
add_single_speck
(wfo, iter)¶
-
medis.Telescope.FPWFS.
add_speckles
(wfo, pair=True)¶
-
medis.Telescope.FPWFS.
measure_phase
(Imaps)¶
-
medis.Telescope.FPWFS.
modulate
(wfo, w, iter)¶
-
medis.Telescope.FPWFS.
piston_refbeam
(wf, iter, w)¶
-
medis.Telescope.FPWFS.
speckle_killer
(wf, phase_map)¶
medis.Telescope.aberrations module¶
-
medis.Telescope.aberrations.
abs_zeros
(wf_array)¶ zeros everything outside the pupil
-
medis.Telescope.aberrations.
add_aber
(wf_array, f_lens, aber_params, aber_vals, step=0, Loc='CPA')¶
-
medis.Telescope.aberrations.
add_atmos
(wf_array, f_lens, w, atmos_map, correction=False)¶ creates a phase offset matrix for each wavelength at each time step, sampled from the atmosphere generated by CAOS
Parameters: - wf_array – array of complex E-field arrays at each wavelength for each astronomical body
- f_lens –
- w – discreet wavelength
- atmos_map – fits file of atmospheric aberrations at time step
- correction –
Returns:
-
medis.Telescope.aberrations.
add_zern_ab
(wfo)¶ adds low-order aberrations from Zernike polynomials
see good example in Proper manual pg 51 quote: These [polynomials] form an orthogonal set of aberrations that include:
wavefront tilt, defocus, coma, astigmatism, spherical aberration, and others
-
medis.Telescope.aberrations.
circularise
(prim_map)¶
-
class
medis.Telescope.aberrations.
error_params
¶ Bases:
object
-
medis.Telescope.aberrations.
generate_maps
(Loc='CPA')¶
-
medis.Telescope.aberrations.
initialize_CPA_meas
()¶
-
medis.Telescope.aberrations.
initialize_NCPA_meas
()¶
-
medis.Telescope.aberrations.
rotate_atmos
(wf, atmos_map)¶
medis.Telescope.adaptive_optics module¶
-
medis.Telescope.adaptive_optics.
adaptive_optics
(wfo, iwf, iw, f_lens, beam_ratio, iter)¶
-
medis.Telescope.adaptive_optics.
flat_outside
(wf_array)¶
-
medis.Telescope.adaptive_optics.
quick_ao
(wf_array, iwf, f_lens, beam_ratios, iter, CPA_maps)¶
-
medis.Telescope.adaptive_optics.
quick_wfs
(wf_vec, iter, r0)¶
-
medis.Telescope.adaptive_optics.
wfs_measurement
(wfo, iter, iw, r0)¶
medis.Telescope.coronagraph module¶
-
medis.Telescope.coronagraph.
apodization
(wf, RAVC=False, phase_apodizer_file=0, amplitude_apodizer_file=0, apodizer_misalignment=0, Debug_print=False)¶
-
medis.Telescope.coronagraph.
circular_apodization
(wf, radius, t_in, t_out, xc=0.0, yc=0.0, **kwargs)¶
-
medis.Telescope.coronagraph.
coronagraph
(wfo, f_lens, occulter_type, occult_loc, diam)¶
-
medis.Telescope.coronagraph.
lyotstop
(wf, RAVC=None, APP=None, get_pupil='no', dnpup=50)¶ Add a Lyot stop, or an APP.
-
medis.Telescope.coronagraph.
readfield
(path, filename)¶
-
medis.Telescope.coronagraph.
vortex
(wfo)¶
-
medis.Telescope.coronagraph.
writefield
(path, filename, field)¶
medis.Telescope.foreoptics module¶
-
medis.Telescope.foreoptics.
add_hex
(wfo)¶
-
medis.Telescope.foreoptics.
add_obscurations
(wfo, diam, legs=True)¶
-
medis.Telescope.foreoptics.
do_apod
(wfo, grid_size, beam_ratio, apod_gaus)¶
-
medis.Telescope.foreoptics.
offset_companion
(wf_array, atmos_map)¶
-
medis.Telescope.foreoptics.
prop_mid_optics
(wfo, f_lens)¶
medis.Telescope.optics_propagate module¶
This code handles most of the telescope optics based functionality
-
medis.Telescope.optics_propagate.
iter_func
(wavefronts, func, *args, **kwargs)¶
-
medis.Telescope.optics_propagate.
optics_propagate
(empty_lamda, grid_size, PASSVALUE)¶ propagates instantaneous complex E-field through the optical system in loop over wavelength range
this function is called as a ‘perscription’ by proper
uses PyPROPER3 to generate the complex E-field at the source, then propagates it through atmosphere, then telescope, to the focal plane currently: optics system “hard coded” as single aperture and lens the AO simulator happens here this does not include the observation of the wavefront by the detector :returns spectral cube at instantaneous time


{# blog/item.html #} {% extends "base.html" %} {% load staticfiles %} {% load bootstrap_pagination %} {% block title %} {{ fbuser.user_name }} {% endblock %} {% block extra_css %} {% endblock extra_css %} {% block pagecontainer %}
The graph shows a visualisation of Facebook activity in terms of the flows of interaction between users combined with data from advertising that will have been fed to your Facebook account and as you browse the web.
Users are shown by the coloured wavy lines. The different types of posts, photos, status messages, etc., that you have interacted with on Facebook are shown as vertical boxes with dark outlines.
Sponsored stories on Facebook are shown as the larger circles with blue outlines. Adverts, such as the ones that appear in the sidebar of your Facebook page, are shown as smaller circles with blue outlines.
The grey bars in the background give an indication of how much advertising has been detected. Each bar represents one hour.
The four buttons at the top of the screen allow you to switch the display of each of these on and off:
| hides users only linked with one posting | |
| turns users on and off | |
| turns Facebook posts on and off | |
| turns Facebook adverts on and off | |
| turns web advertising data on and off |
This enables you to see different parts of the visualisation more clearly where several layers are overlapping.
By clicking on the boxes, bars and circles you can see more detailed information related to that item. If you have difficulty clicking on a specific item, use the display buttons as described above to turn off the other layers.
For Facebook posts, the detail shows information such as who sent it, the time at which it was sent and how long other users interacted with it. A graph below this shows a timeline of when different people commented on a post, shown with the coloured boxes, and who liked or was tagged in a post. A like is shown as a small coloured circle next to the person's name, and a tag as a small coloured box. Comments are shown as the larger coloured boxes. When you move your mouse over a box the message in the comment is displayed.
The detail view for sponsored stores and adverts on Facebook shows the date, content and image for the story or advert.
For web advertising, the detail view shows the connection between advertising companies and sites you have visited. The names down the left-hand side of the graph are the domain names of advertising and tracking sites. The names along the bottom are the domain names for websites you have visited. The red circles give an indication of how much content a particular advertising or tracking domain had on each of the sites you visited. If you move the mouse over a circle the exact amount of content will be shown. This includes now only adverts you may have seen but also hidden content that has been used by these companies to track your web browsing.
Sometimes an advertising company shows up in the visited sites list. This happens because some forms of advertising include content from other advertisers.
The visualisations and graphs are only available to users registered with the Values & Value website. Users only have access to their own data and are not able to see others.
The researchers are able to see the data for all participants but only in an anonymized form. Users's real names are replaced with random fictitious names and no content from Facebook posts, such as messages, or photos, are shown to researchers. The researchers are therefore able to see the patterns of interaction between users but without knowing who is who or what the content of this is.
The images and content from sponsored stories and advertising on Facebook is visible to researchers as this does not contain any personal information.
When viewing the web advertising data the researchers are able to see the names of the advertising companies but not the actual websites visited by participants.
It may be that during the study the researchers need to see some of the content from your Facebook activity, for example to discuss a specific posting or series of events that are relevant to the study. In this case the researchers will either meet with you in person, if doing an interview, or request that you turn off the anonymization for your data. This is controlled by a setting in your personal profile which only you have access to.
At the end of the project, all personal data such as names and the content of Facebook postings will be erased and only the anonymized version of the data will be retained.
You also have the right to withdraw from the project at any time and have all of your data completely removed. If you wish to do this, please contact the research team from the contact page or by email.


Deus Rex
A retro style arena shooter with a focus on aerial movement
Made for the Miz Jam 1, where contestants all had to use the same art pack to create a game.
Note: Always check our Discord the day of an event as room numbers or other info may change
| Date | Event | Time | Location |
|---|---|---|---|
| Sept 10th | Intro Meeting | 7:30-8:30 PM | ONLINE |
| Sept 17th | Meeting | 7:30-8:30 PM | ONLINE |
| Sept 18-20th | UMBC/UMD Collaborate Game Jam | 5:00 PM Sept 18th -5:00 PM Sept 20th | ONLINE |
| Sept 24th | Meeting | 7:30-8:30 PM | ONLINE |
These are some of the games created during club events. Full game list here
Made for the Miz Jam 1, where contestants all had to use the same art pack to create a game.
 Everyone else can give you a clue, but a few disreputable individuals aren't telling the truth. When you think you know who it was, accuse them! And bask in sweet, sweet justice. J'accuse!
The gatekeeper of an elevator to the moon meets day after day a girl without papers. An archer pining for her love shoots messages to the moon as shooting stars.
These are some of the larger scale games released of created by members.


WITNESS LIST
Administration
March 14, 2011 2:30 PM - or upon adjournment
Registering, but not testifying:
On:
Fulton, Deborah (Texas Legislative Council), Austin, TX
Registering, but not testifying:
For:
Igo, Shanna (Texas Municipal League), Austin, TX
LeBas, James (Tax and Fiscal Consulting), Austin, TX
Quinn Sullivan, Michael (Self), Austin, TX
FOR:
Deitch, Michele Member (Barbara Jordan Freedom Foundation), Austin, TX
Hutchings, Robert LBJ School of Public Affairs, Dean (also providing written testimony)
(LBJ School of Public Affairs), Austin, TX
Langham, Laura Member (Barbara Jordan Freedom Foundation), Austin, TX
O'Neal, Tiffany Member (Social, Health, and Economic Policy Makers, LBJ School of
Public Affairs), Austin, TX
Registering, but not testifying:
For:
Wagner, David Member (Barbara Jordan Freedom Foundation), Austin, TX
FOR:
Albrecht, Jonathan (Self), Shiner, TX
Schroeder, Chase (Self), Shiner, TX
Schroeder, David (Self), Shiner, TX
FOR:
Olson, Kimberly (Women Veterans), Weatherford, TX
Registering, but not testifying:
For:
Lovelace, Joe (Texas Council of Community Centers), Austin, TX
Milam, Susan (National Association of Social Workers, Texas Chapter), Austin, TX
Serafine, Lil (Grace After Fire), Cedar Park, TX
On:
Palladino, Thomas (Texas Veterans Commission), Austin, TX
FOR:
Burchard, Bob (Gonzales County Historical Commission), Gonzales, TX
Crozier, Barbara (Self), Gonzales, TX
1
WITNESS LIST
Administration
March 14, 2011 2:30 PM - or upon adjournment
Registering, but not testifying:
For:
Bakken, Kay (Self), Gonzales, TX
Gordon, Glenda (Gonzales, Texas History Museums), Gonzales, TX
Shirley, Loretta (Self), Gonzales, TX
2


Image classification
Image classification with TensorFlow.js
Web cam
Real-time video
Result
Predicted label
Label:


This page should say - 'Hello world!'; created by brainf*ck program.
See
test/vm-test.js
for more examples.


Consulting experience includes four years' Program Evaluation and Statistics for K-12 programs, Higher Education grants, and Public Data projects at Institute for Social Research;
I provide Services and Consulting for big & small Data and Web solutions since 2016. Your data tell a story, let me help you visualize a data-driven message.
I provide Data-Driven, Analytic Development of your apps, even if it's sketched on a napkin! Data Visualization using JavaScript-level, R-level, and Python-level for graphics, interactivity, and specific aims of the client.
Literate Jenks cut up data values into discrete categories. For instance, a choropleth map of poverty rates is cut into nine buckets which each have a different color. Different scales are useful for different kinds of data - you might use a linear scale, log scale, quantile, or so on.
Literate Jenks Natural Breaks 1 Algorithm designed specifically for this case that tries to maximize the similarity of numbers in groups while maximizing the distance between the groups. It tends to look good and be easily understood, so it’s popular. It’s in ArcGIS, QGIS, and lots of other tools for maps and statistics 1.
Continuing from the commentaries in my last post, the Germs present a timely topic for today, given the especially virulent Flu Virus strain this past year 1. Many, like me, have wondered why our 1940's-era technology in Flu Vaccine fabrication wouldn't invite more innovative solutions. Without feigning any medical expertise, I have to still ask about the mimicry of the ever-mutating--i.e., drifting--Flu virus "head." This strategy "guesses right" very effectively, and provides an effective solution for most, in most years. Yet this winter has revealed that effectiveness statistics are not always in our favor.
First a quick word on the Flu's drift, also called "Antigenic Drift," which is the continuous, generational genetic mutations. Above I casually mentioned "guessing", yet with great respect, the huge science behind estimating the flu virus between the time of R & D, fabrication, and the long flu season. (This antigenic drift, not to be confused with Antigenic Shift in which the Flu Virus makes an abrupt change.) I'll let the CDC abbreviate this:
One way they change is called “antigenic drift.” These are small changes in the genes of influenza viruses that happen continually over time as the virus replicates. These small genetic changes usually produce viruses that are pretty closely related to one another, which can be illustrated by their location close together on a phylogenetic tree. Viruses that are closely related to each other usually share the same antigenic properties and an immune system exposed to an similar virus will usually recognize it and respond 2.
So, ultimately, the strategy is to estimate the form, location, of that virus--what it will look like--at a particular period each year. This implicates a strategy to estimate the trajectory, stage by stage, of this virus, i.e. a longitudinal time-series morphology, each year. The article makes this point more precise:
But these small genetic changes can accumulate over time and result in viruses that are antigenically different (further away on the phylogenetic tree). When this happens, the body’s immune system may not recognize those viruses 2.
Petri dishes aside, let's focus on the changing nature of the Flu Virus, which makes itself a research challenge in itself because of an ever-mutating object of study. Yet, this ever-changing nature also provides the very tool Statisticians need most for estimating: Big Data. The Law of Large Numbers means that plain math can accurately plot, and in most cases predict with a moderate statistical significance, future events, sort of.
Sort of I say because too often we predict that two separate events are more likely to occur, conditional on each other, then conditional upon other factors. This being correlation, but the Statistician's Holy Grail is the other kind: Causality. Causality hinges on only thre3e things: 1) Association, 2) Time Precedence, and 3) Ruling out any effect of spurious variables. (Hang with me, I'm still getting back to the subject of our annual predictions about a few months' worth of antigenic drift.)
Therefore, Big data, and new advances in the statistical sciences, and the technology that increasingly defines our sciences, may soon refine and supercharge research into the first and third of the three points of causality. The first of these, the associations, along the phylogenic tree, are merely a network at its base, the science of which gains computational strength each year. Rare as it is in Academia, in this case Might makes Right!
The third tenet of causality, after association and time direction, is ruling out the effect of other factors when separating cause and consequence. Advances in managing big data, and statistical analysis of it, means gaining a better handle on the The Law of Large Numbers 3, which informs the morphology of the path of the virus, along the phylogenic tree itself, as it appears year after year. Who knows where a cure may come from, perhaps a bio-statistician out there, churning the numbers, may be the one to stumble upon a better Flu Vaccine!1. https://qz.com/1143420/the-2017-2018-flu-vaccine-is-less-effective-than-usual
2. https://www.cdc.gov/flu/about/viruses/change.htm
Back in 1997, a Pulitzer-Prize winning theory--based on Dr. Jared Diamond's Guns, Germs, and Steel: The Fate of Human Societies --provided the recipe book for the success of societies. Not without controversy, the theory posits that geographic and environmental preconditions, once met, provide tech & resources trading opportunities, within a network of other nation-states also vying for technogical innovation.
A nation's Technology, in turn, opens the means necessary to expansive, stable, independent sovereignty that lasts and thrives. Equally so, the nation's friends, especially those making the best-friends list, share and receive a secondary, "residual" technological bump over the time-course of the network's future trading, i.e. network transactions. So, if our best friends Canada and Mexico are less keen, then there is network reverberation!
Given the advent of a real, lasting Trade-War, I would think that a network theorist wouldn't be betting on one particular node within this network. I say this because a disproportionately asymmetrical flow of technology and resources, while simultaneously raising prices on most staple goods, may spell trouble for the Every-Day person. So far, Nation-State: 0, People: 0 ... So, who wins with a Trade War? Alas, let's hope not the resurrection of the Neo-Multinational Corporations, also, coincidentally, from the late 1990's. Bah humbug!
1. Guns, Germs, and Steel. "Steel: The Fates of Human Societies." Diamond J (1997).
Security, security, another day another platform risk, or risks from your device, or risks from transactions, Today's headline buried beneath a techy jargon provides a glimpse of the rising threat of web-application-based hackery: Cryptojacking. Coindesk reports, " Opera browser introduces cryptocurrency miner protection for smartphones ... "
Cryptocurrency miners can overload smartphones' CPUs, forcing 100 percent usage and potentially causing a phone to overheat. And the damage can sometimes be permanent. According to a ZDNet article, one trojan generated so much heat in a phone, its battery became swollen, permanently damaging the phone. While excessive ads were one reason for the heat generation, the main cause was that the phone's CPU was hijacked to mine for Monero 1.
The larger issue here is that the lines between trusted mobile-app authorities, i.e., certified by Play Store or Apple's is increasingly irrelevent. This is because an increasing number of app-users are ditching device-downloaded apps, preferring for browser applications--hence, a much more appetizing market for the newest generation of blackhat hackers, online thieves, peeping-toms, and other ill-wishers. There are a few driving factors for this issue--one of which is the onset of Decentralized Applications (DAPPs), which use the browser to interface between the Every-Day blockchain client/merchant/programmer and the actual byte-code of the blockchain (via WEB).
More importantly, the larger issue is that we live in an age in which the exclusive, native browser language since 1995, i.e. JavaScript. Security issues with browser-based apps were very low, because JavaScript never left the browser, ever. Until 2009, Data, Servers were the domain of PHP, JAVA, Python, etc. or some other language for the highly sensitive, dirty work of dipping into all that data sitting ontop of centralized servers around the world. PHP wasn't easy, so power and responsibility usually followed with all the extra effort and expertise.
2015 augured in the Node.js server-accessing (can create, read, update, and delete date) new-born capabilities of JavaScript
1. https://www.coindesk.com/opera-browser-introduces-cryptocurrency-miner-protection-for-smartphones/
I couldn't help but revisit the Environmental Sustainability problem I addressed in my February 28th post. This problem, experienced by the top two crypto-currencies Bitcoin and Ethereum, is that the monetary value of the currency is matched to the computing difficulty--measured either by how much the computer is sweating, or by electricity KiloWatt Hours per year 1. Digiconomist succinctly writes:
The continuous block mining cycle incentivizes people all over the world to mine Bitcoin. As mining can provide a solid stream of revenue, people are very willing to run power-hungry machines to get a piece of it. Over the years this has caused the total energy consumption of the Bitcoin network to grow to epic proportions, as the price of the currency reached new highs 2.
And, so the issue I'm addressing is a side-effect of the deepening incentivization for miners to invest more equipment, and in turn, more electricity. The article goes on to report Bitcoin's surpassing 50 TeraWatt-Hours-per-year usage has surpassed that of Portugal and Singapore, which are 49.5 TWh per year, and 49.8 TWh per year, respectively. In other words, the usage by the Bitcoin miner's cost (in electricity) compared with the miner's gain (in Bitcoins accrued by incentivized mining) drives up and incentives a deeper Carbon Footprint.
Fueled by a meteoric rise in the Bitcoin price over the past few months, the power usage of the Bitcoin network has been increasing at a feverish pace. Just a little over three months ago, at the start of November 2017, the Bitcoin Energy Consumption Index was estimating the total electricity consumption of the Bitcoin network to be half of the current amount. On the first day of November, the estimated consumption was equal to 24.3 TWh per year 1.
Carbon Footprint, measured in this way, equates as a double-edged sword: The miner's electricity costs account for approximately 65% of the profit (Bitcoin units' value, measured when mined). So the economic usage means the cheapest available fuel is part of the business model--and it would lead to the cost of the cheapest source of energy: Dirty Coal. At the end of the day, if the currency's rising value means that more computationally-intensive mining is more and more profitable, then perhaps the other edge looks preferred!
1. https://digiconomist.net/bitcoin-electricity-consumption-surpasses-singapore-portugal
First, let me describe that blockchain technologies, i.e. Government contracts, Business contracts, Bitcoin and other cryptocurrencies, all rely on network graph theory, both on the low-level programming technology (peer-to-peer global ip networks) across the spectrum to high-level interfaces for institutional, corporate, individual needs and uses. These blockchain "network" analyses depend on highly variable--and simultaneous--network changes, node changes, and link changes; and, the latter three may arbitrarily change interdependantly or not.
Therefore, blockchain technologies must first accomodate complex node variables for contracts (relationships) that include arbitrarily hierarchical mappings and conditional data structures. Secondly, blockchain tech must face analytical challenges that arise from informal practices 1, by which the organizational nodes (employees) choose to deviate from the employee role's protocol for the sake of efficiency, convenience, company culture, and multiple other levels of human factors.
Sociologists Meyer & Rowan's (1977) New Institutionalism explains how employees change practices and decouple actual organizational structure from recorded rules, as a function of organizational size, time, convenience, etc. These continually new, unknown constraints on data must be intimately understood, non-algorithm human understanding by at least one side of the exchange. How do we recognize unwritten, soft rules and behaviors of a bank, a person, or a company's internal bot?
The hard sciences domain of Software Engineering, Computer Science, and Mathematics have brilliantly brought the world the blockchain tool, for which the Hard Sciences can only contribute little on how to interface with social needs. Ask yourself, how well do 1,000 top blockchain-related programmers understand the multi-dimensional layers of hierarchical social, corporate, and governmental relationship networks? Well enough to differentiate qualitative meaning in the smart-contract? Fearfully, no.
In the past, the layers of abstraction from raw technological tool to societal use was refined, improved, integrated through multiple layers of "middlemen", such as lawyers, corporate lawyers, government institutions, non-governmental, non-profit and for-profit actors. Blockchain technology, by its very nature, erases the middlemen. Suddenly, one programmer, for example, is writing the same healthcare insurance crypto-contract, that last month an entire team of hospital employees spent a month writing; then overseeing and managing different facets of this same thing.
However, the crypto-contract, once deployed to the blockchain, auto-manages the rest, forever or for the life of the contract. Therefore, rather than redoing the trials and errors of 200 years' Sociology Network Analysts' research and analytical development. Therefore, medical and other social fields cannot and should not turn to the Hard Sciences for solutions. These Med researchers and developers are already at home, safe within the academic domain of the Raw Sciences of Medical Sociology, Public Health, and so on. The next ten years of blockchain technology can either be defined by unwitting, piecemeal advances, accompanied by frequent, non-improving distastrous crises. Or, the next ten years can follow Sociology's Scientific Method toward a mildly turbulent, but stable and beautiful future.
Examples aside, the primacy of the Sociology academic field in the early 21st century quickly becomes apparent on review of the Sociologists' specialization in network theories imbued with symmetrical and asymmetrical relationships, within social networks that change arbitrarily the direction, conditions, and values of those same relationships. We Sociologists deal with real-time, logical and hierarchical network mappings that appear arbitrary, yet are characterized by fixed patterns.
No other academic field than sociology has advanced into the details, and endless network rabbit-holes that characterize societal behavior. Not until this second millenial decade could the marriage of Large Number Statistical Theory become consumated with the brilliance of early 1900's Sociological French Network Theories, like Maurice Halbswach's work on the clearly defined network patterns of a society's Collective Memory.
No other academic field has collected and refined knowledge on network arbitrariness, such that Economic's "irrational behaviors" and Mathematical "complexity models" do not touch to the bone the meaning, the intersectionality of network analysis, which must incorporate simultaneous node changes (person gets job /or/ does not get job), network changes (All get jobs /or/ only 3 of 15 network groups get jobs), and most importantly the relationship changes (all jobs always useful /or/ half of job groups no longer useful) across time and fixed.
Fine. So, why is Sociology's network theory so valuable beyond just the network insights gleaned from 19th and 20th centuries' network problems? Follow: European sociology came of age in the analog social era, while North American Sociology only recently come of age (Quebec in the 1960's [post-1968], U.S. in the 1990's[post-1999], in the digital social era. Therefore, the problem-solving patterns of past sociology are inherently small-data and more qualitative analysis, and thus only Sociology incorporates "human-ness" into the billion rows and columns of quantitative--numbers-only--analysis.
For example, Oxford-developed S.I.E.N.A. Software accomplishes this task. SIENA--named for Simulation Investigation for Empirical Network Analysis--software calculates the real-time values, direction, and conditions of each relationship (link) in a network, simultaneously as each node, network, or alter-link changes or is changed; with this, it is possible to isolate directional, conditional influence change in real-time. Real-time sounds impossible, however, the SIENA documentation 2 describes its program algorithm to the statistical analysis of network data, with the focus on social networks.
An easy example to grasp this is the concept of whether a person self-selects(e.g., due to subconscious leanings) into a group and thus matches to fruition the group's behavior with little group influence? Or does this same person join a group and emulates the group's behavior, by the group's influence over time. Sociological network analysis, using Snjder's SIENA software, achieves the impossible with the closed, directed graph networks that characterize blockchain technology. The network graph can be here understood as entire (complete) networks (i.e, the blockchain in its entirety without hard forks), not as personal (egocentered) networks: Using this SIENA model allows for the necessary assumptions that a set of nodes (social actors) is given, and all ties (links) between these nodes are known - except perhaps for a moderate amount of missing data
If, and only if, this level of analysis may be achieved, the blockchain development may follow a linear, directed path of maturity with social and world needs. Until that time, that Sociology Network Theorists are called upon, blockchain developers will continue to bat their arms in the dark, stumbling over again the same bugs. Sadly, this semi-opaque future implicates the same fate as those that attempt to use blockchain for their currency, contract, and other societal needs--in this case, the blind will indeed lead the blind.
1. http://www.journals.uchicago.edu/doi/abs/10.1086/226550
2. https://www.stats.ox.ac.uk/~snijders/siena/
There was once a time for App Developers that our habits followed our inner-philosophers--as an Esteemed Order of Coders--we held ourselves in the highest regard to separate form from function, and style from structural design. Hence, in the early 2000's, a tri-partite, sensible world guided every web coder to abide by The scaffolding of HTML, functionality of JavaScript, and styling of CSS. A decade later, we must throw out this antiquated division of labor within web coding.
Library modularization, (think JQuery, JSX, Bootstrap, etc.) within Javascript ES16 reveals that modules and components Must hold together CSS/HTML/JS, part by part. So, if a decade ago three teams handled html, js, css, it is now requisite to divide up 3 teams to 3 components (a team for the carousel widget, a team for the navigation widgets, and each of these component teams must be maintained together, not separately, the module's required html, js, css.
This means that the new Division of Labour can no longer follow past patterns from 5 years ago. Otherwise, any and all coding will necessarily begin to 'reinvent the wheel.' This is because any module, any library you go to, will already have its HTML pre-configured, JS pre-configured, CSS pre-configured. Thus, attempts to extricate new css from one module to another (or worse yet, sharing css of modules), will only invite eventual misery, almost instantly setting booby traps for the next coders upon arrival.
So, where is the creativity? Where is the originality then? It is not gone. It has evolved to a higher level of abstraction, leaving to automation the boring stuff. So, if Vanilla JS is considered malpractice in the modern world, and if ad-hoc JQuery is mocked and scoffed at by React coders, then where is creativity? If yesterday's craft was the hoisting of 15 javascript functions on each page, the New Art of modular coding is akin to a game of Tetris. Part by part, module by module, the modern coder open-source window-browses and window-shops; goes home, and cuts and pastes, and folds and clips, then assembles and hangs to dry. Do Python programmers rewrite each particular module definition? That's absurd. Equally absurd is the javascript programmer that rewrites from scratch their modules.
The esteemed Order of JavaScript Coders must wake up, and regain its work-load balance in this new age--an age that each year since 2014, the JavaScript language is rewritten, each year now, in both syntactic sugar and also fundamental structure--especially the importing and exporting of modules. Therefore, philosophical Honor behooves each of us to a higher complexity, and a new commitment to, the "Separation of Concerns." We can allow ourselves a break, thankful for Progress, a progress by which we must Stand on the Shoulders of Giants, and Code-Create!
Facebook Scandals 1 of recent months have demoralized the leadership for a role of misinformation in the Tech Age, however I charge Mark Zuckerberg's innocence not because all of us, as a society, were equally warned. Rather, arbitrary mathematical forces created abnormal, never-before-seen network structural density and symmetry patterns. Technological shifts were so efficient at multiplying and exacerbating misinformation because a curious sociological network phenomenon rendered parts of our daily social learning and acculturating process to network forces out of our own control.
A January 2016 American Sociology Association Newsletter Editorial 2 from Sally T. Hillsman, in which she explained how the social mechanisms of our own misinformation were not entirely within our own control to resist. In fact, the arbitrary (often random) social structural changes from higher social-media hours, create an arbitrary social network structure whose links (in their content and influence) begin to dominate over nodes (each of us). In other words, the sway of trends and opinionated critical thought becomes dominated by the relationships, e.g., the "likes" and "shares", leading to a statistically natural propensity toward homogeneity--a.k.a. group-think. The mechanism is akin to peacefully swimming close and parallel to the coastline, and (due to random coastal floor structure), a rip-tide suddenly ships you far out to sea--a fatal and tragic fate rendering experienced swimmers out of their own control. Same principle with an arbitrary underlying and unseen network structure.
Our social network structures always are prone to continual shift, and so the usual "interruptions" that previously stopped this inward shift soon began to disappear. Hillsman explains:
Lies, half-truths, and misinformation spread so rapidly across the public through digital communication that the timespan for thoughtful, effective correction or rebuttal is infinitesimal. Because of confirmation Bias, misinformation and outright lies quickly strengthen preconceived truths or pre-held beliefs that are already hard to change.
Therefore, even though we all have been pointedly warned, none of us without advanced sociological analysis skills could understand that a curious network phenomonenon--ultimately driven by some arbitrary mathematical calculation involving size, density, symmetry, conditional influences, and the strength of ties outweighing network nodes. For the reasons of these factors, our social inclinations were out of our control -- no, but really, this time they were!
And so, we can learn from Sociology what steps to take in order to counteract random, but risky, network phenomena -- because nobody likes to go for a swim at the beach, and unwittingly get shipped out to sea!
1. Wired Magazine
Inside the Two Years that Shook Facebook--and the World (February, 2018)
Wired Magazine,
2. ASA
Footnotes. (January, 2016)
www.asanet.org/footnotes/jan16/
Other than college pre-med students, few know the MCAT exam--the gatekeeper of U.S. & Canadian Medical Schools--underwent a major modification in 2015 2. Much deeper than Biological and Technological updates, major sections were added and/or expanded including the Social, Pyschological and Biological foundations of behavior. Named the Health Systems Science 3, the American Medical Association's modern, holistic approach articulates outcomes-based measures for healthy living and disease prevention efforts. You could say the AMA is indeed, woke.
But really, what's the difference and why would we care? And, who doesn't know that an apple-a-day keeps the doctor away? Dr. Jeffrey Borkan, MD, PHD of Brown University's Warren Alpert Medical School, explains the evident role of all those unnoticed social interactions involved in obtaining and consuming that apple. Further, the spatial and economic availability of that apple also plays a role in keeping the doctor away. Borkan explains:
It's time for us to take a leap forward in educating physicians for the health care delivery models of the future—those that aim to improve not just the health of the individual patient and their family, but also the community and the population 4.
What, then, specifically, are the mechanisms that a community network's aggregated health may be inextricably tied up with our own individual health? In short, they are the sharing of health-promoting resources, timely assistance, health-promoting information channels -- all this, among the countless perks of a healthy social circle!
1.
The Oath of Hippocrates
2.
The 2015 AAMA Changes to the Medical College Admissions Test
3.
American Medical Association's
Teaching New Content Health Systems Science
4.
ibid.
Due to the Tragic Events in Florida, Tech to the Rescue blog Rescheduled to February 16th ...]
Given that a community network's aggregated health is inextricably, and symmetrically, tied up with
our own individual health, app-developers may design activity- and communication-based apps
more responsibly, and in touch with modern healthcare recommendations. After all, if the Saintly
Mark Zuckerberg's communication- and activity-based app inadvertantly led to novel, and deeply
consequential, effects, then ...
Given the tragic events at a Florida school over Valentine's Day, 2018, who can write about Fitbits? So, thoughts and sympathy for those students today that endured this horror. 19 years after the first-of-its-kind school shooting, we as an American society have not become 'numb' to these events. It hurts as much as it did in 1999.
Darn that innocuous Spring day in 1999, when we heard the most absurd news-- students attacked their own colleagues at Colombine? In my blog post from January 10, I wrote that American Sociology, along with Québec, came of age much later than European Sociology. The past 50 years' social changes and new problems are generally atrributed for the increasing demand for sociological expertise after 1999, after a singular, senseless tragedy of a school shooting--this event, like a small kernel of societal desperation for a solution--led to a flurry of self-professed sociologists à la Michael Moore's Colombine, and other social-responsibility themed social consciousness. So far, only mutually incompatible solutions. The problem, however, is not new, only the manifestation of it.
Suicide rates in 19th century France, disproportionately high, also served as a symptomatic manifestation of the same problem, called Anomie. 1 The term, Anomie, coined by Emile Durkheim in the late 1800's, captured the sense of instability, cultural and moral relativism that undermined a shared sense of meaning. Suicides, week-after-week, month-after-month? In 1897 France, noone had ever seen it before--at such rates--and people wanted answers. Alas, a kernel of social desperation leading to inquiry.
People wanted to know why so many in the population responded negatively to the rapid changes, urbanization (Dreadful factory conditions à la Taylorism's calculated efficiency) new technologies, i.e. electricity, railroads, steam engines; these created an arbitrarily new world, very suddenly. Suddenly, like trying for the first time a roller-coaster, when all you've ever known has been the carousel. So, we see technology's role for well or for ill, our job is to understand how to dial-in the tech specs necessary to keep society smiling on this roller coaster through another, yet not altogether new, technological thrill-ride.
Has anyone else been underwhelmed by the lack of Bitcoin's daily presence, despite its everpresence at the dinner tables and cafés across America. Sure, it's more of a "metropolitan" phenomenon; and sure, it's become an accepted global platform--along with myriad other crypto-currencies, but it's exchange-worthiness remains shrowded, and misunderstood by many. Cryptocurrencies are useful as a vehicle for investment, and yes, there are Bitcoin millionaires due to the currency's rise to fame with last year's increase in value (from $1,000 to ~$20,000) etc., etc. But, so far its contributions, uses, fame are one-sidedly macro-economic. A recent CNET article 1, among others, documents miniscule (and not improving) percentage of actual use at the "cash-registers" of society.
Is there something wrong with such little micro-economic usage? Not at all! According to general sociological Early Adopter theory--based on Everett M. Roger's Diffusion of Innovations 2--the timeline of the Innovation Adoption Lifecycle is fairly ordinary. That is, the Roger's bell curve ranges from the beginning innovators, to early adopters, early majority, and late majority. However, the blockchain articles always miss the point. Currencies are more of a distraction compared to the genuine usefulness for the every-person, in every-day affairs, on a given day--i.e., micro-economic use.
The true value, the kind that makes our lives easier on any given day, and for the every-person, is not the currency, it is the contract, that allows for individualized, targeted sharing of specific information--whether financial, governmental, or any other centralized database. An example is in order before I continue, since we can all relate to the risk of using a credit or debit card, the risk most notably concerning Target store credit card hacks a couple years ago.
Suppose a person shops at 3 different retailers, using a different credit card for each. For these 3 transactions, this person had only needed to provide two discrete pieces of information about themselves for each transaction: they prove they have the $27, $200, and $5; and they prove a third party(i.e.,CC or bank)will make that $27, $200, or $5 available, if their client agrees. Instead, for each transaction, they open their entire financial information, and can only hope that law-enforcement will prevent cyber-theft; and if the store's databases are hacked, then tough-luck!
Crypto-contracts provide the technology for this individualized, risk-free transaction, rather than for each transaction, providing the generalized information for individual transaction. Highly inefficient! Nobody thinks to walk around with their life-savings in cash, then at the 7-11 store, to open their wad of cash and peel out a bill. The credit card system, blessed as it is, did not previously have technology to avoid this very thing. So, financial institutions have had to rely on the many layers of security, passwords, pins, mothers' maiden names, etc. Then, based on the mathematics behind prime numbers, they hope to keep your money safe in one, centralized spot--with a bright red target on it.
Now, the crypto-contract provides this decidedly *micro-economic* experience for the everyday person. And that, my friends, has nothing to do with crypto-currencies. There is no micro-economic value in crypto-currency, instead the crypto- contract is the true, unsung hero, and a hero we will all get to know. [personal opinion - this hero's name is the Ethereum Virtual Machine]. In any case, Crypto-contracts provide this ability to provide pinpointed, specific, targeted information as citizens, too. When we provide our drivers license number, for the sake of renting that car, we provide every aspect of information of ourselves to Hertz. They don't need this. They need to know only and exclusively driving-record related details--not the entire governmental database of information about you!
2.
Rogers, E. M., & Shoemaker, F. F. (1971). Communication of Innovations; A Cross-Cultural Approach.
Given that our app-use is inextricably tied up with our own behavior, activity/communication-based app developers have in the past year accepted (mostly in word) a renewed responsibility. More like resposibility for a multi-faceted power of influence granted to an industry, suddenly, disproportionately great, and semi-arbitrarily related to the designer's intent (and control!). After all, if the Saintly Mark Zuckerberg's activity/communication-based app inadvertantly led to novel, and deeply consequential, effects, then anyone could.
After all, who could guess how these app-design effects would affect the users, years later. Who do we think programmers are, sociologists? More specifically, who could know which mundane coding practices, arbitrary app-design--like sharing permissions/features? Sure, everyone deep down knew their company practices yield unfathomable power of influence over the daily habits of cell-users, a.k.a. everyone. The easy part is knowing; the hard part is learning how and why certain app-features lead to behavioral risks.
There could be no better example than the Alcoholic faced with an intervention by a loving family longing for change. The alcoholic could be forgiven for past misdeeds, but without actual Acknowledgement of a crisis in direction, which necessitates professional help from social scientists. Therefore, the recent acknowledgments signify something deeper--they signify a humility that app-designers are not sociologists, generally speaking. So, that means hiring sociologists, psychologists, anthropologists for every N th app-coder and software engineer. History can't be rewritten, but it can be interpreted and learned from. The acknowledgment is itself a victory if it induces learning from the raw, social sciences, whose expertise can predict how or why certain "life"-features, practices, and policies often unfold with undue and unintended social consequences.
Water under the bridge, but going forward, it is one thing to claim a "renewed sense of remorse", another to acknowledge, learn and change. Like last November 1 when Facebook co-founder Sean Parker confessed certain designs like "social-validation feedback loop" and other app-design intentions, while ignoring potential secondary effects on society. So, the Acknowledgment is the big win here--not so much the remorse!
1. https://digitaladdictsblog.com/facebook-co-founder-says-company-built-to-exploit-you/
7 Ethereum-based technological features offer us a new world -- a decentralized new world, not dependent on the centralized servers of Instagram, Comcast, T-Mobile, Amazon, etc. With that statement ends general consensus among blockchain experts, pundits, and authors. However, if the current logistical obstacles provide controversy and competing algorithms over sustainability, security, and scalability, then they reveal much more about the general pathway of social uses (and potential effects) than they hide. In my February 15th blog, I touched on a few features of micro-economic uses so as to distinguish the more certain aspects of the crypto-contract horizon.
Prologue
So, what are some core features of block-chain technology that affect the quality of our lives, and the productivity of our work as a society of academics, public-sector and private-sector professionals? First, a little background and context before I outline seven blockchain functionalities. The Ethereum blockchain helps distinguish itself--and its blockchain-native language Solidity--from earlier tech, like Bitcoin and other Proof of Work-based blockchains. Ethereum blockchain offers a syntax and programming features, e.g. "looping", "recursion", with the full power of a Turing Complete language--that is, given enough resources, the language can solve any programmable problem.
More background and a clarifying metaphor are in order: The Bitcoin blockchain transaction resembles the accounting system of a foos-ball table point rack with a basic calculator glued to the side. In contradistinction, An Ethereum blockchain transaction would resemble a network of computers, which is itself, a computer--hence, the name Ethereum Virtual Machine. This allows for Quickbooks to calculate into a PDF to be sent via an email contract-signing program. Much more useful!
Therefore, Ethereum's Blockchain is more than a networked, chained list of blocks, like Bitcoin.  The native language of the blockchain, Solidity, allows for an application binary interface, ABI. So, for example, I can type up an Ethereum contract on my home computer, then directly access by command line the blockchain itself. In layman's terms, the manner that modern-day app, for example Instagram, is a centralized API (Application Programming Interface) that allows one programming system to interact with another, such as Instragram offers a "sharing API" that connects to hardware contacts, thus facitilating communicating with third-party aplications, like sharing your instagram picture to your Facebook account, via your T-Mobile phone's contacts list. This API relationship broadly describes the modern world we live in, wherein a Chryser driving system exchanges API information with your T-Mobile Bluetooth network system, which exchanges API information with your own contact list, and so on, and our lives are made easier.
So, are we out of the woods? Has Ethereum solved the blockchain question? Yes, if it were the 1920 pre-relativity days; However, with the advent of quantum computing, potential security vulnerabilities immediately arise. The reason being that digital math uses binary "on/off" calculations, while quantum math implicates a tertiary, qubit "simultaneous states". Therefore, we have now entered the 3rd generation of blockchain technology, both programmable, but also quantum-proof due to mathematical graph features. For example, IOTA's blockchain design utilizes a Winternitz One-Time Signature, by which one's transaction is entered into with a private-key, and the blockchain moreso resembles a "Tangle" of a directed graph, which allows for computational "states". IOTA recently garnered criticism in January 2018 due to an unfortunate crypto-hack, that exposed an apparent vulnerability. In truth, this was a case of user-error because users were re-using their one-time keys, which significantly decreases security to the point that a home computer could crack the code! I choose to not digress further, and quantum computing is not quite advanced enough now to cause damage, but in the future could potentially split the blockchain in two, or other quantum possibilities.
In sum, the technical obstacles change each month, however one must not lose sight of the forest for the trees. Social useablity, potential scope and of course unintended consequences have all finally begun to emerge, at least in form, with little difference between the 2nd generation blockchain or the 3rd generation Patrician directed graph blockchain. The underlying principle of the blockchain's micro-economic utiliity through crypto- contracts is the same, as opposed to plain crypto-currency. you know the usual bartering solutions for Supply & Demand leading to Economics Game Theory, etc. This is where we must take our leave of the Hard Sciences of Mathematics, and enter the realm of Sociology, Psychology, Anthropology and Economics.
The guiding light through the centuries of scientific paradigms, in the Kuhnian sense 1, have derived from deductive ideas from above - whether priestly or royal decree. Then, the primacy of the Scientific Method from the Renaissance forward--punctuated first by Copernican Heliocentrism, then other Paradigm Shifts--has directed rational and ethical norms in each respective period, e.g. Enlightenment authors of 17th, 18th century. Fast forward to the modern period, wherein the current era's emerging paradigm holds Sharing as a collective-priority and responsibility, then an amazing philosophical moment. Historical Materialism 2 prescribes what is directly here a novel Paradigm Shift by which authority is not derived from governmental, financial sources, but rather the sharedsocietal consensus about cryptographic, mathematical proofs as true authority. Further, the revolutionary shift also innately provides tools for implemention through decentralized, programmable data-sharing. Cryptography has in a sense become a de jure middle-person for identification and verification of property.
I. Protecting rights through immutable records
Inalieable Rights can now be identified and verified by the cryptographic authority of a mathematical
proof, rather than exclusively through governmental or financial institutions from above. The modern
period also has held this decentralized, individual authority as the
a priori starting points for philosophical proofs. Premises about truth begin with the conditions
of humankind, not idealogies. In fact, it was the
Young Hegelians of early 19th century Vienna & Berlin, who ushered in the Modern Era of Western
Philosophy, by laying out Truth as inverted, beginning from the empirical "ground" upward. This "upside-down
tree" defines philosophical modernity. Jean-Paul Sartre wrote that the whole of
Existentialism and 20th century philsophy is a mere subset, and never escapes Continental Materialism,
as argued in Sartre's
Search for a Method.
3
All of the Sciences, prodded by this Truth of Empiricism, followed suit through all the tech innovations since Hegel. I'm so surprised by this, because for me, the role of cryptography is shocking on two levels. First, cryptography resemblees philosophy rather than the Empiricism that I had envisioned would govern social rule (Some once thought nuclear sciences held this role--no longer! Mathematics takes the crown. Secondly, I'm still dumbfounded that a Paradigm Shift first offers the tools to fulfill itself? Staggering to consider the arbitrary changes ahead for a society that is provided the tools of social structural change first, but how quite convenient!
II. Bureaucratic Atomization in a True Sharing Economy
It is satisfyingly reassuring to see the good-natured, altruistic efforts among the thousands, upon thousands of open-source volunteers, and blockchain innovators, like Vitalik Buterin author of Ethereum Virtual Machine, whose aims and efforts make staggering progress each quarter. The potential for removing the "middle-person" from the day-to-day, micro-economic "cost of living". This goes for for the exchanging of titles, legal documents, etc.
Sharing of Resources is, in my personal opinion, critical to global future--both out of increasing necessity in allocating increasingly limited resources; an arbitrary rearrangement of Social Structure and distribution of its resources. While the exponential population growth looms on the near horizon, a clear, pre-existing solution begins with a focus on smart, effective sharing of resources. The driving principle of sustainability is made convenient by means of blockchain technology, extending for example to local economies, cooperatives, ride-sharing, etc.
III. Removing Double-Dipping from International Remittances
"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to
take away."
--Antoine de Saint-Exupéry, 1939
Taxes and tariffs are difficult enough, the double-dipping of the current international remittance system, á la Western Union, does not reflect the global, sharing Economy of 2018. The existing remittance system (not speaking to centralized, middle-man alternatives like PayPay, etc.)--supposing if I wire $2 Loonie to a Canadian friend's Canadian Bank--requires payments executed through two separate bank transactions in two national payments systems, thus the sending country and receiving country each take a cut. Like everything else--c'est la vie. Or is it? The beauty of Ethereum is that it "talks" well with others and across borders, while Bitcoin remains of little use for micro-transactions that involve semi-basic calculations. The reason being that Bitcoin blockchain language, Script, cannot support loops (while statements, etc.)
Currently, both EOS and Ethereum blockchains appear poised for the most financial-friendly blockchain tech.
2. https://blog.ethereum.org/2016/02/09/cut-and-try-building-a-dream/
3.
Search for a Method, Jean-Paul Sartre, 1957.
Sartre would later be awarded the Nobel Prize in 1964, but declined it.
I feel that data is one of the more underestimated new commodities of the age. Most visualize data as rows and columns, and at most only non-conditional dynamic data. Data are not so mute! Data, in most object-oriented languages at least, represents functions, conditions, and predicted values. And so, our own behavior, coupled with our networks' behavior, coupled with predictive analytics--this represents a wealth of information beyond our attributed or inherited traits. The programming is in the data, however, citizens have become less and less involved, ceding app by centralized app our own information and ensuring profit to 3rd party marketers. The centralized nature of the internet allows for this, while the new landscape of decentralized applications (DAPP) completely upends this structure of the status quo.
IV. Enabling citizens to own & monetize their data (& protect privacy)
Ethereum offers a decentralized solution to "owning" one's own data, as data can be decentralized
and returned to the individual's control, and
profit. As sure as the 19th century's "labor-hour" became commodified to a calculable asset,
i.e. property, which
another party controls and makes profit; And as sure as the 20th century's data analytics became
commodified into calculable assets for another party to take control and make profit; then only now
in this 21st century does technology offer a new, more egalitarian path.
V. Ensuring compensation for the Creators of Value
So, how would decentralized innovations of blockchain
distributed ledger technology compensate those whose actions, behavior, opinions, friend-networks,
artwork, music, videos and other contributions profit the creator?
VI. The Halcyon Age of Transaction-Chain Enterprise
According to Greek Mythology, the days of eery, noticeable lack of storms have never been interpreted as a period of grace. Moreso, Halcyon tranquility only means a temporary moratorium on the winds and waves, imposed by Aeolus, God of Wind, to protect the nesting eggs of Alcyone, his daughter.
If blockchain tech changes how we do research, analysis, and forecasting, as much as it changes international, and cross-industry transactions, then are we faced with a similar dilemma as the "novelty", and double-dealing, of multi-nationals of the 1990s? No, because blockchain renders organizations, even those with a spotty past, into transparent, democratic, efficient, secure and easily scrutinized.
After all, without transparent proof, how else would I know my bananas are the "pura vida" Costa Riqueñ ones? More importantly, what was the carbon footprint of that banana's journey from its native soil to my breakfast table? New blockchain companies like Provenance.org, skuchain, http://www.blockverify.io/ are a few noticeable game-changers. So, for bananas not backed by mathematical proofs, I really have to ask myself, is it really an authentic Fair Trade banana?
Transactions are hardly valuable in the products themselves, if removed from the value of the transaction per se. International supply chain transactions, by virtue of a recently possible decentralized, permanent record and monitoring, have begun to make inroads in agriculture, petroleum, pharmaceuticals, food-supply and other multi-stage industries.
If corporate and governmental transactions are to be made public--many bearing enterprise or State secrets, then will forecasting also go the way of birds? Possibly. Online platforms like Augur 8are creating global, decentralized prediction markets, in domains like sports betting, financial markets speculation and so forth. Armed with vast, transparent knowledge, the everyday person can now access the whims and power of Aeolus, and forecasting the winds of Fortune.
VII. Reinventing Government & Democracy
...to be completed...
Today, I'm going to write about data structures, and challenges that face Vitalik Buterin and other blockchain architects. ' Now, why in the world would I or anyone else care about ooh, merge sorts, bubble sorts, classificatory trees, and the advent of a third form of data structure?
Today, we live in an ever more relational world. With all our technology, we just can't wait to hear the latest gossip about sister Becky's Boyfriend's Brother's Friend that also got to meet Shakira. Gossip to one person is a valuable asset to the data analyst. Because, how else could an algorithm draw simultaneous conclusions about two friends that "liked" the same Samsung VR, and that they are both located near Best Buy. Thanks to classificatorial wisdom of AI & plain machine-learning?
These relational queries are simply too difficult for relational, row & column SQL data structures. In fact, many queries are impossible, due to unprescient database schema architectures. Next, with the need to "objectify" data into non-relational objects, rather than an antiquated, rigid row-and-column design. Thus, the second major type of data structure is more flexible and adept in finding these relational queries that are ever more in vogue. However, the crystal-like, pristine non-relational, No-SQL designs quickly turn to spaghetti, and are poor for scalability. Between a rock and a hard place, a third data structure has emerged in recent years.
Graph Data Structures 2 allow data queries that had otherwise been impossible to capture in an entity relationship diagram. The ideal example to clarify is the manner that the Swiss banks' accounts were discovered to be hiding vast amounts of hidden taxes, etc. The cover-up was so well-constructed that not until new, graph database queries discovered patterns of money flow 1:
The data was then turned into a graph format to detect then fine-tune the connections between the nodes. The Swiss Leak held around 60,000 files that contained information about over 100,000 clients in 203 countries, which means that the resulting graph database had more than 275,000 nodes with 400,000 relationships among them.
By being able to easily visualise the networks around clients and accounts, the reporters found many more connections than they had before, which lead to the Swiss Leaks revelations soon being shared with the public and regulators across the globe.
And you thought that plagiarism-detecting software was impressive for complexity! The beauty of this newly available software (even Microsoft jumped on board in recent years) means that sociologists, economists can begin to make better headway in the way that our many interactions become more complex with more data. Remember, in the past ten minutes, more data information was just produced than most of human history! Thus, new and upcoming needs in domains like content management & access control, geo-routing (public transportation), gene sequencing, bio-informatics, and so on. So, as technology takes us forward, and we make our considerations, let's stick by the golden rules of parallel processing, scalability, and, now, graph-network mindedness for the new data structures, and schema, of the Era!
2.
By being able to easily visualise the networks around clients and accounts, the reporters found many
more connections than they had before, which lead to the Swiss Leaks revelations soon being shared
with the public and regulators across the globe.
Other major vendors in graph data structures based on Neo4j: OrientDB, ArangoDB, Titan, mongoDB,
Complexible Stardog, and Franz AllegroGraph.
While I've had blockchain-related topics on the mind lately, it seems I can't escape it as I broach new fields--blockchain is everywhere! Well, I had begun my blog with intentions about the accelerated speed of language and syntax formation, and the curious phenomenon I'd call, for lack of a better word or or my own reading, "declarative-syntax-merging". This involves the curious, and largely unknown, growth of JavaScript scripting language into almost every domain of web apps, data analysis, and even the bounds of Logic itself. Though I won't submit my readers to a history of a language, suffice it to say that, "If a certain algorithm, device, or object is programmable, then it will eventually be programmed in JavaScript."
Without getting into technicals, I'll instead use a perfect metaphor--the manner by which English merged with French, beginning with the conquests of William of Normandy, around 1096 onward. Almost a thousand years later, we can see how English grammar inherited it's Anglo-Saxon Linguistic roots, along with the core vocabulary; Then, as English vocabulary moves past the first few thousand core words, e.g. "milk" or "house" from "melche" or "haus", then more than 70% of English Vocabulary is directly inherited from French, e.g. "lactose" or "mansion" from "lait" or "maison".
Similarly, the language of the web and original browsers, JavaScript, has similarly morphed into a new language called Solidity, but in only a micro-fraction of English's time. The usual FOMO logic propels coding language use, for example FOMO induced Microsoft's flagship Text Editor, Visual Code, to adopt it years ago 1. The language of Ethereum Blockchain is Solidity, which like the above example, has two parents, one non-legitimate. It is in all respects totally JavaScript, yet with object-oriented elements of C++. For the layperson, let's just say Solidity resembles a "Liger", in it is at it's core JavaScript, yet with increasing sophistication based on C++ logic, its head and torso has begun to resemble the powerful machine-code of C++ ever more. And it is a beautiful, but curious phenomonenon.
http://www.ibtimes.co.uk/microsoft-adds-ethereum-language-solidity-visual-studio-1552171
1.4 million new jobs by 2020; End over end, year after year, the computer programming industry continues to add another 20% more jobs each year, for the next five years. This is the only field that demand outstrips the supply--and increasingly short supply. So much so, the US Department of Labor forecasts U.S. citizens will be able to fill 39% of those positions; there are not enough Immigration visas (especially in the Trumpian era of isolationism) to make up the rest.
So, how is it that only 14% of females in the entire field of cybersecurity? Silicon Valley is, at its best, obscenely one-sided. At Google, only 17% of the company's tech jobs are filled by women. Facebook women staff only 15% of tech jobs, and Twitter? 10% female. The figures on women in computer science across the nation, across the entire industry are not improving, but declining? 1
Of course, we've heard these statistics from any given headline, and in the halls across the university landscape, starting with Women in STEM (Science, Tech, Engineering, Mathematics) programs 3. Yet, why, with so much money, so many programs, so many non-governmental, non-profit effort?
I argue that tech
culture is directly to blame. Who then? Not a person, but principles are to blame. Culture--often
defined as shared beliefs, norms, language and behaviors--can hardly be changed, but it can be understood.
Firstly, there are two kinds: organizational climate versus culture
There is a book, called "Program or be Programmed
33>
I argue that today, the power is to program one application programming interface (API) to talk to another API. In other words, the ability to directly communicate with software at the command-line is not now a requisite skill, but promotions would not escape this necessity! So, now reverting back to the subject of women in tech, American leadership is in deep peril without more female insight. I will finish by citing that Ares, the violent, untamed Greek god of war, cannot always drive the Capitalist engine; because She, Athena, the goddess of intelligence represents true strategy!
1. https://www.huffingtonpost.com/2015/03/27/women-in-tech_n_6955940.html
2. https://fairygodboss.com/articles/women-in-tech-facts-figures-and-percentages
While coding up a better shell for this website, I thought it's remarkable how our lives get easier and easier with each passing year of tech. Using JavaScript--the primordial web-coding language--I marvel at the convenience of delegating mundande coding stuff to taskrunners, like Gulp--a programmable package manager that "bundles" up the libraries to be used in the app. It is truly a joy!
I write four styling functions, with about 16 variables and voilà! I finish in 3 hours what would have taken me 15 hours, then another 5 hours a month for upkeep. Instead, now, it's as though I wind up the clock, and need only periodically check, and perhaps update a variable or two ... Technology. I'm gushing for joy.
This was mere JavaScript--with a truly Turing Complete--pan-algorithm status--languages, the possibilities are 100-fold with Python language library collection; this library collection includes NASA modules, mathematical proofs, and limitless uses from web-scraping for unstructured data to an excellent data visualization collection. Sometimes I feel like I'm in the Library of Congress, and better yet because, PIP, the Python package manager acts and automates like a cyborg librarian, for lack of better imagery.
I just have so much joy watching a project come to life, and it's even a greater delight if this project comes to life and stays alive, through the joys of automation!
I must confess that on the very day that Our Daily Tech Blog gets an under-the-head make-over for security's sake, I wrote the new formatting file right over today's post. Amazing, and the two occurred nearly simultaneously as I worked on them, their paths crossed and poof, gone! Same platform, and I paid the price! Whether I change my ways is yet to be seen, but I shall continue with my original theme for the day, namely, Sustainability, a.k.a. Carbon Footprint.
Power consumption is one of the major costs of bitcoin mining, as dedicated machines crunch the algorithms that build a record of every single bitcoin transaction and are rewarded with tiny fractions of a bitcoin for their efforts. 1
Today I have a mild Critique and Praise for the blockchain sustainability problem caused by sky-high electricity bills! Computer algorithms do waste electricity, not like your Widescreen.  1. Ethereum, Bitcoin and a handful of other "Proof-of-Work" designs require electricity because the investment in equipment itself is investment, but more importantly, two-way incentivation for mining drives the system, and the scarcity demand through difficulty computations.
So, is the electricity consumption really correlated with the value, scarcity, of the currency? Yes. Digiconomist--a cryptocurrency analysis site 3 estimates eachEthereum transaction represents a 45 Kilowatt-hour of electricity's mining. (A visa credit card transaction is 0.00651 kWh. The entire Ethereum global blockchain could be "using as much as 4.2 Terawatt-hours (tWh), or slightly more than the country of Cyprus 1." So, electricity comparisons are telling, but how does this relate to its environment impact, sustainability itself?
Carbon Footprint, our energy consumption index, can be compared to another element of scarcity, which dictates fluctuations in value: Gold. According to Digiconomist, an average household's Carbon Footprint is about 10 tons of CO2 per year. The article does the math for us very succinctly:
On top of this, we can find that the process of mining Bitcoin isn’t just more energy-intensive, but also has a bigger environmental impact. To reach that conclusion, we first need to estimate the carbon footprint for both. For Bitcoin we can, again, get this number from the Bitcoin Energy Consumption Index. For gold, we assume a carbon footprint of 20 tons of CO2e per every kilogram of gold mined 3.
The article continues to clarify that 33,000 kilograms of CO2 per unit mines (comparatively, one Bitcoin's worth of Gold is 4,000 kilograms of CO2). At the end of the day, the electricity costs--if not sustainable long-term--could spell trouble. Hence, the three S's, mentioned last, sustainability is perhaps a larger issue than blockchain Security and Scalability challenges. Again, this is a problem that the third largest cryptocurrency does not have: Ripple, which does not bear a carbon footprint 4.
0.
https://www.cnet.com/how-to/bitcoin-ethereum-or-litecoin-which-cryptocurrency-is-best-for-you/
For those new to cryptocurrencies, this is a fairly succinct article to cryptocurrencies, and their
underlying structure.
2. http://www.wired.co.uk/article/how-much-energy-does-bitcoin-mining-really-use
3. https://digiconomist.net/bitcoin-mining-more-polluting-than-gold-mining
In my reflections about environment sustainability issues, I confess I'm sort of a hypocrite ... The
whole matter that caused my own introspection begins with my usual daily vexation: Tangles of wires!
... I've been having electricity issues, here as of late ...
On one side, my tiny Yoga Ultrabook usually likes to charge just fine with my phone charger--if I'm stuck without my charger. And due to an untimely end to the charger, I needed a replacement. So, singular errand of the day was a trip to Best Buy to peruse for a 45-Watt USB-C charger ( the new oval charging port on Samsung 8's, LG G6's and newer Apple products).
Meanwhile, my credit-card sized Raspberry Pi computer runs on an old-school USB charger--a whole Linux Server Tower on a cell-phone charger. Then, we have my trusty Dell (actual) Tower with 16 Gigs of RAM, 2-terabytes, etc. that also seems to need an extra fan to stay cool--probably the sustainability of 100 Raspberry computers. My entire carbon footprint changes more with the electrical products that I use, than my vehicle! Well, I also confess my Jeep Cherokee can't even boast 20 miles per hour ... oops, conscience pangs, ouch ... Well, hypocritical, slightly, but found not guilty since I'm a bike-commuter for life!
Environmental Sustainability, again, and a higher-level view of the dilemmea...I couldn't resist:
Bitcoin's Initial Coin Offering was 2011 or so, then Ethereum, with Ether for currency was 2015;
These two, ever so prescient designs, also have their Achilles Heal. These two are
"Proof of Work" currency algorithsms. This means that the "Demand" side of supply-and-demand,
derives from
difficulty levels of crypto-blocks to mine. So, miners are incentivized to spend $1500 on a semi-mediocre-good
mining rig (which is basically 20 NVIDIA Graphics Cards tied together to stack of two-by-fours with
lots of fans ... erhem, sustainability?...
And for each block that is "solved", hence the block being validated, and somebody's cryptocurrency purchase/transaction is resolved! (takes about 12 minutes for the whole global blockchain to cycle, and Ethereum is less than a minute). So, the whole cycle continues, churning through coal- and carbon-stained hands of the electricity fed to these crypto-mining rigs 1. For many it's a hobby, like the British Hobbyists' love for ham- and short-wave radio setups, yet this profitable, yet particular hobby resembles the 1870's coal factory smoke stacks in South London!
Let's face it, if Ethereum is able to successfully hard-fork to a Proof-of-Stake system soon--and Vitalik Buterin and his crew assure us it is coming 2--then great--problem solved, everything eventually converts to Ethereum. If notthey face an existential threat. Because, in a more enlightened ten years from now, those mining depots would look like unfettered factory smoke-stacks. Proof-of-Stack, whose currency value is not set to difficult of algorithm puzzle (hence, proof-of-work, but rather to ownership of "voting pools", which is a Consensus-Based Blockchain algorithm [Complex subject best reserved for a rainy day, or better yet, no day! I may revisit this alternative in a funner way, here's a glimpse from Vitalk's @VitalikButerin tweet yesterday:
Question for mathematicians: is there a assumed-to-be-normal number (ie. digits are random, like pi or e) where you can calculate the nth digit in log(n) (or even polylog(n)) time? If so, then H(x) = digits[x ... x+100] seems like it would be a cool cryptographic hash algo.
Now, I am by no means a detective, but by the sound of those tweets, the Proof-of-Work algorithm seems to still be of utmost importance ...
1. https://blockexplorer.com/news/ethereum-launches-casper-testnet-paving-way-proof-stake/ and also, https://www.trustnodes.com/2017/11/28/ethereums-proof-stake-casper-testnet-nears-launch


RT @mfeathers: Someone should make a twitter where you can cc an arbitrary number of people and have arbitrarily long messages.
6/7/2011, 12:10:50 PM
Favs: 0
Retweets: 0
link--- layout: tweet ---
RT @mfeathers: Someone should make a twitter where you can cc an arbitrary number of people and have arbitrarily long messages.
6/7/2011, 12:10:50 PM
Favs: 0
Retweets: 0
link


{% extends "app_base.html" %} {% block content %}
Click File on menu.
Click Export Bookmarks... item
Save the file and then upload that file from the form in this page above.
Click this button and download your bookmarks file to your machine. After
that, upload that file from the form in this page above.
Export


The diagnostic addon is used to communicate with an ECU over a diagnostic protocol. Supported protocols are KWP, UDS, & GMLAN. CAN is the supported physical layer.
A quick start document provides an overview of the addon capabilities. It is located at:
Most of the addon sections contain additional built-in documentation.
The addon reads DIDs, PIDs (GMLAN only), memory (KWP/UDS only) and DTCs. It writes DIDs, CPIDs (GMLAN only), memory (KWP/UDS only) and clears DTCs. KWP/UDS also supports IO control, routines (start, stop, status), and custom (user defiend) messages.
The complete list of supported services are as follows:
UDS
Tester Present (x3E)
Diagnostic Session Control (x10)
Communication Control (x28)
ECU Reset (x11)
Request Seed/Send Key (x27)
Read Data by Identifier (x22)
Write Data by Identifier (x2E)
Read Memory by Address (x23)
Write Memory by Address (x3D)
Input Output Control By Identifier (x2F)
Routine Control (x31)
Control DTC Setting (x85)
Report Severity Information of DTC (x19 with x9 option)
Report DTC by Status Mask (x19 with x2 option)
Clear Diagnostic Information (x14)
KWP
Tester Present (x3E)
Start Diagnostic Session (x10)
Stop Diagnostic Session (x20)
Disable Normal Message Transmission (x28)
Enable Normal Message Transmission (x29)
ECU Reset (x11)
Request Seed/Send Key (x27)
Read Data by Local Identifier (x21)
Write Data by Local Identifier (x3B)
Read Memory by Address (x23)
Write Memory by Address (x3D)
Input Output Control By Local Identifier (x30)
Start Routine by Local Identifier (x31)
Stop Routine by Local Identifier (x32)
Request Routine Results by Local Identifier (x33)
Control DTC Setting (x85)
Read Status of DTC (x17)
Read DTC by Status (x18)
Clear Diagnostic Information (x14)
GMLAN Only
Tester Present (x3E)
Initiate Diagnostic Operation (x10)
Disable Normal Communication (x28)
Return to Normal Mode (x20)
Request Seed/Send Key (x27)
Read Data by Identifier (x1A)
Write Data by Identifier (x3B)
Read Data By Parameter Identifier(x22)
Device Control (xAE)
Dynamically Define Message (x2C)
Read Data By Packet Identifier (xAA)
Read Status Of DTC By DTC Number (xA9 with x80 option)
Read DTCs by Status (xA9 with x81 option)
Send On Change DTC Count (xA9 with x82 option)
Clear Diagnostic Information (x4)
What do you want to do?
Disable Add-on
To disable this add-on, right click on the add-on instance and select Disable from the shortcut menu.
Export the Current Configuration
The custom device configuration can be exported to a file. This allows the user to re-add the custom device later without having to manually re-build the configuration. To get this configuration file, right click on the custom device and select Export Config.
Delete item
To delete, right-click the object in the configuration tree and select Delete from the shortcut menu.
Delete multiple items
To delete multiple items, right-click the object in the configuration tree and select Delete Multiple Items from the shortcut menu.


{% extends 'templates/nhs_transaction_layout.html' %} {% block afterHeader %} {% include "includes/service-headers/register-with-a-gp.html" %} {% endblock %} {% block content %} Choose registration method Do you have an NHS login? Yes I do, I will sign in to register No I don’t, I will register without signing in Next {% endblock %}


So simple, so strong
Get access to videos and pictures anywhere
through secure cloud storage.
If you like what you see, just give it some on Github.
Get access to videos and pictures anywhere
through secure cloud storage.
Share safely with a password to your friends.
So cool!
You do not even need to download any files.
Watch them online for free :)


Never created fan art for our beloved Steem before, guess with my new gears it would be the perfect timing to get this started. We’ve been in the bearish market for a very long time, and it has dropped from my 1 year-old entry point and hovering around $0.7~$0.9, there are are about 30 more coins ranked above Steem which IMO, are not very worthwhile compared to Steem.
It is like everyone is busy shopping in the street hunting for good deals, but leaving the real gem in the corner remains hidden.
人们在繁忙的商业街熙来攘往，寻找着更有价值的交易，却把真正值钱的珠宝遗忘在角落不去发掘。正如 Steem 在各大加密货币的排行榜中那样。
Posted from my blog with SteemPress : https://fr3eze.vornix.blog/digital-drawing-steem-in-the-street/
This page is synchronized from the post: ‘Digital drawing: Steem in the street’


Electronic Engineer with Master degree in Biomedical Engineering
I am Marina, Brazilian but living in Seattle for now. I am passionate about technology and making technology to improve peoples' life. Beyond that I'm also fascinated about design, and how it helps understanding data and interacting with costumers. I've learned design tools as a hobby but now I'm immersing myself into the world of data visualization and I'm still looking through this new possibility.
I had the opportunity to be part of really interesting and innovative projects, all them focusing in bringing new useful technologies with low cost. We succeed in building a new medical device for tumor treatment that is now in a clinical trial. I worked with a team quite interdisciplinary, such as health professionals, biologists, government agencies and entrepreneurs.
After a while we wondered... "We built functional and helpful devices here, why don't we sell them ourselves?" and this was the beginning of the startup called Unite do Care. A startup focused on sharing the technologies we have created on the LaB with patients and costumers.
My abilities include: technical tools (data analysis, design, social media, writing, publishing), mechanical manufacturing, shape-memory alloys, image processing, hardware development and technical standards for electronic medical devices.
My greatest interest is to improve technologies to solve real problems. I am always looking for opportunities to make it real.
Here are some of the projects I had the opportunity to participate.
Jul-2017 to Mar-2018
The main focus of this startup B2B consists in bringing technology to the daily life of healthcare professionals.
Sep 2016 - Mar 2018
Test and validate efficacy and safeness of the Class III medical equipment for liver cancer treatment using radiofrequency.
Jul 2015 - Oct 2017
Development and construction of active device for hepatic radiofrequency ablation.
Dec 2014 - Jun 2015
Development of a GUI in Matlab for semi-automatic measurement and localization of hepatic tumors in medical images.
Mar 2014 - Nov 2014
Development of a computer program in Matlab for monitoring subjects with wounds in lower members.
Jul 2013 - Jul 2014
Collaborated on development of a PID closed-loop elbow joint control using Functional Electrical Stimulation.
Please, get in touch! Reach me at:


public class Doctor
extends java.lang.Object
A doctor interacts with patients, in order to give treatment.
| Constructor and Description |
|---|
Doctor(java.lang.String staffName)
Creates a doctor object, using only as input the name of the doctor.
|
Doctor(java.lang.String staffName,
ListTracker listTracker)
Creates a doctor object, using two input values:
1) name of the doctor 2) list type of the doctor (meaning the emergency room of the doctor) This method adds the doctor to the list of the emergency room upon creation. |
| Modifier and Type | Method and Description |
|---|---|
void |
finishTreatment(Patient assignedPatient,
Patient.HealthStatus healthStatus)
Finishes treatment and gives a health status to this patient.
|
Patient |
getAssignedPatient()
Gets the assigned patient of this doctor.
|
java.lang.String |
getCurrentActivity()
Gets the current activity of this doctor.
|
ListTracker |
getListTracker()
Gets the list (emergency room) to which the doctor belongs
|
Nurse.Availability |
getStaffAvailability()
Gets the staff availability of the doctor object.
|
java.lang.String |
getStaffName()
Gets the name of the doctor object.
|
void |
goHome()
When a doctor goes home, he is not available anymore to perform treatment.
|
void |
performClinicalExam(Patient assignedPatient)
Performs a Clinical Examination on the patient, if the doctor is available to perform treatment,
and the patient is not already treated by another doctor, and the patient is assigned to a bed.
|
void |
performDischarge(Patient assignedPatient)
Performs a Discharge on the patient, if the doctor is available to perform treatment,
and the patient is not already treated by another doctor, and the patient is assigned to a bed.
|
void |
performExternalMI(Patient assignedPatient)
Performs an External Medical Imaging on the patient, if the doctor is available to perform treatment,
and the patient is not already treated by another doctor, and the patient is assigned to a bed.
|
void |
performMedication(Patient assignedPatient)
Performs a Medication on the patient, if the doctor is available to perform treatment,
and the patient is not already treated by another doctor, and the patient is assigned to a bed.
|
void |
performOtherExamTreatment(Patient assignedPatient)
Performs an Other Examination and Treatment on the patient, if the doctor is available to perform treatment,
and the patient is not already treated by another doctor, and the patient is assigned to a bed.
|
void |
releasePatient(Patient assignedPatient)
When a treatment is finished, the patient should not be assigned to the
doctor anymore.
|
void |
setAssignedPatient(Patient assignedPatient)
Assigns the patient to the doctor, if the doctor is not already occupied
with another patient.
|
void |
setCurrentActivity(java.lang.String currentActivity)
Sets the current activity of this doctor.
|
void |
setListTracker(ListTracker listTracker)
Sets the list to which the doctor belongs.
|
void |
setStaffAvailability(Nurse.Availability staffAvailability)
Sets the availability of this doctor object to AVAILABLE or NOT_AVAILABLE.
|
void |
setStaffName(java.lang.String staffName)
Sets the name of the doctor object.
|
void |
startWork()
When a doctor starts work, he is available to perform treatment.
|
java.lang.String |
toString()
Displays the information of a doctor object
|
public Doctor(java.lang.String staffName, ListTracker listTracker)
Furthermore, the staff availability is set to NOT_AVAILABLE and current activity is set to "unknown". Also, upon creation, a doctor object is not related to a patient yet, so the assigned patient is null.
staffName
- name of the doctorlistTracker
- the emergency room this doctor belongs topublic Doctor(java.lang.String staffName)
Furthermore, the staff availability is set to NOT_AVAILABLE and current activity is set to "unknown". Also, upon creation, a doctor object is not related to a patient yet, so the assigned patient is null.
staffName
- name of the doctorpublic ListTracker getListTracker()
public void setListTracker(ListTracker listTracker)
listTracker
- list to which the doctor belongs.public java.lang.String getStaffName()
public void setStaffName(java.lang.String staffName)
staffName
- name of the doctorpublic Nurse.Availability getStaffAvailability()
public void setStaffAvailability(Nurse.Availability staffAvailability)
staffAvailability
- the staff availability of the doctorpublic Patient getAssignedPatient()
public void setAssignedPatient(Patient assignedPatient)
assignedPatient
- the patient to be assigned to the doctorpublic java.lang.String getCurrentActivity()
public void setCurrentActivity(java.lang.String currentActivity)
currentActivity
- the current activity of the doctorpublic void performClinicalExam(Patient assignedPatient)
This method is called by the method performClinicalExam() of the nurse. Since both the nurse and
doctor are required at this treatment step, when the nurse calls that method, the doctor (if available)
is also allocated to this treatment, and associated to that patient.
While performing Clinical Examination, the doctor and patient are assigned to each other,
the current status of the patient is changed to IN_TREATMENT. The current
activity of the doctor will be "Performing a Clinical Examination", while the doctor's
availability will be NOT_AVAILABLE while performing this method.
assignedPatient
- the patient who will receive this Clinical Examinationpublic void performExternalMI(Patient assignedPatient)
This method is called by the method performExternalMI() of the nurse. Since both the nurse and
doctor are required at this treatment step, when the nurse calls that method, the doctor (if available)
is also allocated to this treatment, and associated to that patient.
While performing External Medical Imaging, the doctor and patient are assigned to each other,
the current status of the patient is changed to IN_TREATMENT. The current
activity of the doctor will be "Performing an External Medical Imaging", while the doctor's
availability will be NOT_AVAILABLE while performing this method.
assignedPatient
- the patient who will receive this External Medical Imagingpublic void performMedication(Patient assignedPatient)
This method is called by the method performMedication() of the nurse. Since both the nurse and
doctor are required at this treatment step, when the nurse calls that method, the doctor (if available)
is also allocated to this treatment, and associated to that patient.
While performing Medication, the doctor and patient are assigned to each other,
the current status of the patient is changed to IN_TREATMENT. The current
activity of the doctor will be "Performing a Medication", while the doctor's
availability will be NOT_AVAILABLE while performing this method.
assignedPatient
- the patient who will receive this Medicationpublic void performOtherExamTreatment(Patient assignedPatient)
This method is called by the method performOtherExamTreatment() of the nurse. Since both the nurse and
doctor are required at this treatment step, when the nurse calls that method, the doctor (if available)
is also allocated to this treatment, and associated to that patient.
While performing Other Examination and Treatment, the doctor and patient are assigned to each other,
the current status of the patient is changed to IN_TREATMENT. The current
activity of the doctor will be "Performing an Other Examination and Treatment", while the doctor's
availability will be NOT_AVAILABLE while performing this method.
assignedPatient
- the patient who will receive this Other Examination and Treatmentpublic void performDischarge(Patient assignedPatient)
This method is called by the method performDischarge() of the nurse. Since both the nurse and
doctor are required at this treatment step, when the nurse calls that method, the doctor (if available)
is also allocated to this treatment, and associated to that patient.
While performing Discharge, the doctor and patient are assigned to each other,
the current status of the patient is changed to IN_TREATMENT. The current
activity of the doctor will be "Performing a Discharge", while the doctor's
availability will be NOT_AVAILABLE while performing this method.
If the patient is still sick when discharge is performed, the patient will wait for boarding. If he/she is healthy, the patient will leave the emergency room immediately.
assignedPatient
- the patient who will receive this Dischargepublic void finishTreatment(Patient assignedPatient, Patient.HealthStatus healthStatus)
assignedPatient
- the patient whose treatment will be finishedhealthStatus
- the assessment from the doctor given to the patient following the treatmentpublic void releasePatient(Patient assignedPatient)
assignedPatient
- the patient to be released from the doctorpublic void goHome()
public void startWork()
public java.lang.String toString()
toString
in class java.lang.Object


Home
DESSERTS
OUR TOP 3 DESSERTS
Waffles
Cinnamon Roll Waffles with Cream Cheese Icing.
Ice Cream
Seasonal Blueberry Icecream.
Cheesecake
Malteser Cheesecake


We're
Coming
Soon
Hello, fellow shoppers! We're currently building our new fashion store. Add your email below to stay up-to-date with announcements and our launch deals.
Test Error