AfriForum's Gerrie Nel to represent Senzo Meyiwa's family in murder investigation into Bafana star's death
by Azarrah KarrimThe head of AfriForum's private prosecution unit, advocate Gerrie Nel, will be representing the family of Senzo Meyiwa in a murder investigation into his death.
The Bafana Bafana goalkeeper was killed during a robbery five years ago at his girlfriend Kelly Khumalo’s home. Five others were present at the time.
Feeling that no progress was being made by the National Prosecuting Authority after the police investigated the case, Meyiwa's family turned to the lobby group last month to take the prosecution forward.
"It is important that AfriForum gets involved in cases such as these – it’s in the interest of the whole country," CEO Kallie Kriel said.
"AfriForum serves as a counterweight to the failure of the state and, as a civil rights watchdog, it is our duty to prevent the criminal justice system from collapsing, he added.
More to follow


You can make your
CRAZY CREATURES
with the right Answers!
HEY HEY Let's Go!!
CRAZY CREATURES
with the right Answers!
HEY HEY Let's Go!!
Type Your Name:
How many
CRAZY CREATURES
can you make?
Stage 1
Stage 2
Stage 3
Stage 4
Stage 5
SCORE
Add your CRAZY
CREATURES Here!


Welcome to the Girlfriend Kari Database Testing site. This is where the preliminary testing of the initial draft of the card, girl, and sprite database for the game, Girlfriend Kari, occurs. Feel free to poke around and play with the currently existing functions. More likely than not, you're probably not interested in seeing most of this testing here. If you'd like to learn more about Girlfriend Kari and this project, visit the wiki page!


Important Life Truths
I ran across an article the other day that I thought would be worth sharing – it’s called “88 Important Truths I’ve Learned About Life”. I don’t necessarily think 100% of these items are “truths” in my life, but I’d say I can certainly agree with the vast majority of them. You should read the whole article – but here were my top favorites (with my thoughts in italics):
- You can’t change other people, and it’s rude to try.
I learned this one pretty early on – it has proven very true in my experience. The key is that you can’t change other people, but they can change…they just have to do the changing themselves.
- Every problem you have is your responsibility, regardless of who caused it.
I like this one a lot because too many people have a victim mentality. In the end though, your problems are just that…your problems.
- Credit card debt devours souls.
Ok – this one is a little over the top for me, but I agree in general. Credit card debt (or any kind of debt for that matter) will almost always detract from you achieving your goals.  So while I wouldn’t go so far as credit card debt “devours souls”, I do believe that having it will, at some point, have a net negative impact on your life.
- Most of what we see is only what we think about what we see.
Out of all 88 items in the article, this is my favorite. Essentially, everything you see is based around perception which means you’ll color everything you see with your own beliefs, assumptions, and knowledge. Sometimes things will actually be what you perceived, but most than likely, you only have a portion of the total picture.
- Even if it costs no money, nothing is free if it takes time.
I don’t have anything special to add to this one – but I totally agree…nothing is truly free.


TiUP is a component manager for TiDB
Run the following in your terminal, and follow the instructions:
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
After installation, start a local cluster:
tiup playground
This tool only supports Linux, macOS, and Windows WSL (for now)
Need help? Read the document(English/Chinese) or file a GitHub issue


test-package
A complex example of the jump-to-definition feature on record literals.
{-|A complex example of the jump-to-definition feature on record literals.-}let a = { foo = "bar", number = +1 } let b = { foo = "bar", number = +1 } in a.foo ++ Integer/show a.number ++ b.foo ++ Integer/show b.number


Third Time's the Team Charm
Posted July 9, 2018
Ostensibly, team projects let you practice new dev skills in a real-world environment. If you're lucky, they also help you discover soft skills you never knew you needed.
This too is water
"There is no experience you have had that you are not the absolute center of." The brilliant man who wrote those words is gone. But if you've never read or listened to David Foster Wallace's commencement speech entitled "This is Water," follow the link and skip this blog. His words are far more elucidating.
I've thought about the advice in that speech many times over the years, but the "learning how to think" part is especially relevant in the context of acquiring a new skill then using it successfully in a group of new developers. Every group project had coding, new JavaScript library, and clean, commented code guidelines ... But to truly succeed, teams also had to pool their ideas, creativity, and commitment. It was the soft skills — the "learn how to think and function as a team" factor — that often proved harder to deliver.
The whiz-by factor of project 1
Project 1 in four words: "Did that just happen?" We definitely wrote code we weren't capable of nine weeks earlier, but the special sauce of communication with a dash of cooperation was missing. Two of our four-person group moved on to project 2; the others were sucked into the Matrix and vanished from class. For me, the lesson was a cautionary tale of the importance of follow-through and proactive problem-solving, which was probably more valuable than getting my API route to function.
The getting-the-hang-of-it feel of project 2
Project 2 was our next chance to practice new skills and gel as a team. We'd all learned from the first round, and it was apparent in our project. Better time management, more confidence tackling new technologies, and an overall team-like approach helped us deliver Mindfully, an app we were proud to present. We didn't quite finish, but in boot camp, like Broadway, the show must go on. And we did ... to project 3.
The well-oiled efficiency of project 3
Maybe it was choosing our own team. Perhaps it was everyone's advanced full-stack skills. But I think the real secret to Bee-Z Street's success was our collective willingness and ability to work as a team. Strong, multi-channel communication. In-person sessions that let everyone flex their strengths. The ability to get back on track after a disagreement and refocus on the ultimate goal: a fully functioning, innovative showcase of four developers' talents.
No one on our team hesitated to say yes to attending Demo Day and showing our work to other students and job prospects. Without question, we're better developers than we were 24 weeks ago. But now we're better team members too.
Success is about so much more than coding
Once again, the timeless words of David Foster Wallace elegantly summarize my point:
It is about the real value of a real education, which has almost nothing to do
with knowledge,
and everything to do with simple awareness; awareness of what is so real and
essential, so hidden in
plain sight all around us, all the time, that we have to keep reminding
ourselves over and over:
“This is water.”
“This is water.”
Thank you, teammates, for everything you taught me and allowed me to teach you. And if any of you manage to secure start-up funding, you know where to find me. :)


The internal implementation of the provided APIs. Don't rely on any of these classes and the way they work, unless it is specified in the API package. Implementation specifics are likely to break. If you really feel any of the here provided functionalities should be available, please contact the author to put them into an official API.


Before Change
def get_service(hass, config, discovery_info=None):
Get the MySensors notification service.
if discovery_info is None:
return
platform_devices = []
gateways = hass.data.get(mysensors.MYSENSORS_GATEWAYS)
if not gateways:
return
for gateway in gateways:
if float(gateway.protocol_version) < 2.0:
continue
pres = gateway.const.Presentation
set_req = gateway.const.SetReq
map_sv_types = {
pres.S_INFO: [set_req.V_TEXT],
}
devices = {}
gateway.platform_callbacks.append(mysensors.pf_callback_factory(
map_sv_types, devices, MySensorsNotificationDevice))
platform_devices.append(devices)
return MySensorsNotificationService(platform_devices)
class MySensorsNotificationDevice(mysensors.MySensorsDeviceEntity):
After Change
def get_service(hass, config, discovery_info=None):
Get the MySensors notification service.
new_devices = mysensors.setup_mysensors_platform(
hass, DOMAIN, discovery_info, MySensorsNotificationDevice)
if not new_devices:
return
return MySensorsNotificationService(hass)


An overview of the capabilities of MacHg and future plans.
About Mercurial and Revision Control
An overview of revision control and mercurial.
An overview of the parts that make up a MacHg document and how to interact with MacHg.
For the impatient a quick start overview and video of using MacHg.
Ways to work faster with MacHg


This application facilitates easy assessment of Post Traumatic Amnesia, a condition that occurs after a person suffers a traumatic brain injury.
Currently in order to evaluate the presence of this condition, a therapist asks the patient suffering from it a series of routine questions after which the therapist makes a note of how the patient performed i.e. the number of correct answers.
The objective of building this application was to ease in the assessment process of Post Traumatic Amnesia by making it available to medical facilities at which they have brain injury patients. So you can fork or download the project from here and evaluate it for yourself to see if the app fulfils your need.


| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
|---|---|---|---|---|---|
| 0F 07 | SYSRET | NP | Valid | Invalid | Return to compatibility mode from fast system call |
| REX.W + 0F 07 | SYSRET | NP | Valid | Invalid | Return to 64-bit mode from fast system call |
| Op/En | Operand 1 | Operand 2 | Operand 3 | Operand 4 |
| NP | NA | NA | NA | NA |
SYSRET is a companion instruction to the SYSCALL instruction. It returns from an OS system-call handler to user code at privilege level 3. It does so by loading RIP from RCX and loading RFLAGS from R11.1 With a 64-bit operand size, SYSRET remains in 64-bit mode; otherwise, it enters compatibility mode and only the low 32 bits of the regis-ters are loaded.
SYSRET loads the CS and SS selectors with values derived from bits 63:48 of the IA32_STAR MSR. However, the CS and SS descriptor caches are not loaded from the descriptors (in GDT or LDT) referenced by those selectors. Instead, the descriptor caches are loaded with fixed values. See the Operation section for details. It is the respon-sibility of OS software to ensure that the descriptors (in GDT or LDT) referenced by those selector values corre-spond to the fixed values loaded into the descriptor caches; the SYSRET instruction does not ensure this correspondence.
The SYSRET instruction does not modify the stack pointer (ESP or RSP). For that reason, it is necessary for software to switch to the user stack. The OS may load the user stack pointer (if it was saved after SYSCALL) before executing SYSRET; alternatively, user code may load the stack pointer (if it was saved before SYSCALL) after receiving control from SYSRET.
If the OS loads the stack pointer before executing SYSRET, it must ensure that the handler of any interrupt or exception delivered between restoring the stack pointer and successful execution of SYSRET is not invoked with the user stack. It can do so using approaches such as the following:
— Confirming that the value of RCX is canonical before executing SYSRET.
— Using paging to ensure that the SYSCALL instruction will never save a non-canonical value into RCX.
— Using the IST mechanism for gate 13 (#GP) in the IDT.
IF (CS.L ≠ 1 ) or (IA32_EFER.LMA ≠ 1) or (IA32_EFER.SCE ≠ 1) (* Not in 64-Bit Mode or SYSCALL/SYSRET not enabled in IA32_EFER *) THEN #UD; FI; IF (CPL ≠ 0) OR (RCX is not canonical) THEN #GP(0); FI; 1. Regardless of the value of R11, the RF and VM flags are always 0 in RFLAGS after execution of SYSRET. In addition, all reserved bits in RFLAGS retain the fixed values. IF (operand size is 64-bit) THEN (* Return to 64-Bit Mode *) RIP ← RCX; ELSE (* Return to Compatibility Mode *) RIP ← ECX; FI; RFLAGS ← (R11 & 3C7FD7H) | 2; (* Clear RF, VM, reserved bits; set bit 2 *) IF (operand size is 64-bit) THEN CS.Selector ← IA32_STAR[63:48]+16; ELSE CS.Selector ← IA32_STAR[63:48]; FI; CS.Selector ← CS.Selector OR 3; (* RPL forced to 3 *) (* Set rest of CS to a fixed value *) CS.Base ← 0; (* Flat segment *) CS.Limit ← FFFFFH; (* With 4-KByte granularity, implies a 4-GByte limit *) CS.Type ← 11; (* Execute/read code, accessed *) CS.S ← 1; CS.DPL ← 3; CS.P ← 1; IF (operand size is 64-bit) THEN (* Return to 64-Bit Mode *) CS.L ← 1; (* 64-bit code segment *) CS.D ← 0; (* Required if CS.L = 1 *) ELSE (* Return to Compatibility Mode *) CS.L ← 0; (* Compatibility mode *) CS.D ← 1; (* 32-bit code segment *) FI; CS.G ← 1; (* 4-KByte granularity *) CPL ← 3; SS.Selector ← (IA32_STAR[63:48]+8) OR 3; (* RPL forced to 3 *) (* Set rest of SS to a fixed value *) SS.Base ← 0; (* Flat segment *) SS.Limit ← FFFFFH; (* With 4-KByte granularity, implies a 4-GByte limit *) SS.Type ← 3; (* Read/write data, accessed *) SS.S ← 1; SS.DPL ← 3; SS.P ← 1; SS.B ← 1; (* 32-bit stack segment*) SS.G ← 1; (* 4-KByte granularity *)
All.
| #UD | The SYSRET instruction is not recognized in protected mode. |
| #UD | The SYSRET instruction is not recognized in real-address mode. |
| #UD | The SYSRET instruction is not recognized in virtual-8086 mode. |
| #UD | The SYSRET instruction is not recognized in compatibility mode. |
| #UD |
If IA32_EFER.SCE = 0. If the LOCK prefix is used. |
| #GP(0) |
If CPL ≠ 0. If RCX contains a non-canonical address. |


$0290/656: Directory sector ROM-Reference: LDA $0290 : $C609 STA $0290 : $C639 Previous Page / Next Page


jKanban
jKanban allow you to create and manage Kanban Board in your project! Try It!
Fork on GitHub
Add "Default" board
Add element in "To Do" Board
Remove "Done" Board


| Folders | |||
| <parent> |
| File | File | File | File | File | File | File | File | File | File |
|---|---|---|---|---|---|---|---|---|---|
| BSTFromAr...t.java | BSTTest.java | CommonPar...t.java | FindMedia...t.java | InvertTre...t.java | MirrorTre...t.java | ReplaceWi...t.java | RootToLea...t.java | SubTreeTest.java | TreeCommo...t.java |
| BSTFromLi...t.java |
Folders: 1
Files: 11
Size of all files: 0.014 MG


-
- Create a webhook in the Slack channel that will receive the notifications
- Add it to .env as WEBHOOK_URL
- Create a github webhook with the watch permission, and the URL of your glitch app as the payload.
Made with ♥ by Ramiro


Spitfire
A review by Chris Holland & Scott Hamilton of http://www.stomptokyo.com/
Our rating: one lava lamp (out of 5).
There are times in a person's life when you feel the calling of a higher power, when the universe reaches out and brushes your cheek to get your attention. At times like this, a person is compelled to do whatever it takes to satisfy their place in the universe. To put it another way, it's Destiny.
That is why, if anyone asks, we decided to watch the movie Spitfire. We didn't just wander by this film in the video store like so many you read about here. Oh no, we saw the preview for Spitfire on another tape and we were driven to see it. Driven in the same way a moth is driven to a flame... and boy, did we get burned!
The most compelling thing about this movie is the cast. Among the people we saw in the preview:
Lance Henriksen: He played Bishop in Aliens, and he can now be seen in Fox TV's Millennium. He is an excellent actor, though he has appeared in a lot of straight-to-video junk.
Tim Thomerson: If you've been reading our site for any amount of time, you know who Tim is. He played Jack Deth in all five Trancers films, he played one of Mel Gibson's cronies in Air America, he was the Blur in those Baby Ruth commercials. He is the king of B-actors, a consummate performer, and a good friend.*
Brion James: Brion is known as the "time to die" guy from Blade Runner. More recently he appeared in The Fifth Element. Also a b-actor extraordinaire and a childhood friend of Thomerson's.
Sarah Douglas: She was Ursa in Superman II. She's been in a lot of bad movies since then.
There are not many movies out there that could correctly utilize a cast like this, and Spitfire doesn't even come close. For instance, Henriksen plays a James Bond-type character named Richard Charles, complete with a wardrobe made of nothing but tuxedoes, cool cars, and a jet pack. Unfortunately, Henriksen's performance in this film makes even riding a jet pack look boring. Our theory is that ol' Lance had some boat payments to make, because he's not even paying attention to his fellow cast members.
The film opens with Charles enjoying a quiet tryst with a lover. He's in full tuxedo, but somehow she manages to be topless in the first two minutes of the film (not including the standard "naked dancing girls with guns" opening credits). Learn from this: nudity in a film's first scene is not a good sign. Mercifully, this love scene is interrupted by the appearance of an old arch-enemy, Carla (Douglas), who wants something that Mr Charles has: a career.
No, no, just kidding. She wants the computer disk which holds some Ukranian launch codes, so she can wield nuclear power. Mwaaaa-ha-ha-ha-ha! Once again, we're treated to the old saw of the search for the computer disk/secret file (see Mute Witness and Hitler's Daughter) and the bad guy who wants to steal some nukes (see Broken Arrow). Brion James makes his (only) appearance in this scene and utters his famous line: "Time to die."
The lover takes her cue from this and, in the ensuing martial-arts/gunfight scene, kills several men before dying herself -- topless all the while. What a woman! Before dying, of course, she reveals to Charles her deepest secret: he is the father of her daughter, Charlie. Richard makes his escape and flies away with the aformentioned jet pack.
That is the director's cue to change scenes, and so we meet Charlie Case (Kristie Phillips), Richard's daughter and world-class gymnast/martial artist. Rex Beechum (Thomerson), an opportunistic reporter, latches on to Charlie in an attempt to expose the seamy underside of women's gymnastics (which, if you believe this film, involves such competitive practices as spiking the powder bin and dosing your rivals with seizure-inducing drugs). After one such competition, Charles approaches Charlie, stashes something on her person without her knowledge, and is quickly captured by Carla and her minions.
A merry chase begins once Carla figures out that Charlie has the disk (or actually another tired plot device, the key to a safe deposit box that contains the disk), and they pursue her gymnastics tour group across Europe and Asia in an attempt to retrieve it. Beechum follows suit, and Charlie spends the rest of the film changing accents from scene to scene and occasionally punching someone (mostly Beechum). In an attempt to ape (or perhaps parody) the Bond movies, Spitfire features many international locations.
Spitfire was directed by Albert Pyun, which really ought to tell you something. Other Pyun masterpieces include Alien from L.A., Cyborg, Hong Kong '97, and Brain Smasher: A Love Story. Given this track record, Spitfire is exactly the kind of film you'd expect it to be: bad. How this man manages to continue making movies, let alone movies with budgets as relatively high as his recent Adrenaline: Feel the Rush, starring Chritopher Lambert and Natasha Hensbridge, is a mystery to us. He must work really cheap.  If this last theory is true, we don't even want to know what Tim Thomerson did to appear in so many Pyun films. It probably involved nuns and sheep, and Pyun must have it all on film, complete with Dolby digital sound.
As with other Pyun films, the director pretty much points the camera at the actors, has then do a scene, then movies on. Nobody in this movie ever milks a joke or does a delivery that serves the material. Perhaps the worst casualty of this treatemnt is one of Spitfire's running gags, that is that Charles has left a string of illegitimate children all over the world who have gone into the intelligence-gathering service. This could have been an amusing subplot, but every time it's brought up, it falls flat.
Spitfire may have some historical significance as the first movie ever to be built around the presence of a gymnastics star. And while we can't say anything bad about Kristie Phillips as a gymnast, she isn't much of an actress. Through most of the movie she tries to do some sort of accent, but darned if we could tell what it was. A couple of times it sounded kind of Valley Girl, other times it sounds Austrailian, and some other times it sounds like a Southern drawl. Exactly what her heritage might be is completely up in the air. It should also be added that she has a mean right hook, which she uses on Tim Thomerson several times. We enjoyed those parts of the movie way too much.
 Unless you are a big fan of several of the actors who appear in this film, you do not want to see Spitfire. You've been warned. This movie is not so bad it's good. It's so bad it's bad.
---------------------------------------- * Two of the statements in this sentence are completely false. We're investigating how they got by our fact checker.
-- Stomp Tokyo Video Reviews http://www.stomptokyo.com/
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Costa Rica
La Carreta sin Bueyes
A while back in the former San Jose before automobiles, where ox carts filled the streets and people were simple and superstitious; lived a witch that was in love with the most gallant man in the small village. The man with his great attachment to and belief in the Christian faith wanted nothing to do with her, but the witch using deceptive methods, was able to make him fall in love with her and thus lived with him for much time, converting him to be much the same as her. Notably, no one approved of this union, much less the village priest whom in his sermons denounced the fact, and in the years that followed, the man no much older was stricken by an incurable illness and requested of the witch that if he should die, that they would give him the official final right in the local temple. Upon petitioning the priest, the final request of the witche´s beloved, the priest denied the request due to the sins during his lifetime. The witch decided that one way or another she was going to get her husban to that temple, so she put her deceased lovers body in a box and loaded him into the oxcart, she grabbed her broom and machete and proceeded to take him to the temple. The Oxen moved with great speed, but upon arriving to the entrance of the temple, the priest told them "to stop in the name of the lord", the animals obeyed, but the witch did not as she went on to blasphemy against all that is sacred. The priest forgave the oxen since they complied with his orders, and the witch, the ox cart and the deceased beloved, now walk the earth, and some nights if one listens closely, the sounds of the ox cart’s wheels can be heard passing through the roads of the villages being dragged by furious she devil bare hands.
Source: Here


Id
Name
Username
Email
Street
Suite
City
Zipcode
Geo:Lat
Geo:Lng
Phone
Website
Company Name
Company catch phrase
Company bs
Fetch Data


when i think She likes to eat alot of frfr ... (typical girl habit :P)
She liikes cars ..... vitssss :P
She is so ... wuy besmam, ena demo emtwedachew kalat ... tasa ... wuy .. gbrelyeeee
She does not like (hamet) be englizegna alakewm ende wuchi gn hamet ale ende ...
gn techi arif new endewm eko malet biology extreme lay letrs arif new ylal ena ya drb keyet meta
Listen carefully while she speaks.... wont repeat :P
It was on telegram when we started talking :P
sedebkuat keza telachgm yhew eskahun endetelachgn alech.....
last... .. and we didn't see each other after that until....
A memorable day indeed. We became good friends.
This too was a great day! :P
what a ....! :P
Now that's called a perfect smile..


|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object apollo.dataadapter.chado.jdbc.PureJDBCTransactionWriter
public class PureJDBCTransactionWriter
An alternative to JDBCTransactionWriter that:
| Field Summary | |
|---|---|
protected ChadoAdapter |
adapter
|
protected boolean |
copyOnWrite
|
protected JdbcChadoAdapter |
jdbcAdapter
|
protected boolean |
logApolloTransactions
|
protected static org.apache.log4j.Logger |
logger
|
protected boolean |
logSql
|
protected boolean |
noCommit
|
protected boolean |
useCDS
|
| Constructor Summary | |
|---|---|
PureJDBCTransactionWriter(ChadoAdapter adapter,
JdbcChadoAdapter jdbcAdapter,
boolean copyOnWrite,
boolean noCommit,
boolean useCDS)
|
| Method Summary | |
|---|---|
protected boolean |
addComment(long annotId,
Comment comment)
Add a comment to the database |
protected boolean |
addComment(SeqFeatureI feature,
AddTransaction t)
Comment strings look like this: Only one EST supports this alternative transcript::DATE:Mon Feb 26 18:08:49 CET 2007::TS:1172509728919 With the author in the pub table |
protected void |
addComments(AnnotatedFeatureI annot)
Add all comments from an AnnotatedFeatureI object |
protected boolean |
addDbXref(long featureId,
DbXref dbx)
|
protected boolean |
addDbXref(SeqFeatureI feature,
AddTransaction t)
|
protected void |
addDbxrefs(AnnotatedFeatureI annot)
Add all dbxrefs from an AnnotatedFeatureI object |
protected java.lang.Long |
addExon(SeqFeatureI exon,
java.lang.String author,
java.util.Date date,
java.lang.Long transId,
int exonNum,
apollo.dataadapter.chado.jdbc.ChadoFeature srcFeature,
boolean checkExons)
Add an exon to a transcript, inserting the exon into the database if it does not already exist. |
protected java.lang.Long |
addGene(SeqFeatureI gene,
java.lang.String author,
java.util.Date date,
apollo.dataadapter.chado.jdbc.ChadoFeature srcFeature,
boolean checkExons)
Add a gene to the chado database. |
protected java.lang.Long |
addSequenceEdit(SequenceEdit seqEdit,
java.lang.String author,
java.util.Date date)
|
protected boolean |
addSynonym(long annotId,
java.lang.String name)
Add a synonym to the database |
protected boolean |
addSynonym(SeqFeatureI feature,
AddTransaction t)
|
protected void |
addSynonyms(AnnotatedFeatureI annot)
Add all synonyms from an AnnotatedFeatureI object |
protected java.lang.Long |
addTopLevelAnnot(SeqFeatureI annot,
java.lang.String author,
java.util.Date date,
apollo.dataadapter.chado.jdbc.ChadoFeature srcFeature)
Add a top level annotation to the chado database. |
protected java.lang.Long |
addTranscript(Transcript transcript,
java.lang.String author,
java.util.Date date,
java.lang.Long geneId,
long transcriptRank,
apollo.dataadapter.chado.jdbc.ChadoFeature srcFeature,
boolean checkExons)
Add a transcript to the chado database. |
protected boolean |
commitAddTransaction(java.lang.String transId,
AddTransaction t,
boolean checkExons)
|
protected boolean |
commitDeleteTransaction(java.lang.String transId,
DeleteTransaction dt)
|
protected boolean |
commitTransaction(java.lang.String transId,
int numTransactions,
Transaction t,
boolean checkExons)
|
boolean |
commitTransactions(TransactionManager tm)
Write a set of transactions to the database using adapter |
protected boolean |
commitUpdateParentTransaction(java.lang.String transId,
UpdateParentTransaction t)
|
protected boolean |
commitUpdateTransaction(java.lang.String transId,
UpdateTransaction ut)
|
protected boolean |
deleteCDS(long featureId)
|
protected boolean |
deleteComment(long annotId,
Comment comment)
|
protected boolean |
deleteDbXref(long annotId,
DbXref dbXref)
|
protected boolean |
deleteExon(long exonId,
long transcriptId)
Delete an exon from the database (defaults to not checking if it is a shared exon |
protected boolean |
deleteExon(long exonId,
long transcriptId,
boolean checkExon)
Delete an exon from the database |
protected boolean |
deleteGene(long featureId)
|
protected boolean |
deletePolypeptide(long featureId)
|
protected boolean |
deleteSynonym(long annotId,
java.lang.String name)
Delete a synonym from the database |
protected boolean |
deleteTranscript(long featureId)
|
protected boolean |
deleteTranscript(long featureId,
boolean checkExons)
|
protected void |
fatalError(java.lang.String error)
|
protected apollo.dataadapter.chado.jdbc.ChadoCds |
getCdsCoordinatesFromTranscript(Transcript transcript,
int tfmin,
int tfmax)
Figure out chado CDS coordinates and sequence based on the Apollo transcript. |
protected java.lang.String |
getChadoCdsName(ApolloNameAdapterI nameAdapter,
java.lang.String name)
|
protected long |
getChadoFeatureId(SeqFeatureI feature)
|
protected long |
getChadoIdForFeature(SeqFeatureI f)
Retrieve the chado primary key value for a given feature, or -1 if the feature does not exist in the database. |
protected int |
getChadoIsAnalysis(SeqFeatureI feat)
Determine what value to place in the chado feature.is_analysis column for an Apollo feature. |
protected int |
getChadoLocgroup(long feature_id,
apollo.dataadapter.chado.jdbc.ChadoFeature srcFeature)
|
protected int |
getChadoLocgroup(SeqFeatureI feat,
apollo.dataadapter.chado.jdbc.ChadoFeature srcFeature)
Compute the chado featureloc.locgroup for an Apollo feature. |
protected java.lang.String |
getChadoPeptideName(ApolloNameAdapterI nameAdapter,
java.lang.String name,
SeqFeatureI pfeat)
|
protected java.lang.Long |
getChadoPrimaryDbxrefId(SeqFeatureI feat)
Determine what to put in the feature.dbxref_id column for an Apollo feature. |
protected java.lang.Long |
getChadoRelationshipCvTermId(java.lang.String cvName)
|
protected java.lang.String |
getChadoResidues(SeqFeatureI feat)
Determine what value to place in the chado feature.residues column for an Apollo feature. |
protected void |
logTransactionList(java.util.List tlist)
|
protected boolean |
updateCdsFeatureLocation(long featureId,
Transcript transcript,
RangeI oldLocn)
Update the location of a transcript's CDS and polypeptide. |
protected boolean |
updateFeatureLocation(long featureId,
RangeI oldLocn,
apollo.dataadapter.chado.jdbc.ChadoFeatureLoc newLoc)
Update the location of a gene-related feature, e.g. |
protected boolean |
updateFeatureName(long featureId,
java.lang.String newName,
boolean isName)
Update the name |
protected boolean |
updateFeatureType(long featureId,
java.lang.String newType)
Update the type |
protected boolean |
updateOwner(long annotId,
java.lang.String newStatus,
java.lang.String oldStatus)
|
protected boolean |
updateStatus(long annotId,
java.lang.String statusTerm,
java.lang.String newStatus,
java.lang.String oldStatus)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final org.apache.log4j.Logger logger
protected ChadoAdapter adapter
protected JdbcChadoAdapter jdbcAdapter
protected boolean copyOnWrite
protected boolean noCommit
protected boolean logApolloTransactions
protected boolean logSql
protected boolean useCDS
| Constructor Detail |
|---|
public PureJDBCTransactionWriter(ChadoAdapter adapter, JdbcChadoAdapter jdbcAdapter, boolean copyOnWrite, boolean noCommit, boolean useCDS)
adapter
- ChadoAdapter to use for writing changesjdbcAdapter
- JdbcChadoAdapter to use for writing changescopyOnWrite
- Whether to keep a copy of the old object(s) when writing changes.noCommit
- Whether to run in 'no commit' mode.| Method Detail |
|---|
public boolean commitTransactions(TransactionManager tm)
adapter
tm
- TransactionManager that contains the uncommitted transactions to write.
protected void logTransactionList(java.util.List tlist)
protected boolean commitTransaction(java.lang.String transId, int numTransactions, Transaction t, boolean checkExons)
checkExons
- whether to check database for exons in addExonprotected long getChadoFeatureId(SeqFeatureI feature)
protected boolean commitUpdateParentTransaction(java.lang.String transId, UpdateParentTransaction t)
protected boolean commitAddTransaction(java.lang.String transId, AddTransaction t, boolean checkExons)
checkExons
- whether to check database for exons in addExonprotected java.lang.Long addTopLevelAnnot(SeqFeatureI annot, java.lang.String author, java.util.Date date, apollo.dataadapter.chado.jdbc.ChadoFeature srcFeature)
annot
- Apollo feature that represents the top level annotationauthor
- Author string from the Apollo transaction.date
- Date from the Apollo transaction.srcFeature
- Chado feature on which the gene is located. May be null.
protected java.lang.Long addGene(SeqFeatureI gene, java.lang.String author, java.util.Date date, apollo.dataadapter.chado.jdbc.ChadoFeature srcFeature, boolean checkExons)
gene
- Apollo feature that represents the gene.author
- Author string from the Apollo transaction.date
- Date from the Apollo transaction.srcFeature
- Chado feature on which the gene is located. May be null.checkExons
- whether to check database for exons in addExon
protected java.lang.Long addTranscript(Transcript transcript, java.lang.String author, java.util.Date date, java.lang.Long geneId, long transcriptRank, apollo.dataadapter.chado.jdbc.ChadoFeature srcFeature, boolean checkExons)
transcript
- Apollo feature that represents the transcript/mRNA.author
- Author string from the Apollo transaction.date
- Date from the Apollo transaction.geneId
- Chado feature.feature_id of the gene to which the transcript belongs.transcriptRank
- Rank of the transcript with respect to the gene.srcFeature
- Chado feature on which the transcript is located. May be null.checkExons
- whether to check database for exons in addExon
protected java.lang.Long addExon(SeqFeatureI exon, java.lang.String author, java.util.Date date, java.lang.Long transId, int exonNum, apollo.dataadapter.chado.jdbc.ChadoFeature srcFeature, boolean checkExons)
exon
- Apollo feature that represents the exon.author
- Author string from the Apollo transaction.date
- Date from the Apollo transaction.transId
- Chado feature.feature_id of the transcript to which the exon belongs.exonNum
- Index of the exon in the transcript (counting from 0, as per chado feature_relationship.rank)srcFeature
- Chado feature on which the exon is located. May be null.checkExons
- whether to check database for exons in addExon
protected boolean addSynonym(SeqFeatureI feature, AddTransaction t)
protected boolean addComment(SeqFeatureI feature, AddTransaction t)
protected void addDbxrefs(AnnotatedFeatureI annot)
annot
- - annotation to store dbxrefs fromprotected boolean addDbXref(SeqFeatureI feature, AddTransaction t)
protected boolean addDbXref(long featureId, DbXref dbx)
protected boolean deleteDbXref(long annotId, DbXref dbXref)
protected java.lang.Long addSequenceEdit(SequenceEdit seqEdit, java.lang.String author, java.util.Date date)
protected int getChadoLocgroup(SeqFeatureI feat, apollo.dataadapter.chado.jdbc.ChadoFeature srcFeature)
feat
- Apollo feature.srcFeature
- Chado feature on which feat
is located (determines locgroup).protected int getChadoLocgroup(long feature_id, apollo.dataadapter.chado.jdbc.ChadoFeature srcFeature)
protected java.lang.Long getChadoPrimaryDbxrefId(SeqFeatureI feat)
feat
- Apollo feature.protected int getChadoIsAnalysis(SeqFeatureI feat)
feat
- Apollo feature.protected java.lang.String getChadoResidues(SeqFeatureI feat)
feat
- Apollo featureprotected java.lang.Long getChadoRelationshipCvTermId(java.lang.String cvName)
protected boolean commitDeleteTransaction(java.lang.String transId, DeleteTransaction dt)
protected boolean deleteExon(long exonId, long transcriptId)
exonId
- - feature.feature_id of the exontranscriptId
- - feature.feature_id of the parent transcript
protected boolean deleteExon(long exonId, long transcriptId, boolean checkExon)
exonId
- - feature.feature_id of the exontranscriptId
- - feature.feature_id of the parent transcriptcheckExon
- - check to see that this exon is not shared before deletion
protected boolean deleteTranscript(long featureId)
protected boolean deleteTranscript(long featureId, boolean checkExons)
protected boolean deleteCDS(long featureId)
protected boolean deletePolypeptide(long featureId)
protected boolean deleteGene(long featureId)
protected boolean commitUpdateTransaction(java.lang.String transId, UpdateTransaction ut)
protected boolean updateCdsFeatureLocation(long featureId, Transcript transcript, RangeI oldLocn)
featureId
- Chado feature id that corresponds to transcript
transcript
- Apollo transcript whose peptide has changedoldLocn
- The range of the old CDS feature location. MAY BE NULL.protected boolean updateFeatureLocation(long featureId, RangeI oldLocn, apollo.dataadapter.chado.jdbc.ChadoFeatureLoc newLoc)
protected boolean updateFeatureName(long featureId, java.lang.String newName, boolean isName)
protected boolean updateFeatureType(long featureId, java.lang.String newType)
protected void fatalError(java.lang.String error)
protected long getChadoIdForFeature(SeqFeatureI f)
protected apollo.dataadapter.chado.jdbc.ChadoCds getCdsCoordinatesFromTranscript(Transcript transcript, int tfmin, int tfmax)
protected void addSynonyms(AnnotatedFeatureI annot)
annot
- - annotation to store synonyms fromprotected boolean addSynonym(long annotId, java.lang.String name)
annotId
- - Chado ID for owner annotationname
- - Synonym
protected boolean deleteSynonym(long annotId, java.lang.String name)
annotId
- - Chado ID for owner annotationname
- - Synonym
protected void addComments(AnnotatedFeatureI annot)
annot
- - annotation to store comments fromprotected boolean addComment(long annotId, Comment comment)
annotId
- - Chado ID for owner annotationcomment
- - Comment object
protected boolean deleteComment(long annotId, Comment comment)
protected boolean updateStatus(long annotId, java.lang.String statusTerm, java.lang.String newStatus, java.lang.String oldStatus)
protected boolean updateOwner(long annotId, java.lang.String newStatus, java.lang.String oldStatus)
protected java.lang.String getChadoCdsName(ApolloNameAdapterI nameAdapter, java.lang.String name)
protected java.lang.String getChadoPeptideName(ApolloNameAdapterI nameAdapter, java.lang.String name, SeqFeatureI pfeat)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Physical Lighting Quantities: Tying Both Ends
Validation against ground truth data is an important step when implementing support for physical lighting quantities in a realtime or offline renderer.
In this post, a simple but effective method to assess that the physical camera model behaves as expected against ground truth data (or conversely) will be presented.
Digital Still Camera Exposure Model
Epic Games recently published a comprehensive blog post about auto-exposure handling in Unreal Engine 4.25. The part of most significance for this post is the mention of ISO Standard: 12232:2019.
The saturation based speed \(S_{sat}\) of an electronic still picture camera as given in ISO Standard: 12232:2019 is defined as:
\(S_{sat}=\cfrac{78}{H_{sat}}\)
where \(H_{sat}\) is the minimum focal plane exposure, expressed in lux-seconds (\(lx.s\)), that produces the maximum valid (not clipped or bloomed) camera output signal. This provides \(1/2\) "stop" of headroom (41% additional headroom) for specular highlights above the signal level that would be obtained from a theoretical 100% reflectance object in the scene, so that a theoretical 141% reflectance object in the scene would produce a focal plane exposure of \(H_{sat}\).
The focal plane exposure \(H\) in lux-seconds is given by the following equation:
\(H=\cfrac{q L t F^2}{A^2 i^2} + H_f\)
where
\(L\) is the scene luminance expressed in \(cd/m^2\)
\(A\) is the lens F-Number
\(t\) is the exposure time expressed in seconds
\(F\) is the lens focal length expressed in meters
\(I\) is the image distance expressed in meters
\(H_f\) is the focal plane flare exposure expressed in lux-seconds
-
\(q\) is the factor modeling the total lens vignetting and transmission attenuation:
\(q=\cfrac{\pi T f_v \cos^4\theta}{4}\)
with \(T\) the transmission factor of the lens, \(f_v\) the vignetting factor and \(theta\) the angle of image point off axis. For a camera focused on infinity, \(Hf<<H\), \(T=9/10\), \(\theta=10^{\circ}\), \(\cos^4\theta=94/100\), and \(fv=98/100\), \(q\) is equal to 65/100.
The adjusted focal plane exposure \(H_{SBS}\) is obtained by scaling the focal plane exposure \(H\) according to the SBS method and, optionally, scaling by the ISO arithmetic speed \(S\):
\(H_{SBS}=H\cfrac{S}{100}\cfrac{100}{78}=H\cfrac{S}{78}\)
Colour - HDRI implements the aforementioned model with Python:
>>> import colour_hdri >>> colour_hdri.saturation_based_speed_focal_plane_exposure( ... 18, 5.6, 0.25, 400 ... ) 0.46993364546604555
Colour - Nuke offers a Gizmo/Group implementation also available on Nukepedia.
Panoramic HDRI Calibration
With a plausible DSC Exposure Model implemented, calibrated ground truth data can be imaged for verification purposes.
An Artist-Friendly Workflow for Panoramic HDRI by Lagarde, Lachambre and Jover (2016) describes a simple but effective process to calibrate a panoramic HDRI for absolute luminance. The only requirement is to measure the scene illuminance with a light meter during the HDRI capture.
The major advantage of this approach is that it is independent of the imaging device and thus does not require knowledge of its calibration constant \(K\).
The multiplying factor \(S_L\) used to convert the panoramic HDRI relative luminance values to absolute luminance values is obtained as follows:
\(S_L=\cfrac{E_{vm}}{E_{vi}}\)
where \(E_{vm}\) is the metered scene upper hemisphere illuminance in lux (\(lx\)) and \(E_{vi}\) is the upper hemisphere illuminance of the panoramic HDRI in lux, i.e. the upper hemisphere integral of the relative luminance values:
\(\int_{\Omega}{L\ cos(\theta)\omega}\)
For an equirectangular image, the solid angle \(\omega\) of a pixel is given as follows:
\(\omega=sin(\theta)\cfrac{2\pi}{w}\cfrac{\pi}{h}\)
where \(w\) and \(h\) are the width and height of the image, respectively.
Colour - HDRI implements support for absolute luminance calibration with Python:
>>> import colour_hdri >>> import numpy as np >>> RGB = np.ones([2048, 1024, 3]) >>> colour_hdri.upper_hemisphere_illuminance_Lagarde2016(RGB) >>> colour_hdri.absolute_luminance_calibration_Lagarde2016(RGB, 120000)[ ... 0, 0 ... ] array([ 38215.85392444, 38215.85392444, 38215.85392444]) >>> colour_hdri.calibration.absolute_luminance.upper_hemisphere_illuminance_Lagarde2016( ... RGB ... ) 3.1400580564615663
Likewise, Colour - Nuke offers a Gizmo/Group implementation also available on Nukepedia.
Imaging the Panoramic HDRI with the Digital Still Camera Exposure Model
A free panoramic HDRI processed accurately is a rarity online. Most vendors sell either non-linear or clipped imagery, and when it is not clipped, photometric and colorimetric information is missing and because the creation process is unknown, the data cannot be trusted for scientific applications requiring physical lighting quantities.
Fortunately, Lagarde, Lachambre and Jover (2016) have published a trustworthy panoramic HDRI that will be used in this section.
The authors have been kindly enough to send me the original .CR2 files so that I could merge and stitch them.
Merging was performed with Colour - HDRI, specifically, by using a modified version of the Merge from Raw Files example.
With the various .CR2 file batches merged, the validation process involves comparing a cherry picked .CR2 file from one of the exposure batches with the corresponding HDRI scaled to absolute luminance and imaged via the DSC Exposure Model using the camera settings of the .CR2 file.
Conclusion
With Treasure Island, the HDRI scaled to absolute luminance is about 14% brighter (clipped luminance) than the .CR2 file. This is not perfect but considering the scaling factors involved, it is reasonably satisfactory.
Some potential source of discrepancies are:
Lack of flat-fields to correct the neutral density filter attenuation and thus some manual correction was introduced.
Illuminance measurement precision.
Sun pixel coverage is small and might introduce significant error.
Unknown parameters for the focal plane exposure equation that were left at their default values, e.g. lens attenuation values.
Other tests performed with various non-public HDRI but imaged similarly have yielded better results with less error. Importantly though, the technique is dependent on good metering of the scene upper hemisphere illuminance along with non-clipped capture and correct processing of HDR imagery.
Conversely and assuming a correctly implemented (DSC) Exposure Model, this method also allows to check if the panoramic HDRI is correctly captured and processed.
Finally, I would like to thanks Sebastien Lagarde, Sebastien Lachambre and Cyril Jover for the recurring conversations on that topic during the past few years.
Comments
Comments powered by Disqus


256
Cancel
Post
displayname
@username
0
Following
0
Followers
0
Posts
New version
available.
Download
Hidden feature enabled.
Back to stream


Event Location:
Building 92
15010 NE 36th ST
Redmond, Washington
Abstract:
Accomplished IT staff looking to make the next step in their career development are often tempted to abandon the traditional full-time employee role for that of a self-managed consultant. The biggest challenge is how to know which role is the best fit for you. This session will discuss the pros/cons of self-managed consulting with an eye to the skills it takes to really be successful on the outside. For those that fit, we will also cover several of the hidden traps of consulting, what you need to get started, and the six skills that you absolutely have to have (or rent) to make a go of it. Whether you are looking at this type of move near-term or just keeping your options open, this talk will give you the real-life lessons to make that next step with confidence.
Speaker(s): Maxwell Myrick,
Abstract:
This session is for the love of technology and learning. Its based off research performed on objects, design and code built as similar as possible to see how Oracle and SQL Server compare in performance, usage and storage of indices. Environments were built on-prem and in the cloud to view differences in different cloud support of database engines and based off trusted measurements in each platform so as to dig into how the use case was built, the similarities and the differences in each. Based off this use case, enhanced builds of more advanced index features and discussions of the advantages, reasons for the introduction and how it's effected the direction of each product, the DBAs who are responsible for them and resources. Takeaways are: 1. Receive a strong education on platform differences between Oracle and SQL Server. 2. Discover hidden insight on index storage and costs. 3. Learn about great tips on maintaining index health
Speaker(s): Kellyn Pot'Vin-Gorman,
Abstract:
Azure Database for MySQL and Azure Database for PostgreSQL are managed database services built for developers using the community edition of MySQL and PostgreSQL. Learn how you can leverage these new choices of managed database services to build scalable, secure and intelligent apps. Using insights from current customer scenarios and through live demos, we walk through the service management capabilities, best practices to move your databases to the service, and also focus on how the Microsoft Azure ecosystem of app and data services is unlocking the potential of MySQL and PostgreSQL in the Azure cloud platform. In this session, we will show you how you can develop on Azure and deploy solutions without having to worry about high availability, disaster recovery, monitoring and other common operational and administration tasks!
Speaker(s): Amit Banerjee,
Abstract:
Troubleshooting spinlock contention, strange wait types, AVs and asserts is no longer a black box. With the availability of SQLCallStackResolver (http://aka.ms/sqlstack) you can start uncovering the true reasons for a particular behavior within SQL Server, without having to open WinDbg! This tool can potentially save you a call to Microsoft Support (or at least go much better prepared to them!) In this session you will be presented live demos of how SQLCallStackResolver has helped in real-life cases, both for SQL Server on Windows and SQL Server on Linux. Latch contention, spinlock contention, AVs are no longer a mystery with this tool. Come and see how you can tackle the most difficult and advanced SQL Server troubleshooting scenarios yourself!
Speaker(s): Arvind Shyamsundar,
Abstract:
SQL Server has been running on Windows for years. Now Microsoft is making it available on Linux in order to provide a consistent database platform across Window and Linux servers, as well as on-premises and in the cloud. In this presentation, Janis Griffin, database performance evangelist at SolarWinds, will discuss the advantages of using SQL Server on Linux, comparing architecture, cost and performance. Several demonstrations on installing and maintaining SQL Server on Linux will be shown along with an introduction of several useful Linux commands. The participant will learn: 1. The advantages of using SQL Server on Linux, comparing architecture, cost and performance to Window servers. 2. How to install, maintain and backup SQL Server on Ubuntu Linux systems 3. Several useful Linux commands to monitor/manage SQL Server
Speaker(s): Janis Griffin,
Abstract:
We’ve all heard the rules for SQL Server like separate your data from your log, watch for a disk queue length over 2, and a low Page Life Expectancy always means memory pressure. All of these used to be true, but on today’s hardware and SQL Server versions – they are dangerously outdated. In this session, we will take on a bunch of these old “givens” of SQL Server that everybody has heard and followed, the underlying technological reasons they were true then, how today’s technology has rendered them obsolete, and what the new rules are that you need to know. So whether you are one of the old guard looking to refresh your set of working SQL Server rules or a member of the up-and-comers looking for the facts to win over the old guard, this session is for you.
Speaker(s): Maxwell Myrick,
Abstract:
DevOps came out of the Agile movement and the idea that operations needed to be part of the solution for agile development to be successful. The DBA was often the most resilient and robust member of the operations team and most resistant to change. This mentality was essential to the protection of company’s critical production data. This session discusses common database challenges and how they can be minimized or solved with newer DevOps practices without impacting the DBAs “safe zone”. We’ll discuss how to use these vital skills and motivate everyone towards solutions for more success in agile development environments. Development, testing, provisioning, patching, upgrading and managing will become easier with agile tools, virtualization and collaboration. The take-aways from this session are to embrace DevOps basics with a “DBA twist” such as: • Develop, Rinse, Repeat • Test Until Your Five Year Old Can Do It • Human Intervention Creates Human Error- Automate EVERYTHING.
Speaker(s): Kellyn Pot'Vin-Gorman,
Abstract:
Unexpected failovers or Unsuccessful failovers are by far the most common problem sorrunding Always On Availability Groups. Troubleshooting failover related issues can be a challenge and time consuming. In order to effectively troubleshooting these issues data needs to be collected and analyzed from different servers and replicas. Things get further complicated by the fact that there are multiple logs which needs to be looked at and that these logs are in different time zone formats. In this session we will look at how to easily identify the reasons for failover of an Availability Group and what new capabilities are being introduced to help with the analysis of AG failovers.
Speaker(s): Sourabh Agarwal,
Abstract:
If you want optimum performance in SQL Server, you have to use indexes.  Or, if you're on Azure, it is just requiring too much resources, which in turns means just more money to be spent on it?  How you write your queries is directly related to how you approach and solve your business problems, and more often than not thinking outside the box is the way to unlock incredible performances. But what this exactly means in a database? And how a developer can do that? In this session, you’ll see how using some lateral thinking and a set-based approach will open up a whole world of possibilities. Thanks to this demo intensive session, you'll never be the same after switching on this new mindset!
Speaker(s): Davide Mauri,
Abstract:
A default SQL Server installation is reasonably secure, but quot;reasonably securequot; doesn't cut it in an era in which one bad line of code, one weak password, or one open port can result in your customer database ending up on Pastebin. In this talk, we will look at different methods of securing a SQL Server instance, from venerable (principle of least privilege, Transparent Data Encryption) to novel (Always Encrypted, row-level security). These tools and techniques will show us ways for developers, database administrators, and network specialists to work together to secure SQL Server instances.
Speaker(s): Kevin Feasel,
Abstract:
Join me in the quest to become a PowerShell DBA! Learn how to improve your career by quickly accessing logistical information within a database rich environment. Discover how PowerShell tools can enable you to gather and store information in a functioning repository, placing views and functions from a day, a week, or even a year ago, right at your fingertips!
Speaker(s): Ben Miller,
Abstract:
Data is exploding across enterprises. Much of it is semi-structured junk. Or is it junk? What are you going to do with it until you can find out? Microsoft’s Azure Data Lake is a cloud storage and analytical service for parking a variety of data. When you are ready, you can query that semi-structured data using an ANSI SQL language called U-SQL. In this session I will demonstrate the similarities and differences between U-SQL and T-SQL. I will demonstrate how easy it is to build a query against 21 GB of CSV files. Such queries can help you determine whether you have a gold mine in your data or a bunch of garbage before investing in a full data warehouse build.
Speaker(s): Russel Loski,
Abstract:
Log Parser is one of Microsoft’s best and most under recognized tools. Originally designed to read IIS and system logs, its simple complexity makes it a true “swiss army knife” of a tool. With its ability to read multiple log and text formats and then spit them out in a myriad of formats, it can be used to quickly analyze large amounts of data and present them in a readable format. This presentation will start with some basic uses of Log Parser, explain some of the core features, demonstrate some of the challenges, and finally focus on using Log Parser to decrypt SSRS logs. These decrypted logs can then be used as a monitoring system. As with most things, there are multiple ways to accomplish a task. Log Parser will be a welcome addition to your tool belt!
Speaker(s): Michael Wall,
Abstract:
Data obfuscation, also known as data masking, is soon a new legal requirement. Masking is the solution for non-production systems (i.e. DEV, TEST, etc) to greatly reduce the surface area of risk for data breach in your organization. Masking should not be confused with encryption, which is an appropriate solution for production applications. Those who believe that encryption solves all security problems are misled. When done properly, masked data is not noticeable unless you look closely. Masking data well might still be usable for analytic reporting and aggregation, yet utterly useless for revealing confidential data. Masking is important enough that sophisticated software packages have become available. Come learn about the right way to mask non-production data in order to allow the organization to limit possible exposure only to production. Learn what techniques can be used, why, and what factors should be considered when deciding to secure confidential data.
Speaker(s): Tim Gorman,
Abstract:
Constraining everything in development and testing is database size. Storage is a bottleneck, and while faster SSD/Flash is available, it is still too expensive due to the size of many databases, especially in DEV and TEST. More to the point, it takes a lot of time to push terabytes around, and time itself is expensive. The old joke about "good, fast, and cheap -- pick any two" is so true with data. Providing full databases for each developer or tester on each task of each project seems unrealistic, when each copy might require terabytes of storage, so for decades everyone has limited themselves to working in shared dev/test environments that are refreshed only every few months, where conflicts occur, quality suffers, and things move slowly. Come learn why data virtualization is the solution to a problem everyone knows. Good, fast, and cheap -- have all three with data virtualization. Be able to clone data quickly, and remove the biggest constraint to development and testing.
Speaker(s): Tim Gorman,
Abstract:
When you have to do something more than once, you should script it! That’s true for SQL Server maintenance tasks. It’s also important for Business Intelligence projects as well. Microsoft has provided web services to manage your reporting service and to download reports in various forms. In this session I demonstrate how to leverage these web services from PowerShell to handle common SSRS administrative tasks: uploading and copying a report; checking the parameter values, setting the parameter defaults, scheduling a cache refresh. I addition, I demonstrate how to download a report top PDF using PowerShell. You will not only come away with a set of PowerShell scripts to manage your SSRS server, you will learn how to work around some of the less intuitive features of PowerShell to use and extend these scripts.
Speaker(s): Russel Loski,
Abstract:
Microsoft introduced the APPLY operator in SQL Server 2005. This under-used, non-standard operator can help us solve a number of common (and not-so-common) problems with elegant code which performs well. We will look several problem spaces in which the APPLY operator shines, such as joining to table-valued functions, getting the top N child records for each parent record, string splitting, and word matching. With the use of these examples, we will gain a deeper understanding of when to use the APPLY operator.
Speaker(s): Kevin Feasel,
Abstract:
It’s an all too common occurrence to have table columns or variables that have been assigned less than ideal data types. In this demo-heavy presentation I will show you the importance of choosing the proper data type; show you some guidelines in determining what an appropriate data type would be; and once chosen, give you some tools for its usage and management. I will demonstrate several performance and accuracy issues, along with their possible solutions, caused by either the assignment of inappropriate data types or improper usage of them. In addition I will cover several data type related functions, and point out caveats in their usage. I expect even advanced T-SQL developers and DBAs to walk away with a useful nugget or two.
Speaker(s): Vern Rabe,
Abstract:
SQL Server is a huge product, with many different places a DBA can go to look for information on how the server is performing. So many in fact that they can often overlap, which sometimes makes it hard to understand why tackling a new tool is worth the effort. In this installment of Rick's "Why should I care" series, he lays out a case for why working knowledge of the plan cache is critical for performance tuning efforts in real world environments. A review of relevant views and functions is included for the (newly?) motivated audience. Perfect for those who are relatively new to performance tuning concerns, or advanced DBAs trying to figure out how to have a similar conversation with their less experienced peers, or developers who are curious as to why their DBAs drink in the morning (allegedly). This is not a deep dive into the cache, it really is primarily a session exploring _why_ these DMOs are worth slogging through.
Speaker(s): Rick Lowe,
Abstract:
Planning a Power BI solution need to understand options choices? There is much to consider as you discover your inner Data Avenger. Like the old story of the 4 Blind Men The Elephant, if you ask 4 people to describe Power BI; you will likely get 4 answers. Power BI solutions have 9 Realms. It's easy to get started but things can get complicated quickly... Should you import your data use the cloud service? or keep your data on-premises using the gateway? Should you use DirectQuery or direct access to Analysis Services, multidimensional or tabular, in Azure or on-prem? What's the best method to secure data control user access? What to license? How will users access dashboards reports? Can it be embedded? A hammer or other tools? From simple desktop published reports, to enterprise-scale and highly-secured solutions; we will demystify all these options provide a roadmap to conquer the Nine Realms; from Midgard to Asgard, and from Desktop to Power BI Avenger.
Speaker(s): Paul Turley,
Abstract:
Does it seem strange server sizing articles automatically assume that a 2-socket system, with some number of cores, is the right solution, excepting a 4-socket for extreme circumstances? Or is this accepted because that’s what everyone assumes absent rational technical explanation based on recent generation components? There were once valid reasons for multi-socket as the baseline system, but the world has changed since then. Were your database and application architected together to achieve high memory locality on a NUMA system? If this question cannot definitely be answered in the affirmative, then more than likely a single socket system is the best server platform for database transaction processing. This is not an option currently offered by the major cloud providers.
Speaker(s): Joe Chang,
Abstract:
1. Temp Tables Table Variables by Vern Rabe. This talk will explain how to select between temp tables and table variables. 2. Why is my DBA So Grumpy ... When I Use NOLOCK and Other Query Hints by Rick Lowe Ever hear NOLOCK is bad? Ever use one (or a hundred) anyway? Come see some of the bad things that can happen when NOLOCK hints are abused. 3. Change Data Capture in SQL Server, SSIS, Master Data Services by Swagatika Sarangi. In This session, you will see a demonstration of implementing Change Data Capture in SQL Server 2017 and Master Data Services web UI 2017. 4. A look at what is required to get an Alexa application up and running on Azure Functions where voice is the UI By Andrew Cook 5. 15 speaking tips in 15 minutes by Arne Rowland.
Speaker(s): SQLSaturday Redmond,
Abstract:
Where do the estimated rowcount values come from? Look inside SQL Server’s distribution statistics to see how they are used to come up with the estimates. We’ll also discuss changes in the cardinality estimator in recent versions and look at some new metadata that gives us more statistics information. Goals: • Explore the output of DBCC SHOW_STATISTICS • Describe when the density information is useful • Look at some problem scenarios for which the statistics can’t give good estimates • Understand why cardinality estimation involves more than just the statistics
Speaker(s): Kalen Delaney,
Abstract:
Serverless is all about allowing us to focus only on the business problem we have to solve, removing all complexity related to infrastructure management, scalability and maintenance. Azure offers many options in that space and two of them are particulary interesting: Azure Function and Azure Logic Apps. What are you needs? Hanlding data coming from a form? Invalidating cached data when a file changes? Responding to an external event like new customer added to your CRM? Everything can be done very easily and with the language of your choice, or even via an easier workflow-like approach, that doesn't even require you to write code. No matter which approach you decide to take, you'll need to store data somewhere. Depending on the scenario you may want to use the new multi-API CosmosDB or the well established Azure SQL. In this session we'll see how all the mentioned technologies can help us to have architectural choices to be more efficient and effective in our job.
Speaker(s): Davide Mauri,
Abstract:
CosmosDB was announced at Build 2017 as an extension to Microsoft's DocumentDB offering and is positioned to be a key component of the Microsoft Data Platform. In this session, we will explore CosmosDB's graph API that is built using Apache's TinkerPop and Gremlin projects. Graph databases allow you to build a powerful data model that explores connections and paths between data. At the end of this session, attendees will have a solid understanding of what a graph database is and how you can use Gremlin and the .NET API to interact with a graph database.
Speaker(s): Christopher Sims,
Abstract:
Stop fretting about giving presentations -you CAN decide to become more confident, come across more polished, and actually present with authority. In this session, you will learn and pick up some great tips about how to better prepare, and then present, technical material. You WILL leave with an improved sense of possibility! Arnie will guide you with techniques to better understand and match the audience's expectations to your presentation goals. You will gain a better understanding of how to prepare your presentation, as well as how to get, and hold the audience's attention. And even how to be more relaxed with the inevitable critique from colleagues. Ramp up your career. Don't miss this session!
Speaker(s): Arnie Rowland,
Abstract:
Come to learn how an enterprise customer moves from on-premises to cloud with hybrid design leveraging SQL Server Always-on and distributed availability group across cloud platforms (Azure AWS).
Speaker(s): Kun Cheng,
Abstract:
Without temporal tables (AKA history tables), we can only see the current version of data. We can’t see rows that have been deleted or rows as they existed before the latest update. The temporal table support in SQL Server 2016 gives us the ability to create system-maintained “history” tables to track all changes to the table data. In this session we’ll discuss how you can benefit from temporal support in your tables, how to implement temporal tables in SQL Server 2016, and how to write “time travel queries” using the new FOR SYSTEM_TIME clause in a SELECT statement to easily query historical information.
Speaker(s): Vern Rabe,
Abstract:
PowerBI is used in many organizations, but how to govern it? this question is still a work in progress. All those features and capabilities and the limitless world of self-service BI, how are the users affected by that? How is IT? Some best practices, lessons learned and fun facts about the platform. I will be talking about why do we need governance in Power BI? Groups and PowerB, permission management, limitations and how it correlates with other O365 applications.
Speaker(s): Yana Berkovich,
Abstract:
Machine Learning Services with Python and R support has transformed SQL Server into a powerful end to end AI platform. Come learn about the advantages of doing in-database machine learning using R and Python languages and get the latest in this technology.
Speaker(s): Sumit Kumar,
Abstract:
In this talk Greg will explore the new Data Masking feature, that came out with SQL Server 2016. Greg will be discussing: • Why you should mask your data • The 4 different masking functions • Security around Dynamic Data Masking • Benefits, drawbacks and programming considerations around Dynamic Data Masking • How to crack Dynamic Data Masking Greg’s talk will also contain a number Dynamic Data Masking demos. After attending this session, Attendee will gain a solid understanding of Dynamic Data Masking and the considerations they should take into account when rolling out this new feature.
Speaker(s): Greg Larsen,
Abstract:
Are you interested in learning about Azure SQL Databases but are not sure where you should start learning? Platform as a service (PaaS) databases are here and adoption is growing. In this session, you will learn how to take your current DBA skills and utilize them with Azure Databases. We will focus on getting started, migrating databases, disaster recovery, performance, and security.
Speaker(s): John Sterrett,
Abstract:
You've heard about Power BI, and you've seen it, but you haven't yet rolled up your sleeves and got your hands dirty. It looks like it is really easy, but sometimes it helps to have someone step you through it the first time to help you hit the ground running. We will grab various public data sources, join them together in a model and build an interactive piece de ré·sis·tance on the visual design surface!
Speaker(s): Scott Stauffer,
Abstract:
Microsoft Azure Analysis Services SQL Server Analysis Services help you build comprehensive, enterprise-scale analytic solutions that deliver actionable insights through familiar data visualization tools such as Microsoft Power BI and Microsoft Excel. Join this session for a look forward to what's coming in soon! The demos will cover new features to be announced for enterprise-grade BI models in the cloud.
Speaker(s): Christian Wade,
Abstract:
SQL Performance strategies for on premises deployment don't translate straight through to the cloud. SQL Server 2016 brought much more integration and performance options for cloud database deployment. In this session we will see through multiple demos how to benefit from the storage options in Azure storage and make SQL Server break the sound speed!
Speaker(s): Armando Lacerda,
Abstract:
Have you ever wanted to know how Transparent Database Encryption (TDE) works or how you set it up? What about encrypting your backups? This session will go over all the steps and caveats that go with this technology. TDE allows you to have your database encrypted on disk and the same Encryption Hierarchy allows you to back up your database and have it encrypt the contents in the backup file. We will discuss the Encryption Hierarchy which is used for encryption in SQL Server and take you through keeping your secrets safe. We will also go over how Always Encrypted works as well. Master the concepts of SQL Server Encryption when you are done with this session.
Speaker(s): Ben Miller,
Abstract:
This is a deep dive session full of demos about SQL 2016 stretched databases feature. It will go from pre-reqs and blocking factor through deployment and disaster recovery. Everything you need to know and when to use this new cloud-based exciting capability.
Speaker(s): Armando Lacerda,
Abstract:
This session is designed to teach DBAs and developers the best strategy to transfer large data. We will first analyze how data gets accessed from the source and how data gets updated or inserted to the target server: index access patterns in read operation and minimal logging in wring operation. I will introduce TF610 and cover its benefit for minimal logging even in full recovery mode.
Speaker(s): Simon Cho,
Abstract:
How can your users continue to use your mobile application while offline? A look into how and why to make a mobile app work where a data connection is not available and how to keep that data synchronized between the device, cloud and other devices. Offline sync allows users to interact with a mobile application, viewing, adding, or modifying data, even where there isn't a network connection. Changes are stored in a local database, and once the device is online, the changes can be synced with the web service.
Speaker(s): Andrew Cook,
This is a list of speakers from the XML Guidebook records. The details and URLs were valid at the time of the event.
LinkedIn: http://www.linkedin.com/pub/janis-griffin/0/914/aba
Janis Griffin has over 30 years of DBA/database experience including design, development and implementation of many critical database applications. Before coming to Quest Software, Janis primarily worked in the Telecom/Network Industry, working with both real-time network routing databases and OLTP business to business applications. Janis also held positions as a Principal Architect and Senior Manager, mentoring other DBAs on best practices in database performance tuning.
LinkedIn: https://www.linkedin.com/in/joe-chang-174a451/
Contact: http://www.qdpma.com
Joe is a SQL Server Consultant specializing in seriously difficult performance issues. Root cause analysis of complex and vexing problems. Quick non-disruptive fixes for production systems when possible, and in-place re-architecture to correct deeply ingrained flaws when required. Prefers to be on the project from the beginning, but usually called as firefighter of last resort. SQL ExecStats by Joe for automating SQL XML plan analysis, cross-referencing index usage to execution plans. He has models for predicting SQL Server performance early in the design phase, and taking the guess work out of performance tuning. He has built a more complete model than the SQL Server internal cost based query optimizer, including processor and system ar
LinkedIn: https://www.linkedin.com/company/sqlha
Contact: http://sqlha.com/blog
Max Myrick is a SQL Server consultant whose experience includes 15 years at Microsoft with 5 years on the SQL Server development team where he ran the SQL Customer Lab and then the Sustained Engineering team. He was an founding member of Microsoft#39;s Mission Critical team where he worked with the largest SQL Server applications worldwide for almost a decade. Max was a regular speaker for Microsoft and has continued to speak at various PASS and other SQL Conferences since becoming a managing partner of SQLHA LLC.
LinkedIn: http://in.linkedin.com/in/arvindsh
Contact: http://aka.ms/arvindsh
Arvind is a Principal Program Manager (Microsoft Azure Data) working on the Azure SQL DB and Hyperscale services. Arvind is passionate about sharing his knowledge and learnings - as well as automating troubleshooting and diagnostics as much as possible. Much of his work is available on GitHub (https://github.com/arvindshmicrosoft/) and his blog (http://aka.ms/arvindsh/). Arvind is also an #MCM4Life and has previously worked as a Principal PFE within Microsoft Services.
LinkedIn: https://www.linkedin.com/in/grlarsen/
Greg Larsen has been working with SQL Server since 1999. He has authored 100's of articles related to SQL Server. He holds a MCSE Data Management and Analytics. Greg also a SQL Server Consultant, adjunct professor and technical writer.
LinkedIn: http://www.linkedin.com/in/scottstauffer
Contact: http://scottstauffer.ca
Scott Stauffer (@SQLSocialite) is very PASSionate about data and enjoys meeting with like-minded data geeks. He started the Vancouver PASS Chapter in 2004. In 2008, Scott was recognized by Microsoft with a SQL Server MVP award. In 2009, Scott started a PASS BI Chapter in Vancouver, and was also at one time the PASS Regional Chapter Mentor for Canada. For over 10 years he has been an independent consultant working with clients to solve their data woes and extract insight from their business data.
LinkedIn: http://www.linkedin.com/pub/rick-lowe/a/228/441/
Contact: http://dataflowe.wordpress.com/
Rick is a Microsoft Certified Master with more than 20 years of SQL Server experience in a variety of roles. He currently lives in Washington state and works as an independent consultant providing remote performance DBA and performance tuning services for clients in the USA and Canada. His first exposure to SQL Server was as a database developer, but over time he became more and more interested in how the database engine operated... eventually specializing more on performance issues than code. Rick will work with all things relational, but most enjoys helping smaller companies get better performance from MSSQL, as well as smoothing over relationships between DBA and development teams.
LinkedIn: https://www.linkedin.com/in/kellynpotvin
Contact: http://dbakevlar.com
Kellyn Pot’Vin-Gorman is a member of the Oak Table Network and an Idera ACE and Oracle ACE Director alumnus. She is a Data Platform Architect in Power BI with AI in the EdTech group at Microsoft. Kellyn is known for her extensive work with multi-database platforms, DevOps, cloud migrations, virtualization, visualizations, scripting, environment optimization tuning, automation, and architecture design. Kellyn has spoken at numerous technical conferences for Oracle, Big Data, DevOps, testing, and SQL Server. Her blog (http://dbakevlar.com) and social media activity under her handle, DBAKevlar, is well respected for her insight and content.
LinkedIn: http://www.linkedin.com/in/dbaduck/
Contact: https://dbaduck.com
Ben has been a member of the SQL Server Community since 2000. He loves a challenge and has fixed many SQL Servers and helped hundreds of people get more out of their DBA jobs. He is a Data Platform MVP a SQL Server Certified Master (MCM). He has worked at various companies throughout the USA, as well as at Microsoft for 7 years. He is passionate about SQL Server Infrastructure, High Availability, Automation and Integration using SMO and PowerShell. He teaches DBAs how to use PowerShell to do their job and teaches SQL Server Internals. He is @DBAduck all around the web (Twitter, LinkedIn, Facebook, Blog) so let's catch up.
LinkedIn: https://www.linkedin.com/company/sqlha
Contact: http://sqlha.com/blog
Max Myrick is a SQL Server consultant whose experience includes 15 years at Microsoft with 5 years on the SQL Server development team where he ran the SQL Customer Lab and then the Sustained Engineering team. He was an founding member of Microsoft#39;s Mission Critical team where he worked with the largest SQL Server applications worldwide for almost a decade. Max was a regular speaker for Microsoft and has continued to speak at various PASS and other SQL Conferences since becoming a managing partner of SQLHA LLC.
Kun Cheng is a Program Manager at Microsoft working in the SQL Server Customer Advisory Team (SQLCAT). Focused on Enterprise customer and ISV application performance and scalability, he has more than 16 years of experience as a developer and consultant helping large SQL Server and SQL Database design and implementations across on-prem and Azure. His industry experience includes telecommunications, IT, and financial services.
LinkedIn: http://in.linkedin.com/pub/amit-banerjee/20/64a/852
Contact: http://www.troubleshootingsql.com
I am a data professional with over a decade of experience in Relational Database Management Systems. I lead Program Management for the SQL Server engineering team focusing on the SQL Server database engine (Windows and Linux) and Azure SQL Edge. My past experiences include Program Management for Business Continuity and Disaster Recovery (HADR), Data Movement and Performance for SQL Server, Azure Database for PostgreSQL and Azure Database for MySQL. I am an active blogger, co-author of Pro SQL Server on Microsoft Azure and Professional SQL Server 2012: Internals and Troubleshooting and a regular speaker at various community events like Microsoft Ignite, SQL PASS, TechEd, Virtual Tech Days, SQL Saturday and User Group meetin
LinkedIn: https://www.linkedin.com/pub/kevin-feasel/7/716/504
Contact: http://www.catallaxyservices.com
Kevin Feasel is a Microsoft Data Platform MVP and CTO at Envizage, where he specializes in data analytics with T-SQL and R, forcing Spark clusters to do his bidding, fighting with Kafka, and pulling rabbits out of hats on demand. He is the lead contributor to Curated SQL (https://curatedsql.com), president of the Triangle Area SQL Server Users Group (https://www.meetup.com/tripass), and author of PolyBase Revealed (https://www.apress.com/us/book/9781484254608). A resident of Durham, North Carolina, he can be found cycling the trails along the triangle whenever the weather's nice enough.
LinkedIn: http://www.linkedin.com/pub/vern-rabe/a/ba3/980
Contact: http://www.rabedata.com
Vern Rabe is an independent SQL Server consultant and contract trainer in Portland, OR, and leader of the Oregon Data Community user group, formerly OregonSQL. He has attained MCSE, MCITP (both Administration and Development), and MCT certifications, among others. Vern has been passionate about databases since 1992 and has worked with SQL Server since version 4.21a. He provides broad technical SQL Server knowledge gained from the mixture of academic and practical experiences acquired from his classroom instructing and varied consulting contracts. Vern regularly presents technical sessions at SQL Server user group meetings, SQLSaturdays, and PASS Summit.
LinkedIn: https://www.linkedin.com/in/kellynpotvin
Contact: http://dbakevlar.com
Kellyn Pot’Vin-Gorman is a member of the Oak Table Network and an Idera ACE and Oracle ACE Director alumnus. She is a Data Platform Architect in Power BI with AI in the EdTech group at Microsoft. Kellyn is known for her extensive work with multi-database platforms, DevOps, cloud migrations, virtualization, visualizations, scripting, environment optimization tuning, automation, and architecture design. Kellyn has spoken at numerous technical conferences for Oracle, Big Data, DevOps, testing, and SQL Server. Her blog (http://dbakevlar.com) and social media activity under her handle, DBAKevlar, is well respected for her insight and content.
LinkedIn: https://www.linkedin.com/pub/mike-wall/b/110/9a
Contact: http://www.becomingamaster.com
Michael Wall has been an IT professional going back to when he had his own software store and worked with his customers with their “dose” problems. Originally hired by a small consulting firm to write web pages, he was thrust into the SysAdmin world when their lead consultant changed the passwords of all of the servers at a major pulp and paper company’s systems to 100%s$%t and walked out the door. He was sent down with a copy of UNIX for Dummies and 50 cents for the bus ride back. Fast forward a few years, he was asked if he wanted to be a DBA after successfully managing a fifty server Y2K upgrade. Since then, he’s never looked back and has survived a number of data and system challenges. When not wrangling cats at home, he currently
Kalen Delaney is a Data Platform MVP who has worked with SQL Server for more than 32 years. She has provided performance consulting services and taught advanced courses on SQL Server to thousands of people and organizations. In addition to her courseware development, Kalen has been writing about SQL Server for decades. She is the primary author of SQL Server Internals and the Inside SQL Server series. Kalen is also one of the primary editors for the Red Gate SQL Server Stairways tutorials.
LinkedIn: http://www.linkedin.com/in/davidemauri
Contact: https://medium.com/@mauridb
Data Platform MVP for almost 12 years, I love Data and Database in all their forms. Developer for passion (C# and Python), I've been working in the IT field since 1997. My focus has been databases and performance tuning since the start, focusing both on transactional and analytical workloads. I worked for more than 10 years on Business Intelligence and Data Warehousing, then moved to IoT and Big Data for a while. Now back to database space, injecting passion and innovation into Azure SQL as Microsoft Program Manager for Azure SQL Hyperscale, helping developers to re-discover SQL, which is now almost everywhere, and take advantage of all its amazing power!
Contact: http://sqluninterrupted.com/
Sourabh Agarwal is a Sr. Program Manager for the Microsoft Data Platform Group and owns the HADR components for the SQL Server In-Market release. In his decade-long stint at Microsoft, he has worked in different capacities and specializes in providing consulting services on SQL Server and other Data Platform technologies to Microsoft customers across business domains and geographies. His specialization includes designing and optimizing SQL Deployments, HADR, Microsoft Azure, and PowerShell scripting.
LinkedIn: http://www.linkedin.com/in/davidemauri
Contact: https://medium.com/@mauridb
Data Platform MVP for almost 12 years, I love Data and Database in all their forms. Developer for passion (C# and Python), I've been working in the IT field since 1997. My focus has been databases and performance tuning since the start, focusing both on transactional and analytical workloads. I worked for more than 10 years on Business Intelligence and Data Warehousing, then moved to IoT and Big Data for a while. Now back to database space, injecting passion and innovation into Azure SQL as Microsoft Program Manager for Azure SQL Hyperscale, helping developers to re-discover SQL, which is now almost everywhere, and take advantage of all its amazing power!
LinkedIn: http://www.linkedin.com/pub/rick-lowe/a/228/441/
Contact: http://dataflowe.wordpress.com/
Rick is a Microsoft Certified Master with more than 20 years of SQL Server experience in a variety of roles. He currently lives in Washington state and works as an independent consultant providing remote performance DBA and performance tuning services for clients in the USA and Canada. His first exposure to SQL Server was as a database developer, but over time he became more and more interested in how the database engine operated... eventually specializing more on performance issues than code. Rick will work with all things relational, but most enjoys helping smaller companies get better performance from MSSQL, as well as smoothing over relationships between DBA and development teams.
Contact: https://christianwade.wordpress.com/
Christian Wade is a Senior Program Manager for Analysis Services. His consulting experience includes data-warehousing, BI and application-development projects for numerous enterprise customers. Christian is the creator of the BISM Normalizer, which is a database comparison tool for Analysis Services tabular models. He is a frequent presenter at Microsoft conferences. You can find his blog at https://christianwade.wordpress.com/.
LinkedIn: https://www.linkedin.com/in/pturley
Contact: http://www.sqlserverbiblog.com
Paul is a Principal Consultant for Pragmatic Works, a Mentor and Microsoft Data Platform MVP. He consults, writes, speaks, teaches blogs about business intelligence and reporting solutions. He works with companies around the world to model data, visualize and deliver critical information to make informed business decisions; using the Microsoft data platform and business analytics tools. He is a Director of the Oregon Data Community PASS chapter user group, the author and lead author of Professional SQL Server 2016 Reporting Services and 14 other titles from Wrox Microsoft Press. He holds several certifications including MCSE for the Data Platform and BI.
LinkedIn: http://www.linkedin.com/in/armando-lacerda
Over 30 years in the computing field as a developer and system integrator; over 20 years working with SQL Server since version 6; cross platform experience with Oracle and IBM SQL/DS and DB2; Microsoft Certified Trainer for over 20 years.
LinkedIn: https://www.linkedin.com/in/yanaberkovich/
Contact: http://yanaberkovich.com
A people-oriented professional, aspiring Product Manager, with 11 years of process analysis, building solutions, customization, developing, managing and training experience. Working with Power Bi, Oracle SQL and SQL server for the past few years. Data enthusiast with international experience in many companies as a BA, Team Lead and everything SharePoint Office 365.
LinkedIn: https://www.linkedin.com/in/timgorman
Contact: http://evdbt.com
Tim Gorman is a senior technical consultant for Delphix who securely enables masked data virtualization to increase the agility of IT development and testing while ending decades of security risk in SDLC. Tim has co-authored six books on data warehousing and database administration, has performed technical review on eight more books, and has an author#39;s page on Amazon.com (http://www.amazon.com/Tim-Gorman/e/B00BKCTO5E).
Sumit Kumar is a Program Manager in Microsoft Machine Learning team. He leads the Python and R integration in SQL Server as SQL Server Machine Learning Services. Before that Sumit was a Program Manager in Bing’s Intent Platform team. There he helped build Microsoft’s text understanding service using machine learning and NLP techniques, that powers many proactive experiences in Cortana and Outlook family of products. Prior to that he has worked for many years on Microsoft’s developer products, focusing mainly on Visual Studio features for C++ developers. Sumit has an MS degree in Computer Science from the University of Texas at Dallas.
Contact: http://codingwithcookie.com
Andrew is a software development consultant in Seattle, WA focusing on development on the Microsoft Stack including Azure and Xamarin. Andrew is a Xamarin Certified Developer, Microsoft Professional and Advanced Care Paramedic.
LinkedIn: http://www.linkedin.com/in/russloski
Contact: http://www.sqlmovers.com
Russ Loski is a SQL Server BI Developer based in Dallas-Fort Worth. He current works as a Data Analytics Engineer for Navisite, a remote managed IT services company. Twenty years ago, he began working with SQL Server 6.5. He has since continued to develop applications connected to all of the versions of SQL Server. He has worked with clients in industries from insurance to healthcare, from movie theaters to American football. Russ is a regular speaker at SQLSaturday events, as well as the SQL Server Users Groups in the North Texas region. Russ likes working with data in various shapes.
Extended time slot
LinkedIn: http://www.linkedin.com/in/armando-lacerda
Over 30 years in the computing field as a developer and system integrator; over 20 years working with SQL Server since version 6; cross platform experience with Oracle and IBM SQL/DS and DB2; Microsoft Certified Trainer for over 20 years.
LinkedIn: http://www.linkedin.com/pub/vern-rabe/a/ba3/980
Contact: http://www.rabedata.com
Vern Rabe is an independent SQL Server consultant and contract trainer in Portland, OR, and leader of the Oregon Data Community user group, formerly OregonSQL. He has attained MCSE, MCITP (both Administration and Development), and MCT certifications, among others. Vern has been passionate about databases since 1992 and has worked with SQL Server since version 4.21a. He provides broad technical SQL Server knowledge gained from the mixture of academic and practical experiences acquired from his classroom instructing and varied consulting contracts. Vern regularly presents technical sessions at SQL Server user group meetings, SQLSaturdays, and PASS Summit.
LinkedIn: http://www.linkedin.com/in/simonsql
Contact: http://simonsql.com
Simon Cho is one of the founders of SQLAngeles.com, which is a Los Angeles Korean Tech PASS community group. As a Local Group leader, he is a Microsoft SQL community speaker. He has presented many times at SQLSaturdays and to PASS Local Groups. He moved his passion to VISA Inc, the largest credit card provider in the world, where he used database technology to build a strong solution and a secure environment, with new strategies and features to maintain thousands of SQL Servers. He has now joined the Nowcom Corp, as a Director of DevOps, where he leads the DevOps team and DBA team. He is pretty much working on SQL server running on kubernetes.
LinkedIn: http://www.linkedin.com/in/russloski
Contact: http://www.sqlmovers.com
Russ Loski is a SQL Server BI Developer based in Dallas-Fort Worth. He current works as a Data Analytics Engineer for Navisite, a remote managed IT services company. Twenty years ago, he began working with SQL Server 6.5. He has since continued to develop applications connected to all of the versions of SQL Server. He has worked with clients in industries from insurance to healthcare, from movie theaters to American football. Russ is a regular speaker at SQLSaturday events, as well as the SQL Server Users Groups in the North Texas region. Russ likes working with data in various shapes.
Extended time slot
LinkedIn: https://www.linkedin.com/in/christopherpsims/
Contact: http://www.sigaostudios.com/blog
Chris is a software engineer and program manager with over 18 years of programming and 14 years of project management experience. Chris continually pushes his personal and professional boundaries by actively seeking out complex projects and applying innovative, sophisticated and elegant solutions to real-world problems. Chris is the technical principal of agile consulting firm, Sigao Studios. Sigao Studios specializes in offering modern responsive web solutions based on technologies that include Azure, CosmosDB and Azure Search. In addition to his technical pursuits, Chris enjoys stage acting and wood working in his free time.
LinkedIn: https://www.linkedin.com/in/arnie
Contact: http://sqlblog.com/blogs/arnie_rowland/
Arnie long ago realized that most issues between Developer and DBA comes from incomplete communication and a misunderstanding of each other's objectives. He is a frequent Trainer and Mentor for Developers and DBAs, bringing both sets of skills to better communicate with teams to create a working solution. For over a decade, Arnie has been a SQL Server MVP, Certified Trainer, technical editor for several publishers, including MOC, and has served as University and Community College adjunct faculty. Clients include Fortune 500 and Multi-Nationals, Federal and State agencies, Foreign governments, and local enterprises –both public and private.
LinkedIn: https://www.linkedin.com/pub/kevin-feasel/7/716/504
Contact: http://www.catallaxyservices.com
Kevin Feasel is a Microsoft Data Platform MVP and CTO at Envizage, where he specializes in data analytics with T-SQL and R, forcing Spark clusters to do his bidding, fighting with Kafka, and pulling rabbits out of hats on demand. He is the lead contributor to Curated SQL (https://curatedsql.com), president of the Triangle Area SQL Server Users Group (https://www.meetup.com/tripass), and author of PolyBase Revealed (https://www.apress.com/us/book/9781484254608). A resident of Durham, North Carolina, he can be found cycling the trails along the triangle whenever the weather's nice enough.
LinkedIn: http://www.linkedin.com/in/dbaduck/
Contact: https://dbaduck.com
Ben has been a member of the SQL Server Community since 2000. He loves a challenge and has fixed many SQL Servers and helped hundreds of people get more out of their DBA jobs. He is a Data Platform MVP a SQL Server Certified Master (MCM). He has worked at various companies throughout the USA, as well as at Microsoft for 7 years. He is passionate about SQL Server Infrastructure, High Availability, Automation and Integration using SMO and PowerShell. He teaches DBAs how to use PowerShell to do their job and teaches SQL Server Internals. He is @DBAduck all around the web (Twitter, LinkedIn, Facebook, Blog) so let's catch up.
LinkedIn: http://www.linkedin.com/in/johnsterrett
Contact: https://johnsterrett.com/community/
John Sterrett is a MCSE: Data Platform, Principal Consultant, and the Founder of Procure SQL LLC. John has experience presenting at community events, including Microsoft Ignite, PASS Member Summit, SQLRally, 24 Hours of PASS, SQL Saturdays, PASS Chapters, and Virtual Chapter meetings. John is a leader of the Austin SQL Server User Group and is the founder of the HADR Virtual Chapter. John's community activities can be found at https://johnsterrett.com/community/
Kalen Delaney is a Data Platform MVP who has worked with SQL Server for more than 32 years. She has provided performance consulting services and taught advanced courses on SQL Server to thousands of people and organizations. In addition to her courseware development, Kalen has been writing about SQL Server for decades. She is the primary author of SQL Server Internals and the Inside SQL Server series. Kalen is also one of the primary editors for the Red Gate SQL Server Stairways tutorials.
LinkedIn: https://www.linkedin.com/in/timgorman
Contact: http://evdbt.com
Tim Gorman is a senior technical consultant for Delphix who securely enables masked data virtualization to increase the agility of IT development and testing while ending decades of security risk in SDLC. Tim has co-authored six books on data warehousing and database administration, has performed technical review on eight more books, and has an author#39;s page on Amazon.com (http://www.amazon.com/Tim-Gorman/e/B00BKCTO5E).
The following is a list of sponsors that helped fund the event.


Adaptive googlemaps
Conditionally loads dynamic goolemaps or opens the map in a native mobile app / new tab after click on the static image.
<googlemaps options="map1"></googlemaps>
Options attributes
$scope.map1 = {
Required:
sensor: false // true, false
size: '500x300' // width x height
zoom: 6
center: 'California'
Optional:
markers: ['San Francisco', 'San Jose']
maptype: 'roadmap' // roadmap, satellite, terrain, hybrid
mapevents: {redirect: true, loadmap: false}
listen: true // watch for attributes change
};
Demo
mapevents: {{{redirect: false, loadmap: true} | json}}
Loads dynamic google map.
mapevents: {{{redirect: true, loadmap: false} | json}}
Opens google map in a new tab / a native mobile application.
Note: markers are not shown in Google Maps redirect.
mapevents: no mapevents
Nothing happens.
ToDo:
-
Let the device/browser decide what kinds of map events will be used.
Example: mobile device will open native maps application, browser with fast internet connection will auto load dynamic map...