Hi All,
After reading most of the site several times I have come up with a plan to monitor my house consumption and PV system output (2.94 KWp With SunnyBoy 3000HF inverter). Current "system" is British Gas energy smart to monitor the house consumption (in the kichen) and Sunny Explorer to monitor the PV output running on a PC (in study) Not a real user friendly set up system at the moment.
Luckily my PV installers fitted an additional distribution board and split the meter tails so I can use 2 separate CT's for house current draw and PV output, so onto my plan :
- EMONTX with 2x CT inputs and 9v AC input, modified to to use the 9v AC to supply the power to the unit.
- Kitchen Display built using JeeNode & LCD Display kit + RTC clock plug (instant and Daily total readings displayed)
- Instead of having emonbase my plan (not sure if this is possible but hey worth a punt) was to use a JeeLink plugged into my Windows Home server which I would like to take advantage of WHS webserver to plot the Usage / Generation data.
My original plan was to use a PIC based system with PICbasic which I have used a lot but then I found this site and the Arduino platform looks great so hence my plan.
A little bit about me I have HNC in electronics, work as Service manager for a Laser manufacturer and am a self confessed tinkerer with anything PC / Electrical / Electronic based. If I can make something that's useful it's usually a bonus.
Any thoughts or comments gratefully received !
Re: Newbie - OEM Plan.... (RevA)
Hi Simon,
I too have a 2.9Kw solar PV system. I have a monitoring system exactly as you have described. I am in the process of documenting the build. I will post up a link to the page when I'm done.
I have an emonTx with 2 x CT's, one monitoring PV gen and the other monitoring grid import/export, the reading goes negative when I'm exporting. I also have a 9V AC-AC adapter to monitor voltage, this allows the system to determine the direction of the current as well as PF and voltage. I use an emonBase to post to an installation of emoncms. I've not done it myself but it is definetly possible to use a JeeLink to receive data data,. The emonTx is basicly a JeeNode with energy monitoring circuits strapped on. You will need to use an 868Mhz module with the emonTx; we can supply this.
I also have a living room display using an emonGLCD. The tri-colour LED's on the unit turn green to inidicate exporting anfd red to indicate importing from the grid. My code for the GLCD is availalbe here: https://github.com/openenergymonitor/EmonGLCD. See below for photos. The emonGLCD is basicly a JeeNode+graphics board all on one board and with a laser cut plywood fascia.
The dashboard is still in development (the unit pricres are incorrect). The dashboard is built on emoncms, the source code for the latest version (V3) which includes the dashboards has not yet been released. We'r putting some finishing touches to it, Trystan should be releasing it onto the openenergymonitor git hub in the next few weeks.
We are in the process of setting up an online shop to sell the emonTx, emonBase and emonGLCD in kit form. We are on schedule to open in the near year. However we do have plenty of kits to the moment: If your interested see: http://openenergymonitor.org/emon/emontx/buy and drop me an email<EMAIL_ADDRESS>Good luck,
Re: Newbie - OEM Plan.... (RevA)
Glyn that looks absolutely amazing !!
My monitor is based on emon but all webiste is done by me cause i wanted to be able to customize it.
I was thinking, can I call an URL from inside my emon_upload.php file that gets the information from the arduino, and pass the parameters so I can use in parallel emoncms2 ??
so basically, I have arduino calling ww.website.com/emon_upload.php?P=123&A=234..etc...
and from that file i would like to call emoncms so it get the values also.
how can i pass the parameters to emoncms2 from inside a php?
thanks a lot !!!
Re: Newbie - OEM Plan.... (RevA)
Thanks! It's Trystan who has been leading on emoncms developments
That shoud be possible, posting to emoncms is just a http GET request. E.g http://(addres of emoncms server)/emoncms/api/post?apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'write API key goes here'&json={power:252.4,temperature:15.4}
Instructions for posting to emoncms can be found here: http://openenergymonitor.org/emon/node/127
Intallation instracutions are here: http://openenergymonitor.org/emon/node/150
Re: Newbie - OEM Plan.... (RevA)
Hi, thanks for your answer, but i dont think i can do a GET request from inside a php file.
so the idea is to once my php file has done all the work, make something like a GET request to emoncms but from inside the php.
Is this possible? any idea how? ive spend countless hours trying but no success.
Re: Newbie - OEM Plan.... (RevA)
Hi Glyn,
That looks really good !
Your display format is EXACTLY what I'm looking for - I'll have a look at your sketch.
Good news about the JeeLink, for me having the Nanode is a bit daft when I have a HP server running WHS on server 2003 that can quite easily do a bit of data logging for me, it also has IIS so gives me a server platform on which to host emoncms.
Regarding a kit, don't really need a full kit as I can get my hands on most passives either from my garage stash or Work, I would however be interested in a "bare bones" set of bits. I'll drop you an e-mail with my requirements. Up to me neck in decorating at the moment so time is limited for anything more interesting
Re: Newbie - OEM Plan.... (RevA)
Hello Sergegsx
Yes you can do this using php curl:
Re: Newbie - OEM Plan.... (RevA)
Trystan thank you so much !!
that was exactly what i need, I just copy pasted into my php and adjusted the api key and added a variable instead of the 200 and everything is working great !!
Now i can keep my own website system live as well as emoncms.cool.
is there any reason why on the home page of emoncms its a blank page, would be nice to show some stuff there instead of having to go to feeds.
how can i delete a feed i no longer want?
finally, is there any place where each of the "process" are explained?
2) Input Configuration: niveldiesel
once again, thanks Trystan im really happy to be able to have both system running.
Re: Newbie - OEM Plan.... (RevA)
Great to hear it worked straight off.
I often do the same, between different installations of emoncms say on local and remote servers. Maybe at somepoint it could be a feature build into emoncms an option to forward feeds to different locations.
There no reason the home page is blank particularly, so yes maybe that can be changed to go straight to feeds, or with emoncms v3 maybe a dashboard.
Feed deletion is a feature that still needs to be implemented, I have been deleting my feeds via phpmyadmin so far.
Still need to write the documentation on input processing.
Re: Newbie - OEM Plan.... (RevA)
Ok thats perfectly fine.
So i can just delete the feed table? will this cause problem because of the number at the end of the table name?
feed1
feed2
etc
do i also have to delete it from the input table?
can you give here the 3 or 4 steps to completely delete a feed please?
Im looking forward on the documentation.
just to let you know Im running my system with 5 CTs already, systems is stable and i really thankful to you and all the team at openenergymonitor.
Re: Newbie - OEM Plan.... (RevA)
Sure:
Easiest way to just remove it from the list but not actually delete it:
1) open feed_relation table (which relates a particular feed to a user, the intention was to eventually make it possible to share feeds between users)
2) search for the feed id
3) delete the entry
It will now no longer be in your feeds list.
More complicated: delete everything about the feed:
1) delete the feed_relation entry as above
2) delete the feed_number table
3) delete the entry for the feed in the feeds table
Thanks Sergegsx! Great to hear about your system, 5 CT's that some good extensive monitoring,
Re: Newbie - OEM Plan.... (RevA)
I guess also delete from "input" table the entry.
Once again, thank you so much Trystan !!
Maybe you can add a button besides the ">" action button with an "x" button to delete the input, feed table.
yes 5 CT's and planning on putting 3 more. That way I will be able to know exactly where every watt is going in my whole house.
Be sure i will post my project as i am right now finishing documenting it. (lot of work here also)
Thankss!
ps. when you have some free time, please even if its some quick notes on each of the processes available when adding a feed. thanks
Re: Newbie - OEM Plan.... (RevA)
Hi Gyln,
You set up is just what I want!
I love the dashboards.
Could you drop me a line with all the parts I would need to build the same as you?
I would like to also add temperature sensors, so that I know the room temps around the house, and also the hot water tank temp.
Whilst I have no experience with Ardurino's i have a passion to get this working.
The inner geek!
Look forward to hearing from you
Mark
Re: Newbie - OEM Plan.... (RevA)
Hi Simon,
I've juse re-read your post above. It's not possible to power the emontx from the 9V AC-AC adpater. This is for AC voltage measurement only, the emonTx must be powered by batteries of 5V USB. Previously we have experimented with rectifying the AC then using this to power to unit, but it was found that this effected the voltage reading at this the accuracy of the measurement. Feel free to repeate this experiement yourself. I have head of this succesfully being done with a transformer with a split core in the secondary.
Re: Newbie - OEM Plan.... (RevA)
Hello Sergegsx,
I've written a sort description on each input processor and created a page here: http://openenergymonitor.org/emon/node/297
Let me know if I can clarify any of them.
I look forward to reading the documentation of your system!
Also would be great to hear your thoughts on emoncms v3 if you can get a change to have a look at it, Im looking for people to test it out and give feedback on how it can be improved.
Thanks, Trystan
Re: Newbie - OEM Plan.... (RevA)
very usefull write up, thank you.
I have had emoncms3 for a couple of days and things are looking good.
Dont know if you want me to point out here the issues or ideas but...
- inside the Feed menu, the space reserved to show the name is very small and can not read all the feed name, whilst "id" has a lot of space not needed.
- inside the input menu, happens the same as about, cant read the whole name of an input.
- really really need a "delete" button to be able to erase any obsolete feed or test feed.
- cant rename a feed, i left one with name empty and cant fixed it, also as i cant delete it its a problem.
- dashboard menu could contain some examples on how to draw graphs, dashes, etc. or maybe a link to somewhere in the forum where you can find examples. also I tried a dashboard code and does not work, dont know why. whilst a graph one does work.
SOLVED.... and something to fix also. it wont work with feeds that contain a space in their name.
- home button would be nice although i think i have read something about you already adding it.
enough for now ill give it another test in a couple of days. let me know if somehting is unclear and would be nice to know if you plan on fixing the issues I mentioned. also if there is a way of knowing when a new version is out. thinking about this. you could integrate into the website an automatic check to a server to see if there is a newer version and show a message.
thanks and great work !!!
Re: Newbie - OEM Plan.... (RevA)
Sergegsx, the Emoncms v3 discussion thread is here http://openenergymonitor.org/emon/node/296
Paul
Re: Newbie - OEM Plan.... (RevA)
Thankyou for the suggestions Sergegsx, see my answer here: http://openenergymonitor.org/emon/node/296
Re: Newbie - OEM Plan.... (RevA)
I thought I'd update a little on my progress.
Most things have followed the origonal plan, A EMONTX board from Glyn, JeeLabs Nanode V6, Graphics board and a second Atmel CPU & RFM12 module for the EMONTX along with a jiffy bag of passives from Farnell have slowly being arriving over Christmas.
Dusted down the trusty soldering Iron and got both the EMONTX and JeeNode assembled, then began the baptism of fire with Ardunio ! First attempts a compiling anything failed. So I loaded a basic blink sketch which complied OK but would not download to the target. After a lot of messing about I found I had the USB programming (CP1202 module) plugged in upside down, not easy to notice when you don't have a green or black wire - Doh. Anyway with the programming header hooked up I managed to get the EMONTX board LED to blink at me.
Back to the EMONTX sketch problem which in the end where caused by trying to compile older sketches with Arduino 1.0, after downloading 0023 and quite a bit of net rummaging for the various libraries ( I notice that you have now added links into the new style INO files !!).
To start with I loaded the 2_CT_voltage sketch to the EMON TX and used the JeeNode RF12 demo to pick up the transmitted signal, it picked something up next I assembled the Graphic display.
This was where the learning curve got a bit steep as it's years since I did C programming !
I moved the Dallas code from the GLCD to the EMONTX as I want external temp rather than internal, this all seemed to work well as the serial port was now transmitting the correct temp, however I could not persuade the GLCD to display the correct values.
After a lot of head scratching I found the the Payload being transmitted had differing feild sizes that being recived so a few more adjustments solved that, I've not got the CT or AC parts in yet so I have put some fixed values into the EMNONTX code for testing.
Display & EMONTX boards working with test values, no connectors fitted to EMONTX as they will be fitted to the case it's going in along with the AC transformer (dual secondary !) and a small 9v to 5v switching PSU.
GLCD modified slightly , to clear the bottom line for status usage.


Tab Bar Sound Icon
Icons made by
EpicCoders
from
www.flaticon.com
is licensed by
CC 3.0 BY
Footsteps icon
Icons made by
Freepik
from
www.flaticon.com
is licensed by
CC 3.0 BY


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.newdawn.slick.geom.Transform
public class Transform
A 2 dimensional transformation that can be applied to Shape
implemenations.
| Constructor Summary | |
|---|---|
Transform()
Create and identity transform |
|
Transform(float[] matrixPosition)
Create a transform for the given positions |
|
Transform(float point00,
float point01,
float point02,
float point10,
float point11,
float point12)
Create a transform for the given positions |
|
Transform(Transform other)
Copy a transform |
|
Transform(Transform t1,
Transform t2)
Concatanate to transform into one |
| Method Summary | |
|---|---|
Transform |
concatenate(Transform tx)
Update this Transform by concatenating the given Transform to this one. |
static Transform |
createRotateTransform(float angle)
Create a new rotation Transform |
static Transform |
createRotateTransform(float angle,
float x,
float y)
Create a new rotation Transform around the specified point |
static Transform |
createScaleTransform(float xScale,
float yScale)
Create an new scaling Transform |
static Transform |
createTranslateTransform(float xOffset,
float yOffset)
Create a new translation Transform |
float[] |
getMatrixPosition()
Get an array representing this Transform. |
java.lang.String |
toString()
Convert this Transform to a String. |
void |
transform(float[] source,
int sourceOffset,
float[] destination,
int destOffset,
int numberOfPoints)
Transform the point pairs in the source array and store them in the destination array. |
Vector2f |
transform(Vector2f pt)
Transform the vector2f based on the matrix defined in this transform |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public Transform()
public Transform(Transform other)
other
- The other transform to copypublic Transform(Transform t1, Transform t2)
t1
- The first transform to joint2
- The second transform to joinpublic Transform(float[] matrixPosition)
matrixPosition
- An array of float[6] to set up a transform
java.lang.RuntimeException
- if the array is not of length 6public Transform(float point00, float point01, float point02, float point10, float point11, float point12)
point00
- float for the first positionpoint01
- float for the second positionpoint02
- float for the third positionpoint10
- float for the fourth positionpoint11
- float for the fifth positionpoint12
- float for the sixth position| Method Detail |
|---|
public void transform(float[] source, int sourceOffset, float[] destination, int destOffset, int numberOfPoints)
source
- Array of floats containing the points to be transformedsourceOffset
- Where in the array to start processingdestination
- Array of floats to store the results.destOffset
- Where in the array to start storingnumberOfPoints
- Number of points to be transformed
java.lang.ArrayIndexOutOfBoundsException
- if sourceOffset + numberOfPoints * 2 > source.length or the same operation on the destination arraypublic Transform concatenate(Transform tx)
tx
- The Transfrom to concatenate to this one.
public java.lang.String toString()
toString
in class java.lang.Object
public float[] getMatrixPosition()
public static Transform createRotateTransform(float angle)
angle
- The angle in radians to set the transform.
public static Transform createRotateTransform(float angle, float x, float y)
angle
- The angle in radians to set the transform.x
- The x coordinate around which to rotate.y
- The y coordinate around which to rotate.
public static Transform createTranslateTransform(float xOffset, float yOffset)
xOffset
- The amount to move in the x directionyOffset
- The amount to move in the y direction
public static Transform createScaleTransform(float xScale, float yScale)
xScale
- The amount to scale in the x coordinateyScale
- The amount to scale in the x coordinate
public Vector2f transform(Vector2f pt)
pt
- The point to be transformed
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


'Couldn't happen to a nicer club' - Newcastle United fans are trolling Aston Villa
Latest Aston Villa news includes Newcastle United reaction to AVFC injury worries
by Shane Ireland, https://www.facebook.com/ShaneIrelandJournalistAston Villa are sweating on the fitness of Tom Heaton and Jed Steer ahead of the visit of Newcastle United.
The Magpies, managed by Steve Bruce, travel to Villa Park a week on Monday after the final international break of the year.
Heaton and Steer are both nursing injuries during the break from domestic action.
Heaton was missing for the West Midlands derby defeat to Wolverhampton Wanderers at the weekend with a calf problem that also forced him to withdraw from Gareth Southgate’s England squad.
Wolves latest
This is your round up of all things Wolves; the one-stop shop that will keep you updated on the latest goings on at the club and beyond.
Transfers, injuries, match-days and managers, we’ve got you covered.
We’ll be bringing the very latest on Wolves throughout the week and around the clock.
Make sure you keep yourself updated with our handy daily catch up...
Must reads...
- Wolves send Franck Kessie message - READ
- Goalkeeper linked - READ
- Wolves linked with wonderkid - READ
- Wolves' January priorities - READ
- Raul joins illustrious names - READ
For all your latest WWFC news, opinion, analysis and transfer gossip, click here
You can follow our Wolves reporter Alex Dicken on Twitter, and his email address is<EMAIL_ADDRESS>Steer was subsequently handed his first Premier League start of the season at Molineux but lasted just eight minutes before limping off.
It was feared Steer had ruptured his Achilles and although his injury isn’t thought to be as serious as that, the 27-year-old is still facing up to two months on the sidelines.
Orjan Nyland made his first appearance since last December when he was brought on to replace Steer and he went on to concede twice as Wolves secured a deserved victory.
He said afterwards: “It's about being ready when the opportunity arises. They're betting on me to the extent that they want me to be there.
"They have clear goals for me, and I think I'm a Premier League 'keeper."
Villa will be hoping to have Heaton available as soon as possible but Newcastle fans are hoping their side can take advantage of the potential double 'keeper lay-off.
One said: "They had to used their 3rd choice last game."
"Couldn't happen to a nicer club," said another.
A third added: "We will beat them with or without a decent 'keeper anyway."


Tutor: Herbert Hoijtink
Prior elicitation: getting formal prior knowledge from researchers
Probablilities: Beta distribution
\[Beta(\alpha = n_{successes} + 1, \beta = n_{failures} + 1)\]
Always formulate a prior distirbution, even if you don’t use it in your analysis
\[h(\theta) \sim \theta^{\alpha-1}(1-\theta)^{\beta-1}\]
Mode of Beta:
\[Mode(\theta) = \frac{\alpha-1}{\alpha+\beta-2}\]
Mean
\[E(\theta) = \frac{\alpha}{\alpha + \beta}\]
Variance
\[var(\theta) = \frac{\alpha\beta}{(\alpha+\beta)^2(\alpha+\beta+1)}\]
With bayes:
Sample parameters from posterior distributions
You can do inference on combinations of the parameters, just sample them, create combination, and then compute mean / variance / median / 95% CI etc
\[P = P(T(y^{rep})>T(y)|H_0)\]
Where \(T\) is the test statistic.
They are only usefull when the null-hypothesis is a probable description of the population you are interested in.
Anything between setting up experiments and doing analysis that involves using your data is questionable.
For t-test and F-test (both are pivot tests): p-value is uniformly distributed under null-hypothesis
Not pivot tests:
Then asymptotically, p-value is uniformly distributed (not for smaller samples)
P value is probability of data under null-hypothesis, but not probability of the hypothesis given the data.
Posterior predictive p-value
Discrepency measure (test statistic that also takes into account the prior knowledge)
In general, not normally distributed under null-hypothesis
These p-value should be close to 0.5 to reject null-hypothesis
Start with model that is interesting
Sobel: theory needs to be falsifyable (Popper) but also plausible
** Science is not objective, objectiveness is the asymptote of science **
Posterior distribution of parameters is what we want
Situtuations
Gibbs is special case of Hastings, which is special case of Markov Chain Monte Carlo
Conjugate priors: posterior is the same as prior distirbution
Trace plots should be fat caterpillars (not going anywhere)
Fit a known distribution (proposal distribution) to the empirical posterior distribution
Assessment of convergence: Gelman and Rubin statistic
within-chain variability / (within chain + between chain variability)
Should be close to 1 (between chain variation should be low)
Problems with convergence: narrow bivariate (/ multivariate) distribution: hard to sample the whole distribution
No verification of convergence
If parameters did not converge, you can:
Bayesian options
model misfit + model complexity
smaller is better
\[AIC = -2 \log(f(y|\hat{\theta}_y) + 2p\]
AIC = Kullback-Leibler distance
BIC = maximize the marginal model probability (cf. Bayes Factor)
\[BIC = -2 \log(f(y|\hat{\theta}_y) + p\log(n)\]
\[DIC = -2 \log(f(y|\bar{\theta}_y) + p_D\]
Where \(\bar{\theta}_y\) the Bayesian parameter estimate And \(p_D\) the dimensionality of the model (harder to determine)
True distribution: \(p(.)\) model under consideration: \(f(.|\theta)\)
K-L distance
\[E_{p(y)}[\log p(y) - \log f(y|\theta)]\]
Derivation of DIC is based on finding an expression for the bias
Spiegelalter paper for derivation of DIC + 20 responses
Other expression
\[DIC = Dbar = \]
Rules of thumb
Comparisons of models can be hard when:
Comparing models with AIC (marginal vs condiational / cluster): Vaida
Comparing DIC with AIC
In a random effects modeling context: - DIC is based on f (y|z, theta): Inferences to other observations from same clusters - AIC is (typically) based on f (y|theta): Inferences to other clusters from same population - BIC is based on f (y): Inferences to other populations (?)
In a more general context, DIC is sometimes described as a Bayesian generalization of the AIC.
pm mail Email<EMAIL_ADDRESS>Faster algorithm: Hamiltonian MC
This R Markdown site was created with workflowr


 ---
As with efficacy, the hope is for this to be a series of graphs summarizing side effect rates for various vaccines as measured by various studies, but it is not yet ready (or really much started).
That's it for now.


[Erowid Note: Driving while intoxicated or tripping is dangerous and irresponsible because it endangers other people. Don't do it!]
The night began with a get-together at a friend from work's house. I take a 2 MG xanax before even walking into the door. After a while of hanging out, I decide its time to get a little drinking done. I had been warned about mixing pills and alcohol, but I had no clue how serious they were. I played it off. I said I'd be fine... But I proceed to take 4 shots of licorice hard liquor. After this, I decide its time for another 2 mg xanax. I take half, and insufflate the other. By this time, I have a pretty good buzz going. And I was talking a lot.
The next thing I know I wake up... In bed... I feel fine. I dont question anything. I just get out of bed like I always do. But I have 4 missed calls on my phone. It's my buddy from work. He's wanting to know if I'm ok. I wondered why he cared since he gets trashed all the time, just never off pills. He's strictly a drinker only.  Parked kinda funny. My friend proceeds to tell me that he fought with me for an hour not to drive home last night. He states that I was falling in the hallways and actually had me hang out, drink water, and sober up before I left, none of which I remember.
This doesnt seem like the worst of nights, but realizing that I didnt remember any of this was very scary. I had no recollection of the night before at all. I woke up and felt fine. This will forever end my mixture of pills and alcohol. It is very unnerving actually knowing that I didn't remember anything.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


legally blind
Last updated: Jun 11, 2020
Have you ever downloaded a file that you didn’t have permission to get? I have, many times in the past. This post, about copyright issues faced by blind people, may spark much debate in our community, but I feel that it must be written. It will cover games, books, films, and software which blind people copy, the justifications for doing so, and the harm that it can cause.
Introduction
It was said, about 50 years ago, that some 70 percent of blind people are unemployed. That fact, as overused as it is, is the number that appears to be the most up-to-date data easily found. My experience is that, indeed, many blind people are still unemployed. This correlates well with illegal copying of files which will be discussed in this article.
As usual with articles I write, I’ll start with defining terms. I call the downloading or sharing of files which the user doesn’t have the right to do so “illegal sharing,” “filesharing,” or “illegal copying.” Most people just call it “piracy,” or “online piracy,” which I find is more of a scare tactic and an attempt to put all the blame on the sharer to further dramatize the alleged crime.
Blind people are in a unique position regarding filesharing. All of our digital entertainment and livelihood is digital data, whether it be books, music, movies, or programs. This can be true for sighted people as well, but we’ll get to why blind people are more likely to illegally download later in this article.
As for me, I have illegally downloaded plenty of material in my teenage years. Now that I have a job and good income, I can afford to buy whatever is available to me, but I write this article remembering when I could not buy, and the people who still do not have the money, or inclination, to buy digital material.
Games
Many people like playing games, and this is true for blind people as well. Before we got computers, I remember playing Uno as a child at the school for the blind I grew up in. When we did get computers, however, I did begin playing games created specifically for blind people, called Audio Games.
I remember downloading one game in particular, and because I had no money, cracking it, meaning that the game was made a full version instead of a demo, without purchasing an activation key. I spent many afternoons after school on that game, and eventually getting into others. Now, I rarely play audio games, focusing on video games instead, which I find, personally, provide more enjoyment.
Video games, however, are also not safe from illegal copying. I’ve downloaded many video games, new and old, without purchasing them. From Mortal Kombat to Skullgirls, I’ve downloaded many video games when audio ones weren’t enough. I no longer have the illegally downloaded copies.
I, however, am not the only one. Recently, the audio games forum has begun inforcing rules about linking to illegal sharing sites or files, and there has been some backlash and discontent regarding such a policy. Users have threatened to leave, site addresses have been censored, and filesharing has most likely been pushed even further into private or less formal locations. However, there are those less formal locations for such a reason, away from a public forum.
Books
Reading is something that blind people have enjoyed, with independence, ever since the adoption of braille. Reading became even more widespread with the introduction of audio books, chiefly lead by the National Library Service (NLS), which basically gives blind and print disabled people free braille or audio books. The downloadable audio books are protected by a special key delivered by the NLS server, so one cannot simply listen to the book outside of NLS’ apps. This service, however, has not proven to be enough for some readers.
There are many ways for a person to consume the written word, and many devices to do it on. The NLS BARD (Braille and Audio Reading Download) app is only available on iOS and Android mobile devices, and perhaps can also be made to work on Chromebooks using the Android app. This means that if a user prefers to listen to books while on a computer, he or she will need to find a book from elsewhere without restrictions on usage. The NLS also may not have a reader’s favorite narrator. Audible books, however, are quite expensive, leaving the user to illegally share that book. Readers may also want to simply read a book on their computer using a screen reader. If one does not have a subscription to Bookshare, then Epub books must also be illegally downloaded if the reader does not have the money to buy them.
There is also a great service called Graphic Audio, which creates a dramatized audio play of books, with a full cast, sound and music, and abridgment of some nonessential scenes. These titles can be very entertaining, but are also costly if one wants to listen to an entire series. On the other hand, they also have frequent discounts up to 40%, so one can take advantage of those. Even then, these titles often are illegally shared as well.
Films
Many blind people do watch television and movies, although I usually do not. I have done so in the past, however, and remember getting plenty of films’ audio files with descriptions of visual content added. This “described” television is very popular with completely blind people, who want to participate in today’s culture.
There are a few sites online today which provide no video content, but simply audio files containing the film’s audio track, with the described content added on. These provide the same level of access that a DVD would that contains description, but with a much smaller file size. I thought nothing, during my teenage years, of sharing this to friends simply by copying a folder full of described content onto flash drives, and the same is done over the Internet today.
Streaming content subscriptions have become today’s Cable subscriptions, and many blind people have simply signed up for one or two of those. Almost all of them provide at least some description in their content, and Apple TV Plus has provided it since its launch last year. However, some blind people still share this content with descriptions, in order to not pay a monthly subscription along with more essential needs.
Software
Blind people may not be the majority of software filesharers, but sighted people have not, in the past, needed to pay $10,99 for a software package to access their screen. Indeed, while free options, like NVDA, are gaining in ability and popularity, JAWS for Windows is still more customizable. In the last year, Freedom Scientific has offered a subscription plan: JAWS and updates for $100 per year, but they still cannot compete with free, which continues to net NVDA more users. Now, however, more and more blind people are able to do what they need on mobile devices, which include a screen reader out of the box.
I’ve said on some occasions that Text-to-speech voices are for blind people what fonts are for sighted users. We may like different voices for different contexts, and there isn’t one voice that clearly beats any competition. Many voices that we use now sound more natural, but do not quite have the rhythm and intonation of speech correct. Older voices may sound more robotic, but also more smooth, and even if a word is mispronounced, it is pronounced the same way every time. One of these older, and more popular, speech engines is Eloquence. Some blind people do not like it, but many others do. There is only one problem: it hasn’t been updated since the early 2000’s.
Eloquence is known most for being the voice that JAWS has used for many years. It was also used in Window-Eyes and many other screen readers, and is also usable on Linux and was recently abandoned on Android. Years ago, Nuance, the owners of the popular Vocalizer voices, bought Eloquence, but have done nothing to update ot, or offer it directly to customers. A few companies have tried to offer legal versions, but the one I was gifted, a version which works directly with NVDA, does not work even as well as unofficial, illegally shared versions. In fact, after a restructure of NVDA broke compatibility with the legal version, an unofficial version was made to work before a new version of codeFactory’s was released.
Blind people may even fileshare entire operating systems. In order to experience Apple’s MacOS operating system without having to buy a Mac or get a taxi to the nearest Apple Store, users download a virtual machine containing MacOS to try, or even use long term, on a Windows computer. This may extend a user’s access to services which may be inaccessible or hard to use on Windows.
Justifications of Filesharing
Many blind people are poor. We look for jobs, but some people can’t find one that they are confident in doing no matter what. Family members may hold young adults back from looking for a job for overbearing reasons. Government agencies may not respond to calls for help, and Apple, Google, Microsoft, and Amazon are unlikely to hire just any blind person, no matter the few success stories.
This means that blind people do not have the money to buy products, or if they receive supplemental income, they, or their parents, use it for food, rent, and other necessities. Of course, this simply means that more jobs must become accessible to blind people, and government organizations should implement more outreach to people with disabilities who seek employment. This does not mean that the government should pay for a blind person’s entertainment and digital access, however. I believe that people with disabilities need jobs, not more government money.
Blind people may feel that, because they do not have a job, and aren’t likely to get one, that because filesharing is possible and easy, they are entitled to get content. These people may illegally download material, even if they have extra income as well, as they feel entitled to it. They don’t usually hang out in public forums, preferring more private areas of the Internet.
Some content may not be available for purchase. This includes games which must be emulated to provide accessibility. I, for example, love playing dissidia Final Fantasy. This game can be made accessible using OCR technology which finds text in graphical content like games, and is built into most screen readers. I can read the menus, battle information, and unspoken character dialog, but only on a computer, as the Playstation Portable didn’t have any accessibility tools. I worked around this by buying the game on the Playstation Network store, then downloading the game file from elsewhere, as the PSN store doesn’t allow downloading the purchased PSP game.
This will become harder to work around, however, as older games may become accessible using other methods. For example, where would one legally purchase a digital copy of a Super Nintendo, Sega Megadrive, or Gameboy game? Emulation, in this case, is used to add accessibility to a game, and not for the express purpose of simply having a free game. Most gamers, however, just download the game files, ROM’s, without regard to buying it. Many developers may not mind users downloading 8 or more year old games.
The harm of illegal downloading
What if you wrote a book, and sold it, but months later it was sold using slightly different names? That is what happened to a few developers of audio games. Called “clones,” these games used the same programming, but slightly different music and names for items.
I believe that filesharing can lead a community to other, more noticeable problems later on, including cloning. If people do not think that they should have to pay for things which entertain them, they may find other things acceptable too. This may not effect those who are simply too poor to pay for content, or those who try to ethically fileshare, but will effect those who feel entitled to content.
Filesharing may also drive away mainstream developers from public forums. As mentioned on the audio games forum, if mainstream developers of video games see that we illegally copy books and movies, they may wish to not lose sales of their own games to the filesharers of our community.
A third problem with illegally downloading deals with developers in our own community. If they do not make money, they may not feel that developing general programs like book reader apps, or games for us isn’t worth it, so we may have one less accessible program to use. This isn’t to say that all software created by blind developers is worth it; some games and apps are pretty awful. I do say, however, that we should always reward good creativity, and that goes for all creators of content and programs.
Conclusion
In this article, I have discussed the controversial topic of filesharing among blind people. We illegally copy just about any type of content available, although music subscription services have made filesharing music not as prevalent. There are justifications that people may make, and harmful effects that the community should be aware of.
So, my readers, what are your thoughts? Do you fileshare your way through books, films, and software? Do you have enough money to spend on entertainment and software you need? Do you feel that you shouldn’t have to buy software and media? Please, let me know your thoughts, anywhere you can submit them. I’m always eager for feedback on the articles I write. Thanks again for reading them!
Also, if anyone has ideas or articles they’d like me to host, please feel free to let me know. I will seriously consider all suggestions for topics to write about.


FOLKS A film review by Chuck Dowling Copyright 1996 Chuck Dowling
**1/2 - C:Tom Selleck, Don Ameche.
In Folks, Tom Selleck has to travel to Florida to admit his mother into a hospital for an operation. There he discovers that his father (Ameche) is rapidly losing his mind. After their trailer burns down, Selleck takes his parents back home with him. Soon after, he loses his job, his car, his furniture, his apartment, and his wife and kids leave him. Sounds like an engaging drama about family and Alzheimer's disease right? Wrong, it's a comedy. An attempted one anyway.
In the first ten minutes, Folks establishes itself as a wacky physical comedy. Then we meet Selleck's dad (who we're told has something like Senior Senility Disorder Complex but don't be fooled, it's just a nice way to say Alzheimer's) and now for some reason the writer can't decide whether or not to write a comedy or a drama. We're supposed to feel sad when Ameche puts his shorts on backwards, but minutes later we're supposed to laugh hysterically when he drives his car backwards at about 90 miles per hour almost killing half a dozen people. The whole next hour is just like that.
Then, the film takes a truly bizarre turn when Selleck's mother suggests that Selleck should kill them in order to get the insurance money. Most people would find this twist to be repulsive, but me and my sick, twisted mind enjoyed it. We're talking dark, dark comedy here. If the writer could had left out the social commentary about the elderly and just stuck to comedy, Folks would have been one hilarious movie.
Have A Question Or Comment? Email Me At<EMAIL_ADDRESS>-- Chuck Dowling
Please visit my movie reviews web site at http://users.southeast.net/~chuckd21/ You'll be glad you did.
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


Start Time: 2016-12-05 20:39:07.431143
Stop Time: 2016-12-05 20:39:07.432846
Duration: 0:00:00.001703
Status: Passed 1, Skipped 3, Failed 1, Errors 1
My Project Name: Fake Project Name
Reponsible Team: Fake Team
Build Number: 42
Produc Under Test: The Fake Product Site
Product Team: Fake Product Team
| Test Group/Test case | Count | Pass | Fail | Error | Skip | View |
| ErrorTestCase | 1 | 0 | 0 | 1 | 0 | Detail |
|
test_error: A test that raise an exception
|
ft1.1: test_errorTraceback (most recent call last): File "/home/lucas/github/HTMLTestRunner2/tests.py", line 24, in test_error raise Exception Exception |
|||||
| FailTestCase | 1 | 0 | 1 | 0 | 0 | Detail |
|
test_fail: A test that fails
|
ft2.1: test_failTraceback (most recent call last): File "/home/lucas/github/HTMLTestRunner2/tests.py", line 17, in test_fail self.assertTrue(False) AssertionError: False is not true |
|||||
| PassTestCase | 1 | 1 | 0 | 0 | 0 | Detail |
|
test_pass: A test that passes
|
pt3.1: test_pass |
|||||
| SkipBeforeTestMethodTestCase | 1 | 0 | 0 | 0 | 1 | Detail |
|
test_skip_before_test_method
|
ft4.1: Skip before test method |
|||||
| SkipClassTestCase | 1 | 0 | 0 | 0 | 1 | Detail |
|
test_skip_class
|
ft5.1: Skip class |
|||||
| SkipInsideTestMethodTestCase | 1 | 0 | 0 | 0 | 1 | Detail |
|
test_skip_inside_test_method
|
ft6.1: test_skip_inside_test_methodSkip inside test method |
|||||
| Total | 6 | 1 | 1 | 1 | 3 |   |


----- Tank-V-Missile -----INSTRUCTIONSShoot down the missile with the tank. To shoot, click on the tank. Each missile shot down is worth 5 points. Maximum score is 75. Good luck!


Classify Architecture Images 🏢
Use images of the following list:
Architecture styles
- American craftsman
- Bauhaus
- Palladian
- Deconstructivism
- Georgian
- Romanesque
- Greek Revival
- American Foursquare
- Byzantine
- Postmodern
- Art Nouveau
- Art Deco
- Russian Revival
- Edwardian
- Achaemenid
- Novelty
- Baroque
- Colonial
- Ancient Egyptian
- Tudor Revival
- Queen Anne
- Chicago school
- Gothic
- International
- Beaux-Arts


Before Change
theta1 = np.deg2rad(lng1)
theta2 = np.deg2rad(lng2)
cos = (np.sin(phi1) * np.sin(phi2) * np.cos(theta1 - theta2) + np.cos(phi1) * np.cos(phi2))
// ignore warnings during this calculation because numpy warns it cannot
// calculate arccos for self-loops since u==v
with warnings.catch_warnings():
warnings.simplefilter("ignore")
arc = np.arccos(cos)
// return distance in units of earth_radius
distance = arc * earth_radius
return distance
After Change
h = np.sin(dphi/2)**2 + np.cos(phi1) * np.cos(phi2) * np.sin(dtheta/2)**2
h = np.minimum(1.0, h) // protection against floating point errors
arc = 2 * np.arcsin(np.sqrt(h))
// return distance in units of earth_radius
distance = arc * earth_radius


--- title: 'R4DS February Challenge: #winning' author: Jesse M date: '2018-01-28' slug: r4ds-february-challenge-winning categories: [] tags: - community - R4DS - challenge ---
It’s February–which most people associate with Valentine’s Day, and that’s fine–but for all of us in the R4DS Online Learning Community, we’re going to focus on winning!
Wins come in all shapes and sizes–maybe you finally remembered to use the +
operator in a ggplot()
call instead of a %>%
, or maybe you’ve just published a book on teaching the tidyverse to cats. Your win should be related to something you’ve learned either by working through the R for Data Science text, or from the R4DS Online Learning Community.
Your win can be shared as a single sentence within the channel, or a link to a video or blog post that you’ve created. We want to hear from you and support you as you’re learning your way through R for Data Science!
Remember: the size of your win isn’t what’s important–everyone’s learning process unfolds at different rates and sizes–what matters is coming together to celebrate everyone’s learning journey within our online community.


Module: OpenShift::Controller::ActionLog
- Extended by:
- ActiveSupport::Concern
- Included in:
- BaseController
- Defined in:
- /home/fedora/origin-server/controller/lib/openshift/controller/action_log.rb
Defined Under Namespace
Modules: ClassMethods
Instance Attribute Summary (collapse)
-
- (Object) action_log_tag
protected
The user action log tag for requests made from this controller.
Instance Method Summary (collapse)
-
- (Object) action_log_tag_action
protected
The tag for an action made from this controller method.
-
- (Object) action_log_tag_resource
protected
The resource that is being logged.
-
- (Object) log_action(*arguments)
protected
Log an action for the current user.
-
- (Object) log_action_for(login, user_id, *arguments)
protected
Log an action for a user who has not been authenticated yet.
-
- (Object) log_actions_as(user)
protected
Log subsequent actions as the given user.
- - (Object) set_logged_request private
Instance Attribute Details
- (Object) action_log_tag (protected)
The user action log tag for requests made from this controller.
68 69 70 |
# File '/home/fedora/origin-server/controller/lib/openshift/controller/action_log.rb', line 68 def action_log_tag @action_log_tag ||= "#{action_log_tag_action}_#{action_log_tag_resource}" end |
Instance Method Details
- (Object) action_log_tag_action (protected)
The tag for an action made from this controller method
48 49 50 51 52 53 54 55 56 |
# File '/home/fedora/origin-server/controller/lib/openshift/controller/action_log.rb', line 48 def action_log_tag_action case request.method when "GET" then params[:id] ? "SHOW" : "LIST" when "POST" then "ADD" when "PUT" then "UPDATE" when "DELETE" then "DELETE" else "UNKNOWN" end end |
- (Object) action_log_tag_resource (protected)
The resource that is being logged
61 62 63 |
# File '/home/fedora/origin-server/controller/lib/openshift/controller/action_log.rb', line 61 def action_log_tag_resource controller_name.singularize.upcase end |
- (Object) log_action(*arguments) (protected)
Log an action for the current user
34 35 36 |
# File '/home/fedora/origin-server/controller/lib/openshift/controller/action_log.rb', line 34 def log_action(*arguments) OpenShift::UserActionLog.action(*arguments) end |
- (Object) log_action_for(login, user_id, *arguments) (protected)
Log an action for a user who has not been authenticated yet. Will override any previous call to log_actions_as.
27 28 29 30 |
# File '/home/fedora/origin-server/controller/lib/openshift/controller/action_log.rb', line 27 def log_action_for(login, user_id, *arguments) OpenShift::UserActionLog.with_user(user_id, login) OpenShift::UserActionLog.action(*arguments) end |
- (Object) log_actions_as(user) (protected)
Log subsequent actions as the given user
41 42 43 |
# File '/home/fedora/origin-server/controller/lib/openshift/controller/action_log.rb', line 41 def log_actions_as(user) OpenShift::UserActionLog.with_user(user.id, user.login) end |
- (Object) set_logged_request (private)
78 79 80 81 82 83 |
# File '/home/fedora/origin-server/controller/lib/openshift/controller/action_log.rb', line 78 def set_logged_request OpenShift::UserActionLog.begin_request(request) yield ensure OpenShift::UserActionLog.end_request end |


A collection of web apps from the Dill Research Group.
Semianalytical calculation of molecular surface areas and derivatives as a function of atomic coordinates and radii.
Potentials of mean force for ions of various sizes, interacting in explicit water (TIP3P).
Compute solvation free energies using our SEA water model.
Measure the similarity between two protein structures using a simple elastic network model.
A tool for selecting one structure to represent an ensemble of conformations.
An interactive tool for visualizing protein-protein interaction networks. Developed by Tinybike Interactive.
HPlattice is a Python library for the HP lattice model of Dill and Chan. It is ideally used as a teaching tool, or as a way to quickly prototype 2D lattice simulation ideas with easy-to-use extensible code.


AMAZING PEOPLE ARE MAKING AMAZING DESIGNS IN A FUN ENVIRONMENT
Working with us means that you are a part of a team that is more than ready to design a world far different from what we are all used to seeing
All aspects of our softwae development process are intergrated,interactive and agile.
Our approach unifies design, development and product management to create exceptional products.
We start each project by understanding your business goals, the user 's needs and the product requirements.
Then we help transalte them into effective and elegant solutions.
Before we sign a contract or write a line of code, our team will spend the necessary time needed to understand your product vision.
The outcome of this scoping session is a proposal or high-level statement of work based on your requirements.
We can provide a complete offering or just the pieces you need.


God be with you till we meet again On September 29th, 1918, months before the end of World War I , a freshly assigned physician at Camp Devens military base in Massachusett...
Teijin Limited Technology-driven global group operating in the fields of advanced fibers, plastics, composites, healthcare, and IT businesses.
Flow Leak Online security is extremely important in our rapidly growing technological world. Oftentimes passwords will inevitably be leaked online because some online websites that we signed up for was hacked. We often don't even know when account information are ...
Play by Play: Modern Web Security Patterns This course will help you establish proper patterns and protocols to help keep yourself on the more secure side of web security rather than unsecure.
Flow Leak - Apps on Google Play Online security is extremely important in our rapidly growing technological world. Oftentimes passwords will inevitably be leaked online because some online websites that we signed up for was hacked. We often don't even know when account information are e...
Simulating an epidemic Experiments with toy SIR models Home page: https://www.3blue1brown.com Brought to you by you: http://3b1b.co/sir-thanks Simulations by Harry Stevens at the Washington Post: https://www.washingtonpost.com/graphics/2020/world/corona-simulator/ Simulatio...
Mycroft – Open Source Voice Assistant - Mycroft Mycroft is an open source voice assistant, that can be installed on Linux, Raspberry Pi, or on the Mark 1 hardware device. Our opensource skills are written in Python and we have a very friendly developer community. Come join us!
I Am a Happy Janitor – Part 1: Finding garbage | .NET Blog Indeed what I do is very much like the job of the janitors – like the ones who clean your building, or janitors you see at a food court, or yourself when you are taking care of garbage at your house.
Screencasting Tips and Tools, Part 1 | Big Machine Just starting out screencasting? Or maybe it’s been a while? I have some tips, tricks and tools for you. I threw this video together in a bit of a hurry and the audio is a bit rougher than I’d like but I figured it would be better to have the information ...
New grad vs senior dev A student who I used to tutor in CS occasionally sent me a meme yesterday which showed “NEW GRAD vs SENIOR DEVELOPER”; the new grad is all caps yelling NO! YOU CAN’T JUST USE BRUT…
Contact Us – Spotify for Artists Get more out of Spotify with tools & tips for artists and their teams.
Keith Elder on about.me I am a Sr. Technology Evangelist, public speaker, and Software Engineer / Architect in Hattiesburg, Mississippi. Read my blog.
I Made an Audio Deepfake of Myself (and Obama!) I made an audio deepfake of my voice along with Obama and Trump! Samples: * Donkey: https://soundcloud.com/galacticglum/sets/donkey-audio-deepfake-cnn-tts * Obama: https://soundcloud.com/galacticglum/sets/obama-audio-deepfake-cnn-tts * Trump: https://s...
Add Upcoming Streams Page to My Gatsby Site (Live Stream) Since I am starting to do live streams, I am adding an Upcoming Streams page to my Gatsby site. I also use the react-livestream package to embed a live feed of my stream on the page. https://www.jamesqquick.com https://twitch.tv/jamesqquick https://www.l...
Zoom needs to clean up its privacy act As quarantined millions gather virtually on conferencing platforms, the best of those, Zoom, is doing very well. Hats off. But Zoom is also—correctly—taking a lot of heat for its privacy policy, wh…
Open Source Tools From the Warren for President Tech Team We’re taking the important step of open-sourcing some of the most important projects of the Elizabeth Warren campaign for anyone to use.
Identity & Access Control for modern Applications and APIs using ASP.NET Core 3 - NDC Copenhagen 2020 Modern application design has changed quite a bit in recent years.<section>“Mobile-first” and “cloud-ready” are the types of applications you are expected to develop. Also, to keep pace with these demands, Microsoft has revamped their complete web stack w...
ASP Classic Journeys: no-store VBUC is a great tool to modernize your ASP Classic Websites. Sometimes when you migrate from ASP Classic we find little subtle details that require attention. One of this subtle details this Cache No-Store setting. Some recommendations on what to do.
Rubino's Best Gear Page's Amazon Page Shop recommended products from Rubino's Best Gear Page on Amazon.com. Learn more about Rubino's Best Gear Page's favorite products.
Essential Free Software for Remote Work – Purism Purism — Private and Secure Hardware, Software, and Services
It's not what programming languages do, it's what they shepherd you to How many of you have listened, read or taken part in a discussion about programming languages that goes like the following: Person A: "Pro...
Weekly Update 184 This has been an absolutely flat-out week between running almost 3 hours of our free Cyber-Broken talk with Scott Helme, doing an hour of code with Ari each day (and helping get up to speed with remote schooling) then running our Hack Yourself First works...
"I thought it would be more of an old Soviet kind" — Jon Galloway on the Russian visa process, Sovietness, and tech conferences There are many people who find traveling to Russia an extreme and exotic adventure. Some say snow cov...
Visual Studio 2019 version 16.6 Preview 2 Brings New Features Your Way | Visual Studio Blog Visual Studio 2019 version 16.6 Preview 2 releases today. In this release comes more Git integration, several productivity features & more!
Production Debugging for .NET meets Infrastructure as Code | Ozcode Deploy Ozcode Production Debugger to Azure using Pulumi, next-gen IaC, to enable easy debugging of your .NET Apps and services. Learn more >
Sanitize HTML snippets with AngleSharp Some websites allow user to include html when they post comments. This may looks like: Add comment section on Scott Hanselman's blog The website must remove all elements and attributes that are not allowed to avoid injection problems. In this post we'l...
Don't Code Tired | Adding Tuple Support to .NET Classes in C# Don't Code Tired - Jason Roberts on Software Development and .NET -
PowerShell 7.1 Team Investments and Preview.1 Release | PowerShell The PowerShell 7 release marks a huge milestone for PowerShell, the community, and the team! Today we released the first preview for PowerShell 7.1! This release includes a number of changes that did not make it in time for the 7.0 release.
Optimising C# for a serverless environment We recently used Azure Functions to process marine vessel telemetry from around the world. We optimised our processing for a serverless environment which meant that the compute would cost less than £10 / month. This post summarises some of the techniques ...
What about it!? is creating Youtube Videos about SpaceX, Space and Science in general! | Patreon Become a patron of What about it!? today: Read 118 posts by What about it!? and get access to exclusive content and experiences on the world’s largest membership platform for artists and creators.
Wavve: Making $76k a Month Turning Podcasts into Videos In 2015, Baird partnered up with Nick to launch a social network that combined Reddit, Twitter and audio. After 2 years and $30k lost, they shut down but decided to convert one of their internal tools into a SaaS. Through word of mouth and content marketi...
School quits video calls after naked man ‘guessed’ the meeting link – TechCrunch Last year researchers showed how some meeting IDs could be easily guessed or enumerated.
📺 Live TV Streaming, On Demand, and Originals – CBS All Access Stream and watch live TV shows, sports events like NFL games, and over 12,000 on demand episodes without any delays in programming with CBS All Access
What happens when the maintainer of a JS library downloaded 26m times a week goes to prison for killing someone with a motorcycle? Core-js just found out What will be the fate of an open-source project relied upon by so many?
Open-source .NET library guidance Best practice recommendations for developers to create high quality .NET libraries.
Let's do some Unity beginner tutorials! On a computer! Twitch is the world's leading video platform and community for gamers.
War Room Steve Bannon, Jason Miller, and Raheem Kassam bring you the most important news from the impeachment of President Donald J. Trump – 24/7 news.
Steam :: Dwarf Fortress :: An actual look at graphical improvements Hello! Okay, now I can show you what I meant about the graphical improvements last time instead of trying to explain in words, ha ha. For reference, here is a hillside in Classic DF: This is a cutaway view at one altitude. This view has been pretty confus...
Carl Franklin's Blazor Desk Show with Dan Roth In just a couple hours Carl Franklin (from .NET Rocks!) will share architecture best practices, how to make and consume generic components, how to call JavaScript to enhance your apps, and how to implement authentication and authorization. He'll show you ...
Totally made up conversations about choosing Entity Framework version numbers All your versions are belong to us
Carl Franklin's Blazor Desk Show! Twitch is the world's leading video platform and community for gamers.


SQEdt:a html editor
this is just a start!
code
issue
npm
B
I
U
D
R
R
R
R
R
R
|
=
|
|
=
|
|
=
|
|
==
|
A+
A-
textNum:
0


| DOSE: |
15 mg |
oral |
Melatonin |
(pill / tablet) |
| |
5 capsls |
oral |
Valerian |
|
| |
25 mg |
oral |
Vitamin B-6 |
(pill / tablet) |
I have used melatonin, 5-htp, and valerian on and off as an aid to my insomnia and depression. Also this is not the only time something like this has happened...
After a night of no sleep, Saturday morning I took a mega dose of melatonin and valerian with a normal dose of vitamin B6. The dreams I had after falling asleep were extremely vivid and included situations that were extremely realistic.
The dream that caused me to submit this report was that I was outside somewhere, in an unfamiliar place. There were two buildings and a grassy area between them. In this grassy area there were two groups of people... I was seeing this whole scene as if I was watching a movie. The two groups of people were conversing about something, it didn't seem as if they were arguing or anything. But all of a sudden I saw a close up of the rapper Deshaun Holton a.k.a. 'Proof' as if a camera had zoomed in on him from the waste up. I heard a gunshot and simultaneously a gunshot wound ripped right through the middle of his forehead and I saw him falling back and to the side.
I wouldn't have submitted this report, but about 30 minutes ago I saw on MTV that proof was shot and killed at some club in Detroit. I don't know if it was the same kind of scenario or what but it really weirded me out. I don't know if it was the combo of pills or some gift I have or coincidence or what. But like I said, this isn't the only time something like this has happened after taking this combo. I just don't know what to make of it.
 But I dunno, I just found this to be extremely weird.
...............Wow.....thats all I can keep saying to myself..... wow....
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


{% trans "Password Reset" %}
{% if user.is_authenticated %}
{% include "account/snippets/already_logged_in.html" %}
{% endif %}
{% blocktrans %}We have sent you an e-mail. Please contact us if you do not receive it within a few minutes.{% endblocktrans %}


Lab Test Entry
Created by Shaan Sekhon
Name
Row Number
PMID
Article Name
Journal
Test
Lab Test
Synonyms/Abbreviatios
Cut-Off
Sensitivity
Specificity
PPV
NPV
Type of Test
Submit


Skip to content
English
Sonos
Login
Menu
Login
Senior Business Systems Analyst
Department:
Platforms and Infrastructure
Req#:
5663
Date published:
12-Nov-2019
Your name:
Your email:
Your friend‘s email:
Subject:
Cancel
Send
Life at Sonos
Join our talent network
Login


Use the list below to specify special annotations. Classes annotated with one of these annotations will be ignored by this inspection.
Use the first checkbox below to ignore classes which parameterize a super class, for example:
class MyList extends ArrayList<String> {}
Use the second checkbox below to ignore classes which extend java.lang.Throwable
.
Use the third checkbox below to ignore classes that contain the comments.


Module Thirdparty.pl.OrderedMap
construct an OrderedMap.
Will throw an error if the argument is bad.
Functions
| update (t) | update an OrderedMap using a table. |
| set (key, val) | set the key's value. |
| insert (pos, key, val) | insert a key/value pair before a given position. |
| keys () | return the keys in order. |
| values () | return the values in order. |
| sort (cmp) | sort the keys. |
| iter () | iterate over key-value pairs in order. |
metamethods
| __pairs () | iterate over an ordered map (5.2). |
| __tostring () | string representation of an ordered map. |
Functions
- update (t)
-
update an OrderedMap using a table.
If the table is itself an OrderedMap, then its entries will be appended.
if it s a table of the form `{{key1=val1},{key2=val2},...}` these will be appended.
Otherwise, it is assumed to be a map-like table, and order of extra entries is arbitrary.
Parameters:
- t tab a table.
Returns:
- the map, or nil in case of error
- the error message
- set (key, val)
-
set the key's value. This key will be appended at the end of the map.
If the value is nil, then the key is removed.
Parameters:
- key the key
- val the value
Returns:
-
the map
- insert (pos, key, val)
-
insert a key/value pair before a given position.
Note: if the map already contains the key, then this effectively
moves the item to the new position by first removing at the old position.
Has no effect if the key does not exist and val is nil
Parameters:
- pos int a position starting at 1
- key the key
- val the value; if nil use the old value
- keys ()
-
return the keys in order.
(Not a copy!)
Returns:
-
List
- values ()
-
return the values in order.
this is relatively expensive.
Returns:
-
List
- sort (cmp)
-
sort the keys.
Parameters:
- cmp func a comparison function as for table.sort
Returns:
-
the map
- iter ()
- iterate over key-value pairs in order.


Temperature:
°C
Power Saving Mode:
+
-
reset
power save on
power save off
Current temperature in
is
°C


Crisis on Infinite Earths Episode 3 Pics Gather the Heroes
by Jake AbbateThe Waverider is about to get a lot more crowded than usual. Via Entertainment Weekly, The CW has just released more than 20 new photos from the third installment of Crisis on Infinite Earths. It looks like the Arrowverse’s many heroes (and one villain) will spend a good deal of the episode onboard the Legends of Tomorrow’s primary mode of transportation.
Hour 3 of Crisis will air as an episode of The Flash on Tuesday, December 10. This chapter will formally bring Cress Williams’ Black Lighting into the Arrowverse. Williams’ character is prominently featured in a lot of these new images. According to the episode’s synopsis, Pariah (Tom Cavanagh) is the one who drafts him into the fight against the Anti-Monitor.
RELATED: Infinity Ends in New Crisis on Infinite Earths Promo
In one shot, Black Lightning is shaking hands with John Wesley Shipp’s Barry Allen/The Flash from Earth-90. Shipp briefly reprised his starring role from the 1990 Flash TV series during the Elseworlds crossover last year. This Flash probably won’t be excited to see the Monitor after he ravaged his dimension using the Book of Destiny. But apparently, what he learned from his ordeal could be crucial to saving the multiverse.
Additionally, The CW has treated fans to new stills featuring Grant Gustin’s Flash, Green Arrow, Batwoman, and Supergirl. Carlos Valdes also makes an appearance as Cisco Ramon, confirming that he’ll once again become Vibe after giving up his powers in The Flash’s season 5 finale. However, even more noteworthy is the appearance of Jon Cryer as Lex Luthor. Whatever his intentions are, Ruby Rose’s Batwoman clearly isn’t having any of it.
You can check out these new Crisis on Infinite Earths photos below, then share your thoughts in the comment section!
Recommended Reading: Crisis On Infinite Earths
We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means to earn fees by linking to Amazon.com and affiliated sites.


×
Wheel of Misfortune is a game that aims to build confidence to oncall engineers via simulated
outage scenarios.
With the game, you practice problem debugging under stress, the understanding of the incident
management protocol, and effective communication with other engineers
of your team and organization. It is a great way to train new hires, interns, and seasoned
engineers to become well-rounded oncall engineers.
Terminology
- Scenario: A past or fictional incident case.
- Game Master: The host-coordinator of the session.
- Volunteer: The trainee oncall engineer.
Feel free to fork the repository or download the stable
release.
Insert your incident scenarios into the general_incidents.json
file inside the incidents/
folder. The file has the following format:
| title |
the title of the incident. |
| scenario |
the description of the incident. It is useful to include URLs from monitoring
systems, dashboards, time-series databases and playbooks. |
| difficulty |
the difficulty level of the outage. |
| ID |
the unique ID of the outage (you can just auto-increment). |
Game Master
- Choose a volunteer to be the primary oncall engineer in front of the group.
- Find a balance between volunteer's experience and incident's difficulty.
- Assist volunteer by answering questions that may arise in each theoretical action or
dashboard observation.
- Engage with the rest of the team and ask for different ways to debug the problem
following the volunteer's explanation.
- Team members may be made available over time for assistance in various topics.
- At the end, have a debrief on the learnings of the session.
Volunteer
- Spin the wheel and attempt to fix the theoretical outage scenario.
- Explain to the Game Master and the rest of the group what actions you would take (lookup
queries, checks in dashboards, etc.) to find the root causes, and eventually solve the
incident.
- Always keep an eye on the time, since it is simulated incident response scenario and not a
routine troubleshooting process. During a real incident you might have an SLA or SLO
breach and therefore you should take timing into account.
- Engage with the rest of the group. Keep them in the loop. Ask questions to different
members depending on their expertise.
Most importantly, have fun!
You can read a comprehensive example on how to conduct the exercise here.
Resources


{%extends "registration/base.html"%} {% load bootstrap4 %} {%block content %}
Welcome to Neighborhood!!
Don't have an account? Sign Up


Securely Controlling Access to RDS
Presented by
John Doyle
3 Tier Architecture
3 Tier Architecture
Session Manager
Bastion Host
Password Rotation
Password Rotation
IAM Authentication


Founded in 2021 and will soon be among the leading provider or real estate information. The
House-Hunt includes various apartments ranging from studios, one bedrooms and 2-bredrooms each with various
amenities.
We look foward to conducting an expansive research to be able to acquire and maintain database
for the available apartments.
Our services are currently base in Nairobi .
We list a range of residential real estate properties including apartments, villas and plots through our web and mobile platform. Our listings include everything from new, resale, under construction and upcoming properties.
We have a dedicated customer care service team, which is available at your service seven days a week from 8:30 am to 7:30 pm. You can call them on<PHONE_NUMBER> or mail customer service at customer.service@househunt.com..


{% extends 'base.html' %} {% block content %} {% include 'partials/_alerts.html' %} Account Info Username: {{ username }} First name: {{ first_name }} Last name: {{ last_name }} {% csrf_token %} Delete account Change password


public class GameTest
extends java.lang.Object
GameTest
class tests the functionality of
methods in the Game
class.| Modifier and Type | Field and Description |
|---|---|
(package private) Game |
game
Game object used for testing. |
(package private) Game |
game2
Another
Game object used for testing. |
(package private) Map |
map
Map object used for testing. |
(package private) int |
size
Size of map used for testing.
|
| Constructor and Description |
|---|
GameTest() |
| Modifier and Type | Method and Description |
|---|---|
void |
setup()
|
void |
teardown()
This method frees memory after all tests are completed.
|
void |
testGamePlayRound()
Tests
Game.gameplayRound() by making sure that the
players' moves are inputted correctly and that the map changes
accordingly, so that the round runs smoothly as expected. |
void |
testGamePlayRoundInvalidMove()
Tests
Game.gameplayRound() by inputting a move that is
invalid, since it would result in the player going outside the
map. |
void |
testGamePlayRoundWater()
Tests
Game.gameplayRound() by checking that a player
returns to the initial position after stepping on a water tile. |
void |
testGamePlayRoundWinner()
Tests
Game.gameplayRound() by making sure that if a
player finds the treasure tile, the game stops and he/she is
declared a winner. |
void |
testGoodPlayersGoodMapBig()
Tests
Game.setPlayersMap(int, int) with valid inputs. |
void |
testGoodPlayersGoodMapSmall()
Tests
Game.setPlayersMap(int, int) with valid inputs. |
void |
testInvalidNumberofPlayers()
Tests
Game.start() with invalid user input (number of players),
then enters valid input. |
void |
testInvalidNumberofTeams()
Tests
Game.start() with invalid user input (number of teams),
then enters valid input. |
void |
testMoveAllowed()
Tests
Game.playerMoveAllowed(Player, char) by entering both
valid and invalid moves and checking the return value in each case. |
void |
testStartPlayerOnGrassTile()
Tests
Game.start() by checking that every player's
initial tile is a grass tile. |
void |
testTooBigMap()
Tests
Game.setPlayersMap(int, int) with an invalid
map size (too large). |
void |
testTooLittlePlayers()
Tests
Game.setPlayersMap(int, int) with an invalid
number of players (too little). |
void |
testTooManyPlayers()
Tests
Game.setPlayersMap(int, int) with an invalid
number of players (too many). |
void |
testTooSmallMap()
Tests
Game.setPlayersMap(int, int) with an invalid
map size (too small). |
public void setup()
Map
using MapCreator
and a new Game
. The map is shared among all
instances of the map creator.public void testTooManyPlayers()
Game.setPlayersMap(int, int)
with an invalid
number of players (too many).public void testTooLittlePlayers()
Game.setPlayersMap(int, int)
with an invalid
number of players (too little).public void testTooSmallMap()
Game.setPlayersMap(int, int)
with an invalid
map size (too small).public void testTooBigMap()
Game.setPlayersMap(int, int)
with an invalid
map size (too large).public void testGoodPlayersGoodMapSmall()
Game.setPlayersMap(int, int)
with valid inputs.public void testGoodPlayersGoodMapBig()
Game.setPlayersMap(int, int)
with valid inputs.public void testInvalidNumberofPlayers()
Game.start()
with invalid user input (number of players),
then enters valid input.public void testInvalidNumberofTeams()
Game.start()
with invalid user input (number of teams),
then enters valid input.public void testStartPlayerOnGrassTile()
Game.start()
by checking that every player's
initial tile is a grass tile.public void testGamePlayRound()
Game.gameplayRound()
by making sure that the
players' moves are inputted correctly and that the map changes
accordingly, so that the round runs smoothly as expected.public void testGamePlayRoundInvalidMove()
Game.gameplayRound()
by inputting a move that is
invalid, since it would result in the player going outside the
map.public void testGamePlayRoundWater()
Game.gameplayRound()
by checking that a player
returns to the initial position after stepping on a water tile.public void testGamePlayRoundWinner()
Game.gameplayRound()
by making sure that if a
player finds the treasure tile, the game stops and he/she is
declared a winner.public void testMoveAllowed()
Game.playerMoveAllowed(Player, char)
by entering both
valid and invalid moves and checking the return value in each case.public void teardown()


About GSIE
Graduate Students in International Economics.
The GSIE Seminar and Blog aim to provide a platform for PhD students and recent graduates in International Economics to present their research and receive feedback from other students and researchers. While primarily established for students at the Paris School of Economics and Université Paris 1 Panthéon-Sorbonne, we gladly welcome presentations and blog contributions by students from other institutions.
The GSIE Seminar is jointly organized by Lionel Fontagné, Matthieu Crozet and Thierry Verdier with the assistance of Elsa Leromain and Julian Hinz. The GSIE Blog is maintained by Julian Hinz and Elsa Leromain.
If you’re interested in presenting your paper in the seminar or want to contribute a post to the blog, send a draft of your paper to gsieseminar@gmail.com.


Home
About
Timeline
Portfolio
Contact
2020
Adisakshya Chauhan
Student | Developer
Hello. I am an undergraduate student pursuing my Bachelor’s degree with my major in Computer Science and Engineering.
Download My CV
Scan to open in mobile devices.
Hello World!
Welcome to my place !
I'm
Student
Developer
Designer
Creative
Adisakshya


jQuery Tbl Tree
TblTree jquery plugin
Return to Docs
Download ZIP
Download TAR
View On GitHub
This project is maintained by
gagiks
Example: Make tree on second column
$( "#table1" ).tbltree({ });
Row #
Title
Column 1
Column 2
Column 3
1
Level 1
2
2
2
2
Level 1.1
2
2
2
3
Level 1.1.1
2
2
2


Dheeti - The Background
- Founded in 2016, we are 20 months young now
- Agility of a Startup
- Maturity of an established player
- 3 Customers successfully built MVPs, have gone through various rounds of funding
Dheeti - The Pillars
- Pillar 1 : Agile-ity
- Pillar 2 : Engineering Excellence
- Pillar 3 : Enterpreneur-ial
Agile-ity
At Dheeti agileity means ...
- Deliver business value incrementally by releasing working software of high quality at regular intervals.
- Be adaptable to change,minimize waste.
- Processes & Practices are means towards ends.Avoid being dogmatic,use whatever that gets job done.
Engineering Excellence
TBD
Dheeti - Value System
- Integrity is non negotiable
- Passion is irreplaceable
- Balance is paramount
- Think Long Term Act Short Term
Dheeti - Expertise
We are domain & technology agnostic
We hire people for their understanding of a paradigm
Our people are capable of and willing to learn new stuff quickly
Paradigms that we understand
- Product Thinking
- Agility (Extreme Programming,Lean,Scrum,Kanban)
- Devops(CI,CD,Chef,Puppet,Ansible)
- Data(Hadoop,Spark)
- Platforms
- Java-JEE-Spring
- NodeJS-Express
- Scala-Play
- Python-Django-Flask
- Angular,React,Vue
Dheeti - People
We hire some of the best & most experienced people from Industry
At Dheeti, average industry experince is 14 years
We are a no Managers culture. Every team member contributes directly to the product
Dheeti - Engagement Models
Time & Material with Risk/Reward
Special Commercial model for startups


Gokus is one of the strongest warriors in the dragon ball z series
People that rival him are vegeta and other strong mortals in other universes
this is super saiyan one, goku became super powerful after getting really mad
This is goku second sayian form it was shown to us during the battle between goku and majin vegeta
This is super sayain 3 form of goku. this is was first shown during the buu saga where he fought against fat buu.
Gokus first transformed into this form was with the help of 5 fellow sayain. He only transformed to this form when fighting againt the god of destruction beerus
this is super saiyan blue and this was shown during the battle of univese 7 and universe 6
vegito super saiyan blue! fought against black goku and zamsu merged form


Utility class to poll input for key bindings and to simulate key presses Need to add mechanisms to poll and simulate input axis: https://github.com/microsoft/MixedRealityToolkit-Unity/issues/7659
More...
Utility class to poll input for key bindings and to simulate key presses Need to add mechanisms to poll and simulate input axis: https://github.com/microsoft/MixedRealityToolkit-Unity/issues/7659
◆ AdvanceSimulation()
| static void Microsoft.MixedReality.Toolkit.Input.KeyInputSystem.AdvanceSimulation |
( |
| ) |
|
|
static |
◆ GetKey()
| static bool Microsoft.MixedReality.Toolkit.Input.KeyInputSystem.GetKey |
( |
KeyBinding |
kb | ) |
|
|
static |
Test if the key is currently pressed.
- Returns
- True if the bound key is currently pressed
◆ GetKeyDown()
| static bool Microsoft.MixedReality.Toolkit.Input.KeyInputSystem.GetKeyDown |
( |
KeyBinding |
kb | ) |
|
|
static |
Test if the key has been pressed since the last frame.
- Returns
- True if the bound key was pressed since the last frame
◆ GetKeyUp()
| static bool Microsoft.MixedReality.Toolkit.Input.KeyInputSystem.GetKeyUp |
( |
KeyBinding |
kb | ) |
|
|
static |
Test if the key has been released since the last frame.
- Returns
- True if the bound key was released since the last frame
◆ PressKey()
| static void Microsoft.MixedReality.Toolkit.Input.KeyInputSystem.PressKey |
( |
KeyBinding |
kb | ) |
|
|
static |
◆ ReleaseKey()
| static void Microsoft.MixedReality.Toolkit.Input.KeyInputSystem.ReleaseKey |
( |
KeyBinding |
kb | ) |
|
|
static |
◆ ResetKeyInputSimulation()
| static void Microsoft.MixedReality.Toolkit.Input.KeyInputSystem.ResetKeyInputSimulation |
( |
| ) |
|
|
static |
◆ StartKeyInputStimulation()
| static void Microsoft.MixedReality.Toolkit.Input.KeyInputSystem.StartKeyInputStimulation |
( |
| ) |
|
|
static |
◆ StopKeyInputSimulation()
| static void Microsoft.MixedReality.Toolkit.Input.KeyInputSystem.StopKeyInputSimulation |
( |
| ) |
|
|
static |
Stops the key input simulation
◆ SimulatingInput
| bool Microsoft.MixedReality.Toolkit.Input.KeyInputSystem.SimulatingInput |
|
staticget |
The documentation for this class was generated from the following file:
- C:/Users/Thomas Peters/UnityProjects/MoveToCode/Assets/MRTK/Core/Providers/InputSimulation/KeyBinding.cs


| MDS {iL04} | R Documentation |
Call the function cmdscale
and preserve labels.
As of R version 1.5.0 you don't need this function. You can call
cmdscale
directly, and labels will be preserved.
MDS(dif, dim)
dif |
an object of class dist , with labels stored in the
attribute Labels . |
dim |
the dimension of the space which the data are to be represented in. |
A matrix whose rows give the coordinates of each vector, with labels stored as rownames.
RuG/L04 - software for dialectometrics and cartography: http://www.let.rug.nl/~kleiweg/L04/
data(PA) vec <- MDS(PA, 2) plot(vec, type = "n", xlab = "", ylab = "") text(vec, rownames(vec), cex = 0.5) vec8 <- MDS(PA, 8) d2 <- dist(vec) d8 <- dist(vec8) cor(PA, d2) cor(PA, d8) plot(range(PA), range(d2, d8), type = "n", xlab = "PA", ylab = "dist( cmdscale( PA ) )") points(PA, d2, pch = 20, cex = 0.5, col = "black") points(PA, d8, pch = 20, cex = 0.5, col = "blue") legend(min(PA), max(d2, d8), c("dim = 2", "dim = 8"), fill = c("black", "blue"))


Understand how to create and register re-usable components.
Right click and 'View page source' to see how this page was rendered.


Introduction. Biliary atresia is a surgical cause of prolonged jaundice, which needs to be diagnosed with cholangiography that has traditionally been performed via laparotomy. Laparoscopic assistance has lately been introduced to avoid unnecessary laparotomy. We aim to evaluate the benefits of the laparoscopy-assisted cholangiography and compare it to the traditional procedure via laparotomy. Patients and Method. The medical records of the cases who had undergone cholangiography for prolonged jaundice between 2007 and 2014 were analyzed. The patients were grouped according to cholangiography technique (laparotomy/laparoscopy). The laparoscopy and laparotomy groups with patent bile ducts were focused and compared in terms of operation duration, postoperative initiation time of enteral feeding, and full enteral feeding achievement time. Results. Sixty-one infants with prolonged jaundice were evaluated between 2007 and 2014. Among the patients with patent bile ducts, operation duration, postoperative enteral feeding initiation time, and the time to achieve full enteral feeding were shorter in laparoscopy group. Conclusion. Laparoscopic cholangiography is safe and less time-consuming compared to laparotomy, with less postoperative burden. As early age of operation is a very important prognostic factor, laparoscopic evaluation should be an early option in work-up of the infants with prolonged jaundice with direct hyperbilirubinemia, for diagnosis/exclusion of biliary atresia.
Prolonged jaundice is defined as jaundice longer than 14 days in term infants and 21 days in preterm infants. Over this period, prolonged jaundice with conjugated hyperbilirubinemia in a newborn with pale stool and dark urine alerts the pediatrician to investigate the cholestatic disorders such as infections due to congenital rubella, CMV, toxoplasmosis, and endocrine and metabolic disorders as hypothyroidism, alpha-1-antitrypsin deficiency, and aminoaciduria. After all these investigations, ultrasonography, hepatic scintigraphy, and usually liver biopsy take place. In cases of no diagnosis despite these investigations, surgical exploration is usually needed to exclude biliary atresia. Cholangiography via laparotomy or laparoscopy has remained as the gold standard for the diagnosis of biliary atresia. Invasiveness and high morbidity of explorative procedure generally make pediatricians refer the patient to the pediatric surgeon after their investigations exclude all nonsurgical causes of jaundice. On the other hand, early identification of biliary atresia affects the success rate of the operation and improves the outcome [ 1 ].
Laparoscopy is a minimally invasive procedure that can exclude surgical causes of jaundice and may help avoid unnecessary laparotomy in neonates.
Herein, we present our technique, laparoscopy-assisted percutaneous cholangiography with liver biopsy with a single umbilical trocar, and compared the results of this technique with traditional open surgical explorative cholangiography and liver biopsy.
We performed a retrospective chart review of all infants who were referred between December 2007 and December 2014, with prolonged jaundice in whom clinical, radiological, and laboratory tests failed to get a definitive diagnosis and surgical evaluation was needed to exclude biliary atresia. Infants who had undergone Kasai portoenterostomy were excluded from the study. The patients with patent biliary duct systems were included in the study and these patients were divided into two groups: Group I, patients who had single-port laparoscopy-assisted percutaneous cholangiography and liver biopsy, and Group II, patients who had cholangiography and liver biopsy via laparotomy. Those groups were compared in terms of operation duration, postoperative enteral feeding initiation time, time to achieve full enteral feeding, and postoperative complications. Evaluation of hospital stay length and cost effectiveness was not possible, because most of the patients had been hospitalized in pediatric clinics long before their referral to our department (Pediatric Surgery), some with additional serious anomalies, so that the hospital stay lengths and hospitalization costs were far away from being attributable to the cholangiography techniques.
Normality was checked by Shapiro-Wilks test continuous variables. Nonparametric tests were chosen since the data were not distributed normally. Data were analyzed by Mann-Whitney U test and Chi Square test was used to evaluate the differences between groups. Data were expressed as n (%), mean ± SD, and median (min-max). A p value < 0.05 is considered significant. Statistical analysis was performed using the statistical package SPSS v 20.0.
Under general anesthesia, a 5 mm umbilical trocar was introduced via the open Hasson technique, in order to create a port for a 30-degree laparoscope. Carbon dioxide was insufflated to a pressure between 6 and 8 mmHg. The liver and gallbladder were examined under direct laparoscopic vision with the help of tilting the operating table 45-degree reverse-Trendelenburg. Under direct vision of the telescope, a Chiba needle was inserted percutaneously into the gallbladder via transpassing the liver without gallbladder dissection (Figures 1 and 2). A few milliliters of contrast agent was injected into the gallbladder while fluoroscopic radiograms are being obtained ( Figure 3). If the biliary ducts were patent, with the 18G tru-cut biopsy needle, liver biopsy was taken under telescopic vision ( Figure 4). In cases of biliary atresia, laparotomy was performed to proceed with Kasai portoenterostomy.
From December 2007 to December 2014, 61 infants with prolonged jaundice were referred to us from the Department of Pediatrics. Thirty-seven males and 24 females were all referred with pale stool and severe skin icterus. The mean age at first admission to pediatric department was 17.0 ± 12.5 (1–42, median 18 days) days and the mean age at referral to Pediatric Surgery Department was 76.3 ± 25.2 (33–157, median 72 days) days. The time period from the beginning of prolonged-jaundice work-up with nonsurgical investigations till surgical evaluation was 59.3 ± 26.4 days (17–141, median 57 days) for all the patients and 62.7 ± 28.3 (21–141, median 56.5 days) days for the patients who had biliary atresia.
The cholangiography technique was laparoscopy-assisted in 23 patients and was via laparotomy in the remaining 38. The technique to be applied was determined by preference of the senior surgeon. When the fibrotic gallbladder was observed, either with laparoscopy ( n: 5) or with laparotomy ( n: 9), portoenterostomy was performed without cholangiography. Thirty of 61 (49.2%) prolonged-jaundice patients, who were detected to have biliary atresia, underwent Kasai portoenterostomy. Thirty-one of the patients had patency of ducts. Single-port laparoscopy-assisted percutaneous cholangiography was performed in 18 patients. Six of them were diagnosed to have biliary atresia. The remaining 12 were detected to have patent biliary ducts and tru-cut liver biopsy was performed (Group I). In two infants, an additional 5 mm trocar was needed to be inserted, in order to retract the dilated intestinal loops in one and to occlude the distal choledochus with grasper in an effort to direct the contrast agent flow into the intrahepatic ducts in the other.
Twenty-nine patients had cholangiography via laparotomy; biliary atresia was detected in 10 patients and the operation proceeded to portoenterostomy. Patency of the ducts was observed in 19 patients and they were followed on with liver biopsy (Group II). Figure 5 shows the data flow chart.
In Group I, 12 (66.7%) of 18 patients had patent biliary ducts confirmed by laparoscopy-assisted cholangiography and unnecessary laparotomy was avoided. In Group II, 19 of 29 (65.5%) patients had patency of the ducts confirmed by open cholangiography.
Table 1 shows the differences between the two groups. The duration of operation was 64.6 ± 32.6 minutes (30–120, median 55) in Group I and 148.4 ± 65.2 minutes (60–300, median 150) in Group II. The difference between the two groups was statistically significant ( p < 0.001). The postoperative initial feeding time was 44.8 ± 41.8 hours (6–120, median 24 hours) in Group I and 91.0 ± 29.5 (48–168, median 96 hours) hours in Group II. The difference between the two groups was statistically significant ( p = 0.003). The postoperative full feeding achievement time was 66.3 ± 39.7 (24–144, median 48 hours) hours in Group I and 119.0 ± 30.5 (78–192, median 116 hours) hours in Group II. The difference between the two groups was statistically significant ( p = 0.001). Postoperative problem-free full feeding achievement parameter presumed the time period of follow-up by pediatric surgeon. In other words, after the achievement of full feeding, the surgical follow-up in pediatric units ended.
The age of the patient with biliary atresia at surgery is the most important determining factor of the postoperative long-term survival. Performing portoenterostomy before 30, 31 to 60, 61 to 90, 91 to 120, and after 120 days has 5-year-survival rates of 62.5%, 43.6%, 39.5%, 28.6%, and 28.8%, respectively [ 1 ]. In our series, the mean age at first admission to the pediatrician is 17.0 ± 12.5 (1–42, median 18) days and the mean age during the surgical exploration is 76.3 ± 25.2 (33–157, median 72) days. The mean delay time during pediatricians' nonsurgical investigations is 59.3 ± 26.4 (17–141, median 57) days. Acting by right reason of the invasiveness and morbidity of the laparotomy, pediatricians usually prefer to refer the patient to the pediatric surgeon to exclude the biliary atresia after all their nonsurgical investigations are complete. According to our series, 30 of 61 (49.2%) of prolonged-jaundiced patients had biliary atresia and the remaining 31 (50.8%) had unnecessary explorations, which supports pediatricians' hesitation. On the other hand, for the 30 patients with biliary atresia, there had been a mean delay of 62.7 ± 28.3 days, which can also be considered as wasted time, because avoidance of such a delay and early operation could have meant a longer life expectancy of higher quality.
In 1980, Hirsig and Rickham performed laparoscopy in 9 children with direct hyperbilirubinemia and reported their opinion that cholangiography with liver biopsy can be carried out by laparoscopy within the first 4 weeks of life and pointed out the importance of the early cholangiographic evaluation [ 2 ]. In 2000, Hay et al. reported 12 patients with performed laparoscopy-guided percutaneous cholangiogram with single umbilical port and if the cholangiogram excludes the biliary atresia additional 3 trocars were inserted and liver biopsy was taken with intracorporal laparoscopic procedure with a short duration of operative time [ 3 ]. In our series, tru-cut biopsy supplied so satisfactory information that we did not need to take liver biopsy intracorporally via inserting additional trocars. In other series, during laparoscopic evaluation, cholangiogram was reported to be performed either by exteriorizing the gallbladder through the incision of the working port [ 4 , 5 ] or by hitching the gallbladder to the lateral aspect of the abdominal wall [ 6 ]. Şenyüz et al. reported the importance of early diagnosis of surgical jaundice in a neonate for surgical success. They performed diagnostic laparoscopy in 24 prolonged-jaundice infants and 10 (42%) of them proved to be neonatal hepatitis that unnecessary laparotomy was avoided [ 7 ]. Jancelewicz et al. reported a screening algorithm for the efficient exclusion of biliary atresia in infants with cholestatic jaundice [ 8 ]. They proposed a screening algorithm after all standard work-up is done and resulted in being nondiagnostic. This standard work-up included ultrasound, laboratory tests (TORCH work-up, cultures, etc.), and screening for cystic fibrosis, hypothyroidism, galactosemia, and other metabolic and genetic conditions. We think that all these investigations take a long time that can also be considered as a delayed time.
The weakness of the current study is that we could not compare the groups with the length of stay and cost. We think that the reason is the heterogeneity of the variables from individual patient's comorbidities, referral and discharge practices outside of our clinic within the hospital, precludes us from such comparison.
Our experience suggests that, with shorter duration of operation, more quickly achieved full enteral feeding, and better cosmesis, the pediatricians could confidently refer the prolonged-jaundice patients to the surgery team earlier, without waiting for the results, but during their investigation for the metabolic disorders or infectious disease, so that a timely laparoscopic evaluation could supply an efficient contribution to the patients.
Etiological investigation of prolonged jaundice in infants is often a hard, time-consuming work for pediatricians. Prognosis in biliary atresia highly depends on the patient's age during operation. Waiting for the results of the investigation for the nonsurgical causes of prolonged jaundice is an important reason of delay of biliary atresia treatment. To prevent such a loss of time, pediatricians can be convinced with early referral of the children with prolonged jaundice to the surgeons.
The authors would like to thank Professor Gulsah Seydaoglu (Department of Biostatistics, Cukurova University, Faculty of Medicine, Adana), for reviewing the statistical data of the paper.
The authors declare that there is no conflict of interests regarding the publication of this paper.
5 mm umbilical trocar is introduced and Chiba needle is inserted percutaneously.
Chiba needle is inserted into the gallbladder via transpassing the liver under direct telescopic vision.
Cholangiography: passage of the contrast agent into the intrahepatic ducts and into the intestinal system excludes biliary atresia.
When the biliary ducts are patent, with the 18 G tru-cut biopsy needle, liver biopsy is taken under the vision of telescope.
Data flow chart of the referred prolonged-jaundice patients.
Comparison of the groups who were detected to have patent ducts via either laparoscopy (Group I) or laparotomy (Group II). Tru-cut biopsy gave satisfactory information in all patients in Group I. In both groups, no complications were observed either in peroperative or in postoperative time.
| Single-port laparoscopy-assisted cholangiography and liver biopsy Group I | Laparotomy with cholangiography and liver biopsy Group II | p | |
|---|---|---|---|
| Mean duration of operative time (minutes) (mean ± SD, min-max, and median) | 64.6 ± 32.6 minutes (30–120, median 55) | 148.4 ± 65.2 (60–300, median 150) | <0.001 |
| Mean postoperative initial feeding time (hours) (mean ± SD, min-max, and median) | 44.8 ± 41.8 (6–120, median 24) | 91.0 ± 29.5 (48–168, median 96) | 0.003 |
| Mean postoperative full enteral feeding achievement time (hours) (mean ± SD, min-max, and median) | 66.3 ± 39.7 (24–144, median 48) | 119.0 ± 30.5 (78–192, median 116) | 0.001 |


--- layout: page title: Web Apps background: '/img/halgatewood-com-tZc3vjPCk-Q-unsplash.jpg' photo-cred: Hal Gatewood photo-cred-link: https://unsplash.com/@halacious --- Phrase Cloud Really, a word cloud generator. Posted by {{ site.author }} on March 6th, 2021
Posted by {{ site.author }} on March 6th, 2021