A symbol or label is an identifier that starts with a letter and is followed
by letters and digits. Depending on some features enabled (see
at_in_identifiers
,
dollar_in_identifiers
and
leading_dot_in_identifiers
)
other characters may be present. Use of identifiers consisting of a single
character will not work in all cases, because some of these identifiers are
reserved keywords (for example "A" is not a valid identifier for a label,
because it is the keyword for the accumulator).
The assembler allows you to use symbols instead of naked values to make the source more readable. There are a lot of different ways to define and use symbols and labels, giving a lot of flexibility.
Numeric constants are defined using the equal sign or the label assignment operator. After doing
two = 2
may use the symbol "two" in every place where a number is expected, and it is evaluated to the value 2 in this context. The label assignment operator causes the same, but causes the symbol to be marked as a label, which may cause a different handling in the debugger:
io := $d000
The right side can of course be an expression:
four = two * two
A label is defined by writing the name of the label at the start of the line (before any instruction mnemonic, macro or pseudo directive), followed by a colon. This will declare a symbol with the given name and the value of the current program counter.
Using the
.PROC
directive, it is possible to
create regions of code where the names of labels and symbols are local to this
region. They are not known outside of this region and cannot be accessed from
there. Such regions may be nested like PROCEDUREs in Pascal.
See the description of the
.PROC
directive for more information.
Cheap local labels are defined like standard labels, but the name of the
label must begin with a special symbol (usually '@', but this can be
changed by the
.LOCALCHAR
directive).
Cheap local labels are visible only between two non cheap labels. As soon as a
standard symbol is encountered (this may also be a local symbol if inside a
region defined with the
.PROC
directive), the
cheap local symbol goes out of scope.
You may use cheap local labels as an easy way to reuse common label names like "Loop". Here is an example:
Clear: lda #$00 ; Global label
ldy #$20
@Loop: sta Mem,y ; Local label
dey
bne @Loop ; Ok
rts
Sub: ... ; New global label
bne @Loop ; ERROR: Unknown identifier!
If you really want to write messy code, there are also unnamed labels. These labels do not have a name (you guessed that already, didn't you?). A colon is used to mark the absence of the name.
Unnamed labels may be accessed by using the colon plus several minus or plus characters as a label designator. Using the '-' characters will create a back reference (use the n'th label backwards), using '+' will create a forward reference (use the n'th label in forward direction). An example will help to understand this:
: lda (ptr1),y ; #1
cmp (ptr2),y
bne :+ ; -> #2
tax
beq :+++ ; -> #4
iny
bne :- ; -> #1
inc ptr1+1
inc ptr2+1
bne :- ; -> #1
: bcs :+ ; #2 -> #3
ldx #$FF
rts
: ldx #$01 ; #3
: rts ; #4
As you can see from the example, unnamed labels will make even short sections of code hard to understand, because you have to count labels to find branch targets (this is the reason why I for my part do prefer the "cheap" local labels). Nevertheless, unnamed labels are convenient in some situations, so it's your decision.
While there are drawbacks with this approach, it may be handy in some
situations. Using
.DEFINE
, it is
possible to define symbols or constants that may be used elsewhere. Since
the macro facility works on a very low level, there is no scoping. On the
other side, you may also define string constants this way (this is not
possible with the other symbol types).
Example:
.DEFINE two 2
.DEFINE version "SOS V2.3"
four = two * two ; Ok
.byte version ; Ok
.PROC ; Start local scope
two = 3 ; Will give "2 = 3" - invalid!
.ENDPROC
.DEBUGINFO
If
.DEBUGINFO
is enabled (or
-g is given on the command line), global, local and
cheap local labels are written to the object file and will be available in the
symbol file via the linker. Unnamed labels are not written to the object file,
because they don't have a name which would allow to access them.


---
layout: page
title: About
permalink: /p/welcome.html
---
I’m R&D Software Engineer at Dematic. I contribute to the research and development of the Dematic flagship product for supply chain solution "Dematic Multi-Shuttle (DMS)". I also develop automation and monitoring at all steps of software construction, from integration, testing to releasing in an Agile system. During my PhD, I’ve been
leading a challenging project of designing and developing a robot for
autonomous harvesting of an agricultural good under stringent design
requirements. I have excellent theoretical background in Robotics, Machine Learning, and Software development with extensive hands-on experience in electronic design, and mechanical design which allow me to successfully
implement projects from scratch.


Space-memory management
[Memory management]
Collaboration diagram for Space-memory management:
Namespaces | |
| namespace | Gecode::Memory::Config |
| Parameters defining memory management policy for spaces. | |
Classes | |
| class | Gecode::FreeList |
| Base-class for freelist-managed objects. More... | |
Functions | |
| void * | Gecode::Space::alloc (size_t) |
| Allocate memory on space heap. | |
| void | Gecode::Space::reuse (void *, size_t) |
| Attempt to reuse memory previously allocated with alloc. | |
| template<size_t > | |
| void * | Gecode::Space::fl_alloc (void) |
| Allocate from freelist-managed memory. | |
| template<size_t > | |
| void | Gecode::Space::fl_dispose (FreeList *f, FreeList *l) |
| Return freelist-managed memory to freelist. | |
| size_t | Gecode::Space::allocated (void) const |
| Return how much heap memory is allocated by this space. | |
| size_t | Gecode::Space::cached (void) const |
| Return how much memory is used by caches for actors. | |
| template<VarTypeId VTI> | |
| VarBase * | Gecode::Space::varsDisposeList (void) |
| Return list of variables that need deletion. | |
| template<VarTypeId VTI> | |
| void | Gecode::Space::varsDisposeList (VarBase *v) |
| Set list of variables that need deletion. |
Function Documentation
|
|
Allocate memory on space heap.
|
|
|
Attempt to reuse memory previously allocated with alloc.
|
|
|
Allocate from freelist-managed memory.
|
|
|
Return freelist-managed memory to freelist. The first list element to be retuned is f, the last is l. |
|
|
Return how much heap memory is allocated by this space. Note that is excludes the memory for the space object itself. |
|
|
Return how much memory is used by caches for actors.
|
|
|
Return list of variables that need deletion.
|
|
|
Set list of variables that need deletion.
|


Git and Differential Equations in R
7 DEC 2020
1 Class Introduction
Disclaimer: The appearance of U.S. Department of Defense (DoD) visual information does not imply or constitute DoD endorsement. The views expressed in this presentation are those only of the author and do not represent the official position of the U.S. Army, DoD, or the federal government.
1.1 Topics & Class Structure
- Git/GitHub setup and repository download (~45 minutes; interactive)
- Ten-minute break
- Using R for modeling with differential equations (~30 minutes; interactive)
- Collaboration using Git (as time allows; instructor demonstration)
1.2 Software Prerequisites
- R 3.6.x or newer
- RStudio 1.2.x or newer
- Git
- Git Bash (included with Git for Windows) or another command-line application of your choice capable of using Git
- A github account github website
1.3 Human Prerequisites
We assume you have:
- Working knowledge of R and RStudio;
- Some experience with contemporary tidy coding concepts;
- A need to work collaboratively on projects;
- A healthy appreciation of dad jokes.
Try to follow along, at least through the differential equation section. It’s okay to struggle to keep up with certain parts of this - we’ll do our best to help you, but we also won’t be offended if you decide to leave.
1.4 Distance Learning Challenges
- Don’t be afraid to ask questions - both verbally and in chat.
- If you miss something we said, it’s likely others have too - you’ll be helping them by speaking up.
- Its difficult the know the speed of the class, so please communicate!
1.5 Endstate
- You have git configured on your computer;
- You have linked git to github;
- You have a repo cloned to your computer;
- You can push, pull, and merge git conflicts in the repository;
- You’ve learned the basics of using differential equations in R.
1.6 Instructors Introduction
1.6.1 MAJ Dusty Turner
Army
- Combat Engineer
- Platoon Leader / XO / Company Commander
- Geospatial / Sapper / Route Clearance
- Hawaii / White Sands Missile Range / Iraq / Afghanistan
Education
- West Point ’07
- Operations Research, BS
- Missouri University of Science and Technology ’12
- Engineering Management, MS
- THE Ohio State ’16
- Integrated Systems Engineering, MS
- Applied Statistics, Graduate Minor
Data Science
- R User Since ’14
- Catch me on Twitter
@dtdusty
- http://dustysturner.com/
1.6.2 Robert Ward
Education
- University of Chicago, ’13
- Political Science & English, BA
- Columbia University School of International and Public Affairs, ’18
- Master of International Affairs, Specialization in Advanced Policy and Economic Analysis
Data Science
- R user since 2011; also know some python and forgot some Stata
- Worked for Government Accountability Office Applied Research & Methods
- Operations Research Systems Analyst at CAA and Army Leader Dashboard/Vantage PM team


Sign up
PROTOTYPE
Log in and get to work
Warning!
Better check email and password.
Email address
Password
Submit
Remember me
Forgot password?
PROTOTYPE


CleanSlate
Menu
home
acquire your record/rap sheet
faqs
definitions
Home
Acquire your record/rap sheet
FAQs
Definitions


Parentheses are used for a number of different reasons JavaScript. They are used within mathmatical equations to represent grouping or prioritising of calculations. And, they are used within coding itself...
Click to read more
Problem Solving
Just recently (like yesterday, and the day before, and the day before that...) I experienced a major road block. Between the slope of the learning curve and the nature of the learning my mind stopped. Turned to jelly. Melted away and there was an empty void...
Click to read more
JavaScript Basics
In one of my awesome earlier blogs I discussed the place of HTML & CSS. What they are and how they fit in with the "web development" infrastructure. To read more about that...
Click to read more
Design To Web
Studies show that the majority of users do most of their browsing via their phone or hand held device. So having a website that looks good and is easily navigated regardless of what device...
Click to read more
HTML CSS DOM II
Grid systems bring visual structure and balance to site design. As a tool grids are useful for organizing and presenting information. Used properly, they can enhance the user experience by creating preditable patterns for users to follow...
Click to read more
HTML CSS DOM I
These are the features I want to implement for an improved look and feel of my blog. I will utilise Bookstrap to achieve this, and look forward to understanding more of what its features do...
Click to read more


PRODUCTION
FACILITY
MECHANISM
OUR TEAM
OUR IDEAS
HOME
ABOUT
TECHNOLOGY
PRODUCTS
THE NEXT
GENERATION
ROBOTICS
WATCH PREVIEW
THE MAKING
DOWNLOAD PDF
01
02
03
04
05


The course in detail
Registration fee (including textbooks): R300 per person (once-off) Three payment options are available below. Please note that Quarterly and Annual Payments are preferred to ease the administration. Single person Couple/2 from a household 3 from a household 4 from a household (per person) (for both members) (for 3 members) (for 4 members) Quarterly 1st : Jan – Mar R900 R1 500 R1 800 R2 100 2nd : Apr – Jun R900 R1 500 R1 800 R2 100 3rd : Jul – Sept R900 R1 500 R1 800 R2 100 4th : Oct-Nov R600 R1 000 R1 200 R1 400 Annually Once-off annual payment (discounted) R3 000 R5 000 R6 000 R7 000 Monthly Monthly R300 R500 R600 R700 Who are the course facilitators? The course is taught by a number of experienced facilitators with a proven track record in the community. Khalil Hendricks Currently a teacher at Darun Naim in Wynberg Graduate of Darul Ulum al-Arabiyyah al-Islamiyyah (DUAI) which is run by Ml Taha Karaan Studied Arabic in Syria and at Darun Naim Completed Bachelor of Business Science at UCT Also works as a Management Consultant in both private and public sector Director at the InLight Foundation Director of Mizan Institute Zakariyya Harnekar Graduate and teacher at Darul Ulum al-Arabiyyah al-Islamiyyah (DUAI) Completed the two year full-time course at Darun Naim Completed a Bachelor of Science at UCT Former head of UCT MSA and actively involved in youth development Muhammad Carr Currently a teacher at Darun Naim in Wynberg Graduate of Darul Ulum al-Arabiyyah al-Islamiyyah (DUAI) Studied Arabic in Syria Director of the NEO Youth Foundation incorporating Auwwal Madrassah, Tajdid Hifth School and MYAcademy youth development programme Co-imam at Auwwal Masjid Teaches Islamic Contract law and has published works on Hajj, Riba and Zakah. Ismail Londt Holds multiple asaanids and ijaazat in Qira’aat Studied Islamic Studies at the Darul Ulum in Newcastle and in Egypt Currently specializing in the field of Linguistics at Unisa He is the director of the Dar Ubaiy Centre Co-imam at Auwwal Masjid Served as a judge at international Qira’at events Yazeed Mohamed Graduate of Darul Ulum al-Arabiyyah al-Islamiyyah (DUAI) Completed two years of studies at Darun Na’im Former Imam of Masjidul Rasheed in Retreat Currently the Youth and Education Director at Taronga Road Mosque


Reports usages of absolute alignment constants from AWT and Swing. Internationalized applications should make use of relative alignment, because it respects locale component orientation settings.
New in 11, Powered by InspectionGadgets


Select the level of difficulty and the game will begin. You need to find the lucky card with the bug.
The higher the level is, the greater the number of cards there will be.


LeBron James Sends Message To Colin Kaepernick Before His Workout
by Andrew McCartyOn Saturday afternoon, ESPN NFL insider Adam Schefter revealed the location of Colin Kaepernick’s workout for NFL scouts changed last minute.
Initially the workout was set to happen at the Atlanta Falcons training facility. However, just over an hour before the workout was scheduled to begin, Kaepernick’s camp decided to move the location.
They released a statement revealing the decision for the change. The NFL did not want media to attend and film the workout, so Kaepernick changed the location to allow media and the fans to see the workout for themselves.
Before the workout start, NBA star LeBron James sent a message to Kaepernick.
“Best of luck to Colin Kaepernick in his workout today! Pulling for you over here Young King!!! Regardless the outcome you’re SPECIAL and I thank you for being TRUE!” James said in the tweet.
The former star quarterback hasn’t played in the NFL since 2016, though not for lack of trying. More than 25 NFL teams were reportedly planning to attend the workout – though that was before the location change.
It’s unclear if every NFL team that intended to attend the NFL-sanctioned workout is now at the high school.
Stay tuned for the latest on Kaepernick’s workout and future options.


--- layout: post title: Introducing JSP and J2EE tags: [] status: publish type: post published: true meta: {} ---
A nifty article on the Sun site about creating multi-lingual websites using JSP. It starts with a brief overview of JSP and JSTL, guides you through determining the users locale and preferences, Character encoding and then some.
The newsletter that lead me to the previous entry also pointed me to an introduction to the J2EE platform, covering all the features that J2EE offers for developers and application development as well installation instructions. The second item on this newsletter is all about the JSTL...


Player One
Compare
Player Two
General
{{myUsername}}
Rank: {{myRank}}
Rank: {{myRank}}
Win Rate: {{myWinRate}}
Win Rate: {{myWinRate}}
Games: {{gamesComp}}
Games: {{gamesComp}}
Wins: {{myCompWins}}
Wins: {{myCompWins}}
Ties: {{ties}}
Ties: {{ties}}
Losses: {{lossesComp}}
Losses: {{lossesComp}}
Eliminations: {{totalElimsComp}}
Eliminations: {{totalElimsComp}}
Kills Per Death: {{kpdComp}}
Kills Per Death: {{kpdComp}}
Time Played: {{myCompPlaytime}} hours
Time Played: {{myCompPlaytime}} hours
Final Blows: {{totalFinalBlowsComp}}
Final Blows: {{totalFinalBlowsComp}}
Damage Done: {{totalDamageDoneComp}}
Damage Done: {{totalDamageDoneComp}}
Multikills: {{totalMultikillsComp}}
Multikills: {{totalMultikillsComp}}
Medals: {{totalMedalsComp}}
Medals: {{totalMedalsComp}}
Cards: {{totalCardsComp}}
Cards: {{totalCardsComp}}
Healing: {{totalHealingComp}}
Healing: {{totalHealingComp}}
General
{{oppUsername}}
Rank: {{oppRank}}
Rank: {{oppRank}}
Win Rate: {{oppWinRate}}
Win Rate: {{oppWinRate}}
Games: {{gamesCompOpp}}
Games: {{gamesCompOpp}}
Wins: {{oppCompWins}}
Wins: {{oppCompWins}}
Ties: {{tiesOpp}}
Ties: {{tiesOpp}}
Losses: {{lossesCompOpp}}
Losses: {{lossesCompOpp}}
Eliminations: {{totalElimsCompOpp}}
Eliminations: {{totalElimsCompOpp}}
Kills Per Death: {{kpdCompOpp}}
Kills Per Death: {{kpdCompOpp}}
Time Played: {{oppCompPlaytime}} hours
Time Played: {{oppCompPlaytime}} hours
Final Blows: {{totalFinalBlowsCompOpp}}
Final Blows: {{totalFinalBlowsCompOpp}}
Damage Done: {{totalDamageDoneCompOpp}}
Damage Done: {{totalDamageDoneCompOpp}}
Multikills: {{totalMultikillsCompOpp}}
Multikills: {{totalMultikillsCompOpp}}
Medals: {{totalMedalsCompOpp}}
Medals: {{totalMedalsCompOpp}}
Cards: {{totalCardsCompOpp}}
Cards: {{totalCardsCompOpp}}
Healing: {{totalHealingCompOpp}}
Healing: {{totalHealingCompOpp}}
Averages
{{myUsername}}
Eliminations: {{elimsAvgComp}}
Eliminations: {{elimsAvgComp}}
Deaths: {{deathsAvgComp}}
Deaths: {{deathsAvgComp}}
Damage Done: {{damageDoneAvgComp}}
Damage Done: {{damageDoneAvgComp}}
Healing Done: {{healingAvgComp}}
Healing Done: {{healingAvgComp}}
Final Blows: {{finalBlowsAvgComp}}
Final Blows: {{finalBlowsAvgComp}}
Objective Kills: {{objKillsAvgComp}}
Objective Kills: {{objKillsAvgComp}}
Objective Time: {{objTimeAvgComp}} seconds
Objective Time: {{objTimeAvgComp}} seconds
Averages
{{oppUsername}}
Eliminations: {{elimsAvgCompOpp}}
Eliminations: {{elimsAvgCompOpp}}
Deaths: {{deathsAvgCompOpp}}
Deaths: {{deathsAvgCompOpp}}
Damage Done: {{damageDoneAvgCompOpp}}
Damage Done: {{damageDoneAvgCompOpp}}
Healing Done: {{healingAvgCompOpp}}
Healing Done: {{healingAvgCompOpp}}
Final Blows: {{finalBlowsAvgCompOpp}}
Final Blows: {{finalBlowsAvgCompOpp}}
Objective Kills: {{objKillsAvgCompOpp}}
Objective Kills: {{objKillsAvgCompOpp}}
Objective Time: {{objTimeAvgCompOpp}} seconds
Objective Time: {{objTimeAvgCompOpp}} seconds
Best In One Game
{{myUsername}}
Eliminations: {{elimsBestComp}}
Eliminations: {{elimsBestComp}}
Multikill: {{multikillBestComp}}
MultiKills: {{multikillBestComp}}
Damage Done: {{damageDoneBestComp}}
Damage Done: {{damageDoneBestComp}}
Healing Done: {{healingBestComp}}
Healing Done: {{healingBestComp}}
Final Blows: {{finalBlowsBestComp}}
Final Blows: {{finalBlowsBestComp}}
Objective Kills: {{objKillsBestComp}}
Objective Kills: {{objKillsBestComp}}
Objective Time: {{objTimeBestComp}} seconds
Objective Time: {{objTimeBestComp}} seconds
Best In One Game
{{oppUsername}}
Eliminations: {{elimsBestCompOpp}}
Eliminations: {{elimsBestCompOpp}}
Multikill: {{multikillBestCompOpp}}
MultiKills: {{multikillBestCompOpp}}
Damage Done: {{damageDoneBestCompOpp}}
Damage Done: {{damageDoneBestCompOpp}}
Healing Done: {{healingBestCompOpp}}
Healing Done: {{healingBestCompOpp}}
Final Blows: {{finalBlowsBestCompOpp}}
Final Blows: {{finalBlowsBestCompOpp}}
Objective Kills: {{objKillsBestCompOpp}}
Objective Kills: {{objKillsBestCompOpp}}
Objective Time: {{objTimeBestCompOpp}} seconds
Objective Time: {{objTimeBestCompOpp}} seconds


Achieved by calling $.modal.alert()
.
Achieved by calling $.modal.msg()
.
Achieved by calling $.modal.confirm()
.
By calling $.modal.msgReload()
.
By calling $.modal.open()
.
By calling $.modal.openTab()
.
Achieved by calling layer
.
Achieved by calling blockUI
.


Palakkad lies at the foot of the Western Ghats on the Kerala-Tamil Nadu border. Coimbatore is just 50 km away from Palakkad. The district known for its historical background has the remnants of the fort of Tipu Sultan. Lined with mountains, forests, rivulets and mountain streams, Palakkad is where you will find nature at its natural best.
Palakkad is a land of palm trees and paddy fields. Rich in flora and fauna, Palakkad has probably the biggest mountain pass in the world (30-40 Kms) separating the two folds of the Western Ghats on the border of Kerala with Tamil Nadu.
The soil is fertile and is favourable for agriculture. The district is even described as the granary of the state of Kerala. Palakkad also has many dams and irrigation projects such as Walayar, Malampuzha, Pothundy, and Parambikulam.
The fort built in 1766 by Hyder Ali is one of the well preserved forts of Kerala. The fort was captured by the British in 1784. It was later taken by the troops of the Kozhikode Zamorin but was recaptured by the British again in 1790. Tipu Sultan did not give up easily and he fought continuously for the custody of the fort. However, during one such encounter he lost his life. Since then the fort is known as Tipu Sultan’s Fort.
The legend behind this temple is what makes it special. According to the myth, Perumthachan, an expert carpenter began constructing this temple after being challenged to build a temple that could challenge heaven. Lord Indra truly got envious of the temple and altered minute measurements of the temple which in turn would disrupt Perumthachan’s work. This went on for months until an exasperated Perumthachan gave up on the task and decided to end his career as a carpenter. At the temple one can see a measuring scale and axe lieing inserted into a wall of the temple, which has unfinished structures and pillars.
A sanctuary not bound by fence or gate, the Mayiladumpara sanctuary that houses around 200 peacocks allows free access. Though sightings of the peacocks are infrequent during the day, they can be seen moving around during dawn and dusk. The sanctuary is at Nedungathara, about 25 km south of Palakkad.
There are several places of interest in Malampuzha. Be it the Malampuzha dam built on the River Bharathapuzha or the garden near the dam or Fantasy Park, the water theme park, there is everything you want on a holiday – serenity, fun and excitement. Easily accessible from Palakkad, Malampuzha is a major tourist attraction.
Situated about 80 km away from Palakkad, Nelliampathy is a hill station in the Nelliampathy forest ranges. A series of ridges cut off from one another by valleys of dark evergreen forests make this breathtaking hill station all the more special.
Anamudi is the highest peak in the Western Ghats in India, having an elevation of 2,695 metres (8,842 ft). It is a perfect spot for trekking enthusiasts. The grass slopes starting from the plateau make for a considerably easy hike uphill. The first recorded ascent of the Anamudi was by General Douglas Hamilton of the Madras Army on May 4, 1862. However, it is likely that there had been earlier ascents by local people.
The Silent Valley gets its name from the eerie silence that surrounds this valley because of the lack of cicadas. The habitat of rare species, Silent Valley is at a distance of 80 km from Palakkad. The valley which is a protected area for tigers, lion-tailed macaques, is also inhabited by tribals.
25 km away from Palakkad town, the Walayar Dam is located on the border of Kerala and Tamil Nadu. A beautiful place, it is easily accessible to the visitors to and from Tamil Nadu as well. A deer park located 3 km away from Walayar is another attraction
Dhoni, 15 kms from Palakkad, is a fairly long climb, a 3-hour trek from the base of the Dhoni Hills. This reserve forest area with its small yet captivating waterfalls has many tourists all through the year. Dhoni provides trekkers the opportunity to explore its hilly terrains. Its lush green surroundings are a pleasure to watch. Dhoni is also famous for its farmhouse, harbouring hundreds of cattle of Swiss variety.


---
layout: home
title:
author_profile: true
header:
image: /assets/images/Empire-State-Building_Commencement.jpg
caption: "Photo by David Dini, SIPA'14 Columbia University"
---
I'm a Ph.D. Candidate in Biostatistics at Columbia University Mailman School of Public Health. My research focused on Deep Learning, natural language processing (NLP), electronic health record (EHR) data, and statistical genetics. More about me.
Most Recent Publications
- Guo, J., Lin, W. H. W., Zucker, J. E., Nandakumar, R., Uhlemann, A. C., Wang, S., & Shivakoti, R. (2022). Inflammation and mortality in COVID-19 hospitalized patients with and without type 2 diabetes. The Journal of Clinical Endocrinology & Metabolism.
- Guo, J., Riley, K. W., Durham, T., Margolis A. E., Wang, S., Perera, F., & Herbstman, J. B. (2022). Association studies of environmental exposures, DNA methylation and children’s cognitive, behavioral, and mental health problems. Frontiers in genetics, 13, 871820.
- Guo, J., Yuan, C., Shang, N., Zheng, T., Bello, N. A., Kiryluk, K., Weng, C., & Wang, S. (2021). Similarity-based health risk prediction using domain fusion and electronic health records data. Journal of biomedical informatics, 116, 103711.
SEE ALL PUBLICATIONS >


This was a personal project I did to better familiarize myself with the design process. The app I designed is a menu app that tailors a restaurant menu to a users dietary restrictions and preferences.
Personal Project: January 2018
UI/UX/Product Design
I thought of this idea when I was at dinner with friends, and noticed that we each had different challenges when deciding what to eat. One of my friends is gluten free, and always has concerns about what does and does not contain gluten. I’m a vegetarian, and when I look at a menu, I'm typically only looking at the very small fraction of choices that don’t have meat in them. We found ourselves searching the menu, googling things, and bombarding our server with questions: “Does that have meat in it?” “Are there gluten free buns available?” I thought, since we all have different diets, why do we all look at the same menu of choices?
I started thinking this was an app for those with dietary restrictions, but at this point, I realized the scope of people this could reach was larger than just those with dietary restrictions. I would also want to consider people with food allergies, or those dieting-- factors that also result in significant menu changes. I went to straight to the internet. I found communities and resources on places like reddit, discussion forums, and blogs. As it turns out, there are real emotions associated with different dietary restrictions. People mentioned feeling embarrassed about their choices, and others mentioned feeling like an annoyance, having to constantly ask waiters questions and make specific requests.
“It's just embarrassing when they have to cater to my food preferences though or if we go out to a restaurant and I have to ask the waiters to leave off cheese or chicken or whatever”
“I get embarrassed when people realize I'm trying to lose weight.”
"I already feel like a tool because I have clinically certified food allergies which has left me somewhat bitter about the cruel hand dealt to me, but I do like to feel as if I'm important enough to have a proper menu printed for me.”
"5 tips to stay social when you have food allergies"


Getting Started
All the basics of using Umbraco v7. From making a local installation to extending the backend.
Setup
Covers how to install and configure your Umbraco installationRequirements
What is needed to run Umbraco?Install
How to install UmbracoRequest
Finds the matching content for the requestServer Setup
Setting up a SQL server for your installationData
Define content entry points with document types and datatypes.Document Types
Content has a content type that defines its dataData Types
It has a template that defines its presentationContent Entry
Based on the schema a template is loadedDesign
Create templates and views with your own markup and use Razor to render content.Templates
Template is rendered with RazorRazor
Model refers to the found contentContent API
There are API’s to query media, members and content in the cacheMVC
Template is rendered with RazorEvents
Model refers to the found contentForms/Controllers
There are API’s to query media, members and content in the cacheExtend
Extending Umbraco with custom sections and editorsProperty Editors
Template is rendered with RazorTrees
Funky javascriptEditors
Make things pretty and UNICORNYAngular JS
And use client dependency to optimise
class


--- layout: post title: RC Plane Experiment date: 2010-08-24 17:55:32.000000000 -04:00 type: post published: true status: publish comments: true categories: - Hobby tags: - RC Plane meta: _wp_old_slug: '' excerpt: My experiment with RC planes ---
Every now and then I get hooked up with new hobbies, this time it was RC planes. I used to love playing with electronics when I was a kid. Sometimes I was encouraged to play with electronics (when our Philips tape recorder would bail out on us or when our mixer and grinder would cease working) manytimes I was not allowed to touch them (our television set, telephone and wrist watches to name a few).
Anyhow, I was surfing over the internet and came across the website DIY Drones they do pretty cool stuff and I was impressed by the things that these guys do, I really wanted to buid a drone for myself and my quest for the drones began. I soon understood that it was a significant undertaking for a person like me, who has little or no understanding of how airplanes fly (except for the fact that they fly on Newton's laws and bernoulli's principle - I knew it before I saw Friend's ! ). So I started with a very basic step - buying an airplane.
Now this was not a simple thing, I probably spent about a week trying to figure out which plane is good for me, not to mention that I wanted an economic plane. After a lot of research I brought a RTF J3 Piper Cub from Nitro Planes (they were offering it for cheap during that time $70)
It was a ready to fly plane, which basically means that it flies out of the box. The RC transmitter and receiver is an important part and I wanted it to be the best, as I am relying on it to control my plane which will have my precious payload (GPS, Camera etc.) ! So I brought a Spectrum Dxe5 controller,
for $99. It is a 5-channel controller, a 5-channel controller means you can control 5 functions of the plane using the transmitter/receiver, those 5 functions are
Refer: http://www.grc.nasa.gov/WWW/K-12/airplane/alr.html
I will scrap the FM transmitter and reciever that came with the plane. The plane that I brought for the time being will be only using 3 channel 1,2 and 3. I can't wait for it to arrive so that I can start
playing with it.
I also brought a GPS module (SiRF 2 chipset) for logging the raw NMEI data of my flight, I am planning to interface it with my Aurduino module and use it
as my personal data logger. I will keep posting about the development.
Happy Flying


Light-touch dependency injection for PHP 5.3+
To get started we recommend you use Composer. In your composer.json file, add Platter as a dependency:
{ "require": { "stuartwakefield/platter": "~0.1" } }
Run the install sub command for Composer to install Platter.
Add definitions to a Platter instance, while we would recommend to pass everything through Platter so that you only need to call get once, feel free to use Platter in a way that best suits your application.
$container = new Platter(array( 'Application' => function($container) { $app = new Application(); $app->controller( 'record', $container->get('RecordController') ); $app->routes( $container->get('routes') ); return $app; }, 'routes' => array( '/' => 'record:list', '/new' => 'record:new', '/new/save' => 'record:saveNew', '/{id}' => 'record:view', '/{id}/delete' => 'record:delete', '/{id}/save' => 'record:save' ), 'RecordController' => function($container) { return new RecordContainer( $container->get('RecordRepository'), $container->get('RecordView') ); }, 'RecordRepository' => function($container) { return new RecordRepository( $container->get('PDO') ); }, 'RecordView' => function($container) { return new RecordView() }, 'PDO' => function($container) { $cfg = $container->get('config'); return new PDO( $container->get('dsn'), $cfg->dbuser, $cfg->dbpass ); }, 'dsn' => function($container) { $cfg = $container->get('config'); return "mysql:" . "dbname={$cfg->dbname};" . "host={$cfg->dbhost}"; }, 'config' => (object) array( 'dbname' => 'mydb', 'dbhost' => '<IP_ADDRESS>', 'dbuser' => 'mysuperapp', 'dbpass' => '9H60ybPO5E' ) )); $app = $container->get('Application'); $app->run();
Creates a new Builder instance which can be used as an alternate method to create Platter instances through a friendly builder interface.
Parameters:
$defs
$parent
Example:
$builder = new Platter\Builder(); $container = $builder ->connect($parentContainer) ->define('SalaryView', function($container) { return new SalaryView() }) ->define('SalaryController', function($container) { return new SalaryController($container->get('Store'), $container->get('SalaryView')) }) ->build();
Creates a definition where $name
is a string representing the name of the item and $def
is a mixed type that defines what will be returned when collected through the get method. If $def
is callable, the return value after calling the callable will be returned.
Returns an instance of Platter initialized with the values defined through the builder
Decorates a definition provided as $def
so that the same object instance will be provided each time it is called. This enables a single object to be shared across the entire application.
$def
$container = new Platter(array( 'Counter' => new Platter\Definition\Singleton(function($container) { return new Counter() }) )); $a = $container->get('Counter'); echo $a->count(); // 0 $a->increment(); echo $a->count(); // 1 $b = $container->get('Counter'); echo $b->count(); // 1
This site is open source. Fork me here.


Our Computers
NCFTB is very much powered through Linux. Systems running BOINC use the lightweight Linux distrabution called "Lubuntu." All of our computer hardware is donated by the community.
To learn more about linux you can read about it here.
Donors
Bitney Prep houses multiple computers. They run when able and they are always available to assist the project. The school website con be found here.
Floracopeia houses a computer for NCFTB which runs BOINC and computes for science.


Why is Cosmology Dedicated to Finding Two Parameters Before 90’s
Basically, the cosmology before the 90’s have only two tasks. The first one is to find out the Hubble constant, while the second one is looking for the deceleration parameter.
We don’t rush to define what Hubble constant and deceleration parameter are, but have a look at what observations do at that time.
Astronomers are really good at measuring distances. They have infinite tricky ways to find out some distance.
We can find out how bright a star is by observation. One way to represent the brightness is to use the energy crossed per unit area per unit time at the observer, because this is what our eyes do.
This quantity is related to how much energy was emitted at the star, how far we are from the star. The more energy the star emitted, the brighter it look like. The nearer the star is, the brighter it is. Just like what we feel like with a candle.
This schematic picture shows that energy spread out on a surface because the total energy is conserved. Isotropic energy flux through the same solid angle at different radius must be the same.
Through a very simple calculation, it is as simple as
We are dealing with Cosmology now. The space-time manifold should be a great concern. The luminosity turns out to be
Here d is the physical distance between the star and the observer. L is the absolute luminosity of the star, which stands for the power of the star. z is the redshift of the star.
The first \(\frac{1}{1+z}\) term comes from the fact that the energy of each photon decrease due to expansion of the universe, while the second is the result that the rate of photons arrived at the observer is less.
We are happy to define
then the luminosity becomes simpler,
Now we come back to have a look at this luminosity.
Then we can find out this so called luminosity distance
from some data.
We don’t just do the observation for the luminosity distance itself. We observe to test theories.
What is this distance in theory?
Wait, didn’t we just mention that this is only valid for a flat universe? So we just do some extension.
where R(d) is a function of d and can be determined through geometry,
For nearby objects, we can always use flat geometry and use Taylor expansion at current time for a(t).
Luminosity distance is
where r is the comoving distance and a(t) is the scale factor at time t.
We know
So we are happy to use Taylor expansion around \(t_0\) for \(a(t)\), and keep only up to the second order of time. And do some substitution with
We then do the same thing on redshift
Finally, we can find out the relation \(r(z)\), which leads us to the result we need, \(d_L(z) = H_0^{-1} (z - \frac12 (1+q_0) z^2)\).
For very near objects (not as near as our sun of course),
This is a model independent observation and derivation. We can draw a line to represent the case when deceleration parameter is zero, lines higher than this stands for a accelerating universe while lower region show a decelerating universe.
We can show that for a vacuum energy dominated universe, the line would go up and for a matter dominated universe, it would below the zero deceleration line.
In this model independent method, the only two parameters occur are Hubble constant \(H_0\) and deceleration parameter \(q_0\) .
Angular diameter distance is really useful if we have some standard ruler. Now assume we have a ruler d, we can find out the angle between the two ends of the ruler, by some kind of measurement.
At the same time, we can use magic of math
Now as we already find out what \(\theta\) is by a measurement, and we said about the d is a standard ruler, which means we know the length of it very well. Then we can find out the distance \(D\), which is the distance between us and the standard ruler.
We can find out this kind of distance, which we will denote it as \(d_A\) from now on. What is it for?
A angular diameter distance is the physical distance between us and the standard ruler,
We can use the same trick we used in luminosity distance calculations, and it is easy to find that
Again, the observation is related to only two parameters, Hubble constant \(H_0\) and deceleration parameter \(q_0\).
It is hard to imagine that we really have some standard rulers. In fact, we do. They are
Now we can see anything that is only (simply) related to physical or comoving distance can be determined by this trick. The result is that only two cosmological parameters would come in our equation as long as we keep only upper to order two of redshift.
Here another example is the galaxy number count.
© 2017, Lei Ma. | Created with Sphinx and . | On GitHub | Neutrino Notebook Statistical Mechanics Notebook | Index | Page Source


| Class name |
Method name |
Groups |
| Activity.Publish_ActivitywithallStep |
| |
| @Test |
| |
publish_activity |
Activity |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| DeleteTesting.ZuoyeDeleteTest |
| |
| @Test |
| |
zuoye_delete |
|
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| Backup_Course.publish_bcourse |
| |
| @Test |
| |
read_beker |
Backup_Course |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| Documentation_and_exchange.doc_comments |
| |
| @Test |
| |
documentComments |
Documentation_and_exchange |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| Documentation_and_exchange.SentDoc |
| |
| @Test |
| |
sent_doc |
Documentation_and_exchange |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| Resources.UploadSource |
| |
| @Test |
| |
uploadSource |
|
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| task.Making |
| |
| @Test |
| |
making |
task |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| task.Publish_Task |
| |
| @Test |
| |
publish_Task |
task |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| DeleteTesting.BeikeDeleteTest |
| |
| @Test |
| |
beike_delete |
|
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| Mo_course.Check_data |
| |
| @Test |
| |
check_data |
Mo_course |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| DeleteTesting.WenzhangDeleteTest |
| |
| @Test |
| |
wenzhang_delete |
|
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| Vedio.EditAndDeleteThePublishedVedio |
| |
| @Test |
| |
upVedio |
vedio |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| NewActivity.ChengGuoZhanSi |
| |
| @Test |
| |
publishHuodong |
Activity |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| Backup_Course.making |
| |
| @Test |
| |
read |
Backup_Course |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| Activity.To_joinActivity |
| |
| @Test |
| |
to_joinActivity |
Activity |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| course_learning.Learning |
| |
| @Test |
| |
raimn |
course_learning |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| Tongbanxiezuo.Publish_cooperation |
| |
| @Test |
| |
publish_cooperation |
Cooperation |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| NewActivity.MakingHuodong |
| |
| @Test |
| |
checkHuodongOfStudents |
Activity |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| NewActivity.JoinActivity |
| |
| @Test |
| |
studuentakePartActivity |
Activity |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| DeleteTesting.JiaoLiuDeleteTest |
| |
| @Test |
| |
jiaoliu_delete |
|
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| DeleteTesting.HuodongDeleteTest |
| |
| @Test |
| |
huodong_delete |
|
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| Vedio.UploadVedio |
| |
| @Test |
| |
upVedio |
vedio |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| Mo_course.Publish_moke |
| |
| @Test |
| |
publish_moke |
Mo_course |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| Tongbanxiezuo.Join_cooperation |
| |
| @Test |
| |
join_cooperation |
Cooperation |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| Resources.EditAndDeleteSource |
| |
| @Test |
| |
uploadSource |
|
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| Backup_Course.Join_bCourse |
| |
| @Test |
| |
join_bCourse |
Backup_Course |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| DeleteTesting.TongbanxiezuoDeleteTest |
| |
| @Test |
| |
xiezuo_delete |
|
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| Mo_course.join_moke |
| |
| @Test |
| |
addtomoke |
Mo_course |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| DeleteTesting.MokeDeleteTest |
| |
| @Test |
| |
moke_delete |
|
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| DeleteTesting.DiaochawenjuanDeleteTest |
| |
| @Test |
| |
diaochawenjuan_delete |
|
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| task.Submit_Task |
| |
| @Test |
| |
submit_Task |
task |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| DeleteTesting.KeguantiDeleteTest |
| |
| @Test |
| |
keguantiDeleteTest |
|
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| Documentation_and_exchange.Sent_Exchange |
| |
| @Test |
| |
sent_exchange |
Documentation_and_exchange |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |
| Activity.Advice_to_activity |
| |
| @Test |
| |
advice_to_activity |
Activity |
| @BeforeClass |
| @BeforeMethod |
| @AfterMethod |
| @AfterClass |


Malay Bhavsar
Hello World!
I am Malay Bhavsar( LEO-Malay ). I am currently an 2nd year Undergraduate student at A.D Patel Institute of Technology, Anand. Pursuing Bechlor's degree in Information Technology( IT ).I developed passion for Computer & Coding when I was in 9th Grade. I developed my very first Website saying Hello World. This Motivated me to learn more!
Programming Languages
Programming languages are like a boon to human with which they can build anything! Ofcourse can't make the Elixer of Life but pretty much anything which can make our life easy! I prefer to code in any of the following languages:
Some of the things I have experience with!
Things I like to do!


CSSplus is a family of single-purpose CSS reprocessors that allow authors write CSS in new ways using dynamic values that will be updated via JavaScript.
These plugins are written in ES6, and intended to be used in modern browsers (Chrome, Safari, Firefox, Edge) without transpilation. Many of these plugins make use of CSS Custom Properties (CSS variables) for functionality, so any browser that doesn’t support these features will have trouble with.
As far as I am aware, the only browser that supports CSS Custom Properties but not the ES6 features used (where transpiling to ES5 might improve support) is for Mobile Safari (iOS) support.
Currently all of these plugins are under active development and things are shifting around quite a bit so browser support may change with each release.
For 20+ CSSplus demos, check out the CSSPlus demos collection on Codepen.


We've all attended training of one kind or another;
from the traditional institutions like schools and universities to workplace training or online
courses.
To record our achievements in those studies, we are issued a certificate or testament. This could be a piece of official looking paper with a fancy bit of wax seal or a simple email with a PDF attached.
Well done!
Now we apply for a job and we send of our CV stuffed with these bits of paper.
It could be that school you attended burn't down;
The online course website was shut down.
You got your training in another country that had a coup!
But you could also be dishonest and faked that certificate from a school that never existed!
When we use our own Biometrically Authenticated Digital SSI Wallet, Education institutions will be able to securely and authoritatively ISSUE these training certifications to us electronically.
And as OUR PROVEN DIGITAL SELVES we can share those credentials selectively and dynamically with recruiters who can easily verify their origin and trustworthyness.
Thank you {{ name}}!
You have been issued your attendance credential for visiting the Blockchain Academy stand.
But there is an easter egg to find....
Why don't you try return here again after visiting the VALR and Old Mutual stands.
Something interesting awaits....
Hi {{ name }}.
Thank you for coming back to the Blockchain Academy stand again.
You have already been issued all your Blockchain Academy Credentials.
Having attended all the other SSI Journey stands, you have discovered the full spectrum of the SAFBC #SSI awareness training being presented today.
If you haven't done so, proceed back to the SAFBC stand for your reward.
Congrats {{ name}}!
You have discovered the SSI Quest Easter Egg.
Having attended all the other SSI Journey stands you have discovered the full spectrum of the SAFBC #SSI awareness training being presented today.
In testament to your achievemnt, you have been issued the prestigious:
SAFBC SSI Journey (101) Certificate
(which conveys bragging rights, if nothing else.)
Imagine if all education and training certifications where issued this way!
Did you know?
Certifications that have expiry dates are catered for as well!
If you haven't done so, proceed back to the SAFBC stand for your reward.


This program has been blessed by the project meeting on September 2, 2015 in the then-current version.
The Jenkins project provides travel grants to a limited number of community members requesting assistance. Each travel grant supports your travel to a Jenkins community event such as Jenkins User Conferences with up to 500 USD.
Eligibility
All community members are eligible for support unless they've received a travel grant within the last year (based on the event's date). However, as we have very limited funds to support this program, we'll prefer applications by active contributors to the Jenkins project.
If you have other possible funding sources, please look to them first. This will allow more people to attend a Jenkins community event.
Application
To apply for a travel grant, send an email with the following information to the jenkinsci-dev mailing list at least two months before the event you want to attend:
- Your name
- The event you'd like to attend
- The expected cost of travel (airfare, hotel, conference fees, etc.)
- A description of your contributions to the Jenkins project, such as:
- Plugins you developed
- Pull requests you authored
- Documentation you wrote
- Public presentations on Jenkins-related topics
- Why should we sponsor your trip?
Review Process
We'll review your application at a Jenkins project meeting. This meeting is usually biweekly. While you're free to attend the meeting in case there are any questions, please refrain from more active participation while your application is being discussed.
You will receive our response at least four weeks before the event. This response will include the sponsored amount (less than 500 USD if your travel costs are less) as well as who to send your receipts (see below) to.
Your duties
If you've been selected for a travel grant, we'll expect you to be available for a blog post about this program before the event.
After the trip, please submit a travel report to jenkinsci-dev (same thread as your application). This report should include the following:
- What you accomplished at the event
- What you learned at the event
- Contacts you made
- Other useful information
We also expect you to submit your receipts via email to the person mentioned in the travel grant confirmation for review. We will reimburse actually incurred costs up to the 500 USD limit.


The history
When I was new to StackOverflow, I was (to put it plainly) scared to ask a question there. The culture there was not exactly the most welcoming. People would downvote questions for no apparent reason, or even post comments or answers trivializing my question. I had very low points on StackOverflow and I did not want to risk losing points to downvotes.
How did I cope? Well, I started to critique my own question before I posted it on StackOverflow. I started to try to anticipate how people would try to find fault with it, and try to fix those flaws in my question. This included things like
- Did I make sure to check all official documentation and samples related to this topic?
- Is the code sample reasonably complete? Can one just copy-paste it into the IDE and run it?
- Does the code example in my question cover all error cases?
- How is my question different from a similar-but-not-quite-the-same question that was already answered on StackOverflow?
I would then iterate over this. Surprisingly, I found that in a lot of cases, this process would lead me to the solution, without me having posted the question at all.
In more than 50% of the cases, when I start typing a question on StackOverflow, I find the answer even before I post it there.
Beyond StackOverflow
I realized that this technique can be applied even outside of contexts that have a negative connotation. What started out as a self-defense mechanism turned into a general problem-solving technique. Now, I often apply the same idea whenever I get stuck with a problem. The steps are:
- First, I identify that to solve this problem I need to ask for help
- Next, I write down the problem in as much detail as I can think of
- Then, I try to put myself in the shoes of the audience for this question. What details might they need for fixing the problem?
- Only if I do not solve the problem after iterating through Steps 2 and 3 a few times do I actually go ahead and post it
Conclusion
Writing is a great tool for problem-solving. Of course, it is not the only tool and is not applicable for all scenarios. For example, sometimes the huge level of detail could hide the problem and throw potential helpers off track. However when used in moderation, I find that it leads me to the solution without ever having to bother others.


← Home / Complete-Works / →
***
Lectures and Discourses
Bhakti-Yoga
Para-Bhakti or Supreme Devotion
Lectures from Colombo to Almora
Reports in American Newspapers
Buddhistic India


Why Did Seagate’s HDD Revenue Drop 25% Despite A 1.5x Growth In Exabytes Shipped?
by Trefis TeamSeagate (NASDAQ: STX) has seen steady growth in the number of hard drive exabytes sold over the past 5 years, rising from 228 exabytes in 2015 to 347 exabytes in 2019, a growth of over 50%. (1 exabyte = 1 million terabytes) Over the same period, Seagate’s hard disk drive revenue has dropped from $12.87 billion to $9.62 billion, a drop of around 25%.
You can view our interactive dashboard- Why Is Seagate’s HDD Revenue Under Pressure Despite A 1.5x Growth In Exabytes Shipped?– to find out more about what drove the inverse correlation between exabytes shipped and revenues.
Why did this happen?
- Seagate has seen a drop in HDD units sold, dropping from 211.8 million in 2015 to only 128.3 million in 2019.
- This is largely due to a drop in retail demand, with people preferring cloud storage and streaming services over physical memory devices.
- Also, the average selling price per TB has dropped from $56.45 to $27.72, as memory devices sold now have 3-4 times the amount of storage space, as compared to devices back in 2015.
- This has led to a drop in cost per bit, slashing the price per TB by more than half.
What does this mean?
- Retail consumers are gradually moving toward streaming and cloud services, and this is bound to negatively affect Seagate’s hard drive revenue going forward as well.
- The number of exabytes sold might still consistently go up, as people’s data storage needs keep growing with time, and a 500GB hard drive that was the standard in 2015, has been replaced by 1TB and 2TB hard drives.
- However, this is not a clear indicator of growth, as the number of HDD units sold is consistently dropping, and devices with higher base storage space are also driving down the cost per bit.
- With these factors in mind, Trefis doesn’t see a direct correlation between exabytes shipped and HDD revenues anytime soon.
What’s behind Trefis? See How It’s Powering New Collaboration and What-Ifs For CFOs and Finance Teams| Product, R&D, and Marketing Teams More Trefis Data Like our charts? Explore example interactive dashboards and create your own


- or -
Just a brief introduction
First (and most common) commands/concepts are simple
Steep learning curve after that
I am NOT an expert
Created in 2005 by Linus Torvalds
Working on Linux kernel and needed better version control system than what they were using (BitKeeper). So, if it doesn't exist (and you're Linus Torvalds), you create it yourself.
Had been using tarballs and patches so he built the system around a similar concept: snapshots of a point in time stored as binary objects in directory.
Finished the code in less than a month and 1.0 was released later that year (only on version 1.7 in 2012)
Good ol' Copy & Paste
Subversion, SourceSafe, TFS
Every person has full copy of repository
Mercurial (Hg) is similar to Git
This is too important to miss out on. This is possibly the biggest advance in software development technology in ten years...
Not going to go through the git installation procedure becuase its slightly different for each OS and there really isn't time in this presentation, but there are very good directions here (for Windows) and here (for Mac).

Do you work on multiple machines?
Do you work with anyone else?
Do you want a job?
Ryan Blair, a technologist with the New York State Senate, thinks it could even give citizens a way to fork the law proposing their own amendments to elected officials. A tool like GitHub could also make it easier for constituents to track and even voice their opinions on changes to complex legal code.-When you really think about it, a bill is a branch of the law,he says.I'm just in love with the idea of a constituent being able to send their state senator a pull request.
Lord of the Files, Wired Magazine 2012


Emperor Shunaiman:
Shilen's forces gain ground with each passing day.
We were stumbling backwards, but now... now I am staring down into a great chasm. What am I to do?
Quest


Welcome to Snapcam
snapcam
Snapcam Main Content
take snapshot
Toggle Menu Button
Pictures list navigation
You don't have any snapshots. Try to take one now!!


Finding the right group costume can be tricky. Luckily, we're here to help.
You can search our database for group costumes of all sizes, and even filter for certain hair colors!
Let's find your group the perfect costume.
First, how many people are in your group?
Now tell us about the costumes you're looking for!
We've found the following costumes for you:
Missing something? Help us out by submitting your own costume ideas!
Uh oh! We were unable to search our database. Try again later!
If this keeps happening, give us a heads up by submitting a bug report.
Uh oh! We didn't find any costumes for your group, but we're adding new ones
all the time.
Help us out by submitting your costume ideas.


| Package | Description |
|---|---|
| algorithms.trees | |
| entities.trees |
| Modifier and Type | Method and Description |
|---|---|
List<TDP_Decision> |
TDP_Eager.get_successors(TDP_Decision dec) |
abstract List<TDP_Decision> |
TDP_Part.get_successors(TDP_Decision dec)
Find the successors of a given decision among the other decisions in the
TDP_DecisionSet . |
List<TDP_Decision> |
TDP_Lazy.get_successors(TDP_Decision dec) |
List<TDP_Decision> |
TDP_All.get_successors(TDP_Decision dec) |
List<TDP_Decision> |
TDP_Take2.get_successors(TDP_Decision dec) |
private List<TDP_Decision> |
TDP_Take2.heapify(List<TDP_Decision> a) |
| Modifier and Type | Method and Description |
|---|---|
List<TDP_Decision> |
TDP_Eager.get_successors(TDP_Decision dec) |
abstract List<TDP_Decision> |
TDP_Part.get_successors(TDP_Decision dec)
Find the successors of a given decision among the other decisions in the
TDP_DecisionSet . |
List<TDP_Decision> |
TDP_Lazy.get_successors(TDP_Decision dec) |
List<TDP_Decision> |
TDP_All.get_successors(TDP_Decision dec) |
List<TDP_Decision> |
TDP_Take2.get_successors(TDP_Decision dec) |
| Modifier and Type | Method and Description |
|---|---|
private List<TDP_Decision> |
TDP_Take2.heapify(List<TDP_Decision> a) |
| Modifier and Type | Field and Description |
|---|---|
TDP_Decision |
TDP_DecisionSet.best_decision
The decision that can lead to the optimal cost.
|
TDP_Decision |
TDP_Prefix_Solution.latest_decision
The last decision contained in the solution.
|
private TDP_Decision |
TDP_Subtree_Solution.parent_decision
The first decision contained in the solution.
|
| Modifier and Type | Field and Description |
|---|---|
ArrayList<TDP_Decision> |
TDP_DecisionSet.list_of_decisions
The decisions stored as a list.
|
PriorityQueue<TDP_Decision> |
TDP_DecisionSet.pq_lazysort
A priority queue that is used to incrementally sort the set of decisions by
TDP_Lazy . |
ArrayList<TDP_Decision> |
TDP_Decision.successors
The successors are decisions in the same stage and from the same parent.
|
| Modifier and Type | Method and Description |
|---|---|
TDP_Decision |
TDP_State_Node.get_best_decision(int branch)
Returns the best available decision from this state for a particular branch.
|
TDP_Decision |
TDP_Prefix_Solution.get_latest_decision() |
TDP_Decision |
TDP_Subtree_Solution.get_parent_decision() |
| Modifier and Type | Method and Description |
|---|---|
ArrayList<TDP_Decision> |
TDP_State_Node.get_decisions(int branch)
Returns the decisions that can be taken from this state for a particular branch
(that can lead to leaf stage nodes).
|
| Modifier and Type | Method and Description |
|---|---|
int |
TDP_DecisionSet.add(TDP_Decision new_decision)
Adds a decision to the set.
|
int |
TDP_Decision.compareTo(TDP_Decision other)
Two decisions from the same parent state are compared according to the minimum achievable cost
starting from the parent and (as a first step) taking each decision.
|
TDP_Prefix_Solution |
TDP_Prefix_Solution.create_successor(TDP_Decision alt_decision)
A successor solution has the same length but replaces the last decision with an alternative.
|
| Constructor and Description |
|---|
TDP_Prefix_Solution(TDP_Decision first_decision)
Constructor for initializing a prefix solution of length 1.
|
TDP_Prefix_Solution(TDP_Prefix_Solution shorter_prefix,
TDP_Decision new_decision)
Constructor that instantiates a prefix solution by expanding optimally another one by one stage.
|
TDP_Prefix_Solution(TDP_Prefix_Solution other_prefix,
TDP_Decision new_decision,
double future_cost)
Instantiates a prefix solution from another one by changing only the last decision.
|
TDP_Subtree_Solution(TDP_Decision dec)
Constructor for initializing a subtree solution of size 1.
|
TDP_Subtree_Solution(TDP_Decision parent_decision,
TDP_Subtree_Collection subtrees)
Instantiates a subtree solution of length greater than 1
from a given decision and the subsequent subtree solutions.
|
Copyright © 2021. All rights reserved.


Copyright © 2000-2007, Progeny Systems Corporation
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.


This inspection reports any calls to "getter" methods in Groovy which can be replaced by the equivalent property access form.
Powered by InspectorGroovy


---
layout: post
title: rough Sketches for an ello mobiles newsletter
date: '2014-12-15T07:30:00+01:00'
categories:
- Ello Mobile
- Sketches
picture_url: https://film-Storyboards.tumblr.com/post/105265085264/rough-Sketches-for-an-ello-mobiles-newsletter
---
Rough Sketches for an Ello Mobile’s newsletter.


Chado API is to manage data in chado database through HTTP resources. The resource data is modeled and managed according to JSON API.
All resources with GET requests supports the following query parameters to refine responses…
include, e.g. GET
/publications/34?include=authors
to include all authors with publication.
sparse fieldsets,
e.g. GET /publications/34?fields[publications]=title,abstract
to return only title and abstract fields.
For a better discussion and clarification of the concept, read
here
All collection resources with GET requests also supports the following query paramaters…
pagination,
e.g. GET /publications?page[number]=2&page[size]=10
to fetch second page of
10 publications.
Resources related to publications in the API.
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"data": {
"links": {
"self": "/publications/26099919"
},
"type": "publications",
"id": "26088819",
"attributes": {
"doi": "10.1002/dvg.22867",
"title": "dictyBase 2015: Expanding data and annotations in a new software environment",
"abstract": "dictyBase is the model organism database ......",
"journal": "Genesis",
"year": "2015",
"volume": "12",
"pages": "765-80",
"month": "june",
"issn": "1526-968X",
"pub_type": "journal_article",
"source": "pubmed",
"issue": "8",
"status": "ppublish"
},
"relationships": {
"authors": {
"links": {
"related": "/publication/26099919/authors"
}
}
}
}
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
Below, a generic JSONAPI error response is given that will be identical for any http 400 error with supported query parameter. The following value for title field could appear depending on the error.
Invalid include query parameter
Invalid fieldsets query parameter
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"errors": [{
"status": "400",
"source": { "parameter": "include or fieldsets or filter" },
"title": "Invalid include/fieldsets/filter query parameter",
"detail": "...."
}]
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
The following value for title field could appear depending on the error.
Database query error
Json encoding error
Structure marshalling error
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"errors": [{
"status": "500",
"title": "Database query error",
"detail": "...."
}]
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"errors": [{
"status": "404",
"title": "Resource not found",
"detail": "...."
}]
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
| Headers |
|---|
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"errors": [{
"status": "404",
"title": "resource not found"
"detail": "......."
}]
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
application/vnd.api+json
{
"data": {
"type": "publications",
"id": "26088819",
"attributes": {
"doi": "10.1002/dvg.22867",
"title": "dictyBase 2015: Expanding data and annotations in a new software environment",
"abstract": "dictyBase is the model organism database ......",
"journal": "Genesis",
"year": "2015",
"volume": "12",
"pages": "765-80",
"month": "june",
"issn": "1526-968X",
"pub_type": "journal_article",
"source": "pubmed",
"issue": "8",
"status": "ppublish"
}
}
}
| Headers |
|---|
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
application/vnd.api+json
{
"data": {
"type": "publications",
"id": "26088819",
"attributes": {
"doi": "10.1002/dvg.22867",
"title": "dictyBase 2015: Expanding data and annotations in a new software environment",
"abstract": "dictyBase is the model organism database ......",
"journal": "Genesis",
"year": "2015",
"volume": "12",
"pages": "765-80",
"month": "june",
"issn": "1526-968X",
"pub_type": "journal_article",
"source": "pubmed",
"issue": "8",
"status": "ppublish"
}
}
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"errors": [{
"status": "404",
"title": "resource not found"
"detail": "......."
}]
}
It supports the following JSONAPI query parameters
include: All the relationships given below can be included. Those who are not mentioned specifically are expected to follow the similar data structures.
sparse fieldsets: Attributes of all the relationships are allowed.
filter:
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"data": [
{
"links": {
"self": "/publications/26088819"
}
"type": "publications",
"id": "26088819",
"attributes": {
"doi": "10.1002/dvg.22867",
"title": "dictyBase 2015: Expanding data and annotations in a new software environment",
"abstract": "dictyBase is the model organism database ......",
"journal": "Genesis",
"year": "2015",
"volume": "12",
"pages": "765-80",
"month": "june",
"issn": "1526-968X",
"source": "pubmed",
"issue": "8",
"status": "ppublish",
"pub_type": "journal_article"
},
"relationships": {
"authors": {
"links": {
"related": "/publication/26088819/authors"
}
}
}
},
{
"links": {
"self": "/publications/23172289"
}
"type": "publications",
"id": "23172289",
"attributes": {
"doi": "10.1093/nar/gks1064",
"title": "dictyBase 2013: Integrating multiple dictyostelid species",
"abstract": "dictyBase is the model organism database ......",
"journal": "Nucleic Acids Research",
"year": "2013",
"volume": "41",
"pages": "676-80",
"issue": "18",
"month": "jan",
"issn": "1362-4962",
"source": "pubmed",
"status": "epublish",
"pub_type": "journal_article"
},
"relationships": {
"authors": {
"links": {
"related": "/publication/23172289/authors"
}
}
}
}
],
"links": {
"self": "/publications?page[number]=6&page[size]=10",
"next": "/publications?page[number]=7&page[size]=10",
"prev": "/publications?page[number]=5&page[size]=10",
"last": "/publications?page[number]=80&page[size]=10",
"first": "/publications?page[number]=1&page[size]=10"
},
"meta": {
"pagination": {
"records": 800,
"total": 80,
"size": 10,
"number": 6
}
}
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
Below, a generic JSONAPI error response is given that will be identical for any http 400 error with supported query parameter. The following value for title field could appear depending on the error.
Invalid include query parameter
Invalid fieldsets query parameter
Invalid filter query parameter
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"errors": [{
"status": "400",
"source": { "parameter": "include or fieldsets or filter" },
"title": "Invalid include/fieldsets/filter query parameter",
"detail": "...."
}]
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
The following value for title field could appear depending on the error.
Database query error
Json encoding error
Structure marshalling error
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"errors": [{
"status": "500",
"title": "Database query error",
"detail": "...."
}]
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"errors": [{
"status": "404",
"title": "Resource not found",
"detail": "...."
}]
}
phenotypes
in query parameter as an example| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"data": [
{
"type": "stocks",
"id": "DBS0236225",
"attributes": {
"name": "HL27",
"description": "partial stalky mutant in marked strains",
"category": "strain"
},
"relationships": {
"dbxrefs": {
"links": {
"related": "/stocks/DBS0236225/dbxrefs"
}
},
"phenotypes": {
"links": {
"related": "/stocks/DBS0236225/phenotypes"
},
"data": [
{ "type": "phenotypes", "id": "DSC_PHENO0007441"},
{ "type": "phenotypes", "id": "DSC_PHENO0008001"}
]
},
"genotypes": {
"links": {
"related": "/stocks/DBS0236225/genotypes"
}
},
"characteristics": {
"links": {
"related": "/stocks/DBS0236225/characteristics"
}
},
"inventories": {
"links": {
"related": "/stocks/DBS0236225/inventories"
}
},
"publications": {
"links": {
"related": "/stocks/DBS0236225/publictions"
}
},
"orders": {
"links": {
"related": "/stocks/DBS0236225/orders"
}
},
"parents": {
"links": {
"related": "/stocks/DBS0236225/parents"
}
}
},
"links": {
"self": "/stocks/DBS0236225"
}
}
{
#another stock item
}
],
"links": {
"self": "/stocks?page[number]=3&page[size]=3",
"first": "/stocks?page[number]=1&page[size]=3",
"prev": "/stocks?page[number]=2&page[size]=3",
"next": "/stocks?page[number]=4&page[size]=3",
"last": "/stocks?page[number]=12&page[size]=2"
},
"meta": {
"pagination": {
"records": 1000,
"total": 100,
"size": 10,
"number": 3
}
},
"included": [
{
"links": {
"self": "/phenotypes/DSC_PHEN0007441"
},
"type": "phenotypes",
"id": "DSC_PHEN0007441",
"attributes": {
"name": "D.discoideum unique phenotypes",
"observation": "abolished aggreation",
"phen_attribute": "decreased occurence",
"value": "For some reason very less aggreation",
"cvalue": "I do not know",
"evidence": "fruiting body development"
},
"relationships": {
"properties": {
"links": {
"related": "/phenotypes/DSC_PHEN0007441/properties"
}
}
}
}
]
}
A new publication resource can be created either by …
supplying an id: The value should be in data.attributes.pubid
field.
not supplying an id: In this case one will be created by the server.
The example below represents the first case.
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
application/vnd.api+json
{
"data": {
"type": "publications",
"attributes": {
"doi": "10.1002/dvg.22867",
"title": "dictyBase 2015: Expanding data and annotations in a new software environment",
"abstract": "dictyBase is the model organism database ......",
"journal": "Genesis",
"year": "2015",
"volume": "12",
"pages": "765-80",
"month": "june",
"issn": "1526-968X",
"pub_type": "journal_article",
"source": "pubmed",
"pubid": "26088819",
"issue": "8",
"status": "ppublish"
}
}
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Location | /publications/26088819 |
application/vnd.api+json
{
"data": {
"links": {
"self": "/publications/26088819"
},
"type": "publications",
"id": "26088819",
"attributes": {
"doi": "10.1002/dvg.22867",
"title": "dictyBase 2015: Expanding data and annotations in a new software environment",
"abstract": "dictyBase is the model organism database ......",
"journal": "Genesis",
"year": "2015",
"volume": "12",
"pages": "765-80",
"month": "june",
"issn": "1526-968X",
"pub_type": "journal_article",
"source": "pubmed",
"issue": "8",
"status": "ppublish"
}
}
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
application/vnd.api+json
{
"data": {
"type": "publications",
"attributes": {
"doi": "10.1002/dvg.22867",
"title": "dictyBase 2015: Expanding data and annotations in a new software environment",
"abstract": "dictyBase is the model organism database ......",
"journal": "Genesis",
"year": "2015",
"volume": "12",
"pages": "765-80",
"month": "june",
"issn": "1526-968X",
"pub_type": "journal_article",
"source": "pubmed",
"pubid": "26088819",
"issue": "8",
"status": "ppublish"
}
}
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"errors": [{
"status": "409",
"source": {"pointer": "/data/attributes/pubid"},
"links": {"about": "/publications/26088819"}
"title": "Resource exists",
"detail": "id 26088819 exist, resource cannot not created",
}]
}
The author resources are dependent of publication and are managed as relationship resource. For details look at generic specifications and expected behaviour in of this concept.
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"data": [
{
"type": "authors",
"id": "483493",
"links": {
"self": "/authors/483943"
},
"attributes": {
"last_name": "Wardroper",
"given_names": "A",
"rank": "22"
}
"relationships": {
"publication": {
"links": {
"related": "/authors/483943/publication"
}
}
}
},
{
"type": "authors",
"id": "3479343",
"links": {
"self": "/authors/3479343"
},
"attributes": {
"last_name": "Quail",
"given_names": "MA",
"rank": "11"
},
"relationships": {
"publication": {
"links": {
"related": "/authors/3479343/publication"
}
}
}
}
],
"links": {
"self": "/publications/383439/authors"
}
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"errors": [{
"status": "400",
"source": { "parameter": "include" },
"title": "Unsupported include query parameter",
"detail": "The resource does not support include query parameter"
}]
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
application/vnd.api+json
{
"data": {
"type": "authors",
"attributes": {
"last_name": "Wardroper",
"given_names": "A",
"rank": "22"
}
}
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Location | /authors/58 |
application/vnd.api+json
{
"data": {
"links": {
"self": "/authors/58"
}
"type": "authors",
"id": "58",
"attributes": {
"last_name": "Wardroper",
"given_names": "A",
"rank": "22"
},
"relationships": {
"publication": {
"links": {
"related": "/authors/58/publication"
}
}
}
}
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
application/vnd.api+json
{
"data": {
"links": {
"self": "/authors/58"
}
"type": "authors",
"id": "58",
"attributes": {
"last_name": "Wardroper",
"given_names": "A",
"rank": "22"
},
"relationships": {
"publication": {
"links": {
"related": "/authors/58/publication"
}
}
}
}
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
application/vnd.api+json
{
"data": {
"links": {
"self": "/authors/58"
}
"type": "authors",
"id": "58",
"attributes": {
"last_name": "Wardroper",
"given_names": "A",
"rank": "22"
},
"relationships": {
"publication": {
"links": {
"related": "/authors/58/publication"
}
}
}
}
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"errors": [{
"status": "404",
"title": "Resource not found"
"detail": "The resource with id 483943 does not exist"
}]
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
application/vnd.api+json
{
"data": {
"type": "authors",
"attributes": {
"last_name": "Oreilly",
"given_names": "John",
"rank": "2"
}
}
}
| Headers |
|---|
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
application/vnd.api+json
{
"data": {
"type": "authors",
"attributes": {
"last_name": "Oreilly",
"given_names": "John",
"rank": "2"
}
}
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"errors": [{
"status": "404",
"title": "resource not found"
"detail": "......."
}]
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
| Headers |
|---|
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"errors": [{
"status": "404",
"title": "resource not found"
"detail": "......."
}]
}
Resources related to stocks in the API.
It supports the following JSONAPI query parameters
include: All the relationships given below can be included. Those who are not mentioned specifically are expected to follow the similar data structures.
sparse fieldsets: Attributes of all the relationships are allowed.
filter:
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"data": [
{
"type": "stocks",
"id": "DBS0236225",
"attributes": {
"name": "HL27",
"description": "partial stalky mutant in marked strains",
"category": "strain"
},
"relationships": {
"dbxrefs": {
"links": {
"related": "/stocks/DBS0236225/dbxrefs"
}
},
"phenotypes": {
"links": {
"related": "/stocks/DBS0236225/phenotypes"
}
},
"genotypes": {
"links": {
"related": "/stocks/DBS0236225/genotypes"
}
},
"characteristics": {
"links": {
"related": "/stocks/DBS0236225/characteristics"
}
},
"inventories": {
"links": {
"related": "/stocks/DBS0236225/inventories"
}
},
"publications": {
"links": {
"related": "/stocks/DBS0236225/publictions"
}
},
"orders": {
"links": {
"related": "/stocks/DBS0236225/orders"
}
},
"parents": {
"links": {
"related": "/stocks/DBS0236225/parents"
}
}
},
{
#another stock item
}
],
"links": {
"self": "/stocks?page[number]=3&page[size]=3",
"first": "/stocks?page[number]=1&page[size]=3",
"prev": "/stocks?page[number]=2&page[size]=3",
"next": "/stocks?page[number]=4&page[size]=3",
"last": "/stocks?page[number]=12&page[size]=2"
},
"meta": {
"pagination": {
"records": 1000,
"total": 100,
"size": 10,
"number": 3
}
}
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
Below, a generic JSONAPI error response is given that will be identical for any http 400 error with supported query parameter. The following value for title field could appear depending on the error.
Invalid include query parameter
Invalid fieldsets query parameter
Invalid filter query parameter
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"errors": [{
"status": "400",
"source": { "parameter": "include or fieldsets or filter" },
"title": "Invalid include/fieldsets/filter query parameter",
"detail": "...."
}]
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
The following value for title field could appear depending on the error.
Database query error
Json encoding error
Structure marshalling error
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"errors": [{
"status": "500",
"title": "Database query error",
"detail": "...."
}]
}
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"errors": [{
"status": "404",
"title": "Resource not found",
"detail": "...."
}]
}
phenotypes
in query parameter as an example| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
| Accept | application/vnd.api+json |
| Headers | |
|---|---|
| Content-Type | application/vnd.api+json |
application/vnd.api+json
{
"data": [
{
"type": "stocks",
"id": "DBS0236225",
"attributes": {
"name": "HL27",
"description": "partial stalky mutant in marked strains",
"category": "strain"
},
"relationships": {
"dbxrefs": {
"links": {
"related": "/stocks/DBS0236225/dbxrefs"
}
},
"phenotypes": {
"links": {
"related": "/stocks/DBS0236225/phenotypes"
},
"data": [
{ "type": "phenotypes", "id": "DSC_PHENO0007441"},
{ "type": "phenotypes", "id": "DSC_PHENO0008001"}
]
},
"genotypes": {
"links": {
"related": "/stocks/DBS0236225/genotypes"
}
},
"characteristics": {
"links": {
"related": "/stocks/DBS0236225/characteristics"
}
},
"inventories": {
"links": {
"related": "/stocks/DBS0236225/inventories"
}
},
"publications": {
"links": {
"related": "/stocks/DBS0236225/publictions"
}
},
"orders": {
"links": {
"related": "/stocks/DBS0236225/orders"
}
},
"parents": {
"links": {
"related": "/stocks/DBS0236225/parents"
}
}
},
"links": {
"self": "/stocks/DBS0236225"
}
}
{
#another stock item
}
],
"links": {
"self": "/stocks?page[number]=3&page[size]=3",
"first": "/stocks?page[number]=1&page[size]=3",
"prev": "/stocks?page[number]=2&page[size]=3",
"next": "/stocks?page[number]=4&page[size]=3",
"last": "/stocks?page[number]=12&page[size]=2"
},
"meta": {
"pagination": {
"records": 1000,
"total": 100,
"size": 10,
"number": 3
}
},
"included": [
{
"links": {
"self": "/phenotypes/DSC_PHEN0007441"
},
"type": "phenotypes",
"id": "DSC_PHEN0007441",
"attributes": {
"name": "D.discoideum unique phenotypes",
"observation": "abolished aggreation",
"phen_attribute": "decreased occurence",
"value": "For some reason very less aggreation",
"cvalue": "I do not know",
"evidence": "fruiting body development"
},
"relationships": {
"properties": {
"links": {
"related": "/phenotypes/DSC_PHEN0007441/properties"
}
}
}
}
]
}


Bank Of Yingkou
Operations Supervisor • China • Feb, 2013 - Present
Operations supervisors typically oversee the teller department. This includes:
- Reviewing electronic records, past audit findings.
- Helping bank maintain compliance with regulations.
- Performing internal audit cash counts on all drawers, vaults and ATMs
- Providing training and education on compliance topics as necessary
- Overseeing both new-hire and ongoing training for tellers.
Teller • China • July, 2011 - Feb, 2013
- receive and count working cash at beginning of shift
- identify customers, validate and cash checks
- accept cash and checks for deposit and check accuracy of deposit slip
- process cash withdrawals
- perform specialized tasks such as preparing cashier's checks, personal money orders, issuing traveler's checks.
- record all transactions promptly, accurately and in compliance with bank procedures.
{% endif %}
{% if site.resume_section_education %}
Harbin University of Commerce, Department of Accounting
Bachelor of Science in Accountancy • Mar, 2010 — Mar, 2012
Heilongjiang University, China
Bachelor of Arts • Sep, 2006 — Sep, 2010
{% endif %}
{% if site.resume_section_projects %}
SalesConnect
Senior Software Engineer • 2014 — Present
SalesConnect simplifies the way sellers and sales managers work. The application integrated manager roadmapping, seller roadmapping, opportunity management, social, mobile, and analytics capabilities into one modern work environment. Sales teams are now seeing tangible time savings.
- I joined IBM as a senior Software and Web Engineer at the beginning of the project SalesConnect.
- SalesConnect contains over 30 upstream and downstream systems
- We adopts Scaled Agile Framework, TDD & Continuous Integration to manage the project. (increase in productivity and quality, faster, measurable)
- I manage my team (5 developers, 1 tester, 1 scrum master, 1 BA)
- I am responsible for building back-end server logic, designing/implmenting UI/UX, creating SOAP/RESTful interfaces, implementing Data Migration and Creating/Maintaining CI testing environment, training new hires.
- I am using the Framework SugarCRM, SOAP/RESTful Test Automation Frameworks, PHP, JAVA, HTML5, JS, DB2, Backbone.js, handbars, jQuery, underscore.js, elasticsearch, redis, shell, python, jenkins, urban code deploy and etc.
- 70% coding and 30% communication
Continuous Integration Testing System
Senior Software Engineer • 2014 — Present
The daily life of developers and testers are filled with monotonous and repetitive tasks, so we should build a system to handle boring chores. Many our projects are now automatically tested and deployed. It allows people to focus more on writing/testing code.
- I am responsible for building the CI system
- Development ENV: AIX, Centos
- Components: Jenkins, Github, ftp server, apache, elasticsearch server
- Deploy Scripts: python, shell
Querying and Maintaining a Compact XML Storage
Software Engineer • 2012 — 2013
Our work is motivated by the mobile software development at National ICT Australia and Green Pea Software, in which managing large amount of XML data on mobile devices is mandatory. We thus turn to the problem of finding a compact storage scheme for XML. The flexibility of XML makes finding a scheme which satisfies all these requirements at the same time extremely challenging.
Naïve BayesText Categorization
Software Engineer • Apr, 2012 — Jul, 2012
Keywords: Java, machine learning, algorithm, naïve Bayes’ theorem. I use 18846 News documents to build the application. The 60% of them are learned and the other 40% are tested. The common word list is built and used in the project. The project used the Naïve Bayes classification VNB to predicate a document is more like a certain category
SCEDoodleservice
Software Engineer • Mar, 2011 — Jun, 2011
Web-based poll service. CSEDoodle offers some popular functions and provides a RESTful application programming interface (API). Users easily create new polls that correspond to the content of the Web page can simply pre-fill the CSE-Doodle wizard through an HTML link or an HTML form.
{% endif %}
{% if site.resume_section_skills %}
Language
Mandarin, English (College English Test Brand 4)
Professional Skills
- Certification of China Banking Professional (CCBP)
- The Certificate of Qualification for Anti-Money Forgery Post (granted by People's Bank of China)
- National Computer Rank Examination(NCRE) certificate, Bank 2
{% endif %}
{% if site.resume_section_recognition %}
Springfield Nuclear Power Plant
Outstanding Achievement • 2010
Awarded for stopping a nuclear meltdown, even though I also started it.
Duff Beer Customer of the year
1997 — 2001, 2003, 2008 — 2012
Honored by Duff Beer for being an outstanding customer several years straight. Qualifications included most beer consumed at a bar, most beer purchased, and most beer ralphed.
Moe's Patron of the Month
12/2001, 8/2004
Specifically this prestigious awarded twice for stopping a robber with my belly.
{% endif %}
{% if site.resume_section_associations %}
Volunteer • 2008 — Present
Organized fund drives and participated in fundraising events for the benefit of families in third world countries without proper access to malt beverages.
Springfield Nuclear Workers Labor Union
Member in Good Standin • 1994 — Present
Founding member of the local nuclear workers labor union.
{% endif %}
{% if site.resume_section_links %}


New BMW 5 Series Spied With M Sport Body Kit
Don’t worry, it won’t have a gigantic kidney grille.
by Martin BiggThe current BMW 5 Series has only been on sale since 2017, but BMW is already preparing the popular sedan for a mid-cycle facelift. While we've seen numerous camouflaged prototypes being tested, this one has been spiced up.
For the first time, the updated BMW 5 Series has been spotted with the optional M Sport Package, which adds an aerodynamic body kit and sport suspension that lowers the sedan closer to the ground. For the current 5 Series, the M Sport Package is available for an extra $5,000 for the 530i and $3,550 for the 540i.
Mercifully, the kidney grille doesn't appear to be much larger than the one on the current model. In contrast, the new M3, M4, and 4 Series will get new gigantic grilles inspired by the controversial BMW Concept 4 to give these models a bolder design. We also get a clearer look at the redesigned front bumper, which has a larger lower grille and bigger air intakes. Other changes include slimmer headlights, a redesigned rear bumper, and new rear lights that freshen up the design.
Inside, the cabin isn't expected to receive any major changes apart from updates to the digital cluster and a larger infotainment screen with updated software.
Engine options are likely to carry over, so expect the refreshed 530i to have a 2.0-liter turbocharged four-cylinder engine that produces 248 horsepower and 258 lb-ft of torque and the 540i to pack a 3.0-liter turbocharged inline-six producing 335 hp and 331 lb-ft. The M550i will use a turbocharged V8 delivering 523 hp and 553 lb-ft of torque. Power will be sent through an eight-speed automatic transmission.
Previous spy shots have also shown there will be a new hybrid 545e xDrive model that's expected to use a detuned version of the plug-in hybrid drivetrain found in the 745e xDrive iPerformance detuned to around 375 hp. The BMW 5 Series facelift is expected to arrive in late 2020 or possibly early 2021.


Functions to fit the binomial and multinomial additive hazard models and to estimate the contribution of diseases/conditions to the disability prevalence, as proposed by Nusselder and Looman (2004) and extended by Yokota et al (2017).
| Version: | 0.5 |
| Depends: | R (≥ 3.1.0), stats, boot (≥ 1.3-17), Matrix (≥ 1.2-3), MASS |
| Published: | 2018-09-25 |
| Author: | Renata T C Yokota [cre, aut], Caspar W N Looman [aut], Wilma J Nusselder [aut], Herman Van Oyen [aut], Geert Molenberghs [aut] |
| Maintainer: | Renata T C Yokota <renatayokota at gmail.com> |
| License: | GPL-3 |
| NeedsCompilation: | no |
| CRAN checks: | addhaz results |
| Reference manual: | addhaz.pdf |
| Package source: | addhaz_0.5.tar.gz |
| Windows binaries: | r-devel: addhaz_0.5.zip, r-release: addhaz_0.5.zip, r-oldrel: addhaz_0.5.zip |
| OS X binaries: | r-release: addhaz_0.5.tgz, r-oldrel: addhaz_0.5.tgz |
| Old sources: | addhaz archive |
Please use the canonical form https://CRAN.R-project.org/package=addhaz to link to this page.


THE PEOPLE VS. LARRY FLYNT A film review by Eric Robinette Copyright 1997 Eric Robinette
A+
Starring: Woody Harrelson, Courtney Love, Edward Norton, Brett Harrelson. Written by Scott Alexander and Larry Karaszewski; directed by Milos Forman.
"The People vs. Larry Flynt" is gross. That's why it's so great.
Okay, so the choice of words, is, well, a little blunt. But hey, since we're talking about the infamous Hustler founder who won over the Supreme Court, someone whose middle name might have been "blunt," I figure it's only appropriate.
Anyway, back to this gross thing. Things that are gross tend to be great movie subjects. Take "Vertigo," for example. It's about a man unerringly obsessed with a dead woman, "A Clockwork Orange is about a man who goes on violent sprees just for kicks. These people at heart, are really repellent, and yet, for better or worse, the audience is made to like them and side with them because we hate the forces against them worse than we do the one being maligned.
Along these lines, the fact that "Larry Flynt" very obviously sides with its hero is not, as some people have indicated, a flaw. Focusing only on the pro-and-con of free speech could be boring and obvious. In fact, I would argue that the free speech debate, while powerful, isn't the most compelling part of the movie. It was a much more impressive feat to take a repugnant character and make the audience side with him even if they might not personally like him.
First and foremost to credit in this feat are the actors. Woody Harrelson turns in a veritable tour de force that ranks, I think, as the most powerful of 1996.. As Flynt veers from smug bar owner to devout, born-again Christian to crestfallen paraplegic to defiant crusader, we see a man put through an emotional wringer that literally almost killed him.
No less astonishing is Courtney Love as Flynt's flamboyant wife, Althea Leisure. No, it's not so surprising that she can play a scraggly, strung-out prostitute, but how sympathetic she makes her. The image of her gripping the barrier separating herself and Flynt while he's in prison burned into my memory.
And caught in the middle of this Constitutional whirlwind is that rising star Edward Norton, who remains the calm of the storm as he dazedly tries to hash out all the craziness around him and becomes the clear ringing voice in support of free speech that even repellent trash like Hustler is right to practice.
Ultimately, the tricky balancing act this movie pulls off is what makes it one of the best films of the year. I've heard people argue that it's drama, while others insist it's a comedy. A case can be made for both; after all, a movie that has about a man despised by many who gets shot and paralyzed with a wife who irrevocably spirals to doom wouldn't seem to be a barrel of laughs.
And yet the picture is acidly funny. Screenwriters Scott Alexander and Larry Karaszewski, who also penned "Ed Wood" have a gift for making guttural characters seem both funny and human. They have an ideal partner in director Milos Forman, who has his own gift for taking larger-than-life characters (like Mozart) and making them seem more human by revealing how humorous and vulnerable they are.
So, at heart, The People vs. Larry Flynt, is a dramatic comedy, and a great one at that. I know that it's cheating by having my cake and eating it too, but it's the best description I could come up with about this story of a man who is so gross he's fascinating.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews