The story we’re usually told goes like this: The tax system is paying for things that make society function, and paying them is a good thing, since we all want those things to function. Taxes redistribute money to those in need, so paying them is practically a duty. When you don’t pay taxes, you’re not only a disloyal citizen, but also subject to the long arm of the law in the form of IRS harassment.
This narrative only tells part of the story. Tax money finances public spending, but what the government spends tax dollars on isn’t necessarily what’s needed for a healthy society. The most obvious example is the expansion of the military-industrial complex; the War Resisters League estimates that 47% of the total budget, or $1.355 trillion per year, goes to current military spending and debt service payments on past military spending. Tax dollars also fund the state, local, and federal police forces and prison systems that oppress so many of us. Nationwide spending on prisons was $50 billion in 2011, contributing to the serious budget crises states have faced since the global recession of 2009. Very often, our tax dollars go toward paying the government to enact violence on people in the United States or in other countries.
Less dramatic examples exist as well. The tax system isn’t just about taking money from point X and moving it to point Y—it’s also about regulating the economy more generally by allocating government support to certain industries over others. At the local level, city governments often give tax abatements for condo development, meaning that city residents collectively subsidize this kind of housing over more sustainable or affordable options. Implicit in these policies are decisions about what’s best for the public. It sounds good on paper, but in reality, private interests often strongly influence government decisions, resulting in subsidies for private development projects that benefit a narrow part of the population while the rest foot the bill.
In this chapter, we’ll look at taxes as a system of debt that often worsens problems in our society while claiming to fix them. We’ll explore the history of tax resistance in United States, suggest practical means to pay less in taxes, and provide advice for defaulters.
Who Benefits?
The wealthy
The U.S. tax system is regressive, meaning that poor people pay a higher proportion of their income in taxes than wealthy people. Taking into account all state, local, and sales taxes, the Institute on Taxation and Economic Policy 2013 report “Who Pays?” concludes:
The main finding of this report is that virtually every state’s tax system is fundamentally unfair, taking a much greater share of income from middle- and low-income families than from wealthy families. The absence of a graduated personal income tax and the over reliance on consumption taxes exacerbate this problem in many states. Combining all of the state and local income, property, sales and excise taxes state residents pay, the average overall effective tax rates by income group nationwide are 11.1 percent for the bottom 20 percent, 9.4 percent for the middle 20 percent and 5.6 percent for the top 1 percent.
When everyone is required to pay taxes, having to pay less is certainly a benefit. Many tax rules systematically favor the wealthy; one obvious example is the fact that capital gains (taxes on the sale of investments) are often taxed less than wages. The 2013 “Fiscal Cliff” deal raised the capital gains tax rate from 15% to 20%, still leaving it below the wage tax rate applied disproportionately to low-income brackets. This glaring unfairness in the tax system appears when a secretary pays a 33% tax rate compared to their boss, whose net worth might be $50 billion and pays a mere 17.4% of their income in taxes.
Even if everyone followed these rules, the system would still be unfair. But not everyone follows the rules, and those doing the biggest cheating are wealthy individuals and large corporations, among whom tax avoidance is common and widespread.
Corporations
A look at who benefits from the tax debts that have been shifted onto the shoulders of individuals lends a more expansive view of how the government interacts with and regulates the economy. Over the last thirty years, the government has implemented neoliberal economic policies, which generally include the push for privatization of public services, lower wages for the majority of workers, and loosening restrictions on businesses.
“Corporate welfare” is the term used to describe these government policies that use tax revenues to support businesses in direct and indirect ways. Some examples include low-cost leases to energy companies that drill on public land, the bank bailout of 2008, and price support for large agribusiness in the Farm Bill. On the local and state level, corporate welfare can be seen in the numerous tax-breaks Walmart has received for new construction. Additionally, corporations benefit from public spending on the services that make their business possible, such as transportation networks, and publicly funded research and development.
The tax preparation industry
The withholding of federal taxes from paychecks throughout the year can be difficult for many who live paycheck to paycheck. During tax season, when a sizeable portion of that money is often returned all at once, tax preparation companies take advantage of one of the few times during the year when working families have a chunk of extra income.
Until 2013, tax preparation companies offered refund anticipation loans (RALs) to those for whom they had prepared taxes. Upon receiving confirmation from the IRS that the taxpayer didn’t have any back taxes or liens, they would loan the expected refund to the taxpayer in advance, after assessing a fee for this service in addition to a fee for tax preparation. These loans would average 150% APR, and sometimes as high as 400%, on par with the predatory payday loan industry.
The tax preparation industry’s promises of “Quick Cash” and “Instant Refunds” generally targeted poor communities and communities of color, like many other high-interest financial products offered by the fringe finance industry (see Chapters Seven and Eight). The consequences for many families are steep; in 2010, taxpayers paid an estimated $338 million in fees for these predatory loans.
Now that changes to the IRS code have done away with refund anticipation loans, major tax preparation companies are offering new financial products called refund anticipation checks (RACs). When a taxpayer can’t afford the cost of tax preparation services, a temporary bank account is opened where the IRS deposits the tax refund. Once it is deposited, the preparer takes out preparation costs plus additional fees. RACs tend to be less expensive than RALs, but they can still cost individuals up to $55 in fees.
Who “Pays”?
The highly regressive nature of the payroll tax means that those with incomes above $102,000 pay less than their fair share—the payroll tax doesn’t apply beyond the first $102,000 of income paid. As a result, people who earn significantly more than $102,000 pay a payroll tax that is a lower percentage of their income than someone who makes less than $102,000.
Those who report their income with the 1099 form (freelancers and independent contractors) don’t have taxes taken out of their checks by employers, but are required to file their taxes quarterly. Low-wage precarious workers who are forced to file this way forgo unemployment insurance, unions rights, and many workplace protections, as independent contractors are supposed to be “free” workers only bound by contracts, not by an employer-employee relationship. Often people who are in effect regular employees of a business are misclassified as independent contractors so their employers don’t have to pay things like Social Security and Medicare taxes. This form of employer tax evasion is widespread; studies estimate that anywhere from 10% to 30% of employers misclassify employees. Efforts to challenge this practice have been undertaken by state and federal regulators. There have also been court cases and labor disputes, such as when a group of FedEx drivers filed a class-action lawsuit against the company in 2010 for being categorized as independent contractors instead of company employees.
Brief History and Legal Background
Resistance to taxes has a long and turbulent history. Throughout the ancient world, taxes were associated with foreign invasion, and a major cause of popular revolts against debt. Jewish Zealots in Judea organized tax resistance to the Roman Empire in the first century CE (Riggs 2008, 1–3). Fourteenth-century London was invaded by tens of thousands of peasants revolting against Parliament’s imposition of a poll tax. According to David F. Burg, eighteenth-century Japan saw many tax revolts, and heavy taxation was a major grievance in the French Revolution (Burg 2004, 299). During the nineteenth century, tax resistance was a weapon of anti-colonial rebels resisting European colonial domination in African countries such as Ghana and Sierra Leone. Mohandas Karamchand Gandhi explained that tax resistance also had an important political impact during the twentieth century, helping India’s campaign for independence from Britain, supporting the first Palestinian Intifada, and helping to oust Margaret Thatcher from power in the wake of Britain’s anti–Poll Tax riots.
Tax Resistance in North America predates the United States with the Algonquin refusal to pay taxes to Dutch Colonists to build a military base on Manhattan Island in 1637. Armed tax rebellion was a tactic of poor and indebted farmers before and after the American War of Independence. Henry David Thoreau famously called for those opposed to the Mexican-American War to refuse to pay taxes—an anti-militarist form of tax resistance that has been echoed during many later U.S. wars. The War Resisters League, formed in 1923, continues to organize and advise people who refuse to pay for war with their taxes. In the nineteenth and twentieth century, U.S., Chinese, Mexican, Greek, and Italian immigrants used tax resistance to protest the denial of social and economic rights.
Sadly, in recent decades, the political resistance to taxes has been taken up primarily as a right-wing effort to destroy social safety net programs and reverse the social gains of the 1960s and ’70s. Beginning with California’s “Taxpayers’ Revolt” of 1978, and continuing with Ronald Reagan’s campaign to lower taxes and “starve” federal social programs, the right-wing version of tax-resistance may have found its clearest articulation yet in today’s racist, anti-immigrant, and paranoid Tea Party movement. These contemporary “tax warriors” have made it hard to see the long and substantial history of left-wing, popular rebellions against unjust taxation.
What Happens When You Default?
If you never pay your taxes and don’t owe very much, the IRS will ignore you for a while, maybe years.  If you file a return but don’t pay, they’ll catch up with you much sooner. The IRS details the collection process on their website.
What can and can’t they do?
- You will receive a written notice stating how much you owe and are given the option to pay it in full and be done with it (until next year).
- If you don’t have that money but are planning on paying, you can set up an installment agreement. It costs $105, although you can request a lower fee if you don’t make very much money. The IRS offers you different payment options—such as bank transfers, credit/debit cards, payroll deduction—and assesses different charges based on that. IRS rules for repayment are confusing. If you’re unable to hire an accountant, be sure to read their regulations multiple times and try to get them on the phone. Compare the different fees they charge for the different ways you can pay them, and see which is the most affordable and within your means.
- The IRS assesses fees for back taxes, and interest on the balance owed; the interest accumulates, and the fees don’t. For older tax debts, retroactive fees and accumulated interest might mean that most of your monthly installments pay for fees and interest, not the principal of your debt.
- When paying off tax debts in installment plans, it’s sometimes hard to find out exactly how much you owe, as the IRS assesses fees after payments. IRS letters with your balance on them do not show how they computed that figure, and talking to them on the phone often won’t help in getting many more details. The IRS details the types of fees it assesses on its website.
- The interest they charge you is relatively low, so for new tax debts (one to two years) it’s most likely less than a credit card. If at all possible do not pay your taxes with a credit card.
- The statute of limitations for tax debt is ten years, meaning that once the IRS sends you a bill, they have ten years to get it from you. After that period of time, the remaining amount of debt can no longer be collected. This does not apply to years that you owe taxes but have not filed.
Collections
What they can do
If you continue to ignore the IRS, they will send you a “Final Notice” notifying you that you have thirty days to pay your taxes before they put a levy on your assets and begin to seize them, although it often does not begin right way. The IRS has the right to seize wages and bank accounts as well as property such as houses, land, cars and businesses. The IRS moves to seize bank accounts and wages first and will be less likely to seize properties for tax debts under $5,000, although this is not a hard and fast rule.
What they can’t do
- The IRS states that it “can’t seize your property if you have a current or pending installment agreement [see the section Ways of getting out of tax debt], offer in compromise [also see below], or if [they] agree that you’re unable to pay due to economic hardship.”
- The IRS cannot seize more than 15% of federal payments such as a Social Security check.
- The IRS cannot seize the following payments: “unemployment benefits, certain annuity and pension benefits, certain service-connected disability payments, workers compensation, certain public assistance payments, minimum weekly exempt income, assistance under the Job Training Partnership Act, and income for court-ordered child support payments.”
- The IRS cannot seize personal and household property equal to or less than a total value of $6,250.
- The IRS cannot seize books or tools of the trade, business, or profession of the tax debtor equal to or less than a total value of $3,125.
If you haven’t yet filed your taxes and are planning on filing
These tips can help reduce the expense and stress of paying taxes, and can reduce the total amount you owe.
- Get free tax help in person. For low- to middle-income taxpayers, many credit unions, community organizations, and government agencies will prepare your taxes for free, allowing you to receive your full refund and tax credits in seven to ten days. You can dial 1-800-829-1040 to find the government-funded free tax preparation site nearest you.
- If you make $57,000 per year or less, you can have your taxes prepared and filed for free at freefile.irs.gov.
- Use free fillable forms: If you have some knowledge of how to file taxes but want an online account to save your information, do some of the math for you, and e-file for you, go here.
- 1099s / Independent Contractors: If you are receiving 1099s, you’ll want to fill out a Schedule C form, which is for reporting profit or loss on a business.  Save your receipts in case you get audited in the future! If you keep the business profit below $400, you won’t owe any self-employment tax either.
If you owe tax debt that you’re planning on paying
Ways of getting out of tax debt
- Installment agreement: make a monthly payment plan for paying off the IRS.
- Offer in compromise: this is a way to settle your tax debts for less than what you owe, based on ability to pay, income, expenses, and asset equity. To see if you qualify, answer the questions here. If you qualify, you’ll need to apply by going here. A $150 non-refundable application fee is required, and you’ll have to either make a lump sum payment or pay on a short-term payment plan.
- “Currently not collectible”: this is a program where the IRS voluntarily agrees not to collect on the tax debt for a year or so. There are specific eligibility conditions.
-
Tax debt can be discharged under Chapter 7 or Chapter 13
bankruptcy (see
Chapter Ten) if it meets the following strict specifications:
- The due date for filing a tax return is at least three years ago.
- The tax return was filed at least two years ago.
- The tax assessment is at least 240 days old.
- The tax return was not fraudulent.
- The taxpayer is not guilty of tax evasion.
Resistance Strategies
If you plan on not filing your taxes and not paying your tax debt
The IRS isn’t all-powerful and many people have avoided making payments on debt. However, failure to file tax returns could mean serving up to a year in prison and up to $25,000 in fines for each year not filed. If you are found guilty of deliberately evading taxes, you could serve up to five years and pay up to $100,000. This section borrows heavily from the National War Tax Resistance Coordinating Committee website.
Wages
A big concern with being in tax debt is having your wages seized by the IRS. To avoid paying taxes, you’ll need to make considerable lifestyle changes and probably adjust to having a lower, less regular income. The National War Tax Resistance Coordinating Committee recommends self-employment as the most reliable way to avoid collections. Working under the table or for small enterprises that don’t report taxes is another way. Another option is to change jobs often, as it will take the IRS a while to catch up with you.
If you’re not planning on filing and have a regular job, you can write “exempt” on your W-4 form so that no taxes will be withheld from your paycheck. Or just increase the number of exemptions. If you don’t have investments or itemized deductions, it would be simple to calculate how many exemptions you should claim in order to avoid a tax refund without getting a liability. Regardless of how many dependents you have, you can still claim, for example, five dependents for planning purposes. (When filing taxes, you would legally need to write the actual number of dependents.) Many websites, including the IRS website, feature a withholding calculator to help you make a more informed decision about this approach.
Bank accounts
The National War Tax Resistance Coordinating Committee writes, “It is possible to protect deposits from IRS seizure. The IRS learns the location of all interest bearing accounts because financial institutions are required to report interest payments of $10 or more to the IRS. Collection can be prevented by removing all deposits from interest bearing accounts as soon as you expect or receive a ‘Final Notice’ to pay from IRS. If you remove the deposits in cash and deposit them elsewhere, you can avoid leaving a paper trail from one institution to the next.”
Because banks are required to report transactions in excess of $10,000 to the IRS, the National War Tax Resistance Coordinating Committee recommends removing and depositing money in amounts less than $10,000. They also recommend using a bank in a different neighborhood or town from where you live as well as using a post office box as a banking address.
Cars and houses
The best way to avoid seizure is to have cars and houses in the name of a trusted friend or relative. If you own a house that is your primary residence, another strategy is to avoid using it for mail and banking, and also having an unlisted phone number. The National War Tax Resistance Coordinating Committee writes, “This method isn’t foolproof, but it certainly throws significant roadblocks in the way of IRS collection efforts. Experience shows that IRS collectors give up rather quickly when they run into several dead ends, because they can’t waste too much time on any one case.”
Resources
Websites
Articles and Books
- Bartlett, Bruce. “Tax Cuts and ‘Starving the Beast’.” Forbes, May 7, 2010.
- BBC News. “1990: One in Five Yet to Pay Poll Tax.” August 14, 2008.
- BBC World Service. “The Story of Africa: Africa and Europe (1800–1914): Tax Wars.”
- Browning, Lynnley. “Critics Call Delaware a Tax Haven.” New York Times, May 29, 2009.
- Buffett, Warren E. “A Minimum Tax for the Wealthy.” New York Times, November 25, 2012.
- Burg, David F. A World History of Tax Rebellions: An Encyclopedia of Tax Rebels, Revolts, and Riots From Antiquity to the Present. New York: Routledge, 2004.
- Gandhi, Mohandas Karamchand. “Non-Payment of Taxes.” In We Won’t Pay! A Tax Resistance Reader, edited by David M. Gross, 353. CreateSpace, 2008.
- Graeber, David. Debt: The First 5,000 Years. New York: Melville, 2011.
- Institute on Taxation and Economic Policy. “Who Pays? A Distributional Analysis of the Tax Systems in All 50 States (Fourth Edition).” January 2013.
- Internal Revenue Service. “Collecting Process: Installment Agreements: Partial Payment Installment Agreements and the Collection Statute Expiration Date (CSED).” March 11, 2011.
- Internal Revenue Service. “Failure to File or Pay Penalties: Eight Facts.” April 17, 2012.
- Internal Revenue Service. “Form 13844: Application for Reduced User Fee for Installment Agreements.” January 2013.
- Internal Revenue Service. “The IRS Collection Process: Publication 594.” April 2012.
- Internal Revenue Service. “Offer in Compromise.” January 29, 2013.
- Internal Revenue Service. “Payment Plans, Installment Agreements.” March 12, 2013.
- Internal Revenue Service. “Topic 201: The Collection Process.” December 27, 2012.
- Internal Revenue Service. “Topic 409: Capital Gains and Losses.” January 4, 2013.
- Leberstein, Sarah. “Independent Contractor Misclassification Imposes Huge Costs on Workers and Federal and State Treasuries.” National Employment Law Project, June 2010.
- Marysdaughter, Karen. “Palestinian Tax Resistance Update.” National War Tax Resistance Coordinating Committee, April 1997.
- Mattera, Philip, and Anna Purinton. “Shopping for Subsidies: How Wal-Mart Uses Taxpayer Money to Finance Its Never-Ending Growth.” Good Jobs First, May 2004.
- National Employment Law Project, “1099’d: Misclassification of Employees as ‘Independent Contractors’.” April 2010.
- National War Tax Resistance Coordinating Committee. “Practical War Tax Resistance #3: How to Resist Collection, or Make the Most of Collection When It Occurs.” Accessed March 26, 2013.
- NFA Tax Help. “Currently Not Collectible.” Accessed March 26, 2013.
- Perez, William. “Bankruptcy and Tax Debts: Five Rules for Discharging Tax Debts in Bankruptcy.” About.com: Tax Planning.
- Riggs, James Stevenson. “The Zealots and Taxes in Judea.” In We Won’t Pay! A Tax Resistance Reader, edited by David M. Gross, 1–3. CreateSpace, 2008.
- Skolnick, Adam. “Runaway Prison Costs Trash State Budgets.” Fiscal Times, February 9, 2011.
- Tax Justice Network. “Tax Justice in History: The Peasant’s Revolt.” July 12, 2009.
- Tompor, Susan. “Your Money: Expect to Pay for Fast Tax Refund.” USA Today, February 5, 2013.
- War Resisters League. “History of War Tax Resistance.” Accessed March 26, 2013.
- War Resisters League. “Where Your Income Tax Money Really Goes: U.S. Federal Budget 2013 Fiscal Year.” February 2012.
- Wu, Chi Chi, Tom Feltner, and Jean Ann Fox. “Something Old, Something New in Tax-Time Financial Productions: Refund Anticipation Checks and the Next Wave of Quickie Tax Loans.” Consumer Federation of America and National Consumer Law Center, February 2013.
- Wu, Chi Chi, and Jean Ann Fox. “The Party’s Over for Quickie Tax Loans: But Traps Remain for Unwary Taxpayers.” National Consumer Law Center and Consumer Federation of America, February 2012.


Make sure to start the example NodeJS server using 'npm run exampleServer'!
You will need to be viewing the browser debugging console to see part of the results.


Matthew Daniels
High Scores
Coding Quiz
Time left in Game:
Time left for Question:
Instructions
Play-Space


| ff_scoringhistory {ffscrapr} | R Documentation |
(Experimental!) This function reads your league's ff_scoring rules and maps them to nflfastr week-level data. Not all of the scoring rules from your league may have nflfastr equivalents, but most of the common ones are available!
ff_scoringhistory(conn, season, ...) ## S3 method for class 'espn_conn' ff_scoringhistory(conn, season = 1999:2020, ...) ## S3 method for class 'flea_conn' ff_scoringhistory(conn, season = 1999:2020, ...) ## S3 method for class 'mfl_conn' ff_scoringhistory(conn, season = 1999:2020, ...) ## S3 method for class 'sleeper_conn' ff_scoringhistory(conn, season = 1999:2020, ...)
conn |
a conn object created by |
season |
season a numeric vector of seasons (earliest available year is 1999) |
... |
other arguments |
A tidy dataframe of weekly fantasy scoring data, one row per player per week
espn_conn
: ESPN: returns scoring history in a flat table, one row per player per week.
flea_conn
: Fleaflicker: returns scoring history in a flat table, one row per player per week.
mfl_conn
: MFL: returns scoring history in a flat table, one row per player per week.
sleeper_conn
: Sleeper: returns scoring history in a flat table, one row per player per week.
https://www.nflfastr.com/reference/load_player_stats.html
try({ # try only shown here because sometimes CRAN checks are weird conn <- espn_connect(season = 2020, league_id = 899513) ff_scoringhistory(conn, season = 2020) }) # end try try({ # try only shown here because sometimes CRAN checks are weird conn <- fleaflicker_connect(2020, 312861) ff_scoringhistory(conn, season = 2020) }) # end try try({ # try only shown here because sometimes CRAN checks are weird ssb_conn <- ff_connect(platform = "mfl", league_id = 54040, season = 2020) ff_scoringhistory(ssb_conn, season = 2020) }) # end try try({ # try only shown here because sometimes CRAN checks are weird conn <- ff_connect(platform = "sleeper", league_id = "522458773317046272", season = 2020) ff_scoringhistory(conn, season = 2020) }) # end try


Lying about 60 miles west of Rio de Janeiro, this large bay with the island of Ilha Grande in the middle, is one of the best cruising grounds in Brazil. It is full of remote anchorages and quiet, traditional fishing villages.
Position 23°10'S, 44°00'W.
There is almost an unlimited number of anchorages around this bay and the island of Ilha Grande.
Here are some of the anchorages where other services are available:-
Enseada das Palmas (Ilha Grande) - water at the hotel building.
Enseada do Abraao (Ilha Grande) - a fishing village with supermarket, bakery, fuel, pharmacy, telephones and internet. Ferry to the mainland.
Saco do Ceu (Ilha Grande) - a small fishing village where you can buy fish and some friut.
Ilha de Macacos (Ilha Grande) - fishing boats used as floating bars and which provide all types of seafood.
Enseada do Sitio Forte (Ilha Grande) - A beach kiosk with beer and seafood - a yachtie hangout!
Angra dos Reis (mainland shore) - See separate entry Angra dos Reis
Marina Porto Frade (mainlnd shore) - moor at the wharf (max. draft 2.5m) or anchor outside and dinghy ashore. Excellent facilities and chandlery. VHF 16 "Marina Porto Frade'.
Saco do Tarituba (mainland shore) - The village has bars and restaurants and basic provisions.
Ilha do Cedro - Anchorage on the NW side of the island. Good beach with a friendly bar/restaurant. Frest water available.
Paraty (mainland shore) - There are several marinas here but most have limited draft (typically 1.8m). The town has all requirements (fuel, water, LPG, several chandleries, provisions, banks, internet cafes, post office, hospital and pharmacies).
Last updated June 2013.


Ark is a next generation crypto-currency and decentralized application platform, written entirely in JavaScript. For more information please refer to our website: https://ark.io/.
This version is still beta, use at your own risks
Install, Upgrade etc...
You need to provision a linux (ubuntu tested) server (digital ocean, vultur or other).
Then use the excellent ark-commander script
cd
wget https://ark.io/ARKcommander.sh
bash ARKcommander.sh
For developers, please read the "Developer Installation" section below.
or Alternatively run
cd
wget https://ark.io/DARKcommander.sh
bash DARKcommander.sh
Details
This is a fork from Lisk with the following features:
- Removed sidechains (deprecated in favor of smartbridge)
- Removed custom node version
- Removed UI for stability and security reasons
- Changed some constants (block rewards, blocktime etc...)
- Added simple PBFT before forging new block
- Ditch addresses from the protocol in favor of bitcoin like system, enabling HD Wallet as for BIP32
- Completely rewritten node management using a single NodeManager and messaging system
- Completely rewritten round management (removed mem_round, reward block fees to forger)
- Added 64 bytes vendorField as first iteration of smart bridge
- Made peers management entirely in-memory for efficiency
- Strengthened the transaction management and broadcast (reject often, reject soon)
- Rearchitect with relay nodes and forging nodes
- Nodes broadcast only block headers.
### Planned features:
- Simple blockchain validation for SPV and use in lite clients
- Add IPFS as first class citizen (using smartbridge addressing)
- Protocol improvements (uncle forging, voting weights).
- Remove unsecured API
- Routing tables
### Performance
- stable on testnet at 5tx/s
- pushed to 10tx/s on devnet
Developer Installation
Vagrant
Vagrant is a virtual development environment manager backed by a provider like VirtualBox.
To start the Vagrant environment:
vagrant up
All dependency installation and configuration for the dev environment is in the VagrantFile
. After installation, ark-node will automatically start and log all output to the console.
To log into the Vagrant environment:
vagrant ssh
To destroy and revert to the original state:
vagrant destroy
vagrant up
There will be a drive shared with the host machine inside the VM, mounted at /vagrant
.
Non-Vagrant
Install essentials:
sudo apt-get update
sudo apt-get install -y curl build-essential python git
Install PostgreSQL (min version: 9.5.2)
sudo apt-get install -y postgresql postgresql-contrib
sudo -u postgres createuser --createdb --password $USER
createdb ark_test
Install Node.js (tested with version 6.9.2, but any recent LTS release should do):
sudo apt-get install -y nodejs
sudo npm install -g n
sudo n 6.9.2
Install grunt-cli (globally):
sudo npm install grunt-cli -g
Clone this repository
git clone https://github.com/arkecosystem/ark-node.git
cd ark-node
Install node modules:
npm install libpq secp256k1
npm install
Launch
To launch Ark on testnet:
createdb ark_testnet
npm run start:testnet
To launch Ark on devtnet:
createdb ark_devnet
npm run start:devnet
To launch Ark on mainnet (when launched):
createdb ark_mainnet
npm run start:mainnet
NOTE: The port, address, genesis block and config-path can be overridden by providing the relevant command switch:
node app.js -p [port] -a [address] -c [config-path] -g [genesisBlock-path]
This allow you to run several different networks, or your own private chain
Launch your own private or public chain
Generate a genesisBlock.json + a default config.json containing all passphrases of genesis delegates
node tasks/createGenesisBlock.js
Be sure to configure this file for your needs
- a genesisBlock.json containing the genesis block
- a config.json containing configuration to start relay nodes
- an autoforging config.json containing configuration to start all delegates on a single node (for testing purpose)
- a bunch of config files to distribute to different configured delegate nodes starting the network.
- a delegatesPassphrases.json containing details about the genesis delegates
- a genesisPassphrase.json containing the details of delegates that will launch your network
Obviously you can hack away tasks/createGenesisBlock.js for your own custom use.
You can the start with your own chain on a single node (all delegates will forge on your single node) using:
createdb ark_newtest
npm run start:newtest
Then you can distribute the config.json (without the delegates secrets inside, and with custom peers settings) to peers to let them join your chain
Tests
Load git submodule ark-js:
git submodule init
git submodule update
You should run using test configurations
npm run start:test
Run the test suite:
npm test
Run individual tests:
npm test -- test/api/accounts.js
npm test -- test/api/transactions.js
NOTE: The master passphrase for this test genesis block is as follows:
peace vanish bleak box tuna woman rally manage undo royal lucky since
Authors
- FX Thoorens<EMAIL_ADDRESS>- Boris Povod<EMAIL_ADDRESS>- Pavel Nekrasov<EMAIL_ADDRESS>- Sebastian Stupurac<EMAIL_ADDRESS>- Oliver Beddows<EMAIL_ADDRESS>License
The MIT License (MIT)
Copyright (c) 2016-2017 Ark Copyright (c) 2016 Lisk Copyright (c) 2014-2015 Crypti
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Interpolation
Value of interpolation binding is - {{interpolationValue}}
One-way binding (unidirectional)
Value of uni-directional binding is -
You can not edit uni-directional binding property. Try here -
Two-way binding
Value of two-directional binding is -
You can even edit two-directional binding property here -
Event binding
{{messageText}}


Project: TunedIn
TunedIn is a free-to-use application that brings to you the power of a full-fledged command line personal organizer, bundled together with a user-friendly interface that keeps all of your information easily accessible and at your fingertips.
Code contributed: [Functional code]
Enhancement Added:
-
Birthday and Group fields to Persons
-
Set Email, Birthday to be optional fields.
-
Order command to sort with Birthday, Tag and with multiple(2) person fields.(enhanced on the original Order command done by quanle1994)
-
Group command to group one or multiple persons in a specified group.
-
List command to view a list of person by specified group name.
Order persons in Address Book by a parameter: order
- Since V1.0
Order the list of persons according to a specified parameter. Parameters are case insensitive.
Format: order PARAMETER [MORE_PARAMETER]
Examples:
-
order NAME
Returns address list sorted by name in alphabetical order. -
'order BIRTHDAY name`
Returns address list sorted by birthday then by name.
Justification
Ordering is essential to TunedIn. It provides the fundamental and a must-to-have functionality of an organizer. With the ordering mechanism, user will be able to order the list of contacts in 14 different ways. This is inline with our goal in making TunedIn as customizable as possible and, most importantly to allow the user to organize the contacts to their most preferred way.
Order(Sort) mechanism
The order mechanism is facilitated by the orderBy
method, which resides inside the UniquePersonList > Person > Addressbook
. It supports
the ordering(sorting) of the contact list by utilizing the CLI commands in the TunedIn application.
OrderCommand
supports
undoing and redoing of command and inherit from the UndoableCommands
. The following diagram shows the inheritance
diagram for the command: //insert diagram
The implementation of the order
command constructor is as shown : //insert code
As you can see from the implementation, the command requires user inputs in the form of 'String' as the paramater/s
to order. The inputs are restricted by the fields of Person
which only includes Name
, Address
,
Tag
and Birthday
. The command is able to order by a maximum of two parameters. It will order the list by
the first parameter follow by the second parameter.
The implementation of the ordering mechanism is shown below: //insert code
As you can see, 4 Comparator
object are constructed for each valid parameter to compare the list of contacts
and order according to natural order.
Birthday is ordered by yyyy-mm-dd instead of the dd-mm-yyyy format.This is achieved by reformatting the Birthday string as shown: //insert code
Person(s) with empty Birthday field will be sorted to the last.
|
Suppose that the user has just launched the application and no previous order
command has been called. The contacts will
be listed according to the default ordering, in order of the order a particular contact is added (Last contact added will appear as the last in the list).
The user executes another order
command by typing order name
, to view the list of contacts ordered in alphabetical order
based on the Name
field of a person. With valid input the list of contacts will be ordered accordingly and
the ordered list will be shown.
The user executes another command by typing order tag name
to order the list by Tag
first then Name
of the person.
| If the order command fails its execution due to invalid order parameter, the list of contact will not be ordered. |
The following sequence diagram shows how the order operation works: //insert sequence diagram.
Group person(s) : group
- Since V1.4
Group a number of persons in address book or view the existing groups.
Format: group INDEX [MORE_INDEX] g/GROUP_NAME
group showall
Examples:
-
group 2 g/Family
Group the 2nd person in the current list of address book to groupFamily
. -
group 1 3 4 5 g/NUS
Group the 1st, 3rd, 4th and 5th persons to groupNUS
. -
group showall
Show the name of existing groups in the command feedback box, on top of calender.
Justification
Group mechanism is another essential function of TunedIn. It allows the user to organize the contacts to user specified groups.
Group mechanism
The group mechanism is facilitated by the Person
, which resides inside the 'Addressbook'.
It supports adding a custom group to a number of contacts by utilizing the CLI commands in the TunedIn application.
Group is stored as an attribute of Person. Each person will have an empty or a group.
The implementation of the Group
command constructor is shown below :
insert diagram
As you can see from the implementation, Group command require two type of inputs in the form of Index
and Group
.
The first input in the form of List<Index>
stores a list of index(es) correspond to the person(s) to be grouped. The
second input in the form of Group stores the group name specified by the user.
The implementation of storing group into individual person is as shown :
insert code.
Suppose that the user has just launched the application.
Assuming a valid addressbook xml file exists (with numerous person data in it),
the UniquePersonList will start storing a list of Person object with correspondence to the xml file.
Each person will either have a textual or empty Group
.
The user executes a group
Command by calling group 1 2 g/TEST1
, to set the 1st and 2nd person’s group to "TEST1" in the address book.
The existing group
will be replaced by the user input "TEST1" and the Persons’ object will be updated.
The user then executes another `group`Command by calling `group 2 3 4 5 g/ to ungroup the 2nd to 5th person.
| If the group command fails its execution due to invalid index(es), the list of person(s) will not be grouped. |
The following sequence diagram shows how the group operation works: //insert sequence diagram.
list
command will be enhanced with group feature, allowing user to list contacts of a specified group.
Listing all persons : list
- Since V1.0
Shows a list of all persons or a specified group of persons in the address book.
Format: list [g/GROUP_NAME]
Examples:
-
list
-
list g/Friends
Justification
List can be used to show the entire list of contacts.
It is further enhanced to complement the function of group by allowing user to
view a list of contacts by group. Instead of implementing the group list view function
in the group function, it is more intuitive for the user to typed list
followed by group
name.


--- layout: session academic: true title: "Data Quality and Feature Extraction at scale with RoboSat.pink" subtitle: "" code: "7ZXRXB" speaker_names_with_affiliations: ['Olivier Courtin (DataPink)'] extra_tags: room: "Hörsaal Ost" length: "00:20" time: "Saturday, 11:30" recording: True ---
Deep Learning approaches already proves that they can be helpful for QA or MissingMap areas.
RoboSat.pink as an efficient OpenSource Deep Learning toolbox dedicated to GeoSpatial Imagery, can definitely help to quickly compare two datasets, as OSM and a coverage Imagery, and do it at scale.
And spot where differences are significant enough, to value, that a human give them a look.
This talk will focus on: - How to create an accurate trained model, for buildings and roads detection, from plain OpenData, without the needs to spend to much for hand-labeling features.
Point here, is to allow that anyone with a recent gamer video card, already can play with this tools.
For information, RoboSat.pink main characteristics: - Provides several command line tools, you can combine together to build your own workflow - Follows geospatial standards to ease interoperability and data preparation - OSM data loader (using PyOsmium) - Build-in cutting edge Computer Vision model and loss implementations (and allows to replace by your owns) - Support either RGB or multibands imagery (as multispectral) - Allows Data Fusion - Rich and efficient Data Augmentation abilities (using Albumentations) - Static Web-UI tools to easily display, hilight or select results - High performances


Identify and validate a consensus signature using gene expression data |
Added by GenomeSpaceTeam on 2015.04.22
Last updated on over 3 years ago.
Do phenotypically different expression datasets share a common signature? Can the signature distinguish phenotypes in an independent dataset?
This recipe provides one method for identifying a consensus gene signature from a training set of several phenotypically distinct gene expression dataset. The recipe then validates the ability of the consensus signature to accurately distinguish phenotypes by using an independent test gene expression dataset. An example use case of this recipe is when an investigator may want to develop a gene expression signature to predict a specific phenotype, such as cancer or another disease.
Background information: What is a consensus gene expression signature?
A gene expression signature is the pattern of expression in a specific group of genes, usually ones that are related by function, position or other biological process. A consensus gene signature is an expression pattern for a specific group of genes, which is shared among different samples or across different phenotypes. For example, a group of genes regulating immune response could be similarly up-regulated during many different, unrelated infections. There are several types of consensus signatures; those that can be derived from gene expression data are called transcriptional consensus signatures. Consensus signatures can be created by overlapping individual gene signatures derived from multiple datasets. Compared to individual gene expression signatures, consensus signatures may be more accurate at distinguishing different phenotypes, such as diseased vs. normal samples.
Use case: Targeting MYCN in Neuroblastoma by BET Bromodomain Inhibition (Puissant et al. , Cancer Discov. 2013).
This study analyzed gene expression data generated from primary neuroblastoma tumors of two genetic classes: tumors harboring MYCN amplification (“MYCN amplified”) and tumors without MYCN amplification (“MYCN non-amplified”). MYCN amplified neuroblastoma is exquisitely dependent on the bromodomain and extra-terminal (BET) family of proteins. As such, treatment of MYCN amplified cell lines or tumors with JQ1, a small-molecule inhibitor of BET proteins, leads to dramatic transcriptional changes and induces cell death.
To identify a consensus signature to predict sensitivity to JQ1 treatment, two training datasets and one test dataset were used. The training dataset included acute myeloid leukemia (AML) and a multiple myeloid leukemia (MM) cell lines, which had been treated with either DMSO (control) or with JQ1 (treatment). The test dataset included MYCN amplified and MYCN nonamplified neuroblastoma primary tumor samples. GenePattern was used to analyze the AML and MM cell lines; for each dataset, a gene expression signature was derived to identify JQ1 response in the cell line. Using Galaxy, the two signatures were then overlapped to determine the consensus signature between the two phenotypes.
GenePattern was used to validate the ability of this JQ1-associated consensus signature to differentiate between phenotypes, by using the signature to hierarchically cluster the test dataset (neuroblastoma). Since the MYCN amplified and MYCN non-amplified neuroblastoma samples should have differing expression profiles, it was hypothesized that the consensus signature would be able to separate the samples by phenotype. Indeed, the consensus signature was able to cluster the MYCN-amplified and MYCN-nonamplified samples separately, revealing that the consensus signature accurately distinguishes the sensitivity-to-JQ1 phenotype.
To complete this recipe, we will need several gene expression datasets:
Public
> RecipeData
> ExpressionData
> GSE29799_AML
: a JQ1-treated acute myeloid leukemia (AML) expression dataset (6 samples)Public
> RecipeData
> ExpressionData
> GSE31365_MM
: a JQ1-treated multiple myeloma (MM) expression dataset (12 samples)Public
> RecipeData
> ExpressionData
> GSE12460_NB
: a neuroblastoma (NB) expression dataset which has MCYN-amplified and MYCN-nonamplified samples (64 samples)We will use the ComparativeMarkerSelection
module to identify genes which are differentially expressed and can distinguish between two phenotypes (e.g. normal vs. JQ1-treated), separately for the acute myeloid leukemia (AML) and multiple myeloma (MM) datasets. This module uses the GCT file and the CLS file.
NOTE: If you have not yet associated your GenomeSpace account with your GenePattern account, you will be asked to do so. If you do not yet have a GenePattern account, you can automatically generate a new account that will be associated with your GenomeSpace account.
Modules
tab, and search for "ComparativeMarkerSelection". Once the module is loaded, change the following parameters:
input file
: load the AML GCT file, e.g., GSE29799GPL6244_RNA_ORIGINALGENE_XXXXX.gct
. To do this, use the GenomeSpace
tab to navigate to Public
> RecipeData
> ExpressionData
> GSE29799_AML
, then drag the file to the input box.cls file
: load the AML treatment CLS file, e.g., treatment.cls
, also located in the GSE29799_AML
directory.log transformed data
: yesoutput filename
: AML_genes.comp.marker.odf
Run
to run ComparativeMarkerSelection
on the AML dataset.
Save to GenomeSpace
.Save
.input file
: load the MM GCT file, e.g., GSE31365GPL6244_RNA_ORIGINALGENE_XXXXX.gct
. To do this, use the GenomeSpace
tab to navigate to Public
> RecipeData
> ExpressionData
> GSE31365_MM
, then drag the file to the input box.cls file
: load the MM treatment CLS file, e.g., treatment.cls
, also located in the GSE31365_MM
directory.log transformed data
: yesoutput filename
: MM_genes.comp.marker.odf
Run
to run ComparativeMarkerSelection
on the MM dataset.Save to GenomeSpace
.Save
.We will load the two sets of differentially expressed genes from the AML and MM datasets into Galaxy. Then, we will use a pre-built GenomeSpace workflow to process the datasets, filtering and removing features that do not pass certain cutoffs. Finally, we will create a consensus signature and send a list of gene symbols back to GenomeSpace for additional analysis.
NOTE: If you have not yet associated your GenomeSpace account with your Galaxy account, you will be asked to do so. If you do not yet have a Galaxy account, you can automatically generate a new account that will be associated with your GenomeSpace account.
Get Data > GenomeSpace import
AML_genes.comp.marker.odf
and MM_genes.comp.marker.odf
files.Send to Galaxy
.Datatype
tab.New type
: tabularSave
. Ignore any warnings which may pop up.We will use a pre-built GenomeSpace workflow to identify the consensus gene signature. This pre-built GenomeSpace workflow uses several steps to determine the overlap between the AML and MM datasets. First, we filter the AML and MM datasets to the top genes using the following cutoffs: (1) >= 1.5 differential expression; and (2) FDR < 0.05 as calculated by ComparativeMarkerSelection
(GenePattern).
Run
.Step 1: Input Dataset
: AML_genes.comp.marker.odf
Step 2: Input Dataset
: MML_genes.comp.marker.odf
Choose Target Directory
: choose a directory to save the file to, e.g. your home directory.Run workflow
.We will use several GenePattern modules to extract the relevant information from our test dataset, which is the MYCN-amplified and MYCN-nonamplified neuroblastoma dataset. Then, we will project the consensus signature onto the neuroblastoma dataset and evaluate its ability to distinguish the two phenotypes (MYCN-amplified and MYCN-nonamplified) by clustering the resulting dataset.
We will use SelectFeaturesColumns
to filter the neuroblastoma dataset to only those samples that are MYCN-amplified or MYCN-nonamplified. There is a third group of samples (called 'NILL'), in which MYCN amplification status was not determined; therefore, we filter these samples out and work only with the annotated data.
Modules
tab, and search for SelectFeaturesColumns
. Once the module is loaded, change the following parameters:
input filename
: use the GenomeSpace tab to navigate to Public > RecipeData > ExpressionData > GSE12460
, then click and drag to load the neuroblastoma GCT file, e.g., GSE12460GPL750_RNA_ORIGINALGENE_XXXX.gct
.columns
: 0-2, 4-6, 8-16, 18-19, 21-25, 28, 30-36, 38-54output
: MYCN.gene.exp.gct
Run
.
Jobs
tab, and reload the SelectFeaturesColumns
module by clicking on the job and choosing Reload Job
.input filename
: load the neuroblastoma CLS file, e.g., Myc.Expression.cls
. To do this, click the next to the input filename parameter to remove the GCT file from the module. Then, use the GenomeSpace tab to navigate to the GSE12460_MYCN directory: Public > RecipeData > ExpressionData > GSE12460
, then drag the file to the input box.output
: MYCN.gene.exp.cls
Run
.Save File
to download a copy of this to your local computer. We will need this file to be downloaded locally for a later step.We will use SelectFeaturesRows
to filter the neuroblastoma dataset to only those gene symbols which are in the consensus signature.
Modules
tab, and search for "SelectFeaturesRows". Once the module is loaded, change the following parameters:
input filename
: MYCN.gene.exp.gct
, the previously filtered neuroblastoma GCT file. To do this, use the Jobs
tab to find the previous job results, then drag the file to the input box.list filename
: consensus.genelist.txt
, the consensus signature gene list. To do this, use the GenomeSpace
tab to navigate to the directory containing the consensus signature gene list, then drag the file to the input box.output
: MYCN.consensus.gct
Run
.
We will use HierarchicalClustering
in GenePattern to create dendrogram of the filtered neuroblastoma dataset, clustering the data by phenotype (MYCN-amplified vs. MYCN-nonamplified), to determine how well the consensus signature can distinguish between phenotypes. Then, we will use HierarchicalClusteringViewer
to view the results of the clustering algorithm and to label samples by phenotype.
Modules
tab, and search for HierarchicalClustering
.Jobs
tab, then change the following parameters:
input file
: MYCN.consensus.gct
(output from SelectFeaturesRows
).column distance measure
: Euclidean distancerow distance measure
: No row clusteringclustering method
: Pairwise complete-linkageRun
.
HierarchicalClusteringViewer
.cdt file
: MYCN.consensus.cdt
atr file
: MYCN.consensus.atr
Run
.
HierarchicalClusteringViewer
has loaded, you should see a heatmap fo the original MYCN.consensus.gct
file. To color the samples by phenotype, change the following parameters:
MYCN.consensus.cls
file you downloaded to your local directory from Step 5.
This is an example interpretation of the results from this recipe. First, we identified a consensus gene signature of JQ1 activity by finding genes that became differentially expressed due to JQ1 treatment in both acute myeloid leukemia (AML) and multiple myeloma (MM). Then, we projected this consensus signature on a test dataset of neuroblastoma cells which were not treated with JQ1, but were either MYCN-amplified or MYCN-nonamplified. Since MYCN amplification is associated with an increased sensitivity to BET bromodomain inhibitors, such as JQ1, we expected that a signature of JQ1 activity would be able to separate MYCN-amplified and MYCN-nonamplified phenotypes.
These results suggest that the JQ1 consensus signature is capable of differentiating between MYCN-amplified neuroblastoma and MYCN-nonamplified neuroblastoma samples. In particular, we see that when we use hierarchical clustering to differentiate the two phenotypes, we observe three distinct groups of samples: (1) the majority of the MYCN-amplified samples (left cluster, light blue); (2) MYCN-nonamplified samples that are similar to MYCN-amplified samples (middle cluster, dark blue); and (3) MYCN-nonamplified samples which are distinct from MYCN-amplified samples (right cluster, dark blue). The significance of this possible result would need further confirmation.


--- theme : name : hooligan layout: default --- {% include JB/setup %} {% include themes/hooligan/post.html %}


security support provider
(SSP) A dynamic-link library (DLL) that implements the SSPI by making one or more security packages available to applications. Each security package provides mappings between an application's SSPI function calls and an actual security model's functions. Security packages support security protocols such as Kerberos authentication and the Microsoft LAN Manager.
Security Support Provider Interface
(SSPI) A common interface between transport-level applications, such as Microsoft Remote Procedure Call (RPC), and security providers, such as Windows Distributed Security. SSPI allows a transport application to call one of several security providers to obtain an authenticated connection. These calls do not require extensive knowledge of the security protocol's details.


I am an IT professional that does a variety of projects inside and outside of work. By day, I am an Implementation Engineer for a SaaS company integrating Home Health agencies around the country with our software to improve business processes. At night, I build websites for companies to improve marketing, contact, and profitability.
Each project I work on has special requirements, so I am committed to learning new technologies which increases my appettite to learn and grow on the job. I work with both front-end and back-end development. Working with clients to refine and refactor my code each day to provide the best possible outcome for all. I really love deploying the final product and receiving feedback.
View LinkedIn ProfileThis is a react application to make us all some friends during COVID-19. This uses react on the front-end with node.js and AJAX calls on the backend to retrieve random generated friends. The user is provided a search box to find the friends. It is deployed using github pages. Please take a look for yourself and search a list of my robotic friends.
This is a facial recognition application that utilizes a full spectrum of web development technologies. The front-end was developed with React and found one of my favorite CSS packages called tachyons to style it. Working with the Clarifai api, I was able to integrate their facial recognition technology with a custom built server and database.
This is a website built for a personal client. It is a site that I work on continuously because my client has started their own Oral Surgery practice that has really taken off. This client has already signed 12 offices in the Seattle area and will require an application built for each office. If you would like to view my source code, please request it on github because this repository must remain private due to sensitive information.
Would you like to talk about what I can do for you? Great!
Send Email


points
question
start
next
finish
answer the questions to earn points
click start when ready
@bethropolis


The Pittsburgh Haskell meetup is for everyone who is currently using or interested in learning the Haskell programming language (and related languages such as PureScript, Elm, Idris).
We want to create and grow a fun and friendly local community of Haskell developers of all levels of experience, through learning and sharing exciting ideas, useful libraries, and insights gained from building things.
We will emphasize practical hands-on coding as a way to both write useful programs and also deepen understanding of foundational concepts that are useful and applicable beyond just Haskell.
Pittsburgh Haskell is launching in February 2015 as part of Pittsburgh Code and Supply!
Our first meeting will be on Monday, February 1, 2015. It will include a lightning talk by Franklin Chen as well as a hands-on introductory workshop to get everyone coding right away. Please try to come with Haskell installed on your laptop according to these specific instructions.


|
ex1
|
#include <iostream>
#include <fstream>
#include <string>
#include <math.h>
#include <vector>
Functions | |
| int | main (int argc, char *argv[]) |
Variables | |
| string | line |
| int | linenumber = 0 |
| int | category =0 |
| double | value = 0.0 |
| int | errors = 0 |
| int | totLines = 0 |
| vector< double > | values1 |
| vector< double > | values2 |
file for ex1-project.
| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
< sign of delimiter in analyzed file
| int category =0 |
saved category
| int errors = 0 |
global error count
| string line |
saved line from input-file
| int linenumber = 0 |
saved lineNo
| int totLines = 0 |
global line count
| double value = 0.0 |
saved value
| vector<double> values1 |
saved and valid values for category one
| vector<double> values2 |
saved and valid values for category two


5 mins ago
7 mins ago
John Doe(Care Co-ordinator)
Moo Doe(Admin)
Lee Doe(Care Co-ordinator)
John Smith, Tommy Forrest


--- title: "Jane Street Puzzle, July 2022: Andy's Morning Stroll" tags: - janestreet - optimization - math - graph toc: true toc_sticky: true header: teaser: https://www.janestreet.com/puzzles/andys-morning-stroll.png og_image: https://www.janestreet.com/puzzles/andys-morning-stroll.png ---
In this problem, we shall compare the return times of random walks on two different graphs.
{% raw %}Andy the ant has spent most of his days living on a strange land consisting of white hexagons that are surrounded by alternating black pentagons and white hexagons (three of each), and black pentagons surrounded by five white hexagons. To us this land is familiar as the classic soccer ball we see above on the left. Due to Andy’s tiny size and terrible eyesight, he doesn’t notice the curvature of the land and avoids the black pentagons because he suspects they may be bottomless pits.
Every morning he wakes up on a white hexagon, leaves some pheromones to mark it as his special home space, and starts his random morning stroll. Every step on this stroll takes him to one of the three neighboring white hexagons with equal probability. He ends his stroll as soon as he first returns to his home space. As an example, on exactly 1/3 of mornings Andy’s stroll is 2 steps long, as he randomly visits one of the three neighbors, and then has a 1/3 probability of returning immediately to the home hexagon.
This morning, his soccer ball bounced through a kitchen with an infinite (at least practically speaking…) regular hexagonal floor tiling consisting of black and white hexagons, a small part of which is shown above on the right.   He didn’t notice any change in his surroundings, and goes about his normal morning routine.
Let p be the probability that his morning stroll on this new land is strictly more steps than the expected number of steps his strolls on the soccer ball took. Find p, rounded to seven significant digits.
We firstly compute the mean return time of a random walk on the soccer ball.
Let $0, ..., 19$ be the vertices of the underlying soccer ball graph and $\pi_i$ be its stationary distribution ($\pi_i$ is the asymptotic probability to be in vertex $i$ in a random walk).
The soccer ball being totally symmetric (it is a vertex-transitive graph), its stationary distribution is uniform: $$\pi := \begin{pmatrix} \pi_0\\ \vdots\\ \pi_{19} \end{pmatrix} = \frac{1}{20}\begin{pmatrix} 1\\ \vdots\\ 1 \end{pmatrix}$$
Let $P = (p_{i, j})_{0\leq i\leq 19, ~0\leq j\leq 19}$ be the transition matrix of the soccer ball graph. Here, $p_{i, j} = 1/3$ if $i$ and $j$ are adjacent vertices ($p_{i, j} = 0$ otherwise).
Let $E = (E[T_{i, j}])_{0\leq i\leq 19, ~0\leq j\leq 19}$ be the hitting time matrix: $E[T_{i, j}]$ is the expected number of steps to reach vertex $j$ from vertex $i$.
Theorem: $$E[T_{i, i}] = \frac{1}{\pi_i}$$
Proof:
A path from $i$ to $j$ can be split into a step to a neighbor $k$ of $i$ and a path from $k$ to $j$.
Let's multiply by $\pi$ on the left: $$\pi^T E = \pi^T U + \pi^T PE - \pi^T P\Delta$$
Since $\pi$ is stationary, $\pi^T P = \pi^T$.
Therefore:
$$\pi^T \Delta = \pi^T U = \begin{pmatrix} 1 \\ \vdots \\ 1 \end{pmatrix}$$
$$\pi_i E[T_{i, i}] = 1$$
$$\boxed{E[T_{i, i}] = \frac{1}{\pi_i}}$$
Remark: This theorem holds for any irreducible (strongly connected) Markov chain.
Applied to our problem, this theorem shows that Andy's mean return time is $20$ on the soccer ball.
from functools import cache
@cache
def proba(i, j, n):
""" Probability of not reaching (0, 0) from (i, j) in 20 - n steps """
if n > 20:
return 1
if i == 0 == j and n > 0:
return 0
p1 = proba(i - 1, j, n + 1) # left cell
p2 = proba(i + 1, j, n + 1) # right cell
p3 = proba(i, j + (1 if n % 2 == 1 else -1), n + 1) # up or bottom cell
return (p1 + p2 + p3)/3
float(f"{proba(0, 0, 0):.7f}")


Creating a Web site from scratch
Diving into HTML and CSS
11/9/2014
There is a special sense of satisfaction from being able to write an entire site form scratch without using professional templates. It requires a set of skills such as deep understanding of CSS, a sense of design and coding in javascript.
Benefits of using Version Control
Introduction to Version Control
11/2/2014
Version control also known as a revision control or source control is a way to store
and track multiple versions of source code for programs, sites and documents.
It's a tool that lets multiple team participants to work simultaneously on the same project.
Version control tools allow to modify, review, store and back up multiple versions
of the same document, source file or a binary program.
Version Control systems track changes by creating multiple directories called branches. The branch that holds the production version of the files (in case of the source code - it's the source files that can be used to build the production version of the software) is always called master. New branches are created in order to create new version of the code which later can be merged with the master branch to release the new version of the software/web application. Branches are cloned (copied) to each programmers local machine in order to allow them to work on the files. Once the new code is ready, it has to be committed to the main(remote) repository.
This is done in four steps:
GitHub is a service that works seamlessly with GIT tools. GitHub provides a easy way to create new repositories and share them with collaborators across the world without the additional need administer the servers and security that would otherwise be needed to offer this functionality.
Combination of Git with GitHub are a perfect solution to start a new collaborative project with little effort and cost free.
Version Control systems track changes by creating multiple directories called branches. The branch that holds the production version of the files (in case of the source code - it's the source files that can be used to build the production version of the software) is always called master. New branches are created in order to create new version of the code which later can be merged with the master branch to release the new version of the software/web application. Branches are cloned (copied) to each programmers local machine in order to allow them to work on the files. Once the new code is ready, it has to be committed to the main(remote) repository.
This is done in four steps:
- Group the new source files into logical commit batches. The good practice is to find related files (e.g. all files that were modified in order to fix a bug or introduce a new feature and pack them together)
- Add these files to the commit batch by running git add <file name>
- Commit the batch with a meaningful message so that that an independent steam participant could understand the types of the modification that are committed.
- Push the new committed changes to the remote repository from a local machine.
GitHub is a service that works seamlessly with GIT tools. GitHub provides a easy way to create new repositories and share them with collaborators across the world without the additional need administer the servers and security that would otherwise be needed to offer this functionality.
Combination of Git with GitHub are a perfect solution to start a new collaborative project with little effort and cost free.


Psalms 58:10
The righteous shall rejoice when he seeth the vengeance: he shall wash his feet in the blood of the wicked.


Parser¶
Introduction¶
The generated parser is LALR(1).
The grammar is specified as a series of terminals and non-terminals. For example,
<rhs>VARIABLE '=' expr ';'</rhs>
Extended Grammar¶
Extended grammar are mostly for convenience. New operators ?
, *
,
+
, |
, (
and )
are added. They are described below. Some
of the extended grammar requires a small runtime library
`cookcc-rt
.
The tests for the extended grammar have some examples.
Optional Operator¶
Optional operator ?
is used to indicate a symbol is optional. For
example, in the following grammar
<grammar rule="G">
<rhs>A B?</rhs>
</grammar>
It is equivalent to
<grammar rule="G">
<rhs>A @1</rhs>
</grammar>
<grammar rule="@1">
<rhs>B</rhs>
<action>$$ = $1;</action>
<rhs></rhs>
<action>$$ = null;</action>
</grammar>
With ()
, it is possible to enclose multiple symbols with ?
operator. For example, in the following
<grammar rule="G">
<rhs>A (B C)?</rhs>
</grammar>
It is equivalent to
<grammar rule="G">
<rhs>A C</rhs>
</grammar>
<grammar rule="@1">
<rhs>B C</rhs>
<action>$$ = new ASTNode (); $$.add ($1); $$.add ($2);</action>
<rhs></rhs>
<action>$$ = null;</action>
</grammar>
The collection used here is org.yuanheng.cookcc.ASTNode
which is
part of cookcc-rt runtime.
List Operator¶
List operator +
basically repeats a symbol or a set of symbols for
one or more iterations. It is very common for grammars to have repeated
terminal / non-terminals, so it should be helpful to avoid some tedious
works. For example, in the following grammar
<grammar rule="G">
<rhs>A B+</rhs>
</grammar>
It is equivalent to
<grammar rule="G">
<rhs>A @1</rhs>
</grammar>
<grammar rule="@1">
<rhs>B</rhs>
<action>$$ = new ASTListNode (); $$.add ($1);</action>
<rhs>@1 B</rhs>
<action>$$.add ($2);</action>
</grammar>
The collection used here is org.yuanheng.cookcc.ASTListNode
which is
part of cookcc-rt runtime.
It is possible to repeat a set of symbols, but its use should be rare. For example, in the following grammar
<grammar rule="G">
<rhs>A (B C)+</rhs>
</grammar>
It is equivalent to
<grammar rule="G">
<rhs>A @1</rhs>
</grammar>
<grammar rule="@1">
<rhs>B C</rhs>
<action>$$ = new ASTListNode (); $$.add ($1); $$.add ($2);</action>
<rhs>@1 B C</rhs>
<action>$$.add ($2); $$.add ($3);</action>
</grammar>
It should be noted a single ASTListNode
is used to contain all the
repeated symbols.
To avoid extra ASTListNode
being created, the following two rules
are equivalent.
<rhs>A B+</rhs>
<rhs>A (B)+</rhs>
Optional List Operator¶
Optional list operator *
basically repeats a symbol or a set of
symbols for zero or more iterations. It is very similar to +
operator except that the number of repeats can be zero.
Grouping Operator¶
(
and )
are used enclose symbols. The behavior are the
following.
- It has to enclose at least a symbol. Thus simply
()
is not allowed. - It is usually used in conjunction with other extended grammar operators. See notes in other extended grammar operators.
- You can use
(
and)
simply for grouping one or more symbols without using other extended grammar operators. For example:A (B) C
. An objectorg.yuanheng.cookcc.ASTNode
is used to collect the symbol values. - Nesting such as
((A))
is allowed, but its use probably does not make practical sense.
Or Operator¶
Or operator |
is used to make several possible choices. For example,
in the following grammar
<grammar rule="G">
<rhs>A (B | C)</rhs>
</grammar>
It is equivalent to
<grammar rule="G">
<rhs>A @1</rhs>
</grammar>
<grammar rule="@1">
<rhs>B</rhs>
<action>$$ = $1;</action>
<rhs>C</rhs>
<action>$$ = $1;</action>
</grammar>
It is not possible to specify empty rule with |
operator. Instead,
you should combine with ?
operator for this need. For example, in
the following grammar, A could be followed by B, C, or D.
<grammar rule="G">
<rhs>A (B | C) ? D</rhs>
</grammar>
cookcc-rt Runtime¶
cookcc-rt is a tiny Java runtime library for cookcc. It is only required by certain extended grammars mentioned above.
Parser Table Format¶
Currently, the following table formats are supported.
| Format | Description |
|---|---|
ecs |
Good when there are not a lot symbols and states. |
compressed |
A smaller table in most cases at some performance cost. |
Default Reduce¶
the command line option -defaultreduce
is specified, DFA states that
contain a reduceable item would convert all 0 (i.e. error) entries to
reduce. This approach can make the compressed table more compact, at the
expense of slightly more difficult error recovery.
Analysis Output¶
When the command line option -analysis
is specified, a file named
cookcc_parser_analysis.txt
is generated in the current directory that contains the detail of the
parser. It can be useful in analyzing the grammar.
Error Recovery¶
<parser>
has an option recovery
which would turn on/off the
error recovery code depending whether or not the value is true
or
false
. This value is by default true
.
Turning off error recovery can be useful since in many cases we do not really care much about the corrupted data, and error recovery can be slow.
The exact behavior of error recovery depends on the specific implementation of output language.
Error Recovery in Java¶
When the recovery
option is set to false
, the parser simply
returns with a value of 1
to indicate that an error has occurred.
The option parseerror
controls whether or not the code generator
should generatet he yyParseError
function. Set this option to
false
if you want to the parser to use your own function.
Otherwise, the behavior of the parser is the following.
When a token not belonging to one of the lookahead (i.e. cannot either
reduce or shift) is encountered. yyParseError
function is called. If
this function returns true
, the parser stops and returns a value
1
. If the function returns false
(by default), an error token is
pushed onto the lookahead stack and an internal error flag
_yyInError
is set. Then the parsing is resumed.
If the error token can be shifted, then a grammar dealing with error recovery is found. Otherwise, the parser would start discarding a state on the stack until a grammar that can handle the “error” token is reached.
With the error token shifted on to the stack. The state should be immediately reduceable if the grammar does not require any tokens after the error token. Otherwise, it means the grammar is looking for a specific terminal. Then the input is continuously consumed until the desired token is found, or the end of file is reached.
Additionally, yyPeekLookahead ()
is provided to check the cause of
the error (only accurate if the user didn’t specify any terminals after
error
in the grammar). yyPopLookahead ()
is provided to remove
the possible offending token. However, this function should be called
only once.
Here are some test cases that demonstrate these behaviors.


INSTRUCTIONS. Click on the labels to add annotation to the current time. Drag the arrow to adjust the range of the annotation. To delete an annotation, right click on it. Click on SAVE AND DOWNLOAD to download the annotation data as a .JSON file.


Consider replacing Vector usages with the newer java.util.ArrayList if expensive threadsafe operation is not required.
This rule is deprecated, use {rule:squid:S1149} instead.


Before Change
else:
// We were passed a regular layer, and it should
// know about its input shape. Otherwise, that"s an error.
if not hasattr(layer, "batch_input_shape"):
raise ValueError("The first layer in a "
"Sequential model must "
"get an `input_shape` or "
"`batch_input_shape` argument.")
batch_shape = layer.batch_input_shape
dtype = layer.dtype
// Instantiate the input layer.
x = Input(batch_shape=batch_shape,
After Change
batch_shape = first_layer.batch_input_shape
dtype = first_layer.dtype
if hasattr(first_layer, "batch_input_shape"):
batch_shape = first_layer.batch_input_shape
dtype = first_layer.dtype
// Instantiate the input layer.
x = Input(
batch_shape=batch_shape,
dtype=dtype,
name=layer.name + "_input")
// This will build the current layer
// and create the node connecting the current layer
// to the input layer we just created.
layer(x)
set_inputs = True
else:
// The layer doesn"t know about its expected shape.
// We will have to
// build the model lazily on `fit`/etc.
batch_shape = None
else:
// Corner case where the user passes an InputLayer via `add`.
assert len(layer._inbound_nodes[-1].output_tensors) == 1
set_inputs = True


| Release Doc > Examples > Simple Examples > Persistence > CheckInOut | ||
| Check-In/Out | ||
|
Launch Delphi-example |
Launch CBuilder-example Illustrates using the Object Lending Library Extension (OLLE) for checking out objects from one Bold database to another. How to run Start by running the OLLE Server App. The numbered labels will guide you through a typical usage scenario. You are ofcourse free, or, in fact, encouraged, to experiment beyond that. The example uses xml files to transfer the object data between the server and client. So, the code illustrates the xml streaming mechanisms as well as the actual OLLE usage. Note! Please make sure to use the "Create DB & Alias" button before attempting to open the system for the first time. Once the database and alias is established you only have to use the "Open system" button when running the example program. | ||
| All material $(COPYRIGHT_TEXT). Registered Trademarks and other trademarks are properties of their respective holders. |


For some applications, it may be useful to periodically snapshot the database environment for use as a hot failover should the primary system fail. The following steps can be taken to keep a backup environment in close synchrony with an active environment. The active environment is entirely unaffected by these procedures, and both read and write operations are allowed during all steps described here.
The procedure described here is not compatible with the concurrent use of the transactional bulk insert optimization (transactions started with the DB_TXN_BULK flag). After the bulk optimization is used, the archive must be created again from scratch starting with step 1.
The db_hotbackup utility is the preferred way to automate generating a hot failover system. The first step is to run db_hotbackup utility without the -u flag. This will create hot backup copy of the databases in your environment. After that point periodically running the db_hotbackup utility with the -u flag will copy the new log files and run recovery on the backup copy to bring it current with the primary environment.
Note that you can also create your own hot backup solution using the DB_ENV->backup() or DB_ENV->dbbackup() methods.
To implement your own hot fail over system, the steps below can be followed. However, care should be taken on non-UNIX based systems when copying the database files to be sure that they are either quiescent, or that either the DB_ENV->backup() or db_copy() routine is used to ensure atomic reads of the database pages.
Run the db_archive utility with the -s option in the active environment to identify all of the active environment's database files, and copy them to the backup directory.
If the database files are stored in a separate directory from the other Berkeley DB files, it will be simpler (and much faster!) to copy the directory itself instead of the individual files (see DB_ENV->add_data_dir() for additional information).
If any of the database files did not have an open DB handle during the lifetime of the current log files, the db_archive utility will not list them in its output. This is another reason it may be simpler to use a separate database file directory and copy the entire directory instead of archiving only the files listed by the db_archive utility.
Steps 2, 3 and 4 may be repeated as often as you like. If Step 1 (the initial copy of the database files) is repeated, then Steps 2, 3 and 4 must be performed at least once in order to ensure a consistent database environment snapshot.
These procedures must be integrated with your other archival procedures, of course. If you are periodically removing log files from your active environment, you must be sure to copy them to the backup directory before removing them from the active directory. Not copying a log file to the backup directory and subsequently running recovery with it present may leave the backup snapshot of the environment corrupted. A simple way to ensure this never happens is to archive the log files in Step 2 as you remove them from the backup directory, and move inactive log files from your active environment into your backup directory (rather than copying them), in Step 3. The following steps describe this procedure in more detail:
As before, steps 2, 3, 4 and 5 may be repeated as often as you like. If Step 1 (the initial copy of the database files) is repeated, then Steps 2 through 5 must be performed at least once in order to ensure a consistent database environment snapshot.


| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 22 |
| Avertissement | naming | AbbreviationAsWordInName | Abbreviation in name 'TYPE_CODE' must contain no more than '2' consecutive capital letters. | 70 |
| Avertissement | naming | MemberName | Member name 'TYPE_CODE' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'. | 70 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 106). | 35 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 101). | 53 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 102). | 35 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 102). | 35 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 23 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 24 |
| Avertissement | javadoc | JavadocMethod | Missing a Javadoc comment. | 31 |
| Avertissement | javadoc | JavadocMethod | Missing a Javadoc comment. | 32 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 24 |
| Avertissement | javadoc | JavadocMethod | Missing a Javadoc comment. | 31 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | indentation | Indentation | 'method def modifier' has incorrect indentation level 4, expected level should be 2. | 34 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 114). | 35 |
| Avertissement | indentation | Indentation | 'method def' child has incorrect indentation level 8, expected level should be 4. | 36 |
| Avertissement | indentation | Indentation | 'method def rcurly' has incorrect indentation level 4, expected level should be 2. | 37 |
| Avertissement | indentation | Indentation | 'method def modifier' has incorrect indentation level 4, expected level should be 2. | 39 |
| Avertissement | indentation | Indentation | 'method def' child has incorrect indentation level 8, expected level should be 4. | 41 |
| Avertissement | indentation | Indentation | 'method def' child has incorrect indentation level 8, expected level should be 4. | 42 |
| Avertissement | indentation | Indentation | 'method def rcurly' has incorrect indentation level 4, expected level should be 2. | 43 |
| Avertissement | indentation | Indentation | 'method def modifier' has incorrect indentation level 4, expected level should be 2. | 45 |
| Avertissement | indentation | Indentation | 'method def' child has incorrect indentation level 8, expected level should be 4. | 47 |
| Avertissement | indentation | Indentation | 'method def' child has incorrect indentation level 8, expected level should be 4. | 48 |
| Avertissement | indentation | Indentation | 'method def rcurly' has incorrect indentation level 4, expected level should be 2. | 49 |
| Avertissement | indentation | Indentation | 'method def modifier' has incorrect indentation level 4, expected level should be 2. | 51 |
| Avertissement | indentation | Indentation | 'method def' child has incorrect indentation level 8, expected level should be 4. | 53 |
| Avertissement | indentation | Indentation | 'method def' child has incorrect indentation level 8, expected level should be 4. | 54 |
| Avertissement | indentation | Indentation | 'method def rcurly' has incorrect indentation level 4, expected level should be 2. | 55 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 25 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 23 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 23 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 107). | 36 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 102). | 54 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 103). | 35 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 23 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 24 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 24 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 24 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 24 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 102). | 30 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 23 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 25 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 35 |
| Avertissement | naming | AbbreviationAsWordInName | Abbreviation in name 'TYPE_ALIASES' must contain no more than '2' consecutive capital letters. | 40 |
| Avertissement | naming | MemberName | Member name 'TYPE_ALIASES' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'. | 40 |
| Avertissement | javadoc | JavadocMethod | Missing a Javadoc comment. | 42 |
| Avertissement | javadoc | JavadocMethod | Missing a Javadoc comment. | 103 |
| Avertissement | whitespace | WhitespaceAround | WhitespaceAround: '{' is not preceded with whitespace. | 124 |
| Avertissement | javadoc | JavadocMethod | Missing a Javadoc comment. | 128 |
| Avertissement | whitespace | WhitespaceAround | WhitespaceAround: '{' is not preceded with whitespace. | 128 |
| Avertissement | whitespace | WhitespaceAround | WhitespaceAround: 'for' is not followed by whitespace. Empty blocks may only be represented as {} when not part of a multi-block statement (4.1.3) | 132 |
| Avertissement | whitespace | WhitespaceAround | WhitespaceAround: '{' is not preceded with whitespace. | 132 |
| Avertissement | javadoc | JavadocMethod | Missing a Javadoc comment. | 141 |
| Avertissement | javadoc | JavadocMethod | Missing a Javadoc comment. | 150 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 113). | 156 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 133). | 157 |
| Avertissement | javadoc | JavadocMethod | Missing a Javadoc comment. | 162 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 102). | 166 |
| Avertissement | whitespace | WhitespaceAround | WhitespaceAround: '+' is not preceded with whitespace. | 166 |
| Avertissement | whitespace | WhitespaceAround | WhitespaceAround: '+' is not followed by whitespace. Empty blocks may only be represented as {} when not part of a multi-block statement (4.1.3) | 166 |
| Avertissement | whitespace | WhitespaceAround | WhitespaceAround: '+' is not preceded with whitespace. | 166 |
| Avertissement | whitespace | WhitespaceAround | WhitespaceAround: '+' is not followed by whitespace. Empty blocks may only be represented as {} when not part of a multi-block statement (4.1.3) | 166 |
| Avertissement | whitespace | WhitespaceAround | WhitespaceAround: '+' is not preceded with whitespace. | 166 |
| Avertissement | whitespace | WhitespaceAround | WhitespaceAround: '+' is not followed by whitespace. Empty blocks may only be represented as {} when not part of a multi-block statement (4.1.3) | 166 |
| Avertissement | whitespace | WhitespaceAround | WhitespaceAround: '+' is not preceded with whitespace. | 166 |
| Avertissement | whitespace | WhitespaceAround | WhitespaceAround: '+' is not followed by whitespace. Empty blocks may only be represented as {} when not part of a multi-block statement (4.1.3) | 166 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 20 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 23 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 101). | 28 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 40 |
| Avertissement | naming | AbbreviationAsWordInName | Abbreviation in name 'JDBC_TYPE_HANDLER_MAP' must contain no more than '2' consecutive capital letters. | 46 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 124). | 46 |
| Avertissement | naming | MemberName | Member name 'JDBC_TYPE_HANDLER_MAP' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'. | 46 |
| Avertissement | naming | AbbreviationAsWordInName | Abbreviation in name 'TYPE_HANDLER_MAP' must contain no more than '2' consecutive capital letters. | 47 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 137). | 47 |
| Avertissement | naming | MemberName | Member name 'TYPE_HANDLER_MAP' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'. | 47 |
| Avertissement | naming | AbbreviationAsWordInName | Abbreviation in name 'UNKNOWN_TYPE_HANDLER' must contain no more than '2' consecutive capital letters. | 48 |
| Avertissement | naming | MemberName | Member name 'UNKNOWN_TYPE_HANDLER' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'. | 48 |
| Avertissement | naming | AbbreviationAsWordInName | Abbreviation in name 'ALL_TYPE_HANDLERS_MAP' must contain no more than '2' consecutive capital letters. | 49 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 110). | 49 |
| Avertissement | naming | MemberName | Member name 'ALL_TYPE_HANDLERS_MAP' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'. | 49 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 117). | 51 |
| Avertissement | javadoc | JavadocMethod | Missing a Javadoc comment. | 55 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 112). | 240 |
| Avertissement | javadoc | JavadocMethod | Missing a Javadoc comment. | 299 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 111). | 316 |
| Avertissement | javadoc | JavadocMethod | Missing a Javadoc comment. | 372 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 109). | 388 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 102). | 389 |
| Avertissement | javadoc | JavadocMethod | Missing a Javadoc comment. | 404 |
| Avertissement | coding | OverloadMethodsDeclarationOrder | Overload methods should not be split. Previous overloaded method located at line '398'. | 426 |
| Avertissement | javadoc | JavadocMethod | Missing a Javadoc comment. | 426 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 105). | 432 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 106). | 44 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | SummaryJavadoc | First sentence of Javadoc is incomplete (period is missing) or not present. | 28 |
| Avertissement | whitespace | WhitespaceAround | WhitespaceAround: '=' is not preceded with whitespace. | 91 |
| Avertissement | whitespace | WhitespaceAround | WhitespaceAround: '=' is not followed by whitespace. Empty blocks may only be represented as {} when not part of a multi-block statement (4.1.3) | 91 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 104). | 105 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 110). | 109 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | javadoc | JavadocParagraph | Empty line should be followed by <p> tag on the next line. | 28 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 118). | 40 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | indentation | Indentation | 'method def modifier' has incorrect indentation level 4, expected level should be 2. | 33 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 112). | 34 |
| Avertissement | indentation | Indentation | 'method def' child has incorrect indentation level 8, expected level should be 4. | 35 |
| Avertissement | indentation | Indentation | 'method def rcurly' has incorrect indentation level 4, expected level should be 2. | 36 |
| Avertissement | indentation | Indentation | 'method def modifier' has incorrect indentation level 4, expected level should be 2. | 38 |
| Avertissement | indentation | Indentation | 'method def' child has incorrect indentation level 8, expected level should be 4. | 40 |
| Avertissement | indentation | Indentation | 'method def' child has incorrect indentation level 8, expected level should be 4. | 41 |
| Avertissement | indentation | Indentation | 'method def rcurly' has incorrect indentation level 4, expected level should be 2. | 42 |
| Avertissement | indentation | Indentation | 'method def modifier' has incorrect indentation level 4, expected level should be 2. | 44 |
| Avertissement | indentation | Indentation | 'method def' child has incorrect indentation level 8, expected level should be 4. | 46 |
| Avertissement | indentation | Indentation | 'method def' child has incorrect indentation level 8, expected level should be 4. | 47 |
| Avertissement | indentation | Indentation | 'method def rcurly' has incorrect indentation level 4, expected level should be 2. | 48 |
| Avertissement | indentation | Indentation | 'method def modifier' has incorrect indentation level 4, expected level should be 2. | 50 |
| Avertissement | indentation | Indentation | 'method def' child has incorrect indentation level 8, expected level should be 4. | 52 |
| Avertissement | indentation | Indentation | 'method def' child has incorrect indentation level 8, expected level should be 4. | 53 |
| Avertissement | indentation | Indentation | 'method def rcurly' has incorrect indentation level 4, expected level should be 2. | 54 |
| Sévérité | Catégorie | Règle | Message | Ligne |
|---|---|---|---|---|
| Avertissement | whitespace | EmptyLineSeparator | 'package' should be separated from previous statement. | 16 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 106). | 36 |
| Avertissement | sizes | LineLength | Line is longer than 100 characters (found 101). | 54 |


Senior Dev at Genesys
Ember Learn Team
Triangle Ember Meetup Organizer
What is Glimmer?
Where is it Going?
Fun Examples
Live Code!
http://toddjordan.github.io/intro-to-glimmer-slidesExtracted Ember's Rendering Engine
Plus Ember Component Essentials
Productive Out of the Box with Ember CLI
Web Components!
import Component, { tracked } from '@glimmer/component';
export default class extends Component {
@tracked firstName;
@tracked lastName;
@tracked('firstName', 'lastName')
get fullName() {
return `${this.firstName} ${this.lastName}`;
}
}
Before They Show up in Ember
Install your way to Ember