What is Blockchain Technology?
“The traditional way of sharing documents with collaboration is to send a Microsoft Word document to another recipient, and ask them to make revisions to it. The problem with that scenario is that you need to wait until receiving a return copy before you can see or make other changes because you are locked out of editing it until the other person is done with it. That’s how databases work today. Two owners can’t be messing with the same record at once.That’s how banks maintain money balances and transfers; they briefly lock access (or decrease the balance) while they make a transfer, then update the other side, then re-open access (or update again).With Google Docs (or Google Sheets), both parties have access to the same document at the same time, and the single version of that document is always visible to both of them. It is like a shared ledger, but it is a shared document. The distributed part comes into play when sharing involves a number of people. Imagine the number of legal documents that should be used that way. Instead of passing them to each other, losing track of versions, and not being in sync with the other version, why can’t *all* business documents become shared instead of transferred back and forth? So many types of legal contracts would be ideal for that kind of workflow.You don’t need a blockchain to share documents, but the shared documents analogy is a powerful one.”
William Mougayar


Chip shop owner 'killed wife with boiling oil'
A fish and chip shop owner killed his wife by "throwing boiling oil" over her, a court has heard.
Geoffrey Bran, 71, denies murdering Mavis Bran, 69, in Hermon, Carmarthenshire, in October 2018.
Mrs Bran died in Swansea's Morriston Hospital, six days after suffering burns at The Chipoteria.
Swansea Crown Court heard Mrs Bran rang a friend after having scalding oil thrown at her, pleading with her to come and help.
Mr and Mrs Bran, who had been married for 30 years, opened the chip shop in a wooden cabin in January 2018 - one of a number of small businesses they owned.
In the months leading up to her death, Mrs Bran's friend Caroline Morgan noticed the couple's relationship was seemingly deteriorating, the court heard, with Mr Bran appearing withdrawn and his wife expressing concerns about his health.
She had told Ms Morgan she was "frightened of the defendant and afraid he was going to kill her".
'Skin coming off'
In a phone call at about 13:15 BST on 23 October last year, Mrs Bran told Ms Morgan: "Caroline, please help me, please, emergency, emergency, please get here. Geoff has thrown boiling oil over me," the jury was told.
Ms Morgan drove to the shop and told a lodger at the nearby house, Gareth Davies, to phone an ambulance.
Mr Bran told Mr Davies and Ms Morgan there had been an accident and Mrs Bran had slipped and pulled the fryer over herself.
Mr Davies told Mr Bran his wife's "skin was coming off her", but Mr Bran did not follow him to a neighbour's house where Mrs Bran had fled for help.
He asked Ms Morgan to cook some fish for new customers, but she told him to shut the shop.
Prosecutor Paul Lewis QC told the court: "It appears that financial pressures of their various businesses would at times put a strain on their relationship and they would sometimes argue about money.
"They are described by people who knew them as a couple who both had short tempers, and who have 'always argued, swearing and shouting at each other'.
"It is the prosecution case that the terrible burns that Mrs Bran suffered were not the result of an accident, but were caused by her husband deliberately pushing or throwing over her a deep fat fryer which contained scalding oil."
Mrs Bran was taken by air ambulance to the burns unit at Morriston Hospital in Swansea, where doctors found she had suffered burns to 46% of her body.
After being ventilated, she was unable to tell police what happened, the court heard.

Ms Williams said she heard Mrs Bran say: "Go and get him so that he can see the state of me and see what he has done."
She later developed sepsis and hypothermia and underwent surgery to remove some of her burned skin but died from multi-organ failure at the hospital six days after the alleged attack.
Mr Bran was initially arrested on suspicion of assault and denied attacking his wife, telling police: "She got burned with the chip fryer. She slipped and it came off the top and went over her. Don't ask."

He later said in an interview his wife had become "upset and agitated" because a fryer in their van was dirty and she became angry at him because four fish had been spoiled, before adding: "She can lose all reason."
The accused said his wife threw the spoiled fish in a temper, causing hot fat to fly through the air which led to her pulling the fryer unit down on top of herself.
Mr Bran was re-arrested on suspicion of murder on 22 November last year.


Music Player
{{ playbackTimeCurrent }}
{{ playbackSong }}
{{ playbackTimeTotal }}
Track
Artist
Album
{{ item.song }}
{{ item.artist }}
{{ item.album }}


- Balamb
- A port town on a tiny continent whose main attraction is Balamb Garden (see next entry). The town contains a hotel, a rental place, and a train station to Timber. Zell also lives in this town. It was briefly occupied by Galbadian forces during Edea's search for Ellone.
- Balamb Garden
- The building was originally a shelter built by the Centra people; it has the ability to completely lift up and travel independently by way of an energy barrier acting like a hovercraft. The Garden was started by Cid and Edea Kramer as a military academy to train people from the ages of 5 to 20; their purpose is to destroy the Sorceress. The main funding was provided by NORG, who suggested that to pay off the debt the SeeDs who graduated from Garden should be hired out as mercenaries to any faction who required it. The Garden is a self-contained city; places to visit include the Library, Infirmary, Training Center, Dormitory, Cafeteria, Quad, and Parking Lot. The Headmaster's Office is on the third floor and the classrooms are on the second floor. The flight mechanisms are on the MD Level and the Master's Room, where NORG lives, is in the first basement. This is basically the headquarters for Squall and Quistis, and later Zell and Selphie as well.
- Centra Excavation Site
- The name for the Lunatic Pandora when Laguna is exploring it.
- Centra Ruins
- The ancient home of the semi-benign king Odin is also teeming with Tonberries. The gargoyle statues play an important part in unlocking this dungeon's secret.
- Chocobo Forests
- All different, these puzzles are sometimes kind of tough to beat. When you win, you'll get a Chocobo. A Chicobo will follow its mom around the world map.
- Chocobo Sanctuary
- A place where all chocobos are always welcome.
- D-District Prison
- The place made by Deling to punish rebels was transformed into Edea's playpen when she took over. Seifer captured Squall and friends and tried to do some really nasty things to them here. Ward worked here as a janitor several months after the accident which impaired his larynx. The cells are removable and can be carried directly to the torture chamber by means of a giant crane-like device.
- Deep Sea Research Center
- An abandoned underwater site, originally built to research Draw effects; evidence of something very strange was found fathoms deep and this edifice was built to find out what it is. No one survived. It turns out to be infested with monsters and the home of Bahamut as well as the dreaded Ultima Weapon.
- Deling City
- Named after Galbadia's dictator, it's the capital of his empire. A large, sprawling city which houses a Presidential Residence for Deling, Caraway's Mansion, a Shopping Arcade, and the Galbadia Hotel. As well, trains head to all over from Deling Station. This was the site of Edea's coronation and a botched attempt at assassinating her.
- Dollet
- A port city on the western continent, Dollet was attacked by Galbadian soldiers in a successful attempt to restart its communication tower. The pub owner is an avid card player; the Card Queen's son and father live in a small apartment near the southern side. It also has the requisite shops, inn, and vehicle rentals. This was the site of Squall's field test.
- East Academy
- A train station near Galbadia Garden.
- Edea's House
- The former Kramer Orphanage is now rundown and abandoned. Edea and Cid return there when she regains her memory and personality. It's a central location in the minds and souls of its former residents.
- Esthar City
- The futuristic city of Esthar is one of the largest in any RPG. The crisscrossing skyroads are home to a wealth of peaceful people, as well as Dr. Odine's Lab, the Presidential Residence, an airstation (where the Ragnarok can dock) and a shopping mall, while special floaters take travelers through tubes to get everywhere with the minimum of trouble. The entire continent is hidden from view by means of a giant force field. This city was strafed by a Galbadian-manned Lunatic Pandora later in the game.
- Fire Cavern
- The home of GF Ifrit and other fire creatures, this is the place where most SeeD candidates go before their field test to try out their skills.
- Fishermans Horizon
- A village on the water, located halfway between Balamb and Esthar. All of the citizens used to work for Esthar before Sorceress Adel came and wreaked havoc; they escaped to FH, as they call it. The name was made up by the Master Fisherman who lives there, but supposedly it doesn't mean anything. Mayor Dobe is an avid pacifist; he used to be a nuclear specialist in Esthar. The Grease Monkey knows the Artisan from Shumi Village. Martine retires here as well after the Galbadian takeover.
- Galbadia Garden
- Another movable shelter like Balamb Garden and started by Cid as well. The headmaster is Martine, who was ignominiously dumped when Edea took over and the Garden was made into her own headquarters. The Garden's very into sports, with a mean ice rink and tennis court. The SeeDs there use giant flying machines (very mech-like) for battle. Irvine was sent here for starters, but wasn't there long before he was commissioned to Squall. The Garden was sent to attack Balamb Garden in an epic battle which tested Squall's leadership skills to the max.
- Great Salt Lake
- A frozen wasteland in western Esthar holds the only entry into the force field surrounding the continent.
- Horizon Bridge
- The bridge connecting Fishermans Horizon and Esthar.
- Kramer Orphanage
- See Edea's House.
- Lunar Base
- A pathway to the stars, which uses cryogenics to shuttle people to a settlement on the moon, where scientists monitor the dormant form of Sorceress Adel. Piet is the leader on the moon; Ellone is taken here for her own safety.
- Lunatic Pandora
- A giant stone, excavated years ago for traces of its power. It helps draw the monsters to earth in a Lunar Cry. The secret to piloting it was devised by Dr. Odine and Laguna, but Galbadians stole it and drove it to Tear's Point, causing a Lunar Cry. Laguna explored this during his prime as a Galbadian soldier; a confrontation with Esthar troops ended in tragedy for his men.
- Missile Base
- Galbadia's development facility has the capacity to decimate a city - as it demonstrates by torching Trabia Garden. Selphie does her best to try to stop the missiles, but sometimes your best just isn't enough...
- Shumi Village
- An village 323 meters underground in the northern continent is populated by the peaceful Shumi people. The Shumis evolve as they grow older and their appearance changes to suit their hearts; most become Elders or Moombas. The current Elder is very wise but sometimes way too down-to-earth - at least for his poor Assistant. The Shumis refer to themselves in third person, and only by their occupations. It's home to the Artisan, Specialist, and Sculptor as well. Laguna's statue is being built here.
- Sorceress Memorial
- A large edifice, standing in southern Esthar; its purpose isn't clear, but that's where they want to seal Rinoa's powers.
- Tear's Point
- A place of great magical (or something like it) significance, it also has the power, under certain circumstances, to cause a Lunar Cry. The Solomon Ring can be found here, and the Lunatic Pandora is guided there by Galbadian forces.
- Timber
- A city desperately trying to rebel against Galbadia's iron rule. Timber houses tons of rebel factions who just don't seem to be able to make a dent in the dictatorship. It's also the home of Timber Maniacs, the worldwide publishing firm where Laguna made his mark. It's a train center, with trains heading to several spots on the continent and off it. Rinoa's known Mrs. DiMarco, the inn owner, for years.
- Tomb of the Unknown King
- As the name implies, a dead king is buried here. It's supposedly bad luck to name them, so it hasn't. This maze is also the home of the Minotaur (in his own element, I guess) and his brother, Sekhret. It's used as the test to see if Squall and his friends are worthy to meet Caraway.
- Trabia Garden
- Selphie hails from the third Garden. Not much is known about it, since the first time we see it is when it's already in ruins from Galbadia's missiles. There's a gargoyle statue at the entrance, and a basketball court.
- Ultimecia Castle
- The most enormous final castle ever constructed, this is a true castle - complete with dining rooms, dungeons, art galleries, stables, and of course the throne room. There are more tricks up this place's sleeve than there are in many RPGs put together.
- White SeeD Ship
- Edea's orphanage was relocated here for a while, until the orphans began to pilot it themselves and Edea was lost from history. Ellone was rescued by them to evade Galbadian guards, but she left with the Esthar ships during a bloody battle.
- Winhill
- Laguna spent some time here fighting monsters after his stint in the Galbadian army. This is where he met Raine and Ellone. Kiros came to visit him not long after he moved in and convinced him to try out Timber Maniacs for a living. Laguna spent many years afterwards searching for Ellone, who was captured by Esthar soldiers. A millionaire lives in this otherwise bucolic town; a Chocobo patch has also grown up over the years.
Final Fantasy, all games and animation bearing the Final Fantasy name, and all characters in said games or animation are copyright their respective creators, including but not limited to Squaresoft, Square Enix, Square EA, Tokyo TV, and ADV Films.


Xelay Capital is the advisory investment affiliate of Xelay Acumen. The principal investment objective of the Fund is to achieve capital appreciation through investing in primarily in publicly traded equity securities and exchange traded funds. Xelay Capital leverages an experienced team of quantitative oriented investment professionals to achieve its investment objectives.
The Xelay Capital team evaluates investments based on in-depth quantitative and financial analysis. The Xelay Capital Fund has outperformed the major market indexes in 4 out of 5 years and on average 7% per year since its inception in late 2007.


| Regatta | Year | Competitors | Grade | Place |
|---|---|---|---|---|
| Oakcliff August Grade 3 | 2017 | 10 | 3 | 2 |
| Rose Cup | 2017 | 10 | 3 | 4 |
| US Match Race Quailfier San Diego | 2017 | 10 | 5 | 4 |
| Musto Youth Match Race | 2016 | 12 | 2 | 9 |
| Harken Youth Match Race | 2016 | 12 | 3 | 10 |
| Rose Cup | 2016 | 10 | 3 | 7 |
| US Match Race Quailfier San Diego | 2016 | 10 | 5 | 2 |
| LBYC Jr. Match Race Invitational | 2015 | 10 | 5 | 3 |


No more dirty kitchens
Mount it on your favorite window and save space
Let the app guide you through the experience of growing
Save 70% more water and grow up to 50% faster
Harvest your herbs just when you are going to eat them. With no pesticides, herbicides, GMO seeds or preservatives
Take your herbs to your table to enjoy with friends and family
Impress your friends with the best tasting plants and drinks with herbs grown by yourself
See how your plant grows and when you need to add water or nutrients
Determine if your plant is receiving enough sunlight
Share your experience and join the growing community
Seed
Harvest
Repeat
Feedback, partnerships, press? That's great! Give us a call or send us an email and we will get back to you as soon as possible!
San Francisco, CA


It may take up to several minutes. This page will reload after 60 s.
If the problem persists, look at web server logs or contact administrator.


Sample page utilizing the bootloader to inject SafeFrame Framework and render a banner ad
The Bootloader is a sample that shows a single script include configuring SafeFrame and delivering the ad. This page has two bootloader tags in place. Each tag specifies the ad script to be delivered and placement of the ad via fragment parameters on the script src attribute.
The code <script src="sf_bootloader.js#w=120&h=600&target=skyscraper_ad&ad=http://l.yimg.com/pq/js/adx_qa,cgong-teset/120_600_exp,C=demo,P=publisher1/ad2.js?q=1299740219"></script>
The bootloader script detects the presence or absence of the SafeFrame framework. If missing it dynamically loads the framework files. Once loaded the bootloader parses parameters passed to the script on the src URL fragment. These parameters specify location, size, and ad script URL.
| Parameter | Description |
|---|---|
| w | Width of the ad |
| h | Height of the ad |
| ad | URL of the script that will deliver the ad content. In the bootstrap sample, this should be the last parameter. |


Function Context Cheatsheet
Types of Invocation
- Applies to only named and unnamed functions
- Doesn't matter for fat arrow functions
Function-style invocation
- Context of the function will be global context UNLESS binded
Method-style invocation
- Context of the function will be the object which the function is called on UNLESS binded
Types of Functions
Named Function
- explicit
return
keyword required
- curly braces
{}
around function body
- NOT saved to a variable
- parameters must be surrounded by parentheses
()
- context is defined by how it's invoked or called
- function-style: global context
- method-style: context is object that function is being called on
- calling
bind
on the function will return a function binded to the context of the bind
argument
Unnamed Function
- explicit
return
keyword required
- curly braces
{}
around function body
- MUST be saved to a variable
- parameters must be surrounded by parentheses
()
- context is defined by how it's invoked or called
- function-style: global context
- method-style: context is object that function is being called on
- calling
bind
on the function will return a function binded to the context of the bind
argument
Explicit Fat Arrow Function
- explicit
return
keyword required
- curly braces
{}
around function body
- MUST be saved to a variable
- parameters must be surrounded by parentheses
()
IF more than one parameter
- takes the context of where it's defined
- CANNOT be binded using
bind
Implicit Fat Arrow Function
- NO
return
keyword
- function body can only consist of what is being returned
- Optional parentheses
()
around function body > NOTE: Parentheses needs to be used if returning an object ex: ({ key: value })
- MUST be saved to a variable
- parameters must be surrounded by parentheses
()
IF more than one parameter
- takes the context of where it's defined
- CANNOT be binded using
bind
Bind
bind
accepts multiple arguments
- first argument is the context that you want to bind the function to
- any arguments that come afterwards will be passed in when the bound function is called BEFORE the call time arguments


EB Games’ Black Friday Sale offers deals on games and consoles
by Dean DaleyEB Games has announced its Black Friday deals.
Unfortunately, the retailer hasn’t revealed all of its upcoming deals yet. In fact, it’s only showing the first page of its Black Friday promotion.
This first page reveals that the sale starts on November 28th and ends on December 2nd. Additionally, you’ll get 1500 Bonus Edge Points if you spend $120 or more.
Futher, you can get an extra 50 percent credit when you trade towards anything in the flyer.
Here are the deals for Black Friday revealed on the first page in Canadian dollars.
- 1TB PlayStation 4 bundle, DualShock 4, God of War, The Last of Us Remastered, Horizon Zero Dawn: Complete Edition games — $249.99 and $119.99 when you trade in any PS4 in working condition
- 1TB Xbox One bundle with controller and Star Wars Jedi Fallen Order: Deluxe Edition — $249.99 and $149.99 when you trade in any Xbox One in working condition
- Spider-Man — now $29.99, was $49.99
- Days Gone — now $29.99, was $49.99
- Call of Duty Modern Warfare on PS4 and Xbox One with free socks — now $59.99, was $79.99
- MediEvil — now $29.99, was $39.99
- The Show 19 — now $29.99, was $39.99
- Borderlands 3 on Xbox One and PS4 — now $49.99, was $79.99
- NBA 2K20 with NBA 2K20 75,000 VC (in-game currency) on Xbox One, PS4 and Nintendo Switch — now $39.99, was $79.99
- DualShock 4 controller — now $49.99, was $74.99
- PlayStation 4 and Xbox One Accessory Pack by Biogenik — now $29.99
- Black Friday Marvel Mystery Box — $29.99
- Save $10 on PlayStation Hits for $9.99, which includes The Last of Us, God of War, Horizon Zero Dawn the Complete Edition, Uncharted 4, Nioh, Bloodborne and more
- Forza Horizon 4 — now $39.99, was $79.99
- Gears 5 — now $39.99, was $79.99
- Sea of Thieves — now $34.99, was $69.99
- Crackdown 3 — now $19.99, was $39.99
- Rage 2 PS4 and Xbox One — now $26.99 was $79.99
- Tom Clancy’s Ghost Recon Breakpoint on PS4 and Xbox One — now $39.99, was $79.99
- Kingdom Hearts 3 — now $19.99, was $39.99
- Just Cause 4 — now $19.99, was $39.99
- Metro Exodus — now $19.99, was $39.99
- Shadow of the Tomb Raider — now $19.99, was $39.99
- Collection of Mana — now $29.99, was $49.99
- Dragon Quest Builders 2 — now $29.99, was $49.99
- Final Fantasy XII The
- Zodiac Age — now $29.99, was $49.99
When EB Games reveals more page, we’ll update the article.


Spending faster than we earn
by Elana Shepert, Vancouver is AwesomeA new survey finds that the overwhelming majority of Canadians say that the average household carries too much debt, while two-in-five do not expect to escape debt in their lifetime.
According to the Manulife Debt Survey, a whopping 94 per cent of Canadians say the average household is in too much debt. What’s more, 45 per cent now report that their spending is increasing faster than their income. That’s up from 33 per cent in the spring.
The study also found that non-mortgage related debt is climbing, with 60 per cent reporting debt on credit cards that carry a balance, which represents a 12 percentage point increase over what was observed in the spring.
“There is a financial wellness crisis, and it’s affecting Canadians of all demographics,” said Rick Lunny, president and CEO of Manulife Bank. “The good news is that there are intuitive, helpful tools out there to make people’s financial decisions easier and lives better.”
Baby boomer Canadians are in better financial shape than millennials and gen-Xers, with three-in-five reporting that they are better off than their parents were at their age. In contrast, under half of gen-Xers and millennials feel the same way.
Millennials reported feeling more optimistic than gen-Xers about their spending.
The Manulife Bank of Canada poll surveyed 2,001 Canadians in all provinces between ages 20 and 69 with a household income of more than $40,000. The survey was conducted online by Ipsos between Sept. 20 to Sept. 26. National results were weighted by gender, age, region and education.


IUserManager interface
IUserManager specifies the interface that must be implemented by a user manager class if it is to be used together with TAuthManager and TUser.
Located in /Security/IUserManager.php (line 25)
Returns a user instance given the user name.
Returns a user instance according to auth data stored in a cookie.
Saves user auth data into a cookie.
Validates if the username and password are correct.
Documentation generated on Fri, 03 Jun 2011 16:22:00 +0200 by phpDocumentor 1.3.0RC4


Meal Shuffle
Title:
Tag
Breakfast
Lunch
Dinner
Side
Dessert
Snack
Ingredients:
Each Ingredient should be written on a new line.
Instructions:
Each step should be written on a new line.
Appliances:
Each item should be written on a new line.
shuffle


A Ruby on Rails application built with component based architecture serving multiple portions to different audiences for example: public, admin and API will install and require them all but you can require only the necessary portion to reduce memory usage and speed up the bundling process.
I leverage bundler groups to define the portions of my application inside the Gemfile
for example an app serving public and admin:
# Gemfile
group :public_app do
path 'components' do
gem 'public_ui'
end
end
group :admin_app do
path 'components' do
gem 'admin_ui'
gem 'legacy_migration'
end
end
The admin application is deployed with some legacy migration daemons.
Speed up deployment
Running bundle
on your workstation installs all the gems and locks your Gemfile.lock
with all the components but when you deploy to the admin server you can (and should) ignore the public portion that isn’t required. For example deploying the public application with:
bundle --without 'public_app'
You will see a confirming message: Gems in the group public_app were not installed.
and probably shave off a few seconds from installing unnecessary dependencies.
If you don’t like the inline option you can use an environment variable BUNDLE_WITHOUT
for more information see bundler excellent documentation. Heroku supports that environment variable.
Decrease memory usage
Inside config/application.rb
change Bundler.require
to:
Bundler.require(*Rails.groups + AppRunningMode.bundler_groups)
AppRunningMode
is aware of the APP_RUNNING_MODE env variable and translates that in to a bundler group.
Here’s an example:
class AppRunningMode
class << self
def value
case ENV['APP_RUNNING_MODE']
when 'workshop'
return :workshop
when 'playground'
return :playground
else
return :development
end
end
def bundler_groups
case value
when :workshop
return [:workshop_app]
when :playground
return [:playground_app]
else
return [:workshop_app, :playground_app]
end
end
end
end
This extends the class I use to allow components routes to be mounted programmatically when serving multiple portions.
Benchmarking a practical example
I created a test example app with a component based app running two portions: playground and workshop. I’ve setup workshop to depend and require these gems at startup:
s.add_dependency "chronic"
s.add_dependency "state_machine"
s.add_dependency "carrierwave"
s.add_dependency 'prawn'
s.add_dependency 'cinch'
s.add_dependency 'nokogiri'
to keep the example simple playground doesn’t have any dependency.
The benchmark is a simple ps
for the current ruby process in a controller like this:
memory_usage = `ps -o rss= -p #{Process.pid}`.to_i
render text: "Ruby process memory usage #{memory_usage} KB"
and rendered it out on a /benchmark
.
Running playground portion only:
Ruby process memory usage 73924 KB
Running both playground and workshop:
Ruby process memory usage 83148 KB
I’ve uploaded a github repo here with this example as well as a simpler one file test outside of Rails.
Conclusion
If your Ruby on Rails application holds multiple portions in a single repository requiring only the served portion will help reducing memory usage as well as enforcing your dependency structure.
I checked on the public portion of an app deployed on Heroku running a 2400 requests per minute load test from an EC2 instance with Vegeta before the change the 10 2X dynos memory usage on Newrelic would go from a minimum of 422 up to 674MB. After the change and applying the same load test we’re starting from 377 up to 588MB. You milage might vary but I’d be surprised if you have no gain.
The Gemfile.lock
remains the manifest of what your apps are locked to. If for some reason you need different versions of the same gems in your components I’d love to hear from you, perhaps you should revisit the monolithic approach.


The simplest implementation of the JNDI SPI that could possibly work.
Useful for setting up a simple JNDI environment for test suites
or standalone applications. If e.g. JDBC DataSources get bound to the
same JNDI names as within a J2EE container, both application code and
configuration can me reused without changes.


Psalms 76:5
The stouthearted are spoiled, they have slept their sleep: and none of the men of might have found their hands.


| | |
- builtins.object
-
- MVP
- TransformDF
class MVP(builtins.object) |
| |
MVP(model)
Base class for quickly producing Minimum Viable Product for EDA and Baselines
Expects a predictive model
Methods available:
fast_first - quick EDA tool |
| |
Methods defined here:
- __init__(self, model)
- requires a predictive model at construction.
- fast_first(self, df, target)
- Quick method for producing baseline results.
return baseline, split data, fit basic encoder/imputer/model
return accuracy for classification, MAE for regression
Keyword arguments:
df -- data frame to be used for modeling
target -- str title of column to be used as target
Data descriptors defined here:
- __dict__
- dictionary for instance variables (if defined)
- __weakref__
- list of weak references to the object (if defined)
|
class TransformDF(builtins.object) |
| |
base class for all df transformations. |
| |
Static methods defined here:
- add_to_df(new_list, df)
- convert list to series and create new column containing series.
- date_split(df, date_col)
- take date column, convert to DateTime, split into relevant columns, return data frame.
Data descriptors defined here:
- __dict__
- dictionary for instance variables (if defined)
- __weakref__
- list of weak references to the object (if defined)
| |


Microsoft new app on Android: Word, Excel and PowerPoint in one app
by AbdullahMicrosoft launches a new app on Android: Word, Excel and PowerPoint in one app
3.6 (72.29%) 83 votes
Microsoft is heavily invested in the Android ecosystem. The company offers its own launcher, but also its services. In this category, the best known is still Microsoft Office that the firm offers in the form of a suite of different applications for Android: Word, Excel, PowerPoint, but also Office Lens to scan documents.
All this now changes with the launch of the new Office application
Microsoft has indeed published on the Play Store a new application named “Microsoft Office: Word, Excel, PowerPoint & more” which as the name suggests proposes to bring all the aforementioned applications in a single app. The application is currently in “early access”, that is to say in beta.
In addition to creating or editing Word, Excel and PowerPoint documents from the Android smartphone. Also, the application also integrates Office Lens capabilities to scan documents, whiteboards or even simple QR codes.
Hard to know what Microsoft’s future holds for previous separate applications. The editor seems for the moment focused on its new unified application.
Android: Word, Excel and PowerPoint – Key Features
Word, Excel, and PowerPoint combined in one app:
- Create, edit, and work together on documents with others in real-time.
- Store and access documents in the cloud or on your device.
- Easily access recent and frequently used files stored in the cloud or on your device.
- Search for documents stored in the cloud, on your phone, or across your organization (if using a work account).
Quickly perform common mobile tasks with built-in Actions:
- Instantly create PDFs from photos or Word, Excel, and PowerPoint documents.
- Sign PDFs using your finger.
- Quickly jot down ideas and notes with Sticky Notes.
- Easily transfer files between your phone and computer or share instantly with nearby mobile devices.
- Scan QR codes to open links.
Update: It seems that Microsoft has pulled the app from the Play Store, Here is an alternative link (Download).


Landgrab is a game where each player tries to destroy all the other
player's pieces. The rules are:
- Players have {{ rules.pieceCount }} pieces on an {{ rules.boardSize }}
by {{ rules.boardSize }} board represented as a grid.
- Pieces have {{ rules.life }} life and do {{ rules.damage }} damage
initially.
- Player can optionally move any of their pieces one cell in the 8
cardinal directions.
- Collisions between pieces cause the current player's pieces to damage
all contacting enemy units equal to their damage amounts.
- Pieces that have taken damage greater than or equal to their life are
removed from the board.
- Pieces gain a level when they participate in destroying another piece,
increasing their damage by {{ rules.damageIncrease }} and life by
{{ rules.lifeIncrease }}.
- Players with no pieces at the end of a turn lose.
- Players have {{ rules.timerDuration.inSeconds }} seconds to move each
turn.


About this site
Welcome to my personal hiking log.
Feel free to use the slippy map to explore our hiking experiences and learn more about their locations. Tracks, markers and photos
are clickable. The controls at the top left part of the map provide for zooming, base map and layer display control. The control at the bottom left
is an interactive elevation profile widget. The track label at the top right provides track information and a slide show (if pictures are available.)
This is a work in progress. Please forgive the bugs and omissions. I will be adding tracks to the site and continue testing and enhancing it over time.
Photos by:
Hilde Morin
Feedback and questions are greatly appreciated
Geek info...
Building blocks
This project uses free and open source components and data as shown below.
Core mapping framework:
- The powerful Leaflet Javascript library for projection maps
- The amazing Cesium Javascript library for globe and 3D mapping
Components and plugins:
Base maps:


var resultHandler: ((Boolean, PreparedStatement) -> Unit)?
Handler that is called after executing the PreparedStatement. The first argument is the return value of PreparedStatement.execute(). Client code can set this to a different value in order to obtain the PreparedStatement and the return value of PreparedStatement.execute after it is called by Builder.run.


Deploy
With our open source platform, application data never has to leave your infrastructure. Deploy via Kubernetes, Docker, Digital Ocean. Or choose the Budibase Cloud and let Budibase manage everything for you.
Host with Budibase and let us manage everything for you - easiest and quickest way.
Deploy Budibase to your own infrastructure using Docker and Docker Compose.
Use the Budibase helm chart to deploy Budibase directly into your Kubernetes cluster.
The simplest and quickest way to self-host Budibase on your own infrastructure - 1 click install.


Paneer Makkhanwala
Ingredients :
- Paneer (cottage cheese) cut into 1 inch cubes 400 grams
- Tomato quartered 500 grams
- Garlic cloves 7-8
- Ginger piece, roughly chopped 1 1/2 inches
- Green cardamoms 7
- Mace blade 1/2
- Red chilli powder 2 tablespoons
- Nutralite 1/2 cup
- Salt to taste
- Dried fenugreek leaves (kasoori methi) 1 1/2 teaspoons
- Honey 1 tablespoon
- Fresh cream 1/4 cup
- Garam masala powder 1 teaspoon
For garnish:
- Fresh cream 2 teaspoons
- Fresh coriander leaves 1 sprig
Direction:
* Heat a deep non-stick pan. Add the tomatoes, garlic, ginger, green cardamoms, mace,
1 cup water, red chilli powder and Nutralite and let it boil for 15 minutes.
* Add the salt and mix well. Take the pan off the heat and allow it to cool.
* Blend the gravy to a fine puree, strain into another deep non stick pan and cook for 5 minutes.
* Add the cottage cheese cubes and kasoori methi powder and honey and cook for further 2-3 minutes. Add the cream and garam masala powder and mix lightly.
* Transfer into a serving dish, garnish with a swirl of fresh cream and a coriander sprig and serve hot.
Nutrition Info:
Calories : 1907
Carbohydrates : 37.6
Protein : 79.2
Fat : 160
Other : Zinc- 2.2mg


9.0 Ground Combat
Ground combat is conducted in the Combat Segments of the Combat Phase and Exploitation Phase. Overruns also use the ground combat procedure, but with some differences as outlined in section 8.0. To engage in combat, the attacking units must be adjacent to the hex being attacked. There are some other important considerations:
- Units that are not Attack-Capable (4.4) can never attack.
- HQ (13.1c) and artillery (13.4b) are combat units that do not have a printed Combat Strength.
- Artillery, ships, and planes do not attack enemy ground units using regular combat. They “attack” using Barrage (10.0).
- Hexes that do not contain enemy combat units cannot be attacked. Such hexes are dealt with by using Specialized Combats (9.14).
- Supply dumps, Transport Points, air bases, planes, ships, and ports do not take part in regular combat at all—they do not add any strength, cannot absorb any loss, and (except for Organic Trucks) cannot retreat. Whenever enemy Attack-Capable units enter a hex with these units, a Specialized Combat (9.14) occurs.
Expanded Outline Procedure
- Attacker announces attacking hex(es) and defending hex
- Pay combat supply (SP 12.4 or internal stocks (12.10)
- Attacker first; defender 1/2 strength if not paid
- 2D6 for Surprise + 1D6 for column shift
- Each side chooses AR unit
- Surprise/Combat DRM = (ATK AR) - (DEF AR) – (-1 to DRM for hog 16.0)
- Determine odds and column on combat table
- Roll 2D6 + DRM (from 3) for result
- Execute combat results (9.10)
Procedure:
The attacker announces the attacking hex(es) and the defending hex. Before determining any odds or modifiers, both sides must put their involved combat units into combat supply by expending SP according to the Supply Table (9.5) or by expending internal stocks (12.10). The attacker does this first and if he cannot do so, the attack is cancelled and the defender does not need to expend any supply. If the defender does not expend supply (or has none), the attack continues, but the defender fights at half Combat Strength. Each side selects a unit whose Action Rating (AR) will “lead” the combat. Subtract the defender’s AR from the attacker’s AR and use this difference as a Dice Roll Modifier (DRM) affecting both Surprise determination and the combat roll. Roll two dice for Surprise to check for possible “surprise shifts” to the Combat Table. Determine the base Combat Table odds by comparing the Combat Strengths for each side (making all adjustments for mode, terrain, and supply) as a ratio of Attacker:Defender (rounding fractions per the rounding rule). On the Combat Table, locate the correct odds column on the appropriate terrain category row. If either player has Surprise, adjust the table column accordingly. Roll two dice, modifying the roll by the DRM for Action Rating and any Hedgehog the defender might have. Cross-index the modified roll with the odds column to find the combat result. Apply that result, starting with the unit of each side whose AR was used to determine Surprise.
9.1 Restrictions on Combat
9.1a Only the phasing player’s units can attack in a Combat Segment, and only the moving player’s units can overrun in a Movement Segment.
9.1b Attacking is always voluntary, and just part of a stack can be used if the player wants.
9.1c No unit can divide its strength to attack more than one hex, nor can multiple defending hexes be attacked in one combined combat. Except for stacking (4.8a), there is no limit on the number of units that can engage in an attack from a single hex. There are some important differences between regular combats and overruns (in addition to things covered in 8.0):
- In a Combat Segment, a given unit may attack only once and a given hex can only be attacked once. A hex can be attacked from as many adjacent hexes as the attacking player wants.
- In a Movement Segment, a given unit may perform multiple overruns and there is no limit on how many times a given hex can be attacked via overrun. Only the currently moving stack can overrun, so overruns must come from a single adjacent hex.
9.1d Attack all combat units in a hex as a single, combined defending strength. The defender can never withhold units in a hex from combat.
9.1e Units can be restricted in their ability to attack by mode (units in Strat Mode and unreleased reserves cannot attack), supply status (requisite SP or internal stocks not available), terrain (see 9.1f), and unit type (parenthesized Combat Strengths can only defend). Fuel is not needed to attack or defend.
9.1f A unit can never attack a hex that the movement rules (see especially 6.1d and 6.2c) prohibit it from entering. This applies even if the TEC seems to indicate otherwise. Note also that if a hex can be entered in movement, but only by using a road, a regular combat is allowed, but not an overrun (8.1c).
9.1g Resolve attacks that begin past, or are shifted past, odds shown on the table using the last available column. Also, attacks with odds which begin off the table have column shifts measured from the last available column.
Example: A player makes a 1:12 attack (shame on him). The starting column is the furthest left, or 1:5. Fortunately, Surprise is obtained and a column shift of 6 is rolled. The player shifts six columns from the 1:5 column to 3:1.
9.2 Sequence Summary
- 1) The attacker selects the attacking and defending hexes.
- 2) Both players expend the required SP (see Supply Tables; 12.4). Note if the defender cannot spend supply, or chooses not to do so, he defends at half strength.
- 3) Announce Action Rating values, attacker first then the defender.
- 4) The defender announces terrain choices (9.3b) and players then determine the initial odds.
- 5) Using each side’s Action Rating unit, determine the DRM (9.6).
- 6) Roll two dice to determine any Surprise. Modify the odds column per 9.8.
- 7) Roll two dice and use the DRM in 9.6 to determine the result.
- 8) Execute combat results—attacker first, then the defender—starting with the unit of each side used to determine the Action Rating DRM (9.11c).
- 9) If the defender’s hex is now vacant and the attacker has not retreated as part of an option result, the attacker can advance after combat into the defender’s hex.
Design Note: While learning the system, use this summary for each combat and follow the steps rigorously in order. Even after the system is well known, it is a good idea to use this as a check list to keep things straight. The order of the steps is important!
9.3 Terrain and Combat Table
The Combat Table divides terrain into four general terrain categories: Open, Close, Very Close, and Extremely Close. These categories define the row to be indexed with the odds column. Always use the defender’s hex (or hexsides) to determine the terrain category.
9.3a Units must be able to move into a hex being attacked. See 9.1f.
Important Note: The Terrain Effects on Combat Chart will usually mark with an asterisk a situation where combat might not be possible if hexes are not connected by a road. But 9.1f always applies, whether or not an asterisk is—or is not—on the chart.
9.3b Multiple Terrain Types. Some hexes include more than one terrain symbol (such as woods and mountains). The defender gets to choose which one of these terrain types affects the combat (per 9.4b and 9.4c). The amount of the terrain symbol in the hex does not matter except in the case of cities and villages (where spillover is ignored).
9.3c The effects of terrain on attacking and defending units, and the terrain’s Combat Table category, are found on each game’s Terrain Effects Chart.
9.4 Terrain and Unit Strength
Combat units are divided into three classes (3.2a): Armor, Mech, and Other. The combat strength of units in each class is sometimes modified by terrain. For instance, attacking Armor is usually x2 in Open.
9.4a Apply Terrain Effects to every unit independently. (Some might be halved, some quartered, etc.)
9.4b The defending player gets to choose the one terrain that will modify each attacking stack: either a type in the defender’s hex (such as mountain or woods), or along the hexside (such as river or wadi) the attack crosses. This is a separate decision for each attacking stack. Remember: only the hex or the hexside can be chosen; these modifiers are not cumulative.
9.4c The defending player also gets to choose the one terrain that will modify the defending stack. This choice is not restricted by the selection(s) made in 9.4b. Only hex terrain (not hexside) can be chosen. This choice also determines the terrain category line to be used on the Combat Table.
Example: A city hex is attacked from three adjacent hexes. Each of the three attacking hexes are across minor river hexsides. Two of the attacking hexes are open terrain, the last is a swamp. The defending player believes his city hex will hurt some of the attacking hexes more than the minor river (seeing armor in each), so he selects the city hex as the terrain for two of the attacking hexes. The remaining attacking hex has infantry showing, so the defender selects the river instead. That done, the defending player selects city for his defense (Very Close in this case). The terrain in the attacking hexes does not matter.
9.4d If a Terrain Effect is in brackets ([x2], etc.), that modifier only applies to attacking units. On defense, all such bracketed modifiers are read as x1.
9.4e Anti-Tank (AT) Effects.
A “x2” Terrain Effect for attacking Armor or Mech is sometimes reduced to “x1.5”. Do this when the defender’s hex has the same or a higher level of AT Effects.
- Heavy AT Effects are given to all Yellow-coded units, Red-coded units with Tank symbols (such as a Soviet Tank Brigade), units with an Anti- Tank or Anti-Aircraft symbol, and hedgehogs.
- Light AT Effects are given to all Red-coded units which do not have a Tank symbol (such as recon units and panzergrenadiers).
- No AT Effects are given to all other unit types.
Consider AT reductions to the attack multiplier on an individual unit basis.
Design Note: These Anti-Tank Effects show the reduction in the offensive power of mechanized units when confronted by defenses prepared for their threat. As a side benefit, they bring out the “hard-yet-soft” character of most Red-Mech units. Note the Red-Mech units with a tank symbol (and only that exact symbol) are a special case because they have inherent infantry strength as well as tanks.
Example: An attack has some Panzers (Heavy AT) and some Panzergrenadiers (Light AT). Normally, these units would all be x2 when attacking an open terrain hex. If a defending unit provides Light AT Effects (but none provide Heavy AT), the attacking Panzers would still be x2 but the attacking Panzergrenadiers would be x1.5. If the defending hex had Heavy AT Effects, the attackers would all be x1.5.
9.5 Supply and Combat
Both combat supply and trace supply are needed to fight at full effectiveness. Being marked Out of Supply affects unit strength independently of the combat supply concerns, and all such reductions (if any) are cumulative.
- A) Units cannot attack at all without combat supply.
- B) Units without combat supply can defend at half strength. A player can choose to withhold combat supply (internal or otherwise) if he so desires.
- C) Internal stocks can only be used when regular supply is physically unavailable. (Exception: The SP loaded on an Organic Truck is exempt from this requirement.)
Design Note: This rule prevents players from relying on internal stocks (instead of using SP) in situations where a unit involved is pretty likely to die anyway. That would allow far too much micro- management—in effect getting a “free” combat. Allowing a unit to defend without supply is a safety valve for tight situations where the defending player might otherwise be the target of “supply soak-off” attacks.
9.5a When marked Out of Supply, a unit with combat supply can still attack and defend, but does so at half strength. The same unit with no combat supply cannot attack at all and defends at 1/4 strength. (Modifications are in addition to possible Mode modifications.)
9.5b Combat Supply (see 12.4) is paid at the instant of combat using either SP or internal stocks (12.10).
Example: A player attacks with three units (each 1 RE) against a lone defender (1/2 RE). To be considered in combat supply, the attacker must expend 3T and the defender must expend 1T. In this case, the attacker cannot expend the 3T—he has only 1T. He must reduce the attack to one unit, use some internal stocks, or not attack at all. He cuts down the attacking force to one unit. The defender is unable to obtain combat supply and has no internal stocks remaining. So his Combat Strength is halved in the resulting battle.
9.6 Action Rating Modifier
Action Ratings affect combat as Dice Roll Modifiers (DRMs). Each player selects a unit that will determine his side’s Action Rating (AR) in the combat, with the attacker announcing his choice first. Only one unit is chosen per side, and the unit must actively participate in the combat. Calculate the DRM as follows: Attacker’s AR minus Defender’s AR = DRM (this number can be positive or negative). This DRM is used when determining Surprise (9.8) and during Combat Resolution (9.9).
Important Note: Each side’s first step lost, if any, in a combat result must be taken from their Action Rating unit. This does not apply to losses taken in barrages or retreats. In those cases, the owning player can take the loss from any of the involved units. See 9.11c for more detail.
9.6a Mode Considerations. Mode can reduce Action Ratings.
- DG Mode reduces a unit’s Action Rating by 1.
- Strat Mode reduces a unit’s Action Rating to ZERO.
9.7 Odds Determination
To determine the raw combat odds, use the total modified attacking strength and the total modified defending strength. Divide both by the smaller of them and apply the rounding rule (see 4.2) to each result. Express the result as a ratio of Attacker:Defender.
9.7a The Combat Table has a row for each terrain category. Find the odds determined above on the correct row, using the terrain in the defender’s hex. Use the highest column that is less than or equal to the determined rounded odds.
9.7b Odds are limited to those printed on the table. Resolve attacks that fall outside the odds listed on the table on the last available column and begin any shifts from there (see also 9.1g).
9.8 Surprise
After players have identified their Action Rating units and have determined the combat odds, check for Surprise. Roll two dice and add the DRM determined in 9.6. Subtract one from that roll if the defender has any level of hedgehog. Check the modified roll on the Surprise Table to determine which player (if any) gets Surprise. If Surprise occurs, roll one die and shift the final odds column on the Combat Table that number of columns. These shifts are to the right for attacker Surprise and left for defender Surprise. If no Surprise occurs, make no shift.
Note the type of attack (overrun or regular) determines the Surprise Roll needed for each side (per tables).
Play Hint: Roll three dice at once—the two “Surprise” dice and an off-colored “shift” die—to speed play.
Design Note: Surprise mechanics and effects have been the subject of some debate over the years. Some go into a state of shock at the thought that their odds might shift six full columns (infrequent, but it can and does happen). It is instructive to look at the “massive” changes involved in the examples above. In the first, a rather middling three-column shift in the attack’s favor generated the following difference in effect: The attacker’s 3’s get exploit, whereas a 4 AR would have been required before, and the defender gets one additional hard loss and a DG he might have had anyway. In the second example, this time with the maximum six column shift against the attack, the difference is one step loss for the attacker (but the option disappears) and the defender option is lost.
Example: An AR-5 unit tries to overrun an AR-0 unit. This gives a +5 (!) DRM for Surprise. The player rolls an 8, modified to 13, giving attacker Surprise. He then rolls one die and gets a three, which shifts the combat odds three columns to the right. Note that the +5 Action Rating DRM is also applied to the Combat Table roll.
Let’s assume the overrun’s base odds were 4:1 in the open. The column shifts move the odds to the 9:1 column. The player rolls his dice giving a 7 (modified by +5 giving a 12), and the combat result is Ae3, DL2o2DG. Without the column shift, the same battle would have resulted in an Ae4, DL1o2.
For the sake of argument, reverse the above (the 0 attacking the 5 in an overrun). By the way, this is not recommended! The Surprise roll is 10 modified by -5 for the Action Ratings involved, giving a 5. That gives defender Surprise in an overrun. A six is rolled for the number of column shifts. Shift left six columns from the 4:1 in the open column to the 1:4 column. A combat roll of 7, modified to a 2 by the Action Rating differential gives a combat result of AL2. Without Surprise, the result would have been AL1o1, Do1.
9.9 Combat Resolution
After determining odds, Surprise, and any column shifts, roll two dice. Add the Action Rating DRM (9.6) and subtract the full value of any hedgehog in the defender’s hex. Cross index the modified dice roll with the final odds column to find the result. Execute the result according to cases 9.10 to 9.13 below.
Important Note: Hedgehogs have a Surprise DRM that is different from their Combat Table DRM. Surprise rolls are –1 regardless of the hedgehog’s level, while Combat rolls are reduced by the full level of the hedgehog.
9.10 Results and Options
Combat results are generally a mixture of “losses” and “options.” Losses are given as an “L” followed by a number; Options are given as “o” followed by a number. The loss number is a required step loss. The option number presents the affected player with a choice.
See 9.11 for information on step losses, and 9.12 for details on retreats.
9.10a Option results can be taken as any combination of step losses and retreat hexes, provided the total number is fully executed. For instance, a loss of one step combined with a retreat of one hex satisfies an “o2” result.
9.10b The attacker always goes first, executing his combat result before the defender decides what he will do. Take hard losses first and then any options.
9.10c The defender gets to ignore his options if the attacker has retreated or cannot take all of his options. (But the defender can choose to apply his full option when he wants to retreat.) The attacker must always fulfill his option results.
9.10d When a combat result contains both option and exploitation numbers, the attacker must take his entire option as a loss to earn an Exploit marker. If the attacker chooses to retreat, ignore the exploitation result entirely.
Examples:
- A) Ao1, DL1o2… attacker retreats, defender’s result becomes DL1.
- B) AL1o1, Do1… sole attacker dies by the L1, so defender can ignore his option result.
- C) Ao1e4, DL1o2… attacker kills one step (and gets his exploit result), defender must lose 1 and execute two option results.
- D) AL1, Do1… attacker takes his required step loss, defender must execute his option.
- E) Ao1, DL1o1… attacker must take his option (as loss or retreat), lone defending step is destroyed.
9.11 Step Losses
Most units have just one step, and are placed in the Dead Pile when they take a loss. A multi-step unit is less brittle, and has one step per RE. Record their losses with a Step Loss marker placed under the unit. When the marker equals the unit’s total steps, put it in the Dead Pile. No unit can ever absorb more step losses than it has available steps.
9.11a The owning player determines which unit or units absorb step losses, within the restrictions of 9.11c.
9.11b Results given as “L” followed by a number must be taken as step losses. Ignore inflicted losses beyond the side’s ability to absorb them.
9.11c Step Loss Distribution. During combat, the AR unit (9.6) must lose the first step of their side. In the case of multiple losses, all units must take one loss before any unit takes two.
These distribution rules do not apply to losses taken during a barrage or retreat; instead the player has full control over which units to lose. So the AR unit need not take the first loss and there is no requirement to spread losses out.
Example: A stack suffers 4 step losses, but only possesses 3 steps. The units are all eliminated (and the remaining loss is ignored). In another example, a hex containing a three-step division and a single-step unit suffers two step losses. The division provided the AR for the attack. The division suffers the first step loss; then the one-step unit, being the only other unit in the hex, is destroyed by the second loss.
9.11d Effects of Step Loss. A multi-step unit missing one or more steps halves its Combat Strength when it attacks. If it is missing half or more of its original (printed) steps, its Combat Strength is also halved on defense.
A multi-step division’s current RE size is the unit’s printed RE size minus the steps it has lost.
Example: A 14-4-3 rifle division with three steps loses one step. Place a “one” Step Loss marker under the unit. Its attack strength is now 7 and its defense strength is normal. Later, the division loses another step. Flip the one step loss marker to its “two” side. The unit’s Combat Strength is now halved to 7 in both attack and defense. A further step loss will destroy it.
9.12 Retreats & Advances
Option results that are not taken as step losses must be taken as a retreat (unless exempt due to 9.10c). All units involved must retreat a number of hexes equal to the remaining option result. A retreat must end the full distance (as the crow flies) from the hex where it began.
- A retreat path does not have to be a straight line. It can zig-zag to avoid prohibited terrain, but then must be extended to reach a hex satisfying the ‘full distance’ requirement.
- Eliminate units that must retreat through enemy-occupied hexes or prohibited terrain (sometimes this limits how much of an option can be taken as a retreat).
9.12a The “DG” result on the Combat Table forces all of the defending units to immediately enter DG Mode. Do this before beginning any retreat (important due to 9.12e). A retreat of 2 or more hexes triggers a DG result the instant a combat unit enters the second hex of its retreat.
9.12b Units with a zero MA can change to Move Mode before retreating. Units that are unable to move in any Mode are destroyed if forced to retreat (and cannot advance after combat either).
9.12c Direction. Players retreat their own units. Retreating units can retreat as a stack or split up. A retreat should be generally away from enemy units involved in the combat, but to avoid losses, retreating units are allowed to bend the definition of what is “locally to the rear.”
9.12d Tagalongs. Combat units and Organic Trucks that did not participate in a combat can join a retreat from their hex. Other types of units (ships, aircraft, ports, hedgehogs, non-organic trucks, and dumps) cannot tag along, and must remain in the hex.
9.12e Enemy ZOCs. When a combat unit retreats into a ZOC, it immediately changes to DG Mode, as do any friendly combat units that ‘just happen’ to be in the hex. In addition, if any part of the retreating stack was DG before it entered the enemy ZOC, lose one step from the stack (owning player’s choice from among the retreating DG units). This ZOC effect cannot be “negated” by friendly combat units and is never affected by terrain.
Design Note: The “enemy ZOCs” rule might need some explaining. Retreats are an unplanned form of movement, so even if a unit retreats into a hex “protected” by friendly units, the result is great confusion. This is why both the retreating unit and the units it retreats through become DG.
9.12f Enemy Units. A retreat cannot go through a hex that contained enemy combat units at the start of the combat (so no retreats through a hex vacated by an attacking unit’s loss or option). Handle retreats through non-combat units, aircraft, and ships as you would when moving (per 9.14).
9.12g Advance After Combat. If all of the defenders are destroyed or retreat, attacking units can enter the defender’s hex.
- A) Only those units that paid combat supply costs (including those with a strength of zero) can advance.
- B) If the attackers take their option as a retreat, no advance is possible.
- C) Advance after combat can capture or destroy enemy ships, aircraft, and non-combat units per 9.14.
- D) Advance after combat is required after a successful overrun, but not after regular combat. The owning player gets to choose which of his attacking units advance (if any).
9.13 Exploit Results
Combat results can include a notation “e” and a number, meaning the attacking units with an AR of that number or higher might change to Exploit Mode (see 9.13b). Units must have actually been involved in the attack, so only Attack-Capable units can ever gain an Exploit marker.
9.13a Exploit-marked units can move and fight in the upcoming Exploitation Phase (11.0).
9.13b Ignore exploit results if:
- A) Attacking units are in DG Mode. (Non-DG attackers in the same combat treat exploit results normally.)
- B) It is an overrun (in any phase) or an attack in the Exploitation Phase.
- C) Any two attacking stacks are not mutually adjacent. Thus in order to gain an exploit result, at most two stacks can be attacking and they must be in adjacent hexes
9.14 Specialized Combats
9.14a Zero Strength Units. Combats involving units with a ‘zero’ Combat Strength require some special handling. Attacks against a zero strength begin on the right-most column of the Combat Table (before applying shifts, if any). Attacks with a zero strength must be supplied normally, and begin on the left-most column. If both sides have a zero strength, call it 1:1 and shake your head.
9.14b Supply Dump.
When an enemy Attack-Capable unit enters a hex with a supply dump, consult the Capture Table to determine how many SP are captured by the enemy player (round to the nearest token). The rest is destroyed.
9.14c Transport Points.
When enemy Attack-Capable units enter a hex with Transport Points, they might capture some of the Transport Points and the rest are displaced (sort of like a retreat).
Roll on the “Trucks” column of the Capture Table to check the combined Transport Points with an MA of more than 10, and then roll on the “Wagons” column to check for all with an MA of 10 or less. Results are explained under the table, and affect Transport Points and any loaded SP equally. When there is a mixture of Transport Points (such as regular trucks and organic trucks, or wagons and mules), the owning player decides which are captured and which are displaced.
Enemy units, ZOCs, and prohibited terrain do not affect displacement—just pick up the Transport Points and place them in their new location. A captured Transport Point can move immediately if captured in the Movement Phase (but not if captured in other phases).
Transport Point captures are usually rounded to the nearest full point—only round to token-size trucks if the game’s counter mix includes them. SP capture is always rounded to the nearest token.
Important Note: An Extender never suffers a loss from the Capture Table, nor does it figure into the total number of trucks or wagons present in a hex when calculating the percentage lost. Instead they “collapse” per 9.14d.
Example: In a hex there are three Trucks and 12 SP (three of the SP are loaded on the trucks). During the Movement Phase, a German motorcycle battalion roars into the hex at no additional MP cost. (The Soviet player neglected to garrison this hex; shame, shame.) The German player now consults the Capture Table. First, he rolls for the trucks and supplies thereon using the table’s second column. He rolls a 3 (25%) — that gives 1 Truck Point and 3T to the German war effort. The other 2 Trucks and 9T are displaced by the Soviet player up to ten hexes.) Next the German player rolls for the nine SP on the ground and gets a 5 (50%): another 4 SP and 2T are captured. (The remainder is destroyed.) The motorcycle battalion continues moving with its remaining MP, after which the captured truck is moved.
9.14d Extender Collapse.
When an Attack-Capable unit enters a hex with an Extender, the Extender must collapse. This same procedure is available, at the player’s option, as an alternative to its regular movement (useful when Extenders have lost trace supply).
Displace a collapsed Extender to any hex within its special draw range that is currently in trace supply. Enemy units, ZOCs, and prohibited terrain have no effect on a displacement, and no loss or capture is possible. Flip the Extender to its regular Transport Point side in the new hex.
Important Note: If no “legal” hex exists collapse is not possible. Instead flip the Extender where it is and have it check for capture per 9.14c.
9.14e Hedgehogs. When an Attack-Capable unit enters a hex with an enemy hedgehog, it is captured.
9.14f Air Bases. When enemy Attack-Capable units enter a hex with an air base, it is captured. A captured air base can be used immediately.
Regardless of weather conditions (so even if flight is not allowed), roll for each aircraft in the hex using the Air Base Capture Table. Apply the results as shown (which will be either “reduction” or “no result”). All surviving aircraft then displace to any friendly air base within 2x range and become Inactive (regardless of their status before the roll). They cannot remain in the hex; they must displace and become Inactive. If no friendly air base exists within double range, destroy the planes.
9.14g Naval Units. When an Attack-Capable unit enters a hex with enemy ships (including DUKW operating as Landing Craft), the ships are destroyed.
9.14h Ports. When an Attack-Capable unit enters a hex with an enemy port, it is captured. The port can immediately be used for shipping and as a possible source of trace supply.
Example: Comprehensive Combat
Example: Overrun Attack with a Hipshoot


Not found !
The page you were looking for was not found. Please return to the previous page or to the main page. Please contact me if you think this is a mistake or if there is a broken link. You can also open an issue on the github repository.
{% include file_name=links.html %}
{% include file_name=header.html %}The page you were looking for was not found. Please return to the previous page or to the main page. Please contact me if you think this is a mistake or if there is a broken link. You can also open an issue on the github repository.


WITNESS LIST Insurance Committee May 1, 2003-8:30A SB 14 Committee Substitute (Smithee/CSSB 14) On: Durden, David (Texas Department of Insurance) Presley, Philip (Texas Department of Insurance)


OMG SO DANGEROUS!!!!!
MUCH MUSIC!!!!
MUCH INTERESTING!!!
User Agreement: We are not responsible if you die using our app. Thanks.


--- title: 2020-05 TEST POSTTT NEW author: Louis Maiden date: '2020-05-11' slug: 2020-05-test-posttt categories: [] tags: [] ---
Hello
Louis test


{% include head.html %}
Hello! I’m {{ site.author.name }}. I’m from Munich and I do stuff with other peoples computers known as the "cloud"
My daily work is done together with this crazy bunch of people.
Plus I am supporting Sri Lankan people through the PINA help organisation, which did an amazing job in the last 30 years.


Apr 24, 2012. Five Reasons Ian Somerhalder Is Perfect For Fifty Shades of Grey NextMovie; How to have a fantastic Doctor. Who-lloween POPSUGAR
While the film adaptation by Focus Features and Universal Pictures has yet to be cast, the next By Lesley Savage. / CBS News/ June 27, 2013, 2:30 PM fan pages, polls and blogs are Ian Somerhalder, Matthew Bomer, Matt Davis, Robert
Recent news and coverage. of Ian Somerhalder Who Should Play the Male Lead in the Fifty Shades of Grey Movie? Ian Somerhalder says he wants to 3 days. ago Garrett Hedlund and Ian Somerhalder have been ruled out to play the role of. Christian Grey in the hotly-anticipated film adaptation of Fifty I bought this movie simply because I love Ian Somerhalder What a Ian Somerhalder is a better. actor than this movie shows He does Start a new discussion
May 10, 2013 Not only is next week the season finale, but Ian Somerhalder and Nina Dobrev have ended their adorably zen, 20 scariest movies ever Aug 8, 2013. Ian Somerhalder and Nina Dobrev keep flirting on twitter so I love it, 12 course meal in a can (yuck gross), and more links!  Grey," E L James' wildly popular novel, has become a sensation, igniting the erotic imaginations of women across the country as May 14, 2012 Ian Somerhalder recently confessed that he would "absolutely be up for" in the movie adaptation of the best-selling novel, Fifty Shades of Grey, and The season finale, which aired on Thursday, set up next season to bring Celebrity Search By First Name / Band / Event / Movies / TV Shows Ian Somerhalder Talks Enivornment & Career Goals in Icon Fall 2013. a grandparent, but that's exactly what Ian Somerhalder will be to his dog's upcoming litter of pups!
The official site for Time Framed, starring Ian Somerhalder Time Framed tells the story of Agent Truman Black. (IAN SOMERHALDER); a gun-for-hire secret
Jul 28, 2013. Vampire Diaries star Ian Somerhalder is reportedly out of running for role of that the film will release in the. United States on 1 July next year Apr 25, 2012. Ian Somerhalder is up for the role of Christian Grey in the "50 Shades of " Vampire Diaries" Tied to "50 Shades of Grey" Movie. PLAY. NEXT Mar 5, 2013 of Ian Somerhalder with a Fifty Shades quote, making fans believe she. once they cast the parts of Ana and Christian for the film adaptation Jun 4, 2013 The film centers on a traumatized soldier who wakes up in the back of a van next to a kidnapped boy with no idea of how or why he's there acting in the film with a cast that includes Ian Somerhalder (TheVampire Diaries), Oct 12, 2013. So the long-awaited adaptation, slated for release next August, may get pushed back as the was slated to play Christian Grey instead of, say, Ian Somerhalder or Matt Bomer Ben Affleck Just Can't Stop Directing Movies


{% extends "layout/app.html" %} {% block body %}
File {{ dbfile }} was not found in directory {{ datadir }}! Retry when you will have the right file.
{{ dbfile }}
{{ datadir }}


We all know the official python library for steem.
I decided to write a new python library for steem, as steem-python do not uses synergies with the BitShares network. Furthermore, the source code of steem-python is in a bad shape and there are almost no unit-tests. In meantime, python-graphenelib is actively developed and it is a obvious step to use this library for any Graphene 2.0 blockchain.
So I present today a new python library for steem called steempy. This new library is at the beginning of its developement. steempy is based on python-bitshares and python-graphenelib. steempy can be installed besides the official steem-python library.
At the moment, steempy has a different API than steem-python. Unlike steem-python, steempy uses a RPC-Websockt for connection with the steem nodes. So the node-address must start with wss, e.g. wss://gtg.steem.house:8090.
Important links
- https://github.com/holgern/steempy
- http://steempy.readthedocs.io/en/latest/
- https://pypi.python.org/pypi/steempy
Installation
1
pip install steempy
or
1 | git clone https://github.com/holgern/steempy.git |
Python files inside steempy
Account
- Is a BlockchainObject class
- Contains information about one account
- history and balances functions
Amount
- dict class with amount, symbol and asset
- regular mathematical expression possible
Block
- Is a BlockchainObject class
- Contains information about one block
Blockchain
- Is a BlockchainObject class
- Contains information about the blockchain
- Stream function
- get_all_accounts, feed_history, current_median_history_price, get_current_block, block_time and more functions
BlockchainObject
- dict class
- cache function
Memo
- uses the wallet class for message encryption/decryption
Notify
- Is a Events class and uses Websocket
- Can be used to stream all blocks
Price
- Is a dict class
- Can be used for things like
Price("0.315 SBD/STEEM")
Steem
- Connect to the Steem network.
- Uses the SteemNodeRPC class to send calls to the Steem network
- Functions for finalizes transaction and key management
Storage
- Uses a sql3-database to store user keys
Transactionbuilder
- dict class
- Simplifies the creation of transactions
Vote
- Represents a vote
- Is used by ActiveVotes (all votes from a post) and AccountVotes (all votes from an account)
Wallet
- Manages private keys for an account
Witness
- Read data about a witness
Python files inside steempybase
account
- Wrapper for graphenebase.account
bip38
- Wrapper for graphenebase.bip38
memo
- Function for encryption/decryption of a memo
objects
- Containts classes which represents objects, which are used in operations in the steem blockchain, as Account, Amount, Operation, Permission, …
- Used for signing a transaction
operations
- Contains classes which represents operations on the blockchain as Transfer, Vote, Account_create,…
- Used for signing a transaction
signedtransaction
- Wrapper for graphenebase.signedtransactions
Python files/classes inside steempyapi
SteemNodeRPC
- Wrapper for grapheneapi.graphenewsrpc
SteemWebsocket
- Event class
- Create a websocket connection and request push notifications
- Can be used to stream each Block
How does steempy work
Read a account
1 | from steempy.account import Account |
Access the Blockchain
1 | from steempy.blockchain import Blockchain |
Votes
1 | from steempy.vote import AccountVotes |
Stream all blocks
1 | from pprint import pprint |
Current state
- The current version is 0.19.2
- Account, Amount, Asset, Block, Blockchain, Instance, Memo, Message, Notify, Price, Steem, Transactionbuilder, Vote, Witness are working
- Signed transactions are working
- At the moment, only transfer-transaction is implemented
- 67 % coverage by unit tests
- Used CI-tools: travis, appveyor, circeci and codecov
- published to pypi
- documentation available
Roadmap
- Add all missing transactions, as posts,comments, votes, …
- Add more function regarding the account
- Add Post and Comment class
- Add CLI-programms
- Rename the library to beem, steempy is the name of the CLI tool from python-steem.
How to contribute
- You are invited to fork my repo and submit pull requests
- If you have an issue, please let me know
What do you think? Do you have suggestions? What do think about the name of my library? Is steempy a good name or should I change it?
Posted on Utopian.io - Rewarding Open Source Contributors
This page is synchronized from the post: ‘steempy - a new python library for steem’


SkedTape
Schedule library written in pure JS
All-in-one example
Click on an event to move it.
Click on empty space of the timeline to add a new event on predefined position.
Use +- keys to change zooming level.
Use vertical mouse wheel to scroll timeline horizontally.
*
To make the example lightweight the timezones in here are set disregarding the DST, so they may be different from the actual ones, that's ok.
Showing in tabs and modals
Show in modal
Text
Schedule
It's an initial tab, there is nothing here.
Switch to the other tab.
Some modal
×


{% extends "tutorial.html" %}
{% block headauthor %}Paul Lewis I've previously given you an introduction to Three.js. If you've
not read that you might want to as it's the foundation on which I will
be building during this article. What I want to do is discuss shaders. WebGL is brilliant, and as I've
said before Three.js (and other libraries) do a fantastic job of abstracting
away the difficulties for you. But there will be times you want to achieve
a specific effect, or you will want to dig a little deeper into how that
amazing stuff appeared on your screen, and shaders will almost certainly be
a part of that equation. Also if you're like me you may well want to go from
the basic stuff in the last tutorial to something a little more tricky. I'll
work on the basis that you're using Three.js, since it does a lot of the donkey
work for us in terms of getting the shader going. I'll say up front as well that at the start I will be explaining
the context for shaders, and that the latter part of this tutorial is where
we will get into slightly more advanced territory. The reason for this is that
shaders are unusual at first sight and take a bit of explaining. WebGL does not offer the use of the Fixed
Pipeline, which is a shorthand way of saying that it doesn't give you any means
of rendering your stuff out of the box. What it does offer, however, is
the Programmable Pipeline, which is more powerful but also more
difficult to understand and use. In short the Programmable Pipeline means as the
programmer you take responsibility for getting the vertices and so forth rendered
to the screen. Shaders are a part of this pipeline, and there are two types
of them:
Both of which, I'm sure you'll agree, mean absolutely nothing by themselves. What you
should know about them is that they both run entirely on your graphics card's GPU. This means
that we want to offload all that we can to them, leaving our CPU to do other work.
A modern GPU is heavily optimised for the functions that shaders require so it's great
to be able to use it. Take a standard primitive shape, like a sphere. It's made up of vertices, right?
A vertex shader is given every single one of these vertices in turn and can mess around with them.
It's up to the vertex shader
what it actually does with each one, but it has one responsibility: it must at some point set
something called gl_Position, a 4D float vector, which is the final position of the
vertex on screen. In and of itself that's quite an interesting process, because we're
actually talking about getting a 3D position (a vertex with x,y,z) onto, or projected,
to a 2D screen. Thankfully for us
if we're using something like Three.js we will have a shorthand way of setting the
gl_Position without things getting too heavy.
So we have our object with its vertices, and we've projected them to the 2D screen,
but what about the colours we use? What about texturing and lighting? That's exactly
what the fragment shader is there for. Very much like the vertex shader, the fragment shader also only has one must-do
job: it must set or discard the gl_FragColor variable, another 4D float vector, which the final colour of our fragment.
But what is a fragment? Think of three vertices which make a triangle. Each pixel within that triangle needs to be
drawn out. A fragment is the data provided by those three vertices for the purpose of drawing each pixel in that triangle.
Because of this the fragments receive interpolated values from their constituent vertices. If one vertex is coloured red, and
its neighbour is blue we would see the colour values interpolate from red, through purple, to blue. When talking about variables there are three declarations you can make: Uniforms,
Attributes and Varyings. When I first heard of those three I was very confused since they don't match anything else
I'd ever worked with. But here's how you can think of them:
Later on we'll use all three types so you can
get a feel for how they are applied for real. Now we've talked about vertex shaders and fragment shaders and the types
of variables they deal with, it's now worth looking at the simplest shaders
we can create. Here, then, is the Hello World of vertex shaders:
Introduction
1. Our Two Shaders
2. Vertex Shaders
3. Fragment Shaders
4. Shader Variables
5. Bonjourno World
/**
* Multiply each vertex by the model-view matrix
* and the projection matrix (both provided by
* Three.js) to get a final vertex position
*/
void main() {
gl_Position = projectionMatrix *
modelViewMatrix *
vec4(position,1.0);
}
and here's the same for the fragment shader:
/**
* Set the colour to a lovely pink.
* Note that the color is a 4D Float
* Vector, R,G,B and A and each part
* runs from 0.0 to 1.0
*/
void main() {
gl_FragColor = vec4(1.0, 0.0, 1.0, 1.0);
}
That's really all there is to it. If you were to use that you would
see an 'unlit' pink shape on your screen like this:
In the vertex shader we are sent a couple of uniforms by Three.js. These two uniforms are 4D matrices, called the Model-View Matrix and the Projection Matrix. You don't desperately need to know exactly how these work, although it's always best to understand how things do what they do if you can. The short version is that they are how the 3D position of the vertex is actually projected to the final 2D position on the screen.
I've actually left them out of the snippet above because Three.js adds them to the top of your shader code itself so you don't need to worry about doing it. Truth be told it actually adds a lot more than that, such as light data, vertex colours and vertex normals. If you were doing this without Three.js you would have to create and set all those uniforms and attributes yourself. True story.
OK, so we have a shader set up, but how do we use it with Three.js? It turns out that it's terribly easy. It's rather like this:
/** * Assume we have jQuery to hand and pull out * from the DOM the two snippets of text for * each of our shaders */ var shaderMaterial = new THREE.MeshShaderMaterial({ vertexShader: $('vertexshader').text(), fragmentShader: $('fragmentshader').text() });From there Three.js will compile and run your shaders attached to the mesh to which you give that material. It doesn't get much easier than that really. Well it probably does, but we're talking about 3D running in your browser so I figure you expect a certain amount of complexity.
We can actually add two more properties to our MeshShaderMaterial: uniforms and attributes. They can both take vectors, integers or floats but as I mentioned before uniforms are the same for the whole frame, i.e. for all vertices, so they tend to be single values. Attributes, however, are per-vertex variables, so they are expected to be an array. There should be a one-to-one relationship between the number of values in the attributes array and the number of vertices in the mesh.
Now we are going to spend a bit of time adding in an animation loop, vertex attributes and a uniform. We'll also add in a varying variable so that the vertex shader can send some data to the fragment shader. The end result is that our sphere that was pink is going to appear to be lit from above and to the side and is going to pulsate. It's kind of trippy, but hopefully it will lead you to a good understanding of the three variable types as well as how they relate to each other and the underlying geometry.
Let's update the colouring so it's not a flat coloured object. We could take a look at how Three.js handles lighting, but as I'm sure you can appreciate it's more complex than we need right now, so we're going to fake it. You should totally look through the fantastic shaders that are a part of Three.js, and also the ones from the recent amazing WebGL project by Chris Milk and Google, Rome.
Back to our shaders. We'll update our Vertex Shader to provide each vertex normal to the Fragment Shader. We do this with a varying:
// create a shared variable for the // VS and FS containing the normal varying vec3 vNormal; void main() { // set the vNormal value with // the attribute value passed // in by Three.js vNormal = normal; gl_Position = projectionMatrix * modelViewMatrix * vec4(position,1.0); }and in the Fragment Shader we're going to set up the same variable name and then use the dot product of the vertex normal with a vector that represents a light shining from above and to the right of the sphere. The net result of this gives us an effect similar to a directional light in a 3D package.
// same name and type as VS varying vec3 vNormal; void main() { // calc the dot product and clamp // 0 -> 1 rather than -1 -> 1 vec3 light = vec3(0.5,0.2,1.0); // ensure it's normalized light = normalize(light); // calculate the dot product of // the light to the vertex normal float dProd = max(0.0, dot(vNormal, light)); // feed into our frag colour gl_FragColor = vec4(dProd, dProd, dProd, 1.0); }And this is how it looks
So the reason the dot product works is that given two vectors it comes out with a number that tells you how "similar" the two vectors are. With normalised vectors, if they point in exactly the same direction, you get a value of 1. If they point in opposite directions you get a -1. What we do is take that number and apply it to our lighting. So a vertex in the top right will have a value near or equal to 1, i.e. fully lit, whereas a vertex on the side would have a value near 0 and round the back would be -1. We clamp the value to 0 for anything negative, but when you plug the numbers in you end up with the basic lighting we're seeing.
What's next? Well it would be nice to maybe try messing with some vertex positions.
What I'd like us to do now is attach a random number to each vertex via an attribute. We'll use this number to push the vertex out along its normal. The net result will be some kind of weird spike ball that will change every time you refresh the page. It won't be animated just yet (that happens next) but a few page refreshes will show you it's randomised.
Let's start by adding in the attribute to the vertex shader:
attribute float displacement; varying vec3 vNormal; void main() { vNormal = normal; // push the displacement into the three // slots of a 3D vector so it can be // used in operations with other 3D // vectors like positions and normals vec3 newPosition = position + normal * vec3(displacement); gl_Position = projectionMatrix * modelViewMatrix * vec4(newPosition,1.0); }How does it look?
Not much different really! This is because the attribute hasn't been set up in the MeshShaderMaterial so effectively the shader uses a zero value instead. It's kind of like a placeholder right now. In a second we'll add the attribute to the MeshShaderMaterial in the JavaScript and Three.js will tie the two together for us automatically.
Also of note is the fact that I had to assign the updated position to a new vec3 variable because the original attribute, like all attributes, is read only.
Let's hop straight into updating our MeshShaderMaterial with the attribute needed to power our displacement. A reminder: attributes are per-vertex values so we need one value per vertex in our sphere. Like this:
var attributes = { displacement: { type: 'f', // a float value: [] // an empty array } }; // create the material and now // include the attributes property var shaderMaterial = new THREE.MeshShaderMaterial({ attributes: attributes, vertexShader: $('#vertexshader').text(), fragmentShader: $('#fragmentshader').text() }); // now populate the array of attributes var vertices = sphere.geometry.vertices; var values = attributes.displacement.value for(var v = 0; v < vertices.length; v++) { values.push(Math.random() * 30); }And it looks a little like this:
Now we're seeing a mangled sphere, but the cool thing is that all the displacement is happening on the GPU.
We should totally make this animate. How do we do it? Well there are two things we need to get in place:
We're going to add the uniform to both the MeshShaderMaterial and the Vertex Shader. First the Vertex Shader:
uniform float amplitude; attribute float displacement; varying vec3 vNormal; void main() { vNormal = normal; // multiply our displacement by the // amplitude. The amp will get animated // so we'll have animated displacement vec3 newPosition = position + normal * vec3(displacement * amplitude); gl_Position = projectionMatrix * modelViewMatrix * vec4(newPosition,1.0); }Next we update the MeshShaderMaterial:
// add a uniform for the amplitude var uniforms = { amplitude: { type: 'f', // a float value: 0 } }; // create the final material var shaderMaterial = new THREE.MeshShaderMaterial({ uniforms: uniforms, attributes: attributes, vertexShader: $('#vertexshader').text(), fragmentShader: $('#fragmentshader').text() });which gives us this:
Our shaders are done for now. But right we would appear to have taken a step backwards. This is largely because our amplitude value is at 0 and since we multiply that with the displacement we're seeing nothing change. We also haven't set up the animation loop so we never see that 0 change to anything else.
In our JavaScript we now need to wrap up the render call into a function and then use requestAnimationFrame to call it. In there we also need to update the uniform's value.
var frame = 0; function update() { // update the amplitude based on // the frame value uniforms.amplitude.value = Math.sin(frame); frame += 0.1; renderer.render(scene, camera); // set up the next call requestAnimFrame(update); } requestAnimFrame(update);
And that's it! You can now see it's animating in a strange (and slightly trippy) pulsating manner.
There's so much more we can cover on shaders as a topic, but I hope you've found this introduction helpful. You should now be able to understand shaders when you see them as well as having the confidence to create some amazing shaders of your own!
{% endblock %}


Log out
1. The basic Web Services platform is combination of _____ and _______
CSS + HTTP
XML + HTML
XML + HTTP
CSS + JAVA
2. Which of the following is correct about Service Description layer in Web Service Protocol Stack?
This layer is responsible for describing the public interface to a specific web service
Currently, service description is handled via the Web Service Description Language (WSDL)
Both of the above
None of the above
3. Web services can be discovered using ________
UDDII
UDDI
UDDDI
UDII


Start with our most basic plan. It starts with drop-in zone. You will have access to our High speed internet and free usage of common area and cafeteria
If you & cofounder are starting out and gaining traction, Small Team is the perfect choice. Conference room setting. Upto 5 person room (approximately 500 sq ft). You are able to use this room 3 times a week (all day!)
This is our Hero option and the most popular one. No contracts. You pay month to month. You will get your own working space ready with plugins and dual-monitor
If you are a remote worker, entrepreneur or even freelancer, this is your best bet! You will get 20% off if you pay in full
Startups! Get the Hero Team plan!


Home
Repository
Codepen
Blue Cross and Blue shield of Alabama
Claim Authorization Number:
Amount paid:
Insert decimal in the correct place in the textbox
Submit


detect whether people moves according to the change of IR value
trigger: any type. It is a trigger signal, and whenever it comes, the service will detect motion
trigger
bool: boolean. true means people moves (IR value changes) in the last 3s
bool


{% extends 'main/application.html' %} {% block content %}
This is a list of files you have uploaded to OpenHumans using this project.
{% if files|length %}| Name | Description | Tags | ||
|---|---|---|---|---|
| {{ file.basename }} | {{ file.metadata.description }} | {% for tag in file.metadata.tags %} {{ tag }} {% endfor %} | Download | Delete |
No files uploaded


Sometimes we all need a unicorn to believe in. Sometimes we need a unicorn to believe in us.
(Claudia Bakker)
Imgur: OctopussSevenTwo https://t.co/HR4IGWYEs7
Retweets
1877
Likes
8866
metaphilibert24-Aug-19 07:20 PM
I feel totally unsafe watching this
Not enough fur
TonyL24-Aug-19 09:53 PM
protected safety guys
sorry @SadykovT but only kittens, puppies, rainbows and unicorns are allowed in this channel. And it's better to balance kittens and puppies. Like a after kitten should be a puppie (not two kittens in a row or it might be offensive for puppies lovers)(edited)
From @little.foster.family: “Cuteness overload Everyday these little guys always act so adorably, and if I’m lucky I’ll catch it on camera. Make sure to watch Cassia until the end!” #catsofinstagram https://t.co/90B4eRgUHZ
ID: 3309662 MANDATORY ONSCREEN CREDIT - Jan-Olaf Johansen The beluga whale believed to be a Russian spy has found a new confidante by playing with a seagull ...
This 'cat athletes' compilation features video proving that cats are natural MMA fighters, with clips of cats performing an array of wrestling moves, punches...
Dog riding mechanical bull at Oktoberfest in Big Bear, California. * Jukin Media Verified * Find this video and others like it by visiting https://www.jukinm...