Glossary Notation
Each entry in this glossary has the following parts:
- the term being defined, set in boldface.
- optional pronunciation, enclosed in square brackets and set in boldface, as in the following example: ['a,list]. The pronunciation key follows Webster's Third New International Dictionary the English Language, Unabridged, except that ``uh'' is used to notate the schwa (upside-down ``e'') character, ``ee'' is used to denote a hard ``e'' (an ``e'' with an overbar), ``oh'' is used to denote a hard ``o'' (an ``o'' with an overbar), and ``ay'' is used to denote a hard ``a'' (an ``a'' with an overbar)..
- the part or parts of speech, set in italics. If a term can be used as several parts of speech, there is a separate definition for each part of speech.
- one or more definitions, organized as follows:
- an optional number, present if there are several definitions. Lowercase letters might also be used in cases where subdefinitions of a numbered definition are necessary.
- an optional part of speech, set in italics, present if the term is one of several parts of speech.
- an optional discipline, set in italics, present if the term has a standard definition being repeated. For example, ``Math.''
- an optional context, present if this definition is meaningful only in that context. For example, ``(of a symbol)''.
- the definition.
- an optional example sentence. For example, ``This is an example of an example.''
- optional cross references.
In addition, some terms have idiomatic usage in the Common Lisp community which is not shared by other communities, or which is not technically correct. Definitions labeled ``Idiom.'' represent such idiomatic usage; these definitions are sometimes followed by an explanatory note.
Words in this font are words with entries in the glossary. Words in example sentences do not follow this convention.
When an ambiguity arises, the longest matching substring has precedence. For example, ``complex float'' refers to a single glossary entry for ``complex float'' rather than the combined meaning of the glossary terms ``complex'' and ``float.''
Subscript notation, as in ``something[n]'' means that the nth definition of ``something'' is intended. This notation is used only in situations where the context might be insufficient to disambiguate.
The following are abbreviations used in the glossary:
Abbreviation Meaning
adj. adjective
adv. adverb
ANSI compatible with one or more ANSI standards
Comp. computers
Idiom. idiomatic
IEEE compatible with one or more IEEE standards
ISO compatible with one or more ISO standards
Math. mathematics
Trad. traditional
n. noun
v. verb
v.t. transitive verb
Copyright 1996, The Harlequin Group Limited. All Rights Reserved.


First, in the guide to install emonhub, found here:
http://emonhub.org/documentation/install/raspberrypi/
The debian package installer is not working. I was able to install the development version of emonhub as described below, but this needs to be prefaced with a "cd ~" to go to your homedir before doing the git clone.
https://github.com/emonhub/dev-emonhub/blob/master/README.md
Then, in the following guide, "Using Emonhub with the emoncms PacketGen module" found here:
https://github.com/emoncms/emoncms/blob/bufferedwrite/docs/emonhubmod.md
There are some issues with the guide:
1) There is no file called:
/home/pi/emonhub/src/emonhub_listener.py
Member pb66 let me know the file is now called, "emonhub_interfacer.py"
2) If the "RFM12b Packet Generator" "Send Packet every:" seconds is changed, it doesn't change the transmitting interval of packets. No matter what I set the time to, packets are sent every 5 seconds. How can the interval be changed? And, can custom intervals be available in the future? Packets can be seen by using minicom to monitor the serial port as follows:
minicom -b9600 -D/dev/ttyAMA0
3) Modifying the packet structure to other than default appears buggy. If deleting variables other than glcdspace and time, some data is still transmitted after the variables are deleted. Does emonhub need to be restarted? Seems a restart has no effect.
Thanks to all for these new features being developed.
Re: Using Emonhub with the emoncms PacketGen module
Hi Tom
With regard to using emonhub with packetgen, it is possible, Trystan kindly wrote a temporary mod prior to the renaming changes which is why I advised you to replace all occurrences of "listener" with "interfacer". It is a work around and is subject to change. However his guide says " We can modify emonhub to poll the packetgen module periodically and send the packetgen packet state over serial to the rfm12/69." this tells us that the data is retrieved by emonhub from packetgen which is why altering the un-used "send packet every" has no effect as the packets are not sent.
In this code you added to emonhub
The first line is basically "if more than 5 seconds has passed since this last happened" so if you want to alter how frequently emonhub retrieves the data you can change it here.
As pointed out in my PM and Trystans guide how this is implemented in the future is not yet determined (hence the temp mod) there will be significant change to the way emonhub and emoncms inter-communicate and the control functions in both parties will be built around that connection,
See if the result is still buggy now you are aware of the interval timing and allow time for packets to filter though to the nodes. if you edit/delete immediately after the packet has just been retrieved it is feasible for it to appear to be delivered after editing/deletion when you consider its route and browser refreshing etc, give it another try with this info and see how you get on.
Again this is a hack and is far from perfect but your participation is appreciated and any feedback can help development.
Just to recap and clarify a couple of your other points that were discussed by PM. There has been no package installer version developed yet, so there isn't a problem with it as such,, other than it doesn't exist. which is why I directed you to the development version installer.
The guide you refer to is amongst a few pages on the website I experimented with during the early stages of planning and development of emonhub has taken priority over the website, so I will temporarily take the site down to avoid any further confusion.
The development installer is intended to be run from the homedir as this is the normal starting point, As you were installing to the Modules folder of emoncms I prompted you to use cd to get back to the homedir. I have now altered the script to automatically change the current working directory to the homedir to remove the chance of error, therefore cd is not required regardless of current location.
Paul


ben10 ras against time - Extensions
Diamondhead - Ben 10 Planet, the Ultimate Ben 10 Resource! Edit. History · Talk13. 2,373pages on Ben 10 Planet . Diamondhead in Race Against Time . Arabic, ??? ?????, Raes Almas/Ras Elmas, From Diamondhead . http://ben10.wikia.com/wiki/Diamondhead
You can develop your own extensions
using the flooring to cover cement.
Syntax-Highlighting Addons
Ben 10: Race Against Time - Wikipedia Ben 10: Race Against Time is een Amerikaanse live-actionfilm gebaseerd op de animatieserie Ben 10. De film is geregisseerd door Alex Winter. Hoofdrollen zijn . http://nl.wikipedia.org/wiki/Ben_10:_Race_Against_Time
Ben 10: Race Against Time Sneak Preview - YouTube May 12, 2010 . From http://www.studiotalk.tv. Alex Winter and Lee Majors join us live in the studio to talk about their latest film Ben 10: Race Against Time This . http://www.youtube.com/watch?v=98Z8IQojOm4 in one installer (526 kb).
ben 10 racing games ben 10 racing games - Transformer Dead Planet, Ben 10 Ultimate Alien Comic Creator , Ben 10 Adventure, Ben 10 Sequence, Ben 10 Race Against Time In . http://www.freeben10.net/s-ben-10-racing-games
Ben 10 Racing Star - Race Online Games Ben 10 is back, Race against time and collect bonus ponits and powerups.. Also you can change your ben10 into Fireblast and Diamond head. Enjoy! http://www.raceonlinegames.com/play/Ben_10_Racing_Star
Ben Tennyson - Ben 10 Planet, the Ultimate Ben 10 Resource! Graham Phillips (Ben 10: Race Against Time) (actor) . By the time he was sixteen, he had become famous in not only his hometown of Bellwood, but on Earth . http://ben10.wikia.com/wiki/Ben_Tennyson
A simple JavaScript Formatter (47kb)Ben 10 Race - Car Games Car Game Description: Help Ben 10 to race against the time. Collect bonus icons to race your car faster. Click to play Ben 10 Race game online now play Ben 10 . http://www.cargames60.com/games/1046/Ben-10-Race.htm
Play Ben 10 games | Power Rangers games | Spiderman games Help Ben 10 show his skate skill and collect 3000 points before the time runs out . Become the ultimate BMX racing champion, Race against Kevin and reach . http://www.gamegape.com/en-12-page-1.html CertMaker for iOS and Android
Ben 10: Race against Time (2007) - MovieMeter.nl 1 mei 2010 . Avontuur / Sciencefiction uit 2007. Geregisseerd door Alex Winter, met Graham Phillips, Haley Ramm en Beth Littleford. http://www.moviemeter.nl/film/46310
Windows 8 AppContainer Loopback Utility
Ben 10 Season 4 Episode 10 Ben 10: Secret of the Omnitrix | Watch ... Online episode guide, Ben 10 Season 4 Episo. . 2 Washington B.C. · Ben 10 Season 1 Episode 1 And Then There Were 10 · Ben 10: Race Against Time . http://www.watchcartoononline.com/ben-10-season-4-episode-10-ben-10-secret-of-the-omnitrix Download
Now (60kb) or
ricoh sp 3200a black toner
Traffic Differ
Ben 10 Racing Star - Ben 10 Racing Star - In this game you and your job is Ben 10 race against time and collect bonus points and power ups. You can change your ben10 heatwave . http://www.playtruckgames.net/game/1131/Ben-10-Racing-Star.html Download now (47kb).
SAZ Clipboard
Ben 10 theme song hindi - Free Mp3 Download Listen to Ben 10 theme song hindi songs online and download for free from our huge databse of music and mp3 . Ben 10: Race Against Time - Theme Mp3 . http://freemp3x.com/ben-10-theme-song-hindi-mp3-download.html
Gallery
The Gallery extension (50kb) Ben 10: Race Against Time trailer - YouTube Feb 1, 2008 . Interview with Ben 10: Race Against Time director Alex Winter at www.TBIvision. com. http://www.youtube.com/watch?v=zvHBHUOg0ec
Ben 10: Race Against Time (TV 2007) - IMDb Directed by Alex Winter. With Graham Phillips, Christien Anholt, Haley Ramm, Beth Littleford. In Bellwood, a mysterious figure teleports into town, and . http://www.imdb.com/title/tt1037011/
AnyWHERE (sample)
The AnyWHERE extension (40kb) Ben 10: Race Against Time (Mini - Trailer) - YouTube Nov 2, 2007 . Mini Trailer de la Película "Race Against Time (carrera contra el tiempo)" de la serie "Ben 10" Live Action (English Version) CONTACTO: . http://www.youtube.com/watch?v=9-bpiM_Oe0s
RulesTab (sample)
Play Ben 10 games | Power Rangers games | Spiderman games Youre a crazy cabbie racing against the clock! Swerve to avoid other cars...or . Push your drag race car to the limit in this exciting racing car game. Win money and upgrade . Highway Challenge reach the finish line before the time runs out. http://www.gamegape.com/en-175-page-1.html
Privacy Scanner
The Privacy Scanner
(41kb) Lijst van afleveringen van Ben 10 - Wikipedia Lijst van Ben 10-dvd's. Dvd, Verschijningsdatum. Verenigde Staten, Verenigd Koninkrijk, Benelux, Frankrijk, Duitsland. Race Against Time, 8 april 2008 . http://nl.wikipedia.org/wiki/Lijst_van_afleveringen_van_Ben_10
Content-Blocking (sample)
The Content Blocker
sample (11kb) Cartoon Network TV Listings, TV Shows and Schedule - Zap2it 11:00 AM MAD "I Love You, Iron Man; Ben 10 Franklin".  TV-PG . http://tvlistings.zap2it.com/tvlistings/ZCSGrid.do?stnNum=12131
Image-Flipper (sample)
The Image
Flipper sample (6kb) Cars Racing Challenge 2013 Game Online for free Extreme Trucks · Ben 10 Power Splash . Cars Racing Challenge 2013 description: Test your racing skills and race against others and unlock levels as you win. http://www.gameslist.com/play/Cars-Racing-Challenge-2013-Game
3rd-Party Extensions
ben 10 car racing games Buttons in Time. Play the game for the movie The Curious Case of Benjamin Button. The goal is :... Ben10 Racing Star. Help Ben 10 to Race against time and . http://www.freeben10.net/s-ben-10-car-racing-games
Ti Choi | Facebook Nature. Like · Black Magazine. Movies. Like · Ben 10: Race Against Time. Like · Mortal kombat movie · Like · Reign of Assassins. Like · Reign of Fire. Television . http://www.facebook.com/ti.choi2
neXpert Performance Report Generator
A Highly Scientific Analysis of Ben vs. Noel | Forever Young Adult Apr 20, 2011 . Posh conducts a highly scientific analysis of Felicity: Ben vs. . all of the "nerdy" RAs at NYU look, I totally went to the wrong college. Ben: 10. The first time I saw Ben on screen, I was like, "Oh yeah, Felicity should DEFINITELY . http://foreveryoungadult.com/2011/04/20/a-highly-scientific-analysis-of-ben-vs-noel/
StresStimulus
Free Car Racing Games online,free bike games,no download Now, it's time for the REAL race - the ZipZaps Street Rally! Here you get to race against your computer opponent. You can choose your opponents (easy, . http://www.learn4good.com/kids-games/cars.htm
Watcher - Passive Security Auditor
Car Racing Games - Shooting Games UP 18 wheels race ready for you. Drive this . Race through the track and reach each checkpoint before time runs o. . You can race against opponents or time. http://www.shootinggamesup.com/category/2/Car-Racing-Games
Extreme Mountain Bike Race Free Extreme Mountain Bike Race flash game to play online. . to be the fastest of three laps, but you also need to keep your eye on the time. . Page copy protected against web site content infringement by Copyscape. . Ben 10 Cavern Run . http://www.playfreegames247.com/games/6741/extreme-mountain-bike-race.html
Ammonite - Security Scanner
Free games, Kirby, Cartoons, Kirby games Other Cartoons Games. Doraemon vs. King Kong. Lobita has traveled back in time and gorillas have kidnapped and now as his friend Doraemon always has to . http://www.fanfreegames.com/kirby-games/
Play car games online! Of course, you see all kinds of different cars all the time. There are lots . Race against other monstertrucks in Monster Racers. Drive your . Ben 10 Car Scene . http://games.co.za/car
genesis 5 stage ro filters
x5s - Automated XSS Security Testing AssistantPLAY ONLINE FREE BEST Bike Motor GAMES FOR FUN Spiderman is doing bike race against the sand man in this adventure. In each race . You are racing against time by Atv. You have to deliver the pizza orders to . http://www.cargames1.com/bike.htm
- Detecting where safe encodings were not applied to emitted
user-inputs
- Detecting where Unicode character transformations might bypass
security filters
- Detecting where non-shortest UTF-8 encodings might bypass security
filters
korn alone i break tab
intruder21
Car Games Beach Girl Atv Race. This a girly ATV game designated to girls Help this . Ben 10 Armored Attack. Another time Ben 10 is saving us from an alien attack In your . http://www.cargames33.net/
the limited series that summer
HTML Inspector
CAR GAMES BIKE GAMES RACING GAMES PARKING GAMES ... A tough fights against the obstacles on the desert is waiting for you. In this . This time Ben 10 gets into the Jeep with his friends and continues his adventures. http://www.cargames1.com/
Desene animate cu Ultima Barfa Ben 10 si Echipa Extraterestra · Ben 10 Ultimate Alien · Ben 10. Ben 10: Race Against Time Benjamin · Bernard Bear · Beyblade Metal Fusion · Bibi Blocksberg . http://www.desenele.com/desene-animate-Ultima-Barfa.html
WCF Binary-Encoded Message Inspector
Desene animate cu Tom si Jerry Ben 10 si Echipa Extraterestra · Ben 10 Ultimate Alien · Ben 10. Ben 10: Race Against Time Benjamin · Bernard Bear · Beyblade Metal Fusion · Bibi Blocksberg . http://www.desenele.com/desene-animate-Tom-si-Jerry.html
Chad Sowald's Request-To-Code
Batman Begins Script - Dialogue Transcript To turn fear... ...against those who prey on the fearful. [SPEAKING FOREIGN . you start to pity them? BRUCE: The first time I stole so that I wouldn 't starve, yes. http://www.cartoonwatcher.com/batman/batman-transcripts/batman-begins-transcript.php
Eyal's Extensions
- clear tech ct1200 laminator users manual has written two extensions:
Thomas Deml's Export WCAT Script extension
BACKLIST: All Backlist - Westfield Comics - premier new comic book ... 03 HC (1); Adam Strange: Man of Two Worlds SC (1); Adventure Time: Grass . SC (1); Cartoon Network 2 in 1: Ben 10 Alien Force/Secret Saturdays SC (1) . Flash: Dastardly Death of the Rogues HC (1); Flash: Race Against Time SC (1) . http://westfieldcomics.com/comic-book-sections/dc-comics-backlist-all-backlist
Per-Response Latency Extension
Free Online Fun Arcade Games Bleach vs Naruto · Play Ben 10 Alien · Ben 10 Alien · Play Yugioh . ATV Winter Race · Autobahn · Avalanche . Mario Stars Scramble 2 · Mario Time Attack . http://www.bigmoneyarcade.com/
WPAD Server
Desene animate cu Barbie Mariposa Ben 10 si Echipa Extraterestra · Ben 10 Ultimate Alien · Ben 10. Ben 10: Race Against Time Benjamin · Bernard Bear · Beyblade Metal Fusion · Bibi Blocksberg . http://www.desenele.com/desene-animate-Barbie-Mariposa.html
XML Request InspectorRacing Games - Free Car Games and Bike Racing Games . you can enjoy any time of the day. Getting bored at work and feel like having a little race? . You can race against other racers. To improve your driving skills . http://www.racing-games.com/ XML DataSet InspectorDesene animate cu Donald Duck Ben 10 si Echipa Extraterestra · Ben 10 Ultimate Alien · Ben 10. Ben 10: Race Against Time Benjamin · Bernard Bear · Beyblade Metal Fusion · Bibi Blocksberg . http://www.desenele.com/desene-animate-Donald-Duck.html
©2013 Telerik
|


When I think about conflicts, it is easy to pull stories from my last job. One of the more common scenarios in my technical support job was to figure out what was best for the customer while still following all the standard processes set up at the workplace. The processes were often times frustrating, because it just seemed like a lot red tape that prohibited me from providing the best support that I could.
There was one case where I had done some custom development for a customer to customize how the format of their bills looked. A few days before they were going to start using the bill, they wanted a format change. Now, the standard developement process normally takes a couple weeks for me to get all the right approvals, schedule QA time, and it is just a whole mess. It was particularly upsetting because the actual code change itself was just adding a single line of code. It was not the easiest thing to explain to the customer why it would take so long, because they just wanted their bills to be fixed.
For about a day, there were a lot of uncomfortable calls and emails to try to get the customer to understand why it would take so long, but they were still left unsatisfied. I was the mediator, and it just felt awful giving them such bad news. I then decided to escalate the situation and work with my team leader to get the quickest turn around on the development as I could. It required a handful of phone calls to the right people, walking to offices to catch people for signatures, and promises of candy to help get the testing done quicker, but I was able to line up all the resources necessary to get the development to the customer within the week.
It felt good to tell the customer that we were able to get everything done ahead of schedule and deliver the updated code. They were thankful for the extra work that we put in to get the job done, and it was a good feeling to know that I made some kind of difference for them. The one issue with this was setting a precedence that we COULD get the development done quicker than initially promised, and if they pushed hard enough, we could then produce (hopefully). And now you are stuck with a week turn around time when there is still a standard 2-week turn around time for small fixes. If I could do it over, I think I would still do the same thing that I did, but I would still feel bad about establishing an inappropriate precedence.
I learned a couple things: I could get people moving if I talked to the right people and that processes are set up for a reason (even if I hated going through all the red tape). I still was very satisfied that I could produced "unexpected" results for my customer, but it still left a bad taste in my mouth. And luckily, it never came back to bite me.


IQ & EQ
What is Emotional Intelligence?
Daniel Goleman, psychologist, lecturer, and science journalist and also author of Emotional Intelligence,
defines Emotional Intelligence (EQ) as the ability to identify, assess, and control one’s own
emotions,
the emotions of others, and that of groups
.
In other words is the ability to recognize
and
understand emotions in yourself and others, and use this awareness to manage your behavior
and relationships.
There are four fundamental aspects of EQ:
- Self-awareness : it's about recognizing your emotions. When people with a Low EQ get angry or sad they will not look at why they are feeling in that way : usually they blame others, or become depressed or bullies. Oppositely, people with High EQ try to understand why their are feeling that way, what’s causing it and they will try to get better.
- Self-management : it’s about how you manage yourself. People with a Low EQ that become angry or sad, will shout at other people or start a fight, or they redirect their emotions in a self-destructive way. People with High EQ instead, will try to manage their emotions, take actions. For example they would deal with a stressed situation by working-out or meeting people that can cheer them up. up
- Social-awareness : this skill is about treating people according to their emotional reactions. A person with a Low EQ is not able to see social cues and micro behaviors of others, it usually goes wherever the wind takes him/her and sometimes other people can take advantage of that. On the contrary, a person with an High EQ listens to others and put words in context, ask questions about the other people, read between the lines.
- Social-management : it's about managing relationships, finding common ground and feeling a rapport with others. A person with a Low EQ has problems finding friends or like-minded people, or getting its point during a conversation. It often feels misunderstood and it will blame it on superficial things (for example not enough money). A person with a High EQ uses its intuitions and adapts if necessary, find a win-win situation, common ground in order to connect with another person.
How is it different to IQ?
IQ (or Intelligence Quotient):
- is a number/score derived from a standardized intelligence test;
- is used to determine academic abilities and identify individuals with intelligence above the average;
- is an inborn ability;
- ensures success in School.
EQ
- is a learned and improved ability;
- in the workplace, is it used to identify leaders and good team players;
- ensures success in life.
Why is it important?
EQ is important because it helps you to develop significant human relationships: it determines how you
interact and connect with others, and how do you treat people in your life.
It also assists you in looking after your physical and mental health and wellbeing: how do you cope in a
situation of anger or pressure or how do you face the crisis.
Micheal Benner, seminar leader, speaker, coach & author of Fearless Intelligence, during his talk at TEDx
2011
started his presentation with this question:
"If success doesn’t create happiness and love – what
does?"
He states that each individual is responsible for love and happiness in his own life, achievable through
self-empowerment and emotional intelligence. He emphasizes the importance of always taking responsibility
for our emotions, regardless of the way they’re effected by other people, and being empatich and caring
about others.


Watford v Burnley: match preview
by Guardian StaffWatford finally claimed their first league win of the season to lift them off the foot of the table with a 2-0 victory at Norwich. They could make it two from two against a Burnley team who have not won away all season, though Watford are yet to take all three points at home. Burnley’s Chris Wood and Ashley Barnes have ten goals between them so Watford will have to keep them quiet to prevent a record 11th consecutive home game without a win. Will Dickson
Saturday 3pm
Venue Vicarage Road
Last season Watford 0 Burnley 0
Referee Paul Tierney
This season G9 Y28 R0 3.11 cards/game
Odds H 5-4 A 21-10 D 9-4
WATFORD
Subs from Gomes, Deeney, Masina, Chalobah, Femenía, Zeegelaar, Sarr, Quina, Deeney, Success, Dele-Bashiru, Dahlberg, Foulquier
Doubtful Quina (groin), Sarr (ankle)
Injured Prödl (knee, 30 Nov), Cleverley (calf, 7 Dec), Pereyra (thigh, 7 Dec), Bachmann (hamstring, unknown), Welbeck (thigh, unknown)
Suspended Kabasele (one match)
Discipline Y27 R1
Form LDDDLW
Leading scorers Deulofeu, Gray 2
BURNLEY
Subs from Hart, Peacock-Farrell, Lowton, Drinkwater, Brady, Rodriguez, Pieters, Lennon, Long, Vydra, Gibson
Doubtful Drinkwater (match fitness), Vydra (groin)
Injured Gudmundsson (thigh, 30 Nov)
Suspended None
Discipline Y21 R0
Form DWLLLW
Leading scorers Barnes, Wood 5


Bara'ah
Home
ABOUT ME
EDUCATION
Contact ME
EDUCATION
HIGH SCHOOL DEGREE
Aug 2010
Tawjihi Scientific Certificate. GPA = 87.8 %.
JOIN UNIVERSITY
Oct 2015- Oct 2017
BSc. in Electronics and Communication Engineering. GPA: Good BSc. graduation project Design a Medical device that gather four important other medical devices, which collect the readings from them, then processed, analyzed and presented in a tabular form in easy and simple way.
JOIN UNIVERSITY
Sep 2010 - Jan 2015
MSc. degree in Telecommunication Engineering, Mutah University, Jordan. GPA: Excellent (February2015 – October 2017). MSc. Thesis "Under Water Acoustic Communication Channel Modeling." This thesis deals with the multipath propagation problem in the underwater acoustic (UWA) channels. Receiver diversity is one of the used techniques to limit the effects of the multipath on the UWA system..
NATIONAL ICT UPSKILLING PROGRAM AT AL HUSSEIN TECHNICAL UNIVERSITY.
Jun 2019
Intensive Front-End Fundamental Training: 180 Hrs. - English Language Course: 60 Hrs. - Soft Skills Course: 60 Hrs.


Lyft Stock May Stay in Neutral for Awhile
Lyft stock could be hurt by adverse regulations
Even before the WeWork fiasco, the IPO market had already been showing signs of problems. Just look at the ride-sharing operators. Both Uber (NYSE:UBER) stock and Lyft (NASDAQ:LYFT) stock have fallen nearly 40% since their IPOs.
But when it comes to the IPO market, things can turn around quickly. Look at Facebook’s (NASDAQ:FB) IPO. In 2012, the shares had sunk below $20. But that decline turned out to be a tremendous opportunity. FB stock would soon go on a huge rally, climbing above $200 by 2018.
So could the ride-sharing operators go on a similar tear?
Maybe. But I still think it’s not the right time to buy Uber stock or Lyft stock yet. And that’s probably more true for Lyft, which has much fewer resources than Uber.
Here’s a look:
| Item | Uber | Lyft |
| Market Cap | $45.6 billion | $13.3 billion |
| Cash | $12.7 billion | $3.1 billion |
Because it can access more money, Uber is in a much better position to invest in marketing and next-generation technologies like AI (Artificial Intelligence) to bolster its lead over LYFT. UBER can also make transformative acquisitions.
Additionally, Uber has more than 60% of the U.S. market, increasing its profitability and strengthening its brand. The company also has a massive global footprint. Lyft, on the other hand, is only available in the U.S. and Canada.
But it’s true that Lyft is growing at a rapid pace. In the third quarter, its revenues jumped 63% year-over-year to $956 million. During this period, its revenue per active rider rose 27% to $42.82 (it currently has 22.3 million active riders).
And Lyft has been making progress in reducing its losses, excluding items like interest, taxes, depreciation and amortization. In Q3, its EBITDA was -$128.1 million, versus -$263.2 million during the same period a year earlier. Analysts, on average, had predicted -$206 million.
Unit Economics and Regulation
While LYFT uses ultra-sophisticated algorithms in its app, its business is actually quite straightforward. It’s an ongoing process of trying to provide matches between riders and drivers in the most profitable way possible.
The problem is that algorithms will not necessarily make Lyft’s business strong. On the demand side, Lyft is facing intense competition, which can result in deep price discounts. True, it seems like Lyft has been offering fewer discounts recently. But the phenomenon could easily re-emerge.
But the other side of the equation – the cost of drivers – is the wild card. A new California law could be a huge problem for Lyft and Uber, as it would force them to pay for drivers’ health insurance, payroll taxes and so on.
That could make it tough for them to be profitable and could weigh on Uber stock and Lyft stock price. What’s more, California’s actions may spur similar moves by other states.
What about self-driving cars? Won’t they help Uber stock and Lyft stock? They would definitely be positive for the stocks. But the technology has been progressing slowly, It seems highly unlikely that self-driving cars will help Lyft stock price in the next few years.
The Bottom Line on Lyft Stock Price
While Lyft’s growth rate remains strong, that already appears to be factored into the valuation. Keep in mind that Lyft stock trades at roughly four times the company’s sales. By comparison, Uber is trading at 3.5 times the company’s sales.
But again, there is quite a bit of uncertainty about Lyft’s business model because of adverse regulations. In other words, there could easily be a ceiling on Lyft stock price until its outlook becomes more certain.
Tom Taulli is the author of the book, Artificial Intelligence Basics: A Non-Technical Introduction. Follow him on Twitter at @ttaulli. As of this writing, he did not hold a position in any of the aforementioned securities.


8
1 "Place a trumpet at your lips.
An eagle is coming over the house of me, Yahweh.
This is happening because the people have broken my covenant
and rebelled against my law.
2 They cry out to me,
'My God, we in Israel know you.'
3 But Israel has rejected what is good,
and the enemy will pursue him.
4 They have set up kings,
but not by me.
They have made princes,
but without my knowledge.
With their silver and gold
they have made idols for themselves,
but it was only so they might be cut off."
5 The prophet says, "He has thrown away your calf, Samaria."
Yahweh says, "My anger burns against these people.
For how long will they stay impure?
6 For this idol came from Israel;
a workman made it;
it is not God!
The calf of Samaria will be broken to pieces.
7 For the people sow the wind
and reap the whirlwind.
The standing grain has no heads;
it yields no flour.
If it does come to maturity,
foreigners will devour it.
8 Israel is swallowed up;
now they lie among the nations like something useless.
9 For they went up to Assyria
like a wild donkey all alone.
Ephraim has hired lovers for herself.
10 Even though they have hired lovers among the nations,
I will now gather them together.
They will begin to waste away
because of the oppression of the king of princes.
11 For Ephraim has multiplied altars for sin offerings,
but they have become altars for committing sins instead.
12 I could write down my law for them ten thousand times,
but they would view it as something strange to them.
13 As for the sacrifices of my offerings,
they sacrifice meat and eat it,
but I, Yahweh, do not accept them.
Now I will call to mind their iniquity
and punish their sins.
They will return to Egypt.
14 Israel has forgotten me, his Maker,
and has built palaces.


Go to index page.
gifclrmp
A program to modify GIF image colormaps. Any local colormap in a GIF file can
be modified at a time, or the global screen one.
Usage:
gifclrmap [-q] [-s] [-t trans] [-l map] [-g Gamma] [-i image] [-h] gif-file
If no gif-file is given, GifClip will try to read a GIF file from stdin.
Memory required:
Line.
Options:
- [-q]
- Quiet mode. Defaults off on MSDOS, on under UNIX. Controls printout
of running scan lines. Use -q- to invert.
- [-s]
- Select the global screen color map.
- [-l map]
- Load color map from this file instead of selected color map.
- [-t trans]
- Change color index values. The change is made to both
the selected color table and the raster bits of the selected image. A
translation file is a list of pairs of `before' and `after' index values.
At present, the `before' index values must be in ascending order starting
from 0.
- [-g Gamma]
- Apply gamma correction to selected color map.
- [-i image]
- Select the color map of the numbered image.
- [-h]
- Print one command line help, similar to Usage above.
Notes:
-
The default operation is to dump out the selected color map in text
format.
-
The file to load/dump is simply one color map entry per line. Each such
entry line has four integers: "ColorIndex Red Green Blue", where color
index is in ascending order starting from 1.
Author:
Gershon Elber
Eric S. Raymond <esr@snark.thyrsus.com>


Esteemed stakeholders,
There was a considerable amount of divergence in economic growth performance between regions and countries in 2014. While the US economy grew strongly, the economic recovery in Europe remained fragile. Other leading economies such as China and Japan also faced an economic slowdown. There was a slowdown on the demand side with the global economy not yet attaining its desired performance and amidst increased geopolitical risks. These factors also precipitated declines in commodity prices, especially from the second half of the year.
The expansionary policies, which have been implemented to tackle the problems that have emerged since the global crisis broke out, continued. Key central banks, primarily the European Central Bank and Japan’s central bank, maintained their expansionary policies amid the slack levels of global growth in 2014. In contrast with other countries, however, the USA announced exit strategy from its Quantitative Easing program in response to an improvement in macro-economic indicators such as growth, employment and inflation. After the end of the Quantitative Easing, a lift-off is expected in the coming months with moderate hikes in interest rates. Developing countries, on the other hand, have been both positively and negatively affected by the movements in commodity prices, depending on the compositions of their economies.
While global markets were mainly watching the steps that will be taken by the USA, with risk perceptions focused on USA data, the growth performance of the global economy, market risk perceptions also turned to geopolitical developments and commodity prices in 2014. A number of different factors started to affect volatility in the market.
A variety of measures needs to be taken and problems need to be tackled to put economies on the right track. While the European Central Bank maintains its efforts to revive the economy with methods such as negative interest rates on deposits and bond purchases, it also struggles with low inflation and high unemployment. Japanese and Chinese central banks have also taken expansionary steps. The forthcoming period will not be as easy as planned. The countries which create permanent solutions at right time will be the ones that emerge successfully.
The Turkish economy, as a part of the global economy, was sensitive to the developments in the world. While growth was brisk at the beginning of the year, it started to diminish in the second half of the year. In contrast with the previous year, growth was mainly driven by foreign demand. The current account deficit narrowed, but inflation exceeded the expected levels. One development which supported Turkey, as an energy importer, was the plunge in oil prices during the year. Lower oil prices will help further lower the current account, bring down inflation and support growth by decreasing energy costs. It is thought that domestic and foreign demand conditions will become more balanced, setting the stage for healthier growth rates going forward.
On the other hand, inflation remained under pressure from the weakness of the Turkish Lira at the beginning of the year and its pass-through effect on inflation, and also lower agricultural yields due to the drought in the winter season, and the resulting increase in food prices. The year 2014 was rounded off with an 8.17% rate of CPI inflation. The rate of inflation is expected to enter a declining trend again on the back of the base effect from the spike observed in 2014, which was temporary, the normalization in food prices and the decline in oil prices.
The current account deficit, which is one of the key structural problems facing Turkey, exhibited a downward trend in 2014. The decrease in domestic demand after the macro-prudential measures that were initiated at the beginning of the year and the resulting decrease in demand for imports had an impact on this situation. Another factor behind the improvement in the current account deficit was the increase in exports to Europe, which is Turkey’s most important export market, as a result of the economic recovery seen at the beginning of the year. However, factors such as the deceleration in global economic growth and geopolitical risks threaten this improvement. To this end, the decline in the energy import bill, which has come on the back of the slump in oil prices, will no doubt prove supportive. Maintaining the improvement in the current account balance is likely, assuming that oil prices remain near their current levels throughout 2015.
Fiscal discipline was maintained in 2014 in what was one of the crowning successes of the Turkish economy. There were no deviations from the targets despite two elections held during the year. The year was concluded in line with the targets set out in the Medium Term Program. There was no compromise in maintaining the fiscal policies that have been conducted for year.
The Central Bank continues to implement a tight monetary policy. Price stability is now more crucial against a backdrop of inflation volatility. Following the hike in interest rates implemented in response to the volatility in the TL at the beginning of 2014, there was a limited reduction in interest rates in the second half of the year in response to some improvement in conditions. A further decline in interest rates is expected in 2015 on the back of a sharper decline in inflation, especially in the first half of the year.
The Turkish Banking sector enjoyed a positive performance in 2014, even though both global and domestic conditions deteriorated. The sector’s balance sheet can be considered satisfactory, despite having grown at a slower rate than in the previous year. Profitability in the sector approached its 2013 level. As far as loans are concerned, while retail loan growth slowed, corporate loan growth remained brisk, in an indication of continued support for the real sector.
Ziraat Bank, which supports the Turkish economy in every area, enhanced its leading position in the sector with the Bank’s change and transformation. In 2014, the Bank took strong steps for the coming years with the help of a more effective and efficient balance sheet structure. The Bank’s activities are always focused on its vision of always moving towards a better position.
Another important development in 2014 was the approval and announcement of Ziraat Bank’s Sustainability Policy. Our first Sustainability Report, published during the year, represented an important step as it considers social and economic issues - which form the latest trends of global banking, as a whole and as it enables our stakeholders to evaluate our gains and aims.
On behalf of myself and our Board of Directors I would like to take this opportunity to thank everyone who has placed their trust in our customers, employees, business partners and our brand, and who has provided pecuniary and non-pecuniary contributions to the value that we generate.
Yours sincerely,
Muharrem Karslı
Chairman of the Board of Directors


--- layout: post title: "Enabling basic authentication for MongoDB databases" date: 2014-07-20 00:37:15 categories: mongodb, auth, devops ---
MongoDB is extremely easy to install and run. If you are not able to make it work maybe you could feel more confortable using Access or even excel. Well, sorry for that. This short article is but a quick and dirty guide to enable basic authentication in mongodb, and how to create one database with its own user (not a superadmin) with just read/write permissions.
If you run mongod without parameters, you will not have any auth mechanism protecting your data. That could be fine when you are in a testing environment or in your own laptop playing around, but not in production or in any publicly reachable site.
/opt/mongodb/bin/mongod --fork --syslog --dbpath /data/db --smallfiles --auth --bind_ip <IP_ADDRESS>
You could also just apply iptables or any other firewall system to prevent intrusions.
Maybe you have noticed that bind_ip <IP_ADDRESS> parameter. In doing so mongod will be available only for local connections which but only in certain conditions: obviously your program must reside in the same machine. In addition to that, mongod should be a single and isolated instance. That means that this configuration is impossible in replica sets or sharding scenarios. And by the way, if you need to manage MongoDB instance you need a program for it; something like the phpmyadmin for mysql, for instace http://www.phpmoadmin.com/.
With --fork
the mongod process will go to background, --syslog
will send all log messages to /var/log/whatever you have configured in syslog, --dbpath
indicates the directory where MongoDB data files are and --smallfiles
comes in handy for testing or development environments becauses it reduces the size of data files and journal files.
Apart from some authentication systems, MongoDB has users and roles which can be applied to different databases. First, let's see how to create an admin user for admin database with god-like (root) permissions. It's also explained here.
Root permissions for all mongo databases:
use admin db.createUser( { user: "admin", pwd: "KeepASecret", roles: [ "root" ] } ) Successfully added user: { "user" : "admin", "roles" : [ "root" ] }
Now mongodb will not show you anything. Logout and log in again, this time using those credentials.
root@usurbil:# mongo -u admin -p KeepASecret admin MongoDB shell version: 2.6.1 connecting to: admin >
To check the permissions for a certain user:
db.runCommand( { usersInfo:"admin", showPrivileges:true } )
Somo basic permissions for just one db:
use myotherdb db.createUser( { user: "myotherdbuser", pwd: "KeepASecret", roles: ["readWrite","dbAdmin"] } )
That's it, fisrt we access admin database and then we run db.createUser command with obvious options in json sintax.
If anything fails we can just stop mongod and re-run it without the --auth
flag. If you try to access with your mongoshell using this admin user you'll get:
root@linux:# mongo -u admin -p wrongpass admin MongoDB shell version: 2.6.1 connecting to: admin 2014-07-18T01:32:04.702+0200 Error: 18 { ok: 0.0, errmsg: "auth failed", code: 18 } at src/mongo/shell/db.js:1210 exception: login failed root@linux:#
We could also log without any user and authenticate from the mongo shell
root@linux:# mongo --host localhost admin MongoDB shell version: 2.6.1 connecting to: localhost:27017/admin > db.auth({user: 'admin',pwd:'KeepASecret'})
To change the password, enter as admin, change to the database of that user and execute changeUserPassword command
> use myotherdb switched to db myotherdb > db.changeUserPassword("myotherdbuser", "1234567")
Database access are stored in collections of course, in db.system.users. So we can just execute update queries to add new roles, which is but an array where we can push or pop values.
db.system.users.update({_id:"admin.admin"},{$push:{"roles":{"role":"root","db":"mytotherdb"}}})
To be honest, this is the kind of post that I use as a reminder. Hope that anybody reading this finds it useful. ;)


SPEED (1994) A Film Review Copyright Dragan Antulov 1999
"Thrillride of the summer" is a magical phrase that saves legitimate movie critics from being branded sell-outs. It allows them not to admit that they were degraded to the intellectual levels of unwashed masses while they were enjoying Hollywood blockbusters. It also helps them to later explain why they were giving two, three or five thumbs up to the industry products that couldn't pass objective inspection. One of such products, ideal for the use of phrase, is SPEED, 1994 action thriller by Dutch cameraman turned director Jan de Bont, summer blockbuster that used to be called "the movie of the year" in those pre-Tarantino times.
The plot of the film is nice example of utter simplicity. Harry Payne (played by Dennis Hopper) is a mad bomber who wants to extort money from the city of Los Angeles and, in the process, get even with Jack Traven (Keanu Reeves), daring policeman who had foiled Payne's similar stunt in the past. Payne rigs the city bus and sets the device to arms itself whenever bus exceeds 50 mph speed limit. The bomb wouldn't explode as long as the speed doesn't decrease below that level. Traven becomes aware of that and first he races to get to the moving bus, and than to stop it from going under the critical speed limit. Among helpless passengers is Annie (Sandra Bullock), who would have to take the role of a driver.
Plot, although nothing but a loose cohesive material for three long and spectacular action scenes, is rather complex in comparison with the characters in SPEED. This "high concept" product hardly needs characters - cardboard cut-outs seem to do the trick. The most noticeable example is Jack Traven, character without any life apart from what we see on the screen. Lack of character and emotion is adequate for the wooden style of acting by Keanu Reeves. Dennis Hopper, on the other hand, plays just another in his long series of psychotic villains, not trying at all to be original. The only real personality in this film is Sandra Bullock, in rather thankless role of romantic sidekick that, ironically, launched her into Hollywood major league. But, she, as well as anything else, is secondary to the relentless attack on viewers' audio-visual senses and their hormones. Jan de Bont, after spending lots of his career on the sets of great directors, learned couple of tricks, and it shows - SPEED is really entertaining film, full of breathtaking stunts, explosions, chases and other spectacular actions. Unfortunately, those qualities seem to wear off on the second viewing, when the critical audience becomes painfully aware of paper characters, lot of implausibilites, lack of originality and whole series of plot holes who could devour entire galaxies. The impression is becoming even worse when SPEED gets compared with action genre classics like DIE HARD or ALIENS, that could entertain the audience for years afterwards. And here lies the answer why "thrillrides of the summer" quickly burn out of our memories as soon as leaves start falling in the autumn.
RATING: 5/10 (++)
Review written on May 8th 1999
-- Dragan Antulov a.k.a. Drax Fido: 2:381/100 E-mail<EMAIL_ADDRESS>E-mail<EMAIL_ADDRESS>E-mail<EMAIL_ADDRESS>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


TekTose bootcamp is a free intensive one week program in Harare, Zimbabwe, introducing high schoolers to programming and algorithms. The program previously ran in 2018 and will run again in 2021.
Are you interested in learning how to write instructions for a computer to solve meaningful problems?
Apply to be Student.Are you good at programming? Do you have a strong computer science background?
Volunteer to be Tutor.Are you interested in writing about technology and the ways it can improve our communities?
Join our contest & win USD $50!We have curated a collection of textbooks, websites and courses for you to start learning how to code.
Check out Resources to Learn.We are raising funds for renting our bootcamp site, and providing our students with internet, computers, food and transport.
Your gift will go a long way!
Donate


| Contents | Previous | Next | Java Management Extensions (JMX) Technology Tutorial |
This chapter explains what you need to do to get started with the Java Management Extensions (JMX) examples. It provides instructions that apply to all the examples described in the subsequent chapters.
All variable assignments and commands in the examples in this tutorial were defined using UNIX Korn shell syntax. If you are running a shell other than the Korn shell on a Solaris, Linux, or Mac OS X platform, you must adapt these commands to your preferred shell environment.
If you are running a Microsoft Windows operating
environment, in the majority of cases, adapting commands will
simply involve replacing forward slashes (/
) with backward slashes (\
) and replacing colons (:
) with semi-colons (;
)
in the paths. A specific Microsoft Windows command is given only
when it differs significantly from the Solaris, Linux, or Mac OS X command
provided.
The examples that form the basis of this tutorial are all accessible from the JMX page in the Java Platform, Standard Edition (Java SE) documentation bundle, found in the following location:
Java Management Extensions (JMX) Examples
The code excerpts quoted in this tutorial are taken from these example programs. However, some code excerpts might be rearranged and comments might be changed. Program listings in the tutorial usually simplify comments and omit output statements, for space considerations. Some classes or sections of code that deserve special attention have been highlighted using bold text for the purposes of this tutorial.
To preserve untouched copies of the original example files, create a new directory in which to compile and run the examples.
All the examples will now be contained
in work_dir/jmx_examples
.


| PostgreSQL 9.0.10 Documentation | ||||
|---|---|---|---|---|
| Prev | Up | Chapter 53. GIN Indexes | Next |
Internally, a GIN index contains a B-tree index constructed over keys, where each key is an element of the indexed value (a member of an array, for example) and where each tuple in a leaf page is either a pointer to a B-tree over heap pointers (PT, posting tree), or a list of heap pointers (PL, posting list) if the list is small enough.
Updating a GIN index tends to be slow because of the intrinsic nature of inverted indexes: inserting or updating one heap row can cause many inserts into the index (one for each key extracted from the indexed value). As of PostgreSQL 8.4, GIN is capable of postponing much of this work by inserting new tuples into a temporary, unsorted list of pending entries. When the table is vacuumed, or if the pending list becomes too large (larger than work_mem), the entries are moved to the main GIN data structure using the same bulk insert techniques used during initial index creation. This greatly improves GIN index update speed, even counting the additional vacuum overhead. Moreover the overhead can be done by a background process instead of in foreground query processing.
The main disadvantage of this approach is that searches must scan the list of pending entries in addition to searching the regular index, and so a large list of pending entries will slow searches significantly. Another disadvantage is that, while most updates are fast, an update that causes the pending list to become "too large" will incur an immediate cleanup cycle and thus be much slower than other updates. Proper use of autovacuum can minimize both of these problems.
If consistent response time is more important than update speed, use of pending entries can be disabled by turning off the FASTUPDATE storage parameter for a GIN index. See CREATE INDEX for details.
GIN can support "partial match" queries, in which the query
does not determine an exact match for one or more keys, but the possible
matches fall within a reasonably narrow range of key values (within the
key sorting order determined by the compare
support method).
The extractQuery
method, instead of returning a key value
to be matched exactly, returns a key value that is the lower bound of
the range to be searched, and sets the pmatch flag true.
The key range is then searched using the comparePartial
method. comparePartial
must return zero for an actual
match, less than zero for a non-match that is still within the range
to be searched, or greater than zero if the index key is past the range
that could match.


func LoadCertificateECDSA(certPath string) (*x509.Certificate, error)
LoadCertificateECDSA load a ecdsa cert from a file in cert path
type CA struct { Name string Country string Province string Locality string OrganizationalUnit string StreetAddress string PostalCode string //SignKey *ecdsa.PrivateKey Signer crypto.Signer SignCert *x509.Certificate }
func NewCA(baseDir, org, name, country, province, locality, orgUnit, streetAddress, postalCode string) (*CA, error)
NewCA creates an instance of CA and saves the signing key pair in baseDir/name
func (ca *CA) SignCertificate(baseDir, name string, ous, sans []string, pub *ecdsa.PublicKey, ku x509.KeyUsage, eku []x509.ExtKeyUsage) (*x509.Certificate, error)
SignCertificate creates a signed certificate based on a built-in template and saves it in baseDir/name


{{Infobox prepared food | name = Sesame seed cake | image = | caption = | alternate_name = | country = | region = | creator = | course = | type = Cake | served = | main_ingredient = Sesame seeds, honey | variations = | calories = | other = }} {{Unreferenced|date=December 2009}} {{About|leavened cakes made with sesame|the candy|sesame seed candy}}
Sesame seed cake is a cake made of sesame seeds, often combined with honey as a sweetener.
{{DEFAULTSORT:Sesame Seed Cake}}
{{Food-stub}}


| Pipili et al[
18]
|
2013 |
Female/72 |
ESRD |
PD |
Valacyclovir tablets 3 g daily for 3 d |
3 d |
Nifedipine, irbesartan, cinacalcet, atorvastatin, alfacalcidol |
Confusion and visual hallucinations |
3 d, restored after PD 6 × 2 L per day |
| Chaudhari et al[
16]
|
2014 |
Male/66 |
ESRD |
PD |
Oral valacyclovir 1000 mg daily for 7 d |
7 d |
Simvastatin, metoprolol, sevelamer, furosemide, and glimepiride |
Hallucination, insomnia, and photosensi-tivity |
7 d, improved after regular regimen and hydration |
| Asahi et al[
17]
|
2009 |
Female/78 |
Without previous renal failure |
NO |
Valacyclovir 3000 mg/d |
6 d |
Not mentioned |
Unconsciou-sness |
5 d, recovered 14 d later |
| Asahi et al[
17]
|
2009 |
Male/73 |
ESRD |
Hemodialysis |
Valacyclovir 3000 mg/d |
2 d |
Not mentioned |
Confusion, hallucination |
2 d, completely recovered 3 d later |
| Singh et al[
19]
|
2014 |
Female/58 |
ESRD |
HD |
Valacyclovir 500 mg/d |
2 d |
Not mentioned |
Altered sensorium, irritability, drowsiness, confusion |
2 d, completely recovered 5 d later |
| Kambham-pati et al[
20]
|
2011 |
Female/49 |
ESRD |
Maintenance hemodialysis |
Valacyclovir 1000 mg three times a day |
2 d |
Not mentioned |
Disoriented, confused, agitated, hallucinating, delirious, incoherent |
1 d, 4000 mg, completely recovered after second session of hemodialysis |
| Prasad et al[
14]
|
2017 |
Female/57 |
ESRD |
PD |
1000 mg three times per day of valacyclovir |
3 d |
Not mentioned |
Confusion and altered sensorium |
1 day, completely recovered 24 h later |
| Izzedine et al[
21]
|
2001 |
Female/60 |
ESRD |
PD |
Valacyclovir 500 mg daily |
Reduced 500 mg of valacyclovir every 2 d |
Not mentioned |
Disorientated with ocular and auditory hallucinations and loss of decorum without torpor or coma. |
3 d, recovered 48 h later |
| Strumia et al[
22]
|
2004 |
Male/81 |
ESRD |
Hemodialysis |
Oral valacyclovir 1000 mg every 8 h then intravenous acyclovir in full dosage |
3 d |
Not mentioned |
Visual hallucination, confusion and disorientation |
3 daysd completely recovered 6 d later |
| Linssen-Schuurmans et al[
23]
|
1998 |
Male/58 |
CKD |
Intermittent hemodialysis twice a week |
Valacyclovir 3 g/d |
2 d |
Not mentioned |
Dizziness, hallucinations, loss of decorum, disoriented, slurred speech |
1 d, complete recovery |
| Takayanagi et al[
24]
|
2010 |
Male/67 |
ESRD |
PD |
Valacyclovir, 1 g/d |
5 d |
Not mentioned |
Hallucina-tions |
7 d, complete recovery |
| Sadjadi et al[
25]
|
2018 |
Male/80 |
ESRD |
PD |
Acyclovir 5 mg/kg intravenously, followed by oral acyclobir 400 mg/d |
3 d |
Not mentioned |
Confusion, delusion, disorientation, restlessness, visual hallucinations, seizures |
2 d, complete recovery |


Waiting for React to connect…
React Native
The active app will automatically connect in a few seconds.
React DOM
Add
or
to the top of the page you want to debug,
before
importing React DOM.
Starting the server…


module Var:sig
..end
Global variables with mutex.
In a GUI, it is quite likely that a thread has to modify a variable
owned by another thread. This is particularly true in Bogue
(because connections created by Widget.connect
use a new Thread
when executed, unless you specify ~priority:Main
). In order to
protect against concurrent access to a shared variable, one should
use a special kind of variable. This is the goal of this module.
Warning: working with threads is subtle, and using Var
will
not magically make all problems disappear. In particular if two
variables from two different threads want to access each other, you
can end up into a stall, and freeze your program. This can happen
more often that one thinks, because a Var may contain a Layout
,
and we know that sometimes layouts want to modify themselves...
type 'a
t
val create : 'a -> 'a t
create v
returns a Var with initial value v
.
val get : 'a t -> 'a
val set : 'a t -> 'a -> unit
set v value
waits until no thread is accessing the Var v
and then sets its value to value
.
val with_protect : 'a t -> ('a -> 'b) -> 'b
with_protect v f
applies f
to the value of v
, while protecting v
from the access of any other thread.
val protect_fn : 'a t -> ('a -> 'b) -> 'b
Var.with_protect
.


Contact
Certifications
Experience
Projects
Skills
About Me
Home
Atanu Ghosh
the certificates section


{% extends "hes/base.html" %} {% block meta_title %}Page Not found{% endblock %} {% block body_container %}
This is not the page you were looking for.


--- layout: default title: Timeline ---
Flint’s drinking water source is changed from Lake Huron and the Detroit River to a less costly source of the Flint River.
General Motors stops using Flint River water, fearing corrosion in its machines.
Flint is found to be in violation of the Safe Drinking Water Act.
A city test reveals high lead content in the water of a Flint resident's home.
A study from the local Hurley Medical Center found that 2.1 percent of children age 5 and under had elevated blood lead levels prior to the switch to Flint River water, compared to 4.0 percent after the switch.
Flint switches back to the Detroit water supplier.
Flint Mayor Karen Weaver declares a state of emergency over the elevated lead levels in the city's water.
Supporting its preliminary conclusion, the task force charged with investigating the causes of the Flint water crisis says in its final report that the MDEQ bears primary responsibility.
Despite improved lead levels in Flint's water, it remains unsafe to drink without a filter, according to results released from Virginia Tech researchers.
A federal emergency declaration over Flint’s lead-tainted water crisis ends, but state officials say work continues to fix the drinking water system and provide services to city residents.
The Michigan Department of Environmental Quality declares that, in a six-month-long study, the city's water tested below the federal limit.
The state announces the distribution of free bottled water in the city is ending.
25,042 water service lines have been excavated, resulting in the replacement of 9,516 lead pipes and the verification of 15,526 existing copper pipes.
Michigan Attorney General Dana Nessel announces charges of willful neglect of office against former Governor Rick Snyder. Eight other people were also named in the indictment.


Out of my way I’m running high
Take your chance with me and I’ll give it a try
Ain’t no woman in the world I know
�Cause I ain’t looking for a woman, no!


Home
|
Photography
|
Printstagram
|
Print Shop
Laura Buitrago Artwork
Mostly for fun, I've always loved making things.


Make a high end UCS Server for fast build
by Wenwei Weng
Cisco IOS has been growing significantly over the last ten years. The source code is reaching 10GB, and build time is taking long depending on the build machine capacity. To make development time efficient, it is critical to cut down the image build time. This week, I spent some time to make a high end of UCS server for IOS image build.
What parts needed: the below picture shows required parts:
- Chassis: UCS 240 M3
- Power Supply Unit (PSU)
- Two Heat sinks for CPU heat dispatch
- 24x16GB DDR3 RAM
- Two Intel Xeon E5 2697V2 CPU
- Raid Controller: LSI 9271-8i MegaRaid
- 3x2TB HDD
Install PSU
UCS 240 M3 chassis has two PSU slots for redundancy. However I install only one PSU.
Install Raid Controller LSI 9271-8i MegaRaid
UCS 240 M3 chassis comes with on-board raid controller, somehow it doesn’t work well. Raid controller is a way of virtualize hard disk drive, it provides different level of disk redundacies (R0, R3, R5, R6). For UCS, it needs to be installed in one of PCI riser.Inside PCI riser, I also install a 4 ports GE NIC cards
Install Hard Disk Drive
UCS 240 M3 has 12 slots for hard disk drive. In this box, I install 3 2TB HDD.
Install CPU
The chassis has two CPU sockets. I have two Intel Xeon E5 2697V2. Each one has 12 physical cores. With hyperthreading enabled, there are total 48 virtuals cores available.
Install DDR3
The chassis has 24 slots for DDR3 DRAM (Channels: A, B, C, D, E, F; each channel has three banks)
Install head sink
Heat sink is required for each CPU. before installing heat sink, make sure to apply grease evenly on the top surface of processor.
Now hardware is ready. In order to work, there are two low level software configuration required:
Enable Raid controller and 4 Ports NIC card inside BIOS
During box boots up, press F2 to enter BIOS, and go to “Advanced” menu, then PCI configuration to enable Raid Controller (slot#3) and NIC card (Slot#2)
After configuration is done, press F10 to save and exit, and reboot box.
Configure virtual drive by Raid controller from webBIOS
After Raid controller is enabled, during boot up, it will come with a stage to let you press “Ctrl+H” to enter into WebBIOS to configure Raid controller. Please use the configuration wizard to follow steps.
After All those hardwork, the box is ready to install linux !!!
Subscribe via RSS


calculator
Enter the First Number
Enter the Second Number
Choose the operation
Addition
Subtraction
Multiplication
Division


IS_KEY(value) → bool: Check whether value is a string that can be used as a document key, i.e. as the value of the _key attribute.
IS_KEY(value) → bool


Latitude: ${clickLocation.lat | numberFormat:'0.000000'}, longitude: ${clickLocation.lng | numberFormat:'0.000000'}
Do you really want to delete this entity?


Spatial ecology of species interactions
Why is there variation in the way species interact over space or time? We analyse spatially and temporally replicated datasets of surveys of species interactions to measure the variation in the structure of ecological networks, and describe its dynamics.
Prediction of species interactions
Can we predict inter-specific interactions? We are interested in developing predictive models that would use different sources of information (functional traits, local abundances, previous knowledge, …) to predict the probability that two species will interact.
Data science for biodiversity research
We believe that open data are a treasure trove of knowledge that has not been entirely used yet, and require ecologists to get curious about tools and practices from the field of data science. We explore applications of machine learning and deep learning to biodiversity.
Ecology of viral pathogens
Can we use ecological information to make predictions about emerging viral pathogens? We apply biotic interaction inference techniques, network analysis, and secies distributions models, to provide mapping of the risk posed by various groups of pathogens.
Functional consequences of network structure
We are interested in turning the structure of networks into a predictive variable for community ecology; we are particularly interested in the role of trophic interactions in ecosystem functioning.
Data and software tools
Addressing new questions often requires to develop new tools. We develop statistical and mathematical approaches, implement them, and release them as free and open-source software to make analyses reproducible and reliable.


1.That's the thing about suicide. Try as you might to remember how a person lived his life, you always end up thinking about how he ended it.
2.When people kill themselves, they think they're ending the pain, but all they're doing is passing it on to those they leave behind.
3.The bravest thing I ever did was continuing my life when I wanted to die.
4.Believe in yourself and all that you are. Know that there is something inside you that is greater than any obstacle.
5.The real reason for not committing suicide is because you always know how swell life gets again after the hell is over.
6.The person who completes suicide, dies once. Those left behind die a thousand deaths, trying to relive those terrible moments and understand …  Once it starts it PLAYS until it ends or you press STOP.


Methods
addEdge(edge)
Add an edge to the graph
Parameters:
| Name | Type | Description |
|---|---|---|
edge |
an edge generated with cortez.edge() |
Fires:
- options.event:onAddEdge
addNode(node)
Add a node to the graph
Parameters:
| Name | Type | Description |
|---|---|---|
node |
a node object generated with cortez.node() |
Fires:
- options.event:onAddNode
getConnectedNodes(node, query)
Retrieve nodes reached by undirected edges that extend from a given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the target node | |
query |
an object with a list of properties to be matched |
getConnectedNodesGen(node, query)
Retrieve nodes reached by undirected edges that extend from a given node, as a generator
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the target node | |
query |
an object with a list of properties to be matched |
getDirectedEdges(edgeIds, query)
Retrieve directed edges matching a query from a list of candidates
Parameters:
| Name | Type | Description |
|---|---|---|
edgeIds |
a list of candidate ids of edges | |
query |
an object with a list of properties to be matched |
getDirectedEdgesBetween(node, node, query)
Retrieve directed edges extending from a given node to another given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the source node | |
node |
the target node | |
query |
an object with a list of properties to be matched |
getDirectedEdgesBetweenGen(node, node, query)
Retrieve directed edges extending from a given node to another given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the source node | |
node |
the target node | |
query |
an object with a list of properties to be matched |
getDirectedEdgesFrom(node, query)
Retrieve directed edges extending from a given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the source node | |
query |
an object with a list of properties to be matched |
getDirectedEdgesFromGen(node, query)
Retrieve directed edges extending from a given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the source node | |
query |
an object with a list of properties to be matched |
getDirectedEdgesGen(edgeIdsGenerator, query)
Retrieve directed edges matching a query from a list of candidates, as a generator
Parameters:
| Name | Type | Description |
|---|---|---|
edgeIdsGenerator |
a generator producing the ids of candidate edges | |
query |
an object with a list of properties to be matched |
getDirectedEdgesTo(node, query)
Retrieve directed edges reaching a given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the target node | |
query |
an object with a list of properties to be matched |
getDirectedEdgesToGen(node, query)
Retrieve directed edges reaching a given node, as a generator
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the target node | |
query |
an object with a list of properties to be matched |
getEdge(node)
Retrieve an edge given an edge object or its id
Parameters:
| Name | Type | Description |
|---|---|---|
node |
an edge object or the id of an edge |
getEdges(edgeIds, query)
Retrieve edges matching a query from a list of candidates
Parameters:
| Name | Type | Description |
|---|---|---|
edgeIds |
a list of candidate ids of edges | |
query |
an object with a list of properties to be matched |
getEdgesBetween(node, node, query)
Retrieve edges extending from a given node to another given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the source node | |
node |
the target node | |
query |
an object with a list of properties to be matched |
getEdgesBetweenGen(node, node, query)
Retrieve edges extending from a given node to another given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the source node | |
node |
the target node | |
query |
an object with a list of properties to be matched |
getEdgesFrom(node, query)
Retrieve edges extending from a given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the source node | |
query |
an object with a list of properties to be matched |
getEdgesFromGen(node, query)
Retrieve edges extending from a given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the source node | |
query |
an object with a list of properties to be matched |
getEdgesGen(edgeIdsGenerator, query)
Retrieve edges matching a query from a list of candidates, as a generator
Parameters:
| Name | Type | Description |
|---|---|---|
edgeIdsGenerator |
a generator producing the ids of candidate edges | |
query |
an object with a list of properties to be matched |
getEdgesTo(node, query)
Retrieve edges reaching a given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the target node | |
query |
an object with a list of properties to be matched |
getEdgesToGen(node, query)
Retrieve edges reaching a given node, as a generator
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the target node | |
query |
an object with a list of properties to be matched |
getLinkedNodes(node, query)
Retrieve nodes reached by directed edges that extend from a given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the target node | |
query |
an object with a list of properties to be matched |
getLinkedNodesGen(node, query)
Retrieve directed nodes reached by directed edges that extend from a given node, as a generator
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the target node | |
query |
an object with a list of properties to be matched |
getLinkingNodes(node, query)
Retrieve nodes having directed edges that reach a given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the target node | |
query |
an object with a list of properties to be matched |
getLinkingNodesGen(node, query)
Retrieve nodes having directed edges that reach a given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the target node | |
query |
an object with a list of properties to be matched |
getNode(node)
Retrieve a node given a node object or its id
Parameters:
| Name | Type | Description |
|---|---|---|
node |
a node object or the id of a node |
getNodes(query)
Retrieve nodes matching a query
Parameters:
| Name | Type | Description |
|---|---|---|
query |
an object with a list of properties to be matched |
getNodesGen(query)
Returns a generator retrieving nodes matching a query
Parameters:
| Name | Type | Description |
|---|---|---|
query |
an object with a list of properties to be matched |
getUndirectedEdges(edgeIds, query)
Retrieve undirected edges matching a query from a list of candidates
Parameters:
| Name | Type | Description |
|---|---|---|
edgeIds |
a list of candidate ids of edges | |
query |
an object with a list of properties to be matched |
getUndirectedEdgesBetween(node, node, query)
Retrieve undirected edges extending from a given node to another given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the source node | |
node |
the target node | |
query |
an object with a list of properties to be matched |
getUndirectedEdgesBetweenGen(node, node, query)
Retrieve undirected edges extending from a given node to another given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the source node | |
node |
the target node | |
query |
an object with a list of properties to be matched |
getUndirectedEdgesFor(node, query)
Retrieve undirected edges extending from a given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the source node | |
query |
an object with a list of properties to be matched |
getUndirectedEdgesForGen(node, query)
Retrieve undirected edges extending from a given node
Parameters:
| Name | Type | Description |
|---|---|---|
node |
the source node | |
query |
an object with a list of properties to be matched |
getUndirectedEdgesGen(edgeIdsGenerator, query)
Retrieve undirected edges matching a query from a list of candidates, as a generator
Parameters:
| Name | Type | Description |
|---|---|---|
edgeIdsGenerator |
a generator producing the ids of candidate edges | |
query |
an object with a list of properties to be matched |
hasAnyEdge(from, to)
Checks if a pair of nodes has at least one edge connecting them
Parameters:
| Name | Type | Description |
|---|---|---|
from |
a node | |
to |
a node |
hasDirectedEdge(from, to)
Checks if a pair of nodes has a directed edge connecting them
Parameters:
| Name | Type | Description |
|---|---|---|
from |
a node | |
to |
a node |
hasUndirectedEdge(from, to)
Checks if a pair of nodes has an undirected edge connecting them
Parameters:
| Name | Type | Description |
|---|---|---|
from |
a node | |
to |
a node |
inflateEdges(edgeIds)
Retrieves a list of edges
Parameters:
| Name | Type | Description |
|---|---|---|
edgeIds |
an array of ids of edges to be retrieved |
inflateEdgesGen(edgeIdsGen)
Retrieves a list of edges as a generator
Parameters:
| Name | Type | Description |
|---|---|---|
edgeIdsGen |
a generator producing the ids of edges to be retrieved |
inflateNodes(nodeIds)
Retrieves a list of nodes
Parameters:
| Name | Type | Description |
|---|---|---|
nodeIds |
an array of ids of nodes to be retrieved |
inflateNodesGen(nodeIdsGen)
Retrieves a list of nodes as a generator
Parameters:
| Name | Type | Description |
|---|---|---|
nodeIdsGen |
a generator producing the ids of nodes to be retrieved |
link(from, to, payload, metadata, directed)
Shortcut method to create an edge between two nodes
Parameters:
| Name | Type | Description |
|---|---|---|
from |
a node | |
to |
a node | |
payload |
an object to be stored in the node | |
metadata |
an additional object to be stored in the node | |
directed |
whether the edge must be directed or not |
removeEdge(edge)
Remove an edge from a graph
Parameters:
| Name | Type | Description |
|---|---|---|
edge |
an edge object or the id of an edge |
Fires:
- options.event:onRemoveEdge
removeNode(node)
Remove a node from a graph
Parameters:
| Name | Type | Description |
|---|---|---|
node |
a node object or the id of a node |
Fires:
- options.event:onRemoveNode


Business Guide
Funding Programs
Federal Contracting
Learning Center
Local Assistance
About SBA
404
Page not found
Just like a business on the moon, the page you're looking for doesn't exist.
Return to the
home page
.


Indonesia lifts tsunami alert after powerful quake causes panic
JAKARTA: A powerful earthquake struck near Indonesia's Moluccas islands on Thursday (Nov 14), prompting panicked residents to flee to higher ground, though a tsunami alert was later lifted and there were no immediate reports of casualties.
The quake had a magnitude of 7.1 and its epicentre in the sea was 139km northwest of the city of Ternate at a depth of 45km, according to the US Geological Survey. More than 20 aftershocks occurred.
Indonesia's geophysics agency lifted the tsunami warning after two hours because it detected only small waves in Ternate, Jailolo and Bitung.
Miftahudin, an official in Jailolo in the Halmahera area of the Moluccas, said residents had fled to the hills.
"After the earthquakes, there was an electricity blackout," he told news portal Tribunnews. There had been no reports of fatalities or damage in the area, he said.
The quake was also felt strongly on the island of Sulawesi, to the west of the epicentre, where authorities urged people to move to higher ground and stay away from the beaches.
Indah Lengkong, a resident of the port city of Bitung in North Sulawesi, said by text message: "The house was visibly shaking."
People in her neighbourhood had initially panicked, she said, adding: "The quake was very strong and lasted for a while. We can still feel tremors but weaker."
Tremors shook buildings in cities across North Sulawesi.
Indonesia is situated on the so-called Pacific Ring of Fire, which frequently has earthquakes and sometimes accompanying tsunamis.
A magnitude 7.3 earthquake had struck the Moluccas islands in July, killing at least four people.
The most devastating in recent Indonesian history was on Dec 26, 2004, when a magnitude 9.5 quake triggered a massive tsunami that killed around 226,000 people along the shorelines of the Indian Ocean, including more than 126,000 in Indonesia.


|
JavaScript Web Flow TutorialPrerequisitesYou are expected to be familiar with Spring MVC and JavaScript. To build the example, you need to download the Rhino in Spring distribution, and build it running "ant example" from its root directory. You will find the built web application inside the build/example directory. Configuring the web applicationIn its simplest setup, you need to add an instance of the Spring's default dispatch servlet to your web application, just as you would with any Spring based web application. The relevant section of our example web.xml looks like this:
This sets up a Spring dispatcher servlet to be configured from the spring-webmvc-jsflow-servlet.xml bean factory and to have all requests ending with .js forwared to it (since our controllers are JavaScript programs) - a quite standard setup for a Spring controller. Next, the spring-webmvc-jsflow-servlet.xml. In its very simplest form, this is all you need to add to it to get the default functionality:
You will of course need to include some view resolver as well (in our example, we used the FreeMarker template engine for views, because we're JSP illiterate. You can of course use JSP, Velocity, or any other view technology supported by Spring. There is also a strong chance that you will need to keep the Rhino context used by the controller for the duration of view rendering. If you used Spring with Hibernate, you are already familiar with the concept - it is named "OpenSessionInViewInterceptor" there, and our equivalent is "OpenContextInViewInterceptor". To add it to your dispatcher XML, you need to copy these lines:
(Of course, if you have a more complex Spring application, you might already have interceptors set up - then just add this one to the list). Writing scripts and viewsWith this setup, you can place a .js file anywhere in your web application, and if you point your browser at it, it'll start running. Let's take a look at calculator.js in the example directory. It looks like this (with interesting pieces in red):
This is basically an infinite loop that keeps adding numbers to a list named "tape", thus emulating an old type calculator that kept the trail of the whole calculation on a roll of paper. The respondAndWait() function will send a response to the user's browser. Here, we're telling it to send back the view named "calculator" (this gets mapped by our FreeMarker view resolver to "calculator.ftl", but if you used JSP, it'd get mapped to "calculator.jsp"), and send it a data model - a map, essentially - with a single element named "tape" whose value is the tape variable. Then the respondAndWait() will stop and wait for the next request to come in from the browser. The currently processed HttpServletRequest object is always available in the "request" variable. Let's take a look at the view now. (Apologies if you don't read FreeMarker Template Language, but there really isn't much of it in there, it's mostly HTML):
First, you see a FreeMarker "foreach" directive that'll list all the items in the tape on a separate line. Our flow controller takes proper care to let the views see JavaScript native arrays as Java Lists and JavaScript native objects as Maps. JavaScript numbers and booleans show up as Java Double and Boolean instances, JavaScript strings as Java Strings. It is all rather intuitive. Also, if you somehow create or get a Java object inside your script and pass it to the view, it'll go through unchanged. Next, we see how you are expected to create the next request. You see that we are sending to the same script - the action of the form element is the same "calculator.js". However, there is a hiden field named "stateId" whose value is passed to the view as a data model variable with the identical name (hence ${stateId} will render it in FreeMarker into the output HTML page). This state ID is what connects this page with the script state on the server. Also, the script uses two request parameters named "operator" and "operand" , they're created as a drop-down select and a text field respectively. When the user submits the request, the script state on the server wakes up and returns from the respondAndWait() call. Let's continue examining the script now. Now, it is stunningly simple, really. It retrieves the two request parameters, builds a string concatenating the last entry on the tape with the new operator and new operand, and uses JavaScript eval() function to evaluate the new expression. Then it appends the new operation as well as the result to the end of the tape, and loops back to respondAndWait(). If an error occurs, it appends the error message to the tape, and also appends the last good value. That's all! The real fun begins - Running it allBy now, you have hopefully built the example, and mapped the build/example directory to your servlet container of choice. Go and point your browser at the calculator.js, and enter few values through several request/response cycles. Now the fun begins. Go back a few steps using your browser's back button, and continue from there. It works from the point where you backed to. Note: you didn't have to take care of synchronizing the browser state and the server state, by providing custom "back" links or buttons. Your users can freely use the browser's back button. Open a new window from an existing state ("File->New Window" in IE or Fireox, or "Window->Duplicate" in Opera), and continue from there. Now return to the original window and contine from there. See how each window correctly has its own state - common up to the point of the duplication, but separate after that. Play with the back button and new windows freely as you wish, and see how the server always catches up with the correct state in each window, no matter how many times you split the calculation in two again (by duplicating a window) or roll back the calculation (by going back with the browser's back button). And now realize that you didn't do anything special to support the user wandering through your webapp in multiple windows, going back and forth in them. For all you know, you just coded a single, linearly executing infinite loop! Advanced conceptsState storageBy default, the flowstates between two requests are stored in a map that is bound to the HTTP session. This is implemented by the class HttpSessionFlowStateStorage but you needn't specify it as it is the default created by the flow controller when no other is found in the dispatch XML. By default, the states for the 100 most recent request for every session are being stored. Another option is to store the states in a JDBC database. For this to work, you will have to explicitly create an instance of JdbcFlowStateStorage. There is a commented-out one in the dispatch XML of the example web application - you can use it to get started, although you'll probably want to replace the data source with some connection pooling implementation such as Apache DBCP for a real-world application. Yet another option is to store the states in the HTML page generated in the response. This is achieved by using an instance of ClientSideFlowStateStorage. In this case, the stateId variable available to views is not an ID at all, but rather it is a full (textually encoded) representation of the state! It achieves unparalleled scalability, as zero state has to be stored on the server! Of course, entrusting the client to store the state can have potential security implications, so we provide full support for compression, encryption, and digital signing of the flow states to prevent the clients from tampering with them - you can employ any, all, or none of these features, of course. You can find several commented examples in the example dispatcher XML for it. One thing to pay attention to is that you should really use HTML forms with POST method to send the next request to the server with client-side state storage - you don't want few kilobytes worth of an encoded state showing up in the query string of the URL. IncludesThere is a built-in function named include() that takes one string as a parameter, interprets it as a path to a script, and executes that script in place. It is very handy for creating libraries of reusable functions that you can include from any other script. A path starting with / character is interpreted as an absolute path (relative to the root of the utilized resource loader, that is), while a path starting with any other character is a path relative to the including script, and can start with any number of ../ components to ascend to parent directories. Sharing dataThe natural way to share data across different flowstates is the progression of local variables from one flowstate to the one(s) that continue(s) it. All variables are deeply copied from one state to the other, by virtue of whole state being serialized and then deserialized, so i.e. changing an array element in a later flowstate doesn't affect the earlier flowstate at all - if you go back to it using the browser's back button and progress from there, it'll be as it ever was. There are situations where you need to share data with other flowstates, either in the same or in different scripts. I.e. backing to and continuing from halfway of a checkout process in a webshop after it was already completed once might be a bad idea. When writing such an application, you'll want to check after each wakeup from respondAndWait() whether certain assumptions still hold (i.e. basket is not yet purchased). For this, you can use any of the usual venues: HTTP session attributes, servlet context attributes, beans in the Spring application context, or maybe the best of all, queries against a relational database (either JDBC or some ORM, say Hibernate). Context demarcationIf you're using interceptors or servlet filters to govern JDBC connection, Hibernate session, or some similar resource's lifetime, you must be aware when you code your scripts that your connections/sessions/etc. will get closed (flushed/committed/rolled back based on how everything's externally configured) whenever you invoke wait() or respondAndWait(), and newly reopened when the call returns with a new request. Just remember to structure your code accordingly. finally blocksIn Rhino, all open finally blocks execute even when the execution temporarily suspends because of a wait() or respondAndWait() invocation. To help you differentiate in your finally blocks between the real final execution of the block and the "bogus" one (it has its usages, though) there is a isGoingToWait() function that returns true when the flow is going to wait, and false when it is not. Using custom Rhino context factoriesRhino allow many aspects of its operation to be customized using a ContextFactory object. Rhino has a singleton global ContextFactory, but we discourage its use, as any global singletons are by their nature bad from the maintenance perspective. Rather, you can install a ContextFactory into either OpenContextInViewInterceptor or into the FlowController. Clustering with Terracotta
Starting with version 1.2, Rhino-in-Spring's HTTP session storage is
fully clusterable using Terracotta.
The distribution includes a What's in the serialized stateYou might wonder what is stored in the serialized flowstate. In short, every variable that is reachable from the script's global scope, as well as all local variables in all call frames currently on the stack. There are few exceptions though. The system recognizes several objects that are considered shared, and during serialization these objects are replaced with stubs. Then, when the flowstate is deserialized (because it received the next request), the stubs are resolved back to the shared objects, avoiding duplication. The following objects are stubbed:
bindStubProvider
and bindStubResolver methods on the HttpSessionFlowStateStorage .
By using these objects, you can provide the stubbing functionality for
any further application-specific objects.
|


Answer TRUE or FALSE.
The problem with using a list to implement a dictionary is that, while search or insert can be implemented efficiently, deletion cannot.
A sorted, array-based list allows for fast search.
An unsorted list allows for fast insert.
But you can't do both at once.
And none of the list combinations allows for fast delete.


POST
method or the
GET
method when sending data to a server.
GET
.HEAD
.OPTIONS
.POST
.
Note: For content running in Adobe AIR, when using the
navigateToURL()
function, the runtime treats a URLRequest
that uses the POST method(one that has its method
property
set to URLRequestMethod.POST
) as using the GET method.
PUT
.
DELETE
.


Things I really don't want to forget.
designing inclusively
short money rules
a modest guide to productivity
little money rules
Acres of diamond
The millionaire fastlane
The one thing
Think big for Africa
As a man think
Understanding your potential
the value of time [watch]
If one video could insanely make you rich [watch]
God is! [listen]
What if tomorrow never come? [listen]