It's been some time since I have had the events module working, it may be "low-write" related it may now be v8.5 related I'm not sure but with heavy development happening in emoncms right now it would be good to concider other modules and try to either fix the issues or retain compatibility, if the interaction needs redefining then should it be addressed from both sides?
on github
Feed update giving error when event is assigned to the feed
Doesn't work with VLow Write EMONCMS V8.5
mcrypt warning after debian upgrade
and on here
Events module test works but not automatically
Is the Event Module compatible with the latest VLow Write Image?
If it isn't compatible with low-write could we make it compatible? or at least confirm it won't work so we all know?
Confirmation either way would be good I wouldn't mind investing time into "getting it working" it if I install it and it should work but currently it doesn't work for me and do not know where to go from there.
Paul
Re: Events module and emoncms compatability
The most common dilemma raised in the forum is whether the member is 'highlighting a bug in the system which needs sorting' or 'I'm a newbie and I'm not sure if I've done something wrong'.
Often it's difficult to separate the two, as highlighted above, and confirmation that a module is not compatible is much easier to accept than thinking that you've done something stupid!
Paul, I think that you will have a lot of support with this - despite the lack of supporting posts!! and if you are prepared to invest your time into resolving this, how specifically can forum members / T&G support you.
Paul
Re: Events module and emoncms compatability
I'm pretty sure this is not something I can fix, If it is supposed to work then I am happy to persevere or if it's broke I'm happy to contribute to locating the cause or maybe fixing it, but if it is no longer compatible either because of the big changes in v8.5/v8.6/v9 or has never accommodated the php feed engines and or low-write/feedwriter then it is probally beyond my php and emoncms know how.
The last time I had it working was with the debian package manager (apt-get) installed versions of emoncms (~v8.3.2?) and the emoncms-event-module package. Currently I would like it but I get by fine without it,
Personally I think all support issues should be based here on the forum and only if and when it is established something needs addressing in the source code should an issue be opened with links to the forum discussion. That keeps the debugging, discussion, advice and guides all on the forum and a concise up to date dialogue of known issues and their status on the repo as a kind of evolving changelog. But there are no clear guidelines on this and no policing/management of issues here or on the repos.
I'm not overly bothered about the events module for my own use right now. but I am frustrated by leaving users hanging when they ask for help and I don't know the answers or even where to look/how to find out and a little concerned that it may fade away from emoncms and not be there if I do need it some day.
If anyone has a fully working events module can you post your emoncms version number and likewise if you know it doesn't work with a particular version because it was working prior to an upgrade or you are familiar with the events module and knowingly chose a version accepting it wouldn't work please share that info. If I/we can establish if it should work in it's current form (as opposed to if we want it to work).
Please do not post about bugs or unsuccessful install attempts in hope of help in this thread, I'm hoping to gather the info required to fix the module and or help other issues in other threads.
If your name happens to be Trystan or Chaverio, perhaps you can shed some light or advise what to look for?? as far as I can fathom, it worked up to v8.4 "full" but but not (fully?) since and cannot confirm if it's low-write compatible.
I would ideally like to get back to emonHub development but that is working at least or help out with the emoncms stuff in progress right now so hopefully this can be fixed without getting in too deep.
Paul
Re: Events module and emoncms compatability
v9 preview | 2015.08.03
Probably an expected post, but the event module doesn't work with this version, installed it tonight, the 'test' function sent a tweet ok, so the Twitter Auth process at least works, but noticed that all of my feeds stopped updating for some reason.
No obvious errors reported in the browser developers console.
Deleting the Modules/event & reboot restored feeds being updated.
Paul
Re: Events module and emoncms compatability
Thanks Paul, I had tried v9 with no joy, your findings at least confirm I'm not doing something daft during install and that the twitter bit still works (on test) and that IS possibly feed related, sorry you broke yours while testing.
Nick (elyobelyob - the original auther ?) has hinted at some recent changes to the global variable $feed could be the cause so I suspect the v8.5> compatibility is severed. and his questioning the (SQL) fed naming might suggest a lack of compatibility with php feeds which are the only ones available in (<v8.5) low-write emoncms.
But this is just uninformed speculation at this point, we need the opinion of a capable developer or enough case examples to prove a pattern hence my appeal for info. I expect the response to be slow (if any) as no users with a working event module will find this in a search and less active users with a working set up may not visit often.
But at least now as users pop up with issues I/we can point to this thread and say we are aware rather than just leaving them hanging.
Paul
EDIT - Just seen this new thread too Error logging to feed with the same "stopped updating" symtoms.
Re: Events module and emoncms compatability
Yes, I was the original author. Unfortunately, if the project is going to branch off in all different directions and the developer/s for these changes don't keep in mind other modules and their dependencies, then those modules will die a death. TBH, I really wanted the event module to become a core module and therefore be included in all .
Unfortunately, we're not getting much response from Trystan in these threads and I'm not going to be able to spend the time rewriting the entire module. So, unfortunately, from my perspective, this module is no longer supported.
It was certainly useful from my perspective after I spent my Christmas holidays writing it a few years back. It doesn't work for me now and I have had to disable my events to keep the project running. All in all a bit of a shame, but seeing the amount of branches v number of developers, it was of no surprise to me.
Personally, if we had based the project around an MQTT feed, it would have made life a lot easier and the event module wouldn't have been as hacky as it is. Using a HTTP API is an awful overhead.
Sorry all.
Re: Events module and emoncms compatability
@ Nick - I share your frustration, but the splitting out into multiple versions started way back with the low-write version which as far as I know (and keep mentioning without attracting any confirmation) wasn't ever compatible, the events module was still used with the main version until a few months back, as you know the MQTTwarn stuff was added by sumnerboy and nubble. The recent explosion of branches will hopefully be reined in soon as there is alot of effort being put into v9 which will hopefully replace most of the current branches.
If there has been a recent change (which I suspect there has) that has severed the link I'm fairly sure it wasn't known about and I'm hopeful that it will be restored, no-one is suggesting it needs rewriting, we have only just confirmed there is an issue.
MQTT is playing a part in emoncms's future of that we are pretty certain, but the http api will alway be part of it's history and must continue to be included not only for backward compatibility, but also as not all users can or will make the jump to MQTT and forcing a choice will only divide emoncms again.
Paul
Re: Events module and emoncms compatability
MQTT is playing a part in emoncms's future of that we are pretty certain, but the http api will alway be part of it's history and must continue to be included not only for backward compatibility, but also as not all users can or will make the jump to MQTT and forcing a choice will only divide emoncms again.
I don't think Nick was suggesting that emoncms should remove the http api, but that MQTT is the desired medium to interpret data for the 'event module'.
Paul
Re: Events module and emoncms compatability
Maybe it is, maybe there needs to be a discussion and the various parties decide a common path perhaps.
Re: Events module and emoncms compatability
The entire event module could be distilled down to a single *MQTT target* IMO - once you have MQTT pubs being generated you can decouple all your email/twitter/pushover targets from EmonCMS entirely (and implement via something like NodeRed or mqttwarn). Much cleaner solution, and no need for all this target-specific coding in EmonCMS (i.e. twitter libraries etc).
Agree however that this puts a burden on the user to run their own MQTT broker. I get the impression however that anyone running EmonCMS locally will have the *know-how* to do this?
Re: Events module and emoncms compatability
Ben, yes agreed, this is the route that I would prefer.
Currently, I'm using node-red with the http api to obtain data, but would much prefer MQTT..
I was hoping that MQTT would have been a standard feature in emoncms by now.
Paul
Re: Events module and emoncms compatability
So are we saying the events module should just be totally independent of emoncms ? or done away with entirely even?
Currently, I'm using node-red with the http api to obtain data, but would much prefer MQTT..
Why are you not using the publish to MQTT process?
We shouldn't allow MQTT implementation and the events module to become confused, I thought the comments where about using MQTT to (internally?) link emoncms to the events module (not sure I agree though) and not about using the events module to get MQTT or using MQTT to make the events module redundant in favor of node-red etc.
Putting aside MQTT for a moment, Since emoncms should have it regardless of the event module and thats a differnt discussion.
As far as I recall the events module worked well prior to the low-write version and then v8.5. The "drop it in the Modules folder and update&check" was simple and the "apt-get install emoncms-module-event" was even better. I really do not think forcing users to set up a MQTT broker etc etc just to get an email if things go wrong is a good path, a few users struggle to just get emoncms installed (that's not their fault, it's not made easy for them)
With the current "extra processes" available in XT or v9 should "events" be triggered from the processing?
There are alot of enthusiasts on here and MQTT should definitely be provided to integrate everything you want but some users just want a full featured energy monitor without becoming fully fledged home automation geeks like us :-)
Paul
Re: Events module and emoncms compatability
So are we saying the events module should just be totally independent of emoncms ? or done away with entirely even?
Yes, totally independent. Emoncms can't be 'all things to all men', where do we draw the line? there has to be a cut off point in all software, what are emoncms's core functions, and what are conduits to other functionality?
Why are you not using the publish to MQTT process?
Is this working? last I heard was that it wasn't complete and needed further work. Where is this documented in Building Blocks, OEM Blog or git?
We shouldn't allow MQTT implementation and the events module to become confused, I thought the comments where about using MQTT to (internally?) link emoncms to the events module (not sure I agree though) and not about using the events module to get MQTT or using MQTT to make the events module redundant in favor of node-red etc.
No confusion, Ben was talking about the [internal] use of MQTT linking to the events module, whilst I was talking about the ethos of using MQTT as a common communication medium, which could be used if users had a use... both internally and user facing.
Paul
Re: Events module and emoncms compatability
IMO letting me know my energy monitor is not monitoring energy or that I am consuming too much are more in line with the role of an energy monitor than say controlling my central heating, (for example), Agreed there should be a line but if and when it is defined it does not need to be rigid and non-negotiable.
I want to be clear (again) that I'm not against MQTT, far from it I would like to encourage it's use. I just don't see the desire for MQTT as a valid argument against the current events module, can't we have both even?, so that isn't really the discussion here. Is the events module (or at least it's features) desirable and worth keeping? would it take much to fix, update or integrate it? The decisions about the event module features should be based on these points and IF there was a working alternative that could be considered too.
How would you propose to create "events" on MQTT? are you going to publish every feed you want to potentially trigger an event so that another SW can do the "event" or are you thinking emoncms should do the trigger and that trigger is published? Surely the latter IS the events module's current role and the event is triggering MQTT?
As far as I'm aware the MQTT process works fine, Publish to MQTT - how do you set it up? [Solved], the phpMQTT module needs updating (but should really be a dependency rather than in the repo) currently the broker details are hardcoded but could be moved to the settings as the mySQL and redis server details are already defined there. I don't think it is documented but that's not uncommon is it?
Paul
Re: Events module and emoncms compatability
Throwing popcorn from the peanut gallery: I represent the "some users" group:
There are alot of enthusiasts on here and MQTT should definitely be provided to integrate everything you want but some users just want a full featured energy monitor without becoming fully fledged home automation geeks like us :-)
I've got 10 units out in the field, and every one uses the Event module to send Prowl, e-mail, and URL notifications. Seems like essential functionality to a basic user like me.
Re: Events module and emoncms compatability
Would you mind telling us what systems are you running JD? ie what vintage? which emoncms version? what platform/OS/hardware ?
Just to help get a handle on what works and what doesn't, to hopefully hone in what when wrong when.
Paul
Re: Events module and emoncms compatability
I agree with JD, I believe the events module should be core. It's one thing receiving and displaying readings - having an action on these results is a logical step. Which is why I built it in the first place.
It's apparent that the modules are secondary to the core OEM code. The core code is taking new direction, without any consideration for dependencies. It seems there are a lot of threads r.e. the broken event module and some people will have a reliance on its functionalities.
So, without some feedback from OEM themselves, there seems little point investing any more time in a short term fix. A definitive direction is required.
Re: Events module and emoncms compatability
Systems: 10 EmonTX V3 in the field at various sites, and some other Arduino-based things sending data
Platform: Running EmonCMS v8.4 (8.3.5 with the last pre-8.5 changes) on a Linux VPS
Problems: None with the Event module! It works great. Simple enough that users can add their own events, once I've set up the feeds etc for them.
However, my users complain about the dashboards on their mobile devices, and I've been eagerly following 8.5+ developments awaiting responsive design for mobile. But if I have to chose between "responsive" and "Event module", I must stay with "Event module".
Some dashboards:
http://data.peakmonitor.com/proto5
http://data.peakmonitor.com/proto2&id=14
http://data.peakmonitor.com/proto3
Re: Events module and emoncms compatability
Paul: My post hit moderation and will appear eventually!
To add to the conversation: emonCMS can be used for so much more than home energy monitoring. For example, I'm monitoring a water well pump with an EmonTX. This well has a problem with contaminants jamming a check valve, and if jammed the pump will run more than normal. A notification is sent to the well maintenance guy via e-mail when the pump runs too much, triggering the repair and saving energy (and wear and tear on an expensive 3-phase well pump).
Re: Events module and emoncms compatability
"I believe the events module should be core" quite possibly, I previously questioned the possible use of the new conditional processes, As for being a "core module" I'm not sure a mandatory install is going to fly with emoncms.org, so it would need to at least be user enabled/disabled to appeal too T&G.
v8.52xt/v8.6/v9 is currently only a experimental branch Trystan has shown interest but there has been no indication if Chaveiro's version will be fully adopted yet, certainly the more it offers, the more compatible it is and the fewer barriers it create the more likely it's success will be, which adds fuel to this discussion. I would like to see emoncms move forward as a single version that can be configured rather than multiple versions and right now we need to keep a pre-v8.5 'full' version just for users that want the events module like JD.
"The core code is taking new direction, without any consideration for dependencies." I'm still hopeful that's not the case, I think Chaveiro needs to be involved in the discussion, he may not be aware of the repercussions of the changes made and may have a solution. Do we know for sure it's not just a minor thing?
Paul
Re: Events module and emoncms compatability
I pretty much fixed as per a different thread, it was due to the changes in the database structure - which the events module enquires against directly. However, it went a bit mad and started sending me repeated messages. I stopped looking at it then. I just don't have the time at the moment and still can't see any point in fixing in the short term when so much is going on with the core.
Re: Events module and emoncms compatability
Are you referring to this discussion in the events module issues on github? Can you expand or provide some links? I do not recognize the code is it in emoncms or the events module?
I recall someone else experienced "rapid fire" messages so maybe that's not directly related?
I'm willing to TRY and fix it, or at least dig a bit deeper my php is almost useless, if the recent break is easy to fix NOW when Chaverio is trying to bring the full and low-write versions together is the ideal time to bring this up as it needs to be made compatible with the low-write stuff too. it because there is so much going on that I brought it up.
Paul
Re: Events module and emoncms compatability
I just don't see the desire for MQTT as a valid argument against the current events module, can't we have both even?
I'm not opposed to having an events module (I've shown my support in previous posts above), but it is clearly not being supported by OEM otherwise they would have kept it up to date & working. But there is definitely a place for both, and with all the work being done with v9 hopefully it may find it's way back?
How would you propose to create "events" on MQTT?
Publish the feed which I want to monitor, and then I would have a much wider range of options to process the feed, and wider source of outputs. For example, if the feed is greater than x, less than x, stays higher than x for x minutes, is higher or lower than a different feed, is greater than x between 7pm and 7am, feed stops updating, etc, etc. Also set up alerts to a much greater variety of options - pushbullet, pushover, boxcar, etc.
As far as I'm aware the MQTT process works fine,
Yes I did see & contributed to that thread, but there seems to be an issue with resilience - keeping it running especially restarting after a reboot, but I'll give it a try.
Paul
Re: Events module and emoncms compatability
Yes, that's the discussion. The code is in event_model.php.
I got past the database structure change issue, the "rapid fire" was the next issue, where I decided I couldn't investigate the core code to work out why.
Re: Events module and emoncms compatability
The "issue with resilience" was with the mqtt_input.php scrript required to subsribe not for the "publish to mqtt" processor. With the latest phpMQTT from bluerhino to fix a known issue the problems were due to multiple mqtt brokers (which I've seen before with multiple emonPi's) ie subscribing to one and publishing too the other and the 2 instances of broker details hardcoded into the emoncms code.
I just looked to get the correct location to define the broker and found Chaveiro has already moved the mqtt broker details out to the settings in v9 so you should just need update phpMQTT and enable mqtt (set the ip?)
Paul
Re: Events module and emoncms compatability
Thanks Paul, I'll give it a try when I get chance (babysitting!!) and continue this in the v9 development thread if there are any issues.
Paul
Re: Events module and emoncms compatability
Hi
Just to report that emoncms and mqtt has been more or less rock solid since I started the post about setting up mqtt. The only issue I had was with the Pi dropping wifi. In the end I used a cable to the router and I have had no problems since. I now have node red generating events from emoncms and even shutting my servers down if voltage is getting low.(I run on a solar battery system and a low voltage dropout is triggered to protect the battery. Node red shuts down the servers when I approach drop out voltage)
Regards
Ian
Re: Events module and emoncms compatability
Throwing popcorn from the peanut gallery: I represent the "some users" group:
There are alot of enthusiasts on here and MQTT should definitely be provided to integrate everything you want but some users just want a full featured energy monitor without becoming fully fledged home automation geeks like us :-)
FWIW, I'm part of that same group. Just wanna monitor home energy use and PV production.
Re: Events module and emoncms compatability
From the "some users" group:
I'm running emoncms 8.4.0. I recently installed the events module. I have a feed that is either 0 or 1. In the case this feed is 0 I want to set another feed to 0 (i.e. reset a kwd feed to 0).
So I have an event like so:
if feed1 == 0 set feed2 to 0
It works perfectly if I use the test button on the events page but it doesn't work by itself.
For myself having the events module working would be extremely useful.
Re: Events module and emoncms compatability
@JD - Thanks for info and links, I had over looked the end-user case for simplicity and integration of events module, that would apply to both independent single site emoncms installs and to a central server setup for multiple locations like emoncms.org, I suspect you are using the latter? Can you tellus what feed types you are using with the events module? I believe there was a compatabilty issue with the "low-write" version way before the "full" versions and would like to establish if that is because of the php feed types or just a "low-write" version thing.
I'm really hopeful about future emoncms "variants" being different "modes" of the same version so all features and fixes are readily available to all users and compatibility is maintained across the board, you should not have to choose between the events module and improved dashboards.
@Ian - Thanks for letting us know.
@Bill - I think many, possibly even most? users actually fall into that category, even though I love playing with this stuff, I want a 'live' system that just works with a few moving parts as possible, simple, flexible and reliable to use. Plus I'm not the only one in the house and if I don't make it easy I'm just giving other a reason to not use it.
@Iain - I would of liked to of helped you further on your Events module test works but not automatically but I can only guess as there is very little info available and I do not have a working instance of the events module. Can you confirm what type of feeds are you using? have you have had any working events (triggered by feeds not on test)? Have you tried any other event/feed combinations? the info would be very useful and if I can help you further I will do so on your thread.
Paul
Re: Events module and emoncms compatability
@pb66: I am trying to make a business of custom monitoring solutions, and I'm running my own copy of of emonCMS instead of using emoncms.org's bandwidth (and I need the Event module, which is not available on emoncms.org).
Feeds are almost exclusively PHPFIWA, with a few PHPTIMESERIES.
@hendersonian: I have never had success with the "set feed" feature. It could be that I just don't understand it (likely) but I have stopped trying to use it.
Screenshot of one of my user's events page:
Re: Events module and emoncms compatability
@JD - sorry not very well worded :-) I guessed your own server, by the url and use of events module, I meant as opposed to a server at each site, Fantastic news about the phpfiwa and phptimeseries feeds, interesting about the set feed as I have been using that whilst doing some tests on v9, guess I shall have to start again if that doesn't work on a "working system" doh!!
Good luck with your venture,
Paul
Re: Events module and emoncms compatability
On the "Event module: I do not receive any email alert" it is pointed out byJD that the 2 "event module" code blocks are not included in the low-write version and that adding them manually does make the event module work with the low-write version. Those 2 same blocks are present in each through to v9 except the low-write versions which are still missing in the latest (v8.5 low-write). I would be good to try adding those to a current low-write install to see if it works, I suspect not as the v8.5 'full' doesn't work, I cannot find a "v8.4 low-write" in in github so if anyone has the older "pre-emonPi" SDcard image version running and fancies adding those blocks and adding events module I would be keen to hear the outcome.
So to recap, no v8.5> versions work, Since JD is successfully using v8.4 can we assume it broke during the reign of v8.4 (124 changed files with 8,193 additions and 1,681 deletions between 1/9/14 and 29/4/15) this could be why Iain's install doesn't work despite being v8.4 perhaps JD's is an earlier v8.4 ?
I have tried to "git checkout 994e4fee6a19a56df8fe35fbc0a757071ee644ac" (restore to the first v8.4 commit) from v9 but there are all sorts of issues (even after rewriting the settings.php) probably v9 is too different???
@ Iain - If you want to try the version above, you may have more joy than I did, you will probably need to at least redo settings.php, restart apache2 and check&update. but a negative result may not confirm anything as I didn't succeed with v9.
Paul
Re: Events module and emoncms compatability
@PB66: Thanks. All my feeds are PHPFINA and I cannot get any type of event to trigger is it should but test always works. My emoncms version is 8.4.0.
I can't try your suggestion above for a couple of weeks as not at home at the moment - I will try when I get back.
Re: Events module and emoncms compatability
@All: I went through my documentation, and it looks like I installed Emoncms 8.3.5 in November 2014, and then added one fix late December (to fix the year end Zoom visualization bug, fix authored by chaveiro on Dec 18, 2014) which brought me to 8.4.0 I did not update after that. So the version I'm running is 99% 8.3.5.
I have had a sudden burst of fear as I looked at Github and realized that there is no way to install 8.3.5 anymore - 8.4.0 with non-working Event module (per hendersoniain) is the oldest version available via git.
Am I building a business around a dead module/version?
Re: Events module and emoncms compatability
Thanks for letting us know, we are getting a timeline now.
v8.3.5 in Nov '14 ? didyou mean v8.3.6 ?
With github you can restore to any point by finding the point in time (commit) and getting the long id number as shown above for the v3.6 to v8.4 change point.
There are also some "tagged" versions of which both v8.3.6 and v8.4 are present (not all versions are) you will need to look at the commits for each tagged version to be sure of what you are getting, ideally a version should be a definitive snapshot at a specific point in time, but that's not the case here, you can use tagged version numbers with git checkout too.
If you have a working system the way you like it you could just copy the emoncms folder, delete the settings.php and ZIP it, use that rather than downloading or cloning from git for new installs until the events module and versions are sorted. (In fact if you could share it that might help Iain out and I can install it to do some tests too)
Paul
Re: Events module and emoncms compatability
@pb66: Thanks for that info! I have learned some more about git.
Here is a link to a zipped version of my working emoncms folder, minus settings.php.
http://bit.ly/1IQvJrt
I noticed that most of the files on my server are dated "Oct 17, 2014":
Re: Events module and emoncms compatability
Not being at home I can't check my pi for file dates. However, on my laptop I downloaded an image for emoncms on 28/01/15 titled emonSD-13-08-14.img. I will have used this image and then installed the updates available at that time (or a few days later).
Re: Events module and emoncms compatability
@JD - I'm not able to download/open your zip, do you you have dropbox or google drive?
@Iain - Any SDcard image will have had a "low-write" version of emoncms, your other thread said v8.4.0 did you mean 'v8.4.0 low-write' ? what does each webpage say at the foot?
A comment on the v9 preview thread has reminded me there were some changes to how the time is handled in ~v8.5 emoncms, previously in human readable form and then in unix time format, is it possible the events module is not seeing the time in an expected format?
Paul
Re: Events module and emoncms compatability
Downloads/unpacks OK for me, so I've emailed you it Paul.
Paul
Re: Events module and emoncms compatability
@PB66: As not at home I cannot remember what it says at the bottom of the webpage - sorry. Definitely 8.4.0 is given as the version number though.
Re: Events module and emoncms compatability
@ Iain - No problem, We can confirm later. all variants will have the version number but "low-write" or "extended" will be shown too in those cases. Both Chaveiro and Trystan are currently away too so there is unlikely to be much progress right now.
@ Paul - Thanks for doing that,
Paul
Re: Events module and emoncms compatability
Had the same problem, switched to (master branch), prowl working ok
https://github.com/emoncms/emoncms/blob/low-write/docs/switchtofull.md
just need to flush out the old prowl messages
Re: Events module and emoncms compatability
I've just read this topic. Can only support v9 if module craches, fixes should be compatible with lower versions. Don't have time to code events module tough.
What is the problem with the module on v9 anyway ?
I've installed it and top of v9 and after db update it does not crash, didn't test functionality but that is entirely dependent on module code not emoncms code.
Fast reading the code, the events module is pretty much isolated from the rest of emoncms, apart from:
- increases by and decreases by type only works on mysql feeds and crashes on other feed engines.
- set feed action requires redis.
A personal opinion, this module tries to bring IoT to emoncms as a module. This is a dificult task and maintaining it as a module will be limited to few supported targets.
There are some open source projects just for that: receive an input, optional act on its value, and do some action.
Acting on feed values is already possible with input processor conditional engines (available since 8.5.0 XT) as its also possible to trigger mqtt messages on feed conditions.
Paul Reed already gave a clue on what he's using: Node-RED. I think its a good open project that can receive input from mqtt and should be explored. A quick google find gave https://dweet.io/ but this is hosted by some one and no source code is available.
So configuring inputs with conditional processors + send to mqtt + node-Red is a good alternative.
For future i see using conditional processors + modular processes that one can easy build to give easy support to solutions like dweet.
Re: Events module and emoncms compatability
I have watched hours of youtube video on MQTT and Node Red. Looks super cool for developers, and much more powerful than the Event module, but not anything that an end-user could use. I still don't fully understand it myself.
With the Event module, my 75 year old dad can log in and add an event to e-mail when his generator has started... not sure how to duplicate this simplicity any other way.
You guys are far more advanced than I am however, I"m open to suggestions.
Re: Events module and emoncms compatability
Node-red is pretty much a blank canvas which you can drag and drop 'functions' (the correct name is 'nodes') into, and join them together to create things.
So by example, I've dropped a MQTT node below (to listen for feed data from emoncms), dropped a 'Set Criteria' node next to it (which filters out readings below 5kW), dropped a 'Limiter' node (to stop multiple alerts being sent), dropped a 'Template' node (which turns the feed reading into a friendly sentence - such as "Hey, you're using too much power - currently 6202W") and finally a 'Pushover' node (which 'pushes' that sentence to my phone).
But the last node could be any one of a range of outputs - it could be a tweet, an email, pushbullet, pushover ect. there's new nodes being added all of the time.
The whole purpose of node-red is to allow people who cannot write code to use their imaginations and develop whatever they want by dragging & dropping nodes. I fall into that category, and yet I've found node-red fairly easy to use.
Another advantage is that when someone creates something really useful, they generally share what they've done, and you can simply import their work into your node-red and start using it.
http://nodered.org/ - main node-red website
https://groups.google.com/forum/#!forum/node-red - node-red forum (usually technical stuff)
Paul
Re: Events module and emoncms compatability
Took NR for a quick spin this afternoon. Gives new meaning to the expression "connect-the-dots"
Gotta give this puppy a closer look!. Thanks for the example, Paul.
Re: Events module and emoncms compatability
Coming back to events module:
My actual version is: v8.4.0, bufferedwrite:0.0.2 according to the webpage.
I have redis service running OK also.
Re: Events module and emoncms compatability
Hi,
I also think that the events module should be core.
Node-red is nice but not usable for end user.
Eric
Re: Events module and emoncms compatability
We already have provision for emailing within emoncms and the ability to "publish to mqtt" so it would not take much to add email or mqtt,"event notification" process(es) with args for topic/email address, message(inc val), repetition interval(snooze before re-notification). This would make good use of the conditional processors.
@ Iain - that is a low-write version, only the full versions had the "event module code" needed for the event module to work, the code can be added but I don't think that is the whole solution, you will need to back date to pre v8.4 as well.
Paul
Re: Events module and emoncms compatability
OK. Would that be just a case of downloading an image and starting again on my Pi?
Re: Events module and emoncms compatability
Unfortunately not Iain, you have 2 bridges to cross. The first is that low-write variants (required for Pi SDcard) do not have the 2 events module code blocks. See JD's fix in Event module: I do not receive any email alert. You can add the blocks to a low-write emoncms, or switch to a "full" emoncms not on a SDcard (or SSD, USB stick etc). The second is that you need a compatible version of emoncms either by backdating to a version around v8.3.6 or early v8.4.0, (that may not have other features or fixes) or by fixing the current version(s) and make them compatible. But we have not yet established the cause of the break.
Since those that could won't, and those that would can't, it looks unlikely the events module will make a come back. That is fine in this instance, if a replacement is implemented in the core as suggested above. But pretty poor if the only option is to over complicate things with a mandatory installation of, and crash course in, mqtt, node red and/or something else just to get an email out of emoncms, based on a feed value when it can already email you a password reset.
Either way, it doesn't promote the development or use of optional modules when they are effectively unsupported, which affects the overall appeal of emoncms itself. Very poor show !!! (IMO)
Paul
Re: Events module and emoncms compatability
Paul, just to add, the *optional modules are also completely open source. Well, events module is.
Re: Events module and emoncms compatability
@elyobelyob: If I had the ability, I would update the events module as it's central to what I'm doing! But it takes me hours to make simple changes to things. I am amazed at how fast others like chaveiro make huge changes to the code. Maybe someone with that skillset will take on the task, but until then I will stay on 8.4.0.
Re: Events module and emoncms compatability
Yes my coding skills (or more correctly lack of) are not up to updating the events module. However, reading through PB66's post with reference to:
I added the two blocks as suggested and my events module seems to be working as required now - that is my requirements of setting a feed value back to zero depending on another feed value is working for me now. I am happy with that for now so thank you PB66 for pointing me in the correct direction.
Re: Events module and emoncms compatability
I'm glad you have it working now, this is a significant point as it means there isn't a change that broke the event module during v8.4, the "later v8.4 not working" has been a bit of a red herring. The fact that it is a late "low-write" v8.4 and adding the code blocks resolves the issue confirms the original assumptions.
The "low-write" versions of emoncms weren't "event module ready" as the 2 code blocks are missing and there was no problem until the v8.5 changes were implemented..
Paul
Re: Events module and emoncms compatability
Yes it's good it's working and it at least means it works up to my version with the missing code blocks. In my case it probably comes back to an early commentt of yours in this thread - am I doing something wrong or is it really a bug - that's the problem with having limited knowledge. But your help is much appreciated.
Re: Events module and emoncms compatability
Hello friends
I got here because I find that the events module emoncms no longer works and is a great pity
I commented that I tested with several different Linux PC
1) ubuntu 12.04 with 8.3 emoncms and events work.
2) ubuntu 14.04 with emoncms 9RC2 not working. I get the message: "Notice: Undefined index: order in /var/www/html/emoncms/Theme/basic/menu_view.php on line97"
3) ubuntu 14.04 with emoncms 9RC2 testing events and send messages but when trying to feed a receipt input "Fatal error: Call to a member function get () on a non-object in / var / www / html / emoncms / Modules / event / event_model.php on line 238 "
4) Rasperry pi2 with emoncms downloaded image available and events work. In this case every time you add a new input is necessary to remove the module and add events to fly to work.
I am not an expert in emoncms, if a user interested. The module events is vital for many of us. Or is there another way to get emoncms advise us if something is wrong? Maybe I'm missing something
I follow the thread with interest to see if they know they find a solution.
I ask no way to dispose of emoncms 8.3.5 to install and so have the events?
Where I can get the old versions of emoncms?
Greetings to all


index blog contact (@)
Get in contact via<EMAIL_ADDRESS>or checkout the social links at my portfolio
Thanks for checking out proj_code! If you want to learn more about this, use it or contribute to it - it's right here on GitHub


An Arcade Platformer Game With Fun Levels and Big Explosions That Will Blast Your Ears Away(not literally) Available for Windows And Mac.
An Railroad Shooter Game With A Lot of Explosions and Fun Bosses.. The Game is Still In Development, And Will Try to Release It as soon as possible.
A Jumbled Word Puzzle Which can be played by anyone and is fun and intresting to teach kids about the Things present at a place. Available for Windows And Mac.
I made This Space Ship at first to use in my game but i ended up doing something else..
But is a well made model and looks cool
I made this using Blender.
COMING SOON!!
This was the model i first made and i have used it inmy game Rocket Frenzy.
I had too much fun making this and the end result is pretty good.
I made this using Blender too.
WE all love aesthetic images.
I got you covered with anime aesthetic images
I can't do complex art but still i can do a few simple vectors.. The idea and creativity is all mine..
I edit and create anime pfps, stickers and many more... Here is an aesthetic of GOJO for you all.
I have complete package for you from shirts to Ts and long sleeves Embroided with your fav characters.
Everyone wants that one anime hoodie and don't worry i got you covered.. P.S evrything takes a bit of time so be sure to check it out and follow and like these designs.
From mobile covers to laptop covers and also a cover for your tablet You can find a lot of variety there, and I'm sure you will like it.


Access to Our Site
We believe that our web site is compliant with Section 508 and W3C accessibility design guidelines. Artemis Consulting is making every effort to make its FDA Drug Monitor available to all members of the public.
If you are a person with a disability and you have trouble using our web site–or if you experience difficulty using any of our services, products, or facilities–please tell us about the problem.
Send us an e-mail message at: accessibility-feedback@artemisconsultinginc.com


Length : 0
Length more than 5.
Length less than 10.
Contains numerical character.
Contains special character.
Shouldn't contain spaces.


Photos: Ajay Devgn and Saif Ali Khan launch the trailer of Tanhaji: The Unsung Hero
by Kajol MathurThe wait is finally over as the makers of Ajay Devgn, Saif Ali Khan, and Kajol starrer Tanhaji: The Unsung Warrior have released the trailer of the film. One look at it and you know it’s truly excellent. Set in the 17th-century era, the period drama also stars Sharad Kelkar, Luke Kenny and Padmavati Rao in interesting roles. Based on the life of Tanaji Malusare and the military leader in the army of Chatrapati Shivaji Maharaj, the film had been making a lot of noise ever since it’s announcement.
Present at the trailer launch of the film, our shutterbugs snapped the entire cast and crew sans Kajol as they posed together and talked about the project. It was just two days ago before the trailer release when Ajay had unveiled one final promo which got all his fans excited. Ecstatic about the big day, both Ajay and Saif were seen bonding and having a great time together. Looking super handsome, Saif opted for an olive green suit which he paired with a white shirt. Meanwhile, Ajay along with his co-stars and Rohit Shetty, Bhushan Kumar wore black shirts with trousers.
Check out all their pictures from the trailer launch here.


 For particular cryptocurrency, you can ask me about its basic info such as the crypto’s price, trading volume, % change of price and market-cap. Thanks to the introduction RASA makes this all possible including my creators. Feel free to fire your questions!
I currently support Bitcoin (BTC), Ripple(XRF), Ethereum(ETH), Bitcoin Cash (BTH).
Rasa Open Source includes: NLU - determines what the user wants and captures key contextual information Core - selects the next best response or action based on conversation history Channels and integrations - connect assistant to users and backend systems
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Deploy Cryptobot on Google Cloud Platform (GCP) App Engine, Computer Engine and Database - Deploy Cryptobot on various channels for example facebook messenger, telegram with their APIs - Collect more user data through interactive learning - Improve detection of mispelling, synonym - Expand the scope to more cryptocurrencies - General cryptocurrency introduction - Improve user experience with more natural dialogflow - Multiple intents recognition


{% extends "base.html" %} {% block title %}{% trans "Server Error" %}{% endblock %} {% block content %}
{% trans "We will automatically track these errors, but if the problempersists, please feel free to contact us. In the meantime, pleasetry to refresh." %}
{% endblock content %}


"JOKNEAM "gathered by the people, (Joshua 19:11; 21:34), a city “of Carmel” (12:22), i.e., on Carmel, allotted with its suburbs to the Merarite Levites. It is the modern Tell Kaimon, about 12 miles south-west of Nazareth, on the south of the river Kishon.
"JOKNEAM "gathered by the people, (Joshua 19:11; 21:34), a city “of Carmel” (12:22), i.e., on Carmel, allotted with its suburbs to the Merarite Levites. It is the modern Tell Kaimon, about 12 miles south-west of Nazareth, on the south of the river Kishon.


Charts
Accessibility
Take Advantage Of Technology
Multiple Ways To Get Content
The content of charts is almost ready-made for enabling a level playing field between those who are sighted and those who are not. Charts are a way of organizing information; normally the way we process that information is by visual means, but there's nothing to say that the same organized information isn't just as easily processed by aural or tactile means.
General and Technology-specific Techniques
General and Technology-specific Techniques as defined by the W3C:
General techniques describe basic practices that apply to all technologies. Technology-specific techniques apply to a specific technology.
Some success criteria do not have technology-specific techniques and are covered only with general techniques. Therefore, both the general techniques and the relevant technology-specific techniques should be considered.
Publication of techniques for a specific technology does not imply that the technology can be used in all situations to create content that meets WCAG 2.0 success criteria and conformance requirements. Developers need to be aware of the limitations of specific technologies and provide content in a way that is accessible to people with disabilities.
Understanding Techniques for WCAG Success Criteria as accessed 15 April 2019
Examples
Here we look at a couple of different examples due to the solutions they provide. One company is called "Highcharts", and has obviously made accessibility a priority. Check out their accessibility APIs, particularly, their "announceNewData" property. Another company is SAS, which produces charts for mobile with an eye toward accessibility.


However, this cannot be.
If one cannot connect an "is" to an "ought" then morality cannot be determined by anything other than one's feelings. The reason for this is that reality and descriptions of "is" are objective while feelings vary from person to person. But if morality is based off of feelings, which vary from person to person, then it must be that morals vary from person to person. However, if morality is objective, it cannot vary from person to person.
Therefore, we reach a contradiction.


Coverage Summary for Class: ReviewRating (org.springframework.samples.oculusdb.administrator)
| Class | Class, % | Method, % | Line, % |
|---|---|---|---|
| ReviewRating | 0% (0/ 1) | 0% (0/ 4) | 0% (0/ 46) |
1 package org.springframework.samples.oculusdb.administrator;
2
3 import java.io.*;
4 import java.util.*;
5
6 public class ReviewRating {
7
8 public static void main(String[] args) {
9
10 getPositiveAdjetivesOfText(
11 "A really fun and probably overlooked rhythm-action game! It's more challenging than Beat Saber, Audica and Pistol Whip, especially in the sense that you need to move around quite a bit more, but the easy difficulty will ease anyone into the play style efficiently enough. I kinda love the campaign storyline; it gives you a little bit more of a reason to play than just working your way through a track list and perfecting your scores on indvidual songs.\n"
12 + "\n"
13 + "There aren't any licensed songs but the composer (or composers?) has done a really good job of creating great-sounding original tracks that span multiple EDM genres. I also really like the idea of each in-game character you compete against loosely representing a genre/style. Oh, and there's an option to add custom songs, which I haven't tried yet but will no doubt cater to anyone who'd like to use tracks from their own library.");
14
15 getNegativeAdjetivesOfText(
16 "A really fun and probably overlooked rhythm-action game! It's more challenging than Beat Saber, Audica and Pistol Whip, especially in the sense that you need to move around quite a bit more, but the easy difficulty will ease anyone into the play style efficiently enough. I kinda love the campaign storyline; it gives you a little bit more of a reason to play than just working your way through a track list and perfecting your scores on indvidual songs.\n"
17 + "\n"
18 + "There aren't any licensed songs but the composer (or composers?) has done a really good job of creating great-sounding original tracks that span multiple EDM genres. I also really like the idea of each in-game character you compete against loosely representing a genre/style. Oh, and there's an option to add custom songs, which I haven't tried yet but will no doubt cater to anyone who'd like to use tracks from their own library.");
19
20 }
21
22 private static Map<String, Integer> getPositiveAdjetivesOfText(String paragraph) {
23
24 File positiveFile = new File("src/main/resources/tempFiles/positiveWords.txt");
25
26 ArrayList<String> positiveWordList = new ArrayList<String>();
27 ;
28
29 try {
30
31 BufferedReader br = new BufferedReader(new FileReader(positiveFile));
32 String st;
33 while ((st = br.readLine()) != null) {
34 st = br.readLine();
35 positiveWordList.add(st);
36 }
37
38 }
39 catch (FileNotFoundException e) {
40 e.printStackTrace();
41 }
42 catch (IOException e) {
43 e.printStackTrace();
44 }
45
46 Map<String, Integer> positiveOccurrences = new HashMap<String, Integer>();
47
48 String[] splittedWords = paragraph.split(" ");
49
50 for (String word : splittedWords) {
51 if (positiveWordList.contains(word)) {
52 Integer poldCount = positiveOccurrences.get(word);
53 if (poldCount == null) {
54 poldCount = 0;
55 }
56 positiveOccurrences.put(word, poldCount + 1);
57 }
58 else {
59 continue;
60 }
61 }
62 System.out.println(positiveOccurrences);
63
64 return positiveOccurrences;
65 }
66
67 private static Map<String, Integer> getNegativeAdjetivesOfText(String paragraph) {
68
69 File negativeFile = new File("src/main/resources/tempFiles/negativeWords.txt");
70
71 ArrayList<String> negativeWordList = new ArrayList<String>();
72 ;
73
74 try {
75 BufferedReader br2 = new BufferedReader(new FileReader(negativeFile));
76 String st2;
77 while ((st2 = br2.readLine()) != null) {
78 st2 = br2.readLine();
79 negativeWordList.add(st2);
80 }
81 }
82 catch (FileNotFoundException e) {
83 e.printStackTrace();
84 }
85 catch (IOException e) {
86 e.printStackTrace();
87 }
88
89 Map<String, Integer> negativeOccurrences = new HashMap<String, Integer>();
90
91 String[] splittedWords = paragraph.split(" ");
92
93 for (String word : splittedWords) {
94 if (negativeWordList.contains(word)) {
95 Integer noldCount = negativeOccurrences.get(word);
96 if (noldCount == null) {
97 noldCount = 0;
98 }
99 negativeOccurrences.put(word, noldCount + 1);
100 }
101 else {
102 continue;
103 }
104 }
105 System.out.println(negativeOccurrences);
106
107 return negativeOccurrences;
108 }
109
110 }


A VTK pipeline primer (part 2)
05 Oct 2014In a previous blog, I covered some of the preliminaries for understanding how VTK's pipeline works. In this article, we will see the pipeline in action and start dissecting the execution path to understand the inner-workings of algorithms.
Let's start with a very simple pipeline.
We'll use the following code for the source and the algorithm.
import vtk
from vtk.util.vtkAlgorithm import VTKPythonAlgorithmBase
class MySource(VTKPythonAlgorithmBase):
def __init__(self):
VTKPythonAlgorithmBase.__init__(self,
nInputPorts=0,
nOutputPorts=1, outputType='vtkPolyData')
def RequestInformation(self, request, inInfo, outInfo):
print "MySource RequestInformation:"
# print outInfo.GetInformationObject(0)
return 1
def RequestUpdateExtent(self, request, inInfo, outInfo):
print "MySource RequestUpdateExtent:"
# print outInfo.GetInformationObject(0)
return 1
def RequestData(self, request, inInfo, outInfo):
print "MySource RequestData:"
# print outInfo.GetInformationObject(0)
return 1
class MyFilter(VTKPythonAlgorithmBase):
def __init__(self):
VTKPythonAlgorithmBase.__init__(self,
nInputPorts=1, inputType='vtkPolyData',
nOutputPorts=1, outputType='vtkPolyData')
def RequestInformation(self, request, inInfo, outInfo):
print "MyFilter RequestInformation:"
# print outInfo.GetInformationObject(0)
return 1
def RequestUpdateExtent(self, request, inInfo, outInfo):
print "MyFilter RequestUpdateExtent:"
# print outInfo.GetInformationObject(0)
return 1
def RequestData(self, request, inInfo, outInfo):
print "MyFilter RequestData:"
# print outInfo.GetInformationObject(0)
return 1
Then we instantiate and execute this pipeline with the following code.
s = MySource()
f = MyFilter()
f.SetInputConnection(s.GetOutputPort())
f.Update()
This will print the following.
MySource RequestInformation:
MyFilter RequestInformation:
MyFilter RequestUpdateExtent:
MySource RequestUpdateExtent:
MySource RequestData:
MyFilter RequestData:
The most interesting thing here is the order of execution of the various methods representing pipeline passes. Here are the order of the passes:
- RequestInformation
- RequestUpdateExtent
- RequestData
Furthermore, notice during RequestInformation
and RequestData
,
the method execution happens starting at the upstream algorithm (MySource)
and continues downstream. On the other hand, during RequestUpdateExtent
,
execution starts downstream and continues upstream. Why this is so will
become more clear as we discuss each pass.
RequestInformation
This is the meta-data pass. This is the pass where the sources (usually
readers) tell downstream algorithms about what is available for them
to request. Some examples about meta-data include whole extent (see
this blog for example), timesteps
available, ensemble members available, data blocks available etc.
This meta-data usually originates in the readers (not necessarily required
to though) and is either copied downstream or modified. For example, a
subsetting filter can reduce the whole extent during its RequestInformation
telling downstream that it can access a smaller subset that what the reader
can provide. Or a filter that integrates a value over time may remove the
timesteps meta-data since its output represent the whole time range. We'll
see plenty of examples of this in upcoming blogs.
To demonstrate how this works, let's modify our example a bit. Let's create a meta-data key with:
from vtk.util import keys
metaDataKey = keys.MakeKey(keys.DataObjectMetaDataKey, \
"a meta-data", "my module")
and change our source to create a meta-data instance with this key as follows
class MySource(VTKPythonAlgorithmBase):
def RequestInformation(self, request, inInfo, outInfo):
print "MySource RequestInformation:"
outInfo.GetInformationObject(0).Set(metaDataKey, vtk.vtkPolyData())
print outInfo.GetInformationObject(0)
return 1
Let's also change our filter to print its output information in RequestInformation
as follows
class MyFilter(VTKPythonAlgorithmBase):
def RequestInformation(self, request, inInfo, outInfo):
print "MyFilter RequestInformation:"
print outInfo.GetInformationObject(0)
return 1
Now if we execute the RequestInformation
pass with
f.UpdateInformation()
we get the following output
MySource RequestInformation:
vtkInformation (0x7fe5aadb56b0)
...
a meta-data: vtkPolyData(0x7fe5aae5a410)
MyFilter RequestInformation:
vtkInformation (0x7fe5aad4ade0)
...
a meta-data: vtkPolyData(0x7fe5aae5a410)
Note that the output information of MyFilter
contains the meta-data generated
by MySource
. Certain keys are automatically copied by the pipeline from upstream
to downstream during the RequestInformation
pass. For example, any key that
is an instance of vtkInformationDataObjectMetaDataKey
is copied automatically.
Now say that MyFilter
behaves in such a way that the meta-data coming from
upstream needs to change for downstream. For example, if it computes a subset
of its input, the extent meta-data would have to be changed. Here is how something
like this can be accomplished.
29 class MyFilter(VTKPythonAlgorithmBase):
...
35 def RequestInformation(self, request, inInfo, outInfo):
36 print "MyFilter RequestInformation:"
37 print outInfo.GetInformationObject(0)
38 metaData = inInfo[0].GetInformationObject(0).Get(
39 metaDataKey)
40 newMetaData = metaData.NewInstance()
41 newMetaData.ShallowCopy(metaData)
42 someArray = vtk.vtkCharArray()
43 someArray.SetName("someArray")
44 newMetaData.GetFieldData().AddArray(someArray)
45 outInfo.GetInformationObject(0).Set(metaDataKey, newMetaData)
46 print outInfo.GetInformationObject(0)
47 return 1
Here, on line 38, we extract the meta-data from the input information, we make a copy of it on line 40-41, we add a new array to the copy on lines 42-44 and on line 45, we overwrite the output meta-data with the copy. If we run this example, the output will look like the following.
vtkInformation (0x7f9eab59bd30)
...
a meta-data: vtkPolyData(0x7f9eab59f840)
MyFilter RequestInformation:
vtkInformation (0x7f9eab59c0b0)
...
a meta-data: vtkPolyData(0x7f9eab59f840)
vtkInformation (0x7f9eab59c0b0)
...
a meta-data: vtkPolyData(0x7f9eab5a0500)
Note how the pointer referenced by "a meta-data" is different on the third printout. Here is a graphical presentation of what is going on.
Next, let's look at a more realistic example. See this blog for details. Our pipeline looks like this:
HDF5Source
's RequestInformation
is as follows:
def RequestInformation(self, request, inInfo, outInfo):
f = h5py.File(self.__FileName, 'r')
dims = f['RTData'].shape[::-1]
info = outInfo.GetInformationObject(0)
info.Set(vtk.vtkStreamingDemandDrivenPipeline.WHOLE_EXTENT(),
(0, dims[0]-1, 0, dims[1]-1, 0, dims[2]-1), 6)
return 1
RequestSubset
's RequestInformation
is as follows:
def RequestInformation(self, request, inInfo, outInfo):
info = outInfo.GetInformationObject(0)
info.Set(vtk.vtkStreamingDemandDrivenPipeline.WHOLE_EXTENT(), \
self.__UpdateExtent, 6)
return 1
You will notice the same design pattern:
HDF5Source
creates meta-data inRequestInformation
,- This meta-data is copied to the output of
RequestSubset
by the pipeline, RequestSubset
overwrites this meta-data inRequestInformation
to fit its output.
Although the meta-data involved as well as the copying logic (specially
when multiple inputs and/or outputs are involved) can get fairly complicated, if you
understand this basic pattern, you will be able to decipher much of what is going
on during RequestInformation
.
I will cover RequestUpdateExtent
and RequestData
in upcoming blogs. Afterwards,
we will be fully equipped to explore what can be achieved using VTK's pipeline.


GitLab Phantom App
This app connects a GitLab instance with Splunk>Phantom instance. The GitLab App for Phantom allows playbooks to implement various actions from the GitLab API.
File: readme.html
Copyright (c) Peter Bertel, 2020
Licensed under Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0.txt)


serverHelper module¶
-
serverHelper.
check_user_data
(user_data)¶ Checks to see that the input for the /new_user endpoint is valid, i.e. a dictionary with the correct key-value pairs and types.
Parameters: user_data – JSON of data from a server request (from the GUI) Returns: The input, if no exceptions are thrown.
-
serverHelper.
compute_histograms
(raw_images)¶ This function takes a list of images and computes the histograms of each :param raw_images: a list of numpy array images :type raw_images: list of numpy arrays
Returns: bins and histogram information formatted as following [image #][bins or counts][channel] Return type: list
-
serverHelper.
decode_images
(base64_string)¶ Decodes the uploaded image(s).
Parameters: base64_string – A list of image(s) encoded in base64 format Returns: A list of decoded image(s), i.e. as numpy array(s) of floats
-
serverHelper.
encode_images
(images)¶ Encodes the processed image(s).
Parameters: images – A list of input images (nparrays) Returns: A list of encoded image(s) as ByteStrings
-
serverHelper.
encode_images_from_file
(image_paths)¶ Encodes the processed image(s).
Parameters: image_paths – List of input image filepath Strings ex).jpg , .png, .tiff Returns: A list of encoded image(s) as ByteStrings
-
serverHelper.
read_comms
()¶ This function returns communiation addresses for a given computer. :returns:
- a list containing server broadcating address and client access
- address
Return type: list
-
serverHelper.
save_ims_to_memory
(user)¶ This function takes images and numpy arrays and encodes them as PNG files in an in-memory buffer :param user: a class containing the image arrays to be processed :type user: class
Returns: a list of BytesIO objects containing image files Return type: list
-
serverHelper.
unpack_zip_files
(zip_file)¶ Unzips in-memory zip files to return a list of PIL Image objects :param zip_file: an in-memory zip file, containing images to process :type zip_file: BytesIO
Returns: a list of the unpacked images Return type: list of PIL image objects


PERF\-DIFF
Section: Misc. Reference Manual Pages (1)Updated: 10/16/2012
Index Return to Main Contents
NAME
perf-diff - Read two perf.data files and display the differential profileSYNOPSIS
perf diff [oldfile] [newfile]
DESCRIPTION
This command displays the performance difference amongst two perf.data files captured via perf record.
If no parameters are passed it will assume perf.data.old and perf.data.
OPTIONS
-M, --displacement
- Show position displacement relative to baseline.
-D, --dump-raw-trace
- Dump raw trace in ASCII.
-m, --modules
- Load module symbols. WARNING: use only with -k and LIVE kernel
-d, --dsos=
- Only consider symbols in these dsos. CSV that understands m[blue]file://filenamem[] entries.
-C, --comms=
- Only consider symbols in these comms. CSV that understands m[blue]file://filenamem[] entries.
-S, --symbols=
- Only consider these symbols. CSV that understands m[blue]file://filenamem[] entries.
-s, --sort=
- Sort by key(s): pid, comm, dso, symbol.
-t, --field-separator=
- Use a special separator character and doncqt pad with spaces, replacing all occurrences of this separator in symbol names (and other output) with a . character, that thus itcqs the only non valid separator.
-v, --verbose
- Be verbose, for instance, show the raw counts in addition to the diff.
-f, --force
- Doncqt complain, do it.
--symfs=<directory>
- Look for files with symbols relative to this directory.
SEE ALSO
perf-record(1)
Index
This document was created by man2html, using the manual pages.
Time: 05:29:07 GMT, December 24, 2015


BitmovinApiSdk\Models\StartManifestRequest
Synopsis
class StartManifestRequest
extends ApiResource
{
- // members
- public ManifestGenerator $manifestGenerator;
- // methods
- public void __construct()
- public $this manifestGenerator()
- // Inherited methods from ApiResource
- public void __construct()
- public static $this create()
- public void toArray()
Hierarchy
Members
public
- $manifestGenerator — BitmovinApiSdk\Models\ManifestGenerator
Methods
public
- __construct()
- manifestGenerator() — Major version of the manifest generator to be used. `V2` is the recommended option and requires the following minimum encoder versions: 2.121.0 for DASH, 2.111.0 for HLS, 2.108.0 for SMOOTH. The default value depends on the sign-up date of your organization. See [documentation](https://developer.bitmovin.com/encoding/docs/manifest-generator-v2) page for a detailed explanation.


Summer School (1987) 94m.
  While SUMMER SCHOOL is rooted in familiar genre conventions (a beach scene, a party, forgettable pop/rock music on the soundtrack) it noticeably steers clear of the expected plot conventions (e.g. the revenge-by-humiliation ritual that usually climaxes films of this type). After the first few minutes it looks like the 'dumb teen sex comedy' genre is about to give way to the even more repellent high-school cliché of 'unorthodox teacher inspires misfit kids to succeed'. Without giving away the film's ending, which is more realistic than you'd expect, SUMMER SCHOOL heads into that territory but does make a few compromises.
SUMMER SCHOOL's script is full of clever lines and snappy dialogue, particularly in the exchanges between Harmon and neighboring teacher Kirstie Alley. The kids are all 'character types' but they aren't the usual jerks we see in high school comedies, and even the standard authority-figure villain (Robin Thomas) isn't the stock type - for a moment you'll wonder if he's secretly amused at the outrageous prank the class pulls on their substitute teacher. Harmon and Alley spar well together - I don't know if this role helped her land the part of Rebecca Howe in CHEERS (it was in the same year) but there's obvious similarities. She's immensely likable, as is the easy-going Harmon. The class is also likable, despite their limited screen time as individual characters. Even Harmon's dog is likable! What's odd about this film is that although there's no nudity, sex or drugs, there is some coarse language (it's all compressed into one early scene!) and gore (we see 'highlights' from a 16mm print of THE TEXAS CHAINSAW MASSACRE) that lifts it out of any family viewing category. There's also a pregnant teenager played by Shawnee Smith, a minor role which is treated in an unsensational manner and with a surprisingly practical resolution. Her fellow students include Dean Cameron and Courtney Thorne-Smith, who had already struggled with high school life in the TV series FAST TIMES. The happy final shot, which has a spontaneous feel to it, sums up the spirit of the whole movie.
<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


§302A-605 Principals and vice-principals. Principals and vice-principals shall meet the department's certification requirements. [L 1996, c 89, pt of §2; am L 2000, c 31, §1; am L 2001, c 256, §2 and c 287, §1; am L 2010, c 34, §2; am L 2011, c 75, §2; am L 2014, c 232, §8]


To review a viewpoint, simply click on the correct colored face based on the following guidelines:
A conceptual animation of a "Rhombi-cube-octa-hedron" or, simply, a Rhombicuboctahedron
This shape gives us 26 axis-aligned faces to distinguish an animal's viewpoint. The shape is made up of 3 octagons, each along the x-axis, y-axis, and z-axis. The octagon faces are squares. The 8 "corners" are shaped as triangles, with each side of the triangle touching each of the three axis.
Whew... That sounded complicated
Another way to think about this shape is to think of a standard
Rubik's Cube toy:
A Rubik's Cube
The shape of a standard cube (like a Rubik's Cube, above) has similar traits to the Rhombicuboctahedron. Both shapes have 6 "primary" faces:
top, bottom, left, right, front, and back.
A Rhombicuboctahedron, however, puts squares between these "primary" faces to make the various "secondary" combinations. For example: top-front, front-left, front-right, bottom-front and left-front, top-left, left-back, and bottom-left. There are 12 of these two-face combinations. Using the example of the Rubik's Cube, there are 12 edges that touch two colors (red and white, or blue and red, or blue and white, or the other 9 edges on the back and underside of the cube).
The remaining 8 faces of the Rhombicuboctahedron that we have not discussed are the "tertiary" faces, which are a combination of three faces. They are, in their entirety: top-front-left, top-front-right, top-back-left, top-back-right, bottom-front-left, bottom-front-right, bottom-back-left, and bottom-back-right. On the Rhombicuboctahedron, these are triangle faces instead of rectangles. Coming back to our ever-handy Rubik's Cube analogue, we can see that the 8 tertiary faces are represented by the 8 corner points of the cube. For example, the corner that sits between the white-red-blue.
The purpose of this interface is to allow a user to quickly and easily specify one of the 26 faces on the Rhombicuboctahedron in order to specify the viewpoint of the animal. For example, the Rhombicuboctahedron shape allows us to specify just "front" or a combination of two viewpoints like "back-right" or even complicated views such as "bottom-top-left". To keep it fast and easy to use, we flatten the Rhombicuboctahedron shape out to show only one "side" at a time, facing towards you. To rotate the shape by 180 degrees, hold down the
Shift key.
Note: Use the Shift key to rotate the grid and see other viewpoints
The colors of the grid indicate which type of faces you are looking at: primary, secondary, or tertiary. The color blue is reserved for primary, green for secondary, and orange for tertiary. The color red is reserved for the primary pair that is currently the default face, and is always shown in the center of the grid. When viewing the grid, you can see 17 of the faces at one time. To see the remaining 9 faces on the "back side" of the Rhombicuboctahedron, hold down the
Shift key.
Lastly, when you hover over a face, it will highlight and show the full name of currently selected face at the top left of the grid. To select that viewpoint for the given example, simply click on the viewpoint face and it will be saved automatically.
The default face (and actually a pair of faces) can be changed below the grid. For example, the option "Left-Right" shows the Left viewpoint as the default face and the Right viewpoint as it's opposite when the
Shift key is held down. The option "Right-Left" reverses this and makes the Right viewpoint the default (no
Shift key held down) and the Left viewpoint the opposite that is shown when
Shift is held.
Note: There are 6 default face options, but all of the 26 faces of the Rhombicuboctahedron can be accessed from any of the options with the help of the Shift key.
The defaults are purely a user preference based on the frequency of a given viewpoint in the data that is being reviewed. You can change these defaults as needed and they will stay saved between Accepting the viewpoint.


| Method String: | OCTPART |
| Parameters: | |
| OCT_DIM | Specifies whether the 2D or 3D Octree algorithms should be used. The
3D algorithms can be used for 2D problems, but much memory will be wasted
to allow for a non-existent third dimension. Similarly, a 2D algorithm
can be used for 3D surface meshes provided that the surface can be projected
to the xy-plane without overlapping points.
2 = use 2D algorithm; 3 = use 3D algorithm. |
| OCT_METHOD | The SFC to be used.
0 = Morton Indexing; 1 = Grey Code; 2 = Hilbert. |
| OCT_MINOBJECTS | The minimum number of objects to allow in a leaf octant of the octree. These objects will be assigned as a group to a processor, so this parameter helps define the granularity of the load-balancing problem. Values greater than or equal to one are allowable. |
| OCT_MAXOBJECTS | The maximum number of objects to allow in a leaf octant of the octree. These objects will be assigned as a group to a processor, so this parameter helps define the granularity of the load-balancing problem. Values greater than or equal to one are allowable. |
| OCT_OUTPUT_LEVEL | Amount of output the load-balancing algorithm should produce.
0 = no statistics; 1 = statistics summary; 2 = debugging information; 3 = data for generating plots. |
| Default: | |
| OCT_DIM = 3 | |
| OCT_METHOD = 2 | |
| OCT_MINOBJECTS = 10 | |
| OCT_MAXOBJECTS = 40 | |
| OCT_OUTPUT_LEVEL = 0 | |
| Required Query Functions: | |
| ZOLTAN_NUM_OBJ_FN | |
| ZOLTAN_OBJ_LIST_FN | |
| ZOLTAN_NUM_GEOM_FN | |
| ZOLTAN_GEOM_MULTI_FN or ZOLTAN_GEOM_FN |


This page is a playground for experimenting with different audio-related configurations in relation to Pitchy. It is useful for experimenting with ways to get the best pitch detection quality for your application.
Use your microphone to collect pitches for the graph below, and use the controls below the graph to tweak the configuration.
If no input is being recorded, you may have to click this button to reset the AudioContext, since some browsers (such as Chrome) will not allow an AudioContext to start unless it is in response to a user action:


The old axiom for writers was that you had to paper your wall with rejection slips before you finally got a piece accepted. In this age, though, more and more publications are moving towards electronic submission systems, so your rejections just end up in your inbox, a scant few kilobytes on an enormous hard drive. A kilobyte doesn't take up any real space.
"[Insert expression of dismay here]," you may be saying. "Now I'll never get published."
You could always print out all of your rejection slips, but that's hardly sustainable, now is it? That's where Hilary B. Bisenieks' Amazing Patent Rejection Wall Calculator comes in. Why spend time and paper covering a real wall when this simple program can fill a virtual wall for you? Simply enter the dimensions of the wall you're filling and the number of rejections you've received and the rest of the work will be done for you.
Wall width:
Wall height:
Rejections:
feet
feet
rejection slips
These calculations are based off of the assumption that each rejection slip takes up one sheet of letter-sized (8.5 x 11") paper. It is also assumed that there are no gaps between rejection slips and that no slips overlap one another.
The source code for this project is available on GitHub and is released under an MIT license.


Travel
Never Stop To
Exploring The World
An adventure is an exciting experience that is typically bold, sometimes risky or undertaking.
Explore
Home
News
Destination
Blog
Contact


Summary of Cookies Sales
New Store:
Min. Hourly Customers:
Max. Hourly Customers:
Avg. Cookies per Sale:


It says that the program no longer needs the file.
Closing an input file is less important than closing an output file. When end-of-file is detected there is no more data. (There is no need to flush an input file). But close input files anyway. Doing so lets the operating system manage resources more effectively.
Of course, to write to a
file after reading it in,
the file must first be closed and then opened
for output (with a FileWriter
stream).
A word processor program might do this,
for example.


AngularJS Filters
AngularJS provides filters to transform data:
- currency - Format a number to a currency format.
- date - Format a date to a specified format.
- filter - Select a subset of items from an array.
- json - Format an object to a JSON string.
- limitTo - Limits an array/string, into a specified number of elements/characters.
- lowercase - Format a string to lower case.
- number - Format a number to a string.
- orderBy - Orders an array by an expression.
- uppercase - Format a string to upper case.
1 - Adding Filters to Expressions with | symbol
The name is {{ lastName | uppercase }}
2 - The lowercase filter format strings to lower case:
The name is {{ lastName | lowercase }}
3 - The currency Filter
Price: {{ price | currency }}
4 - The filter Filter
This example displays only the names containing the letter "i".
5 - Filter an Array Based on User Input
The list will only consists of names matching the filter.
6 - Sort an Array Based on User Input
Click the table headers to change the sorting order:
| Name |
Country |
| {{x.name}} |
{{x.country}} |
7 - custom filters
Make your own filters.
This filter, called "myFormat", will uppercase every other character.


- Description
- allows to get access to a child encrypted stream with EncryptionData.
If storage does not allow any encryption this method will always throw
::com::sun::star::packages::NoEncryptionException.
In case the stream is open in readonly mode the
XStream::getOutputStream
method will return an empty reference.
- Parameter sStreamName
- the name of the substream that should be open
- Parameter nOpenMode
- a mode the stream should be open in,
can be a combination of ElementModes values
- Parameter aEncryptionData
- this parameter allowes to specify an encryption data to decrypt the
stream, the encryption data must be correct, otherwise an
exception will be thrown
- Throws
- ::com::sun::star::embed::InvalidStorageException
this storage is in invalid state for any reason
- Throws
- ::com::sun::star::lang::IllegalArgumentException
one of provided arguments is illegal
- Throws
- ::com::sun::star::packages::NoEncryptionException
the stream is not encrypted
- Throws
- ::com::sun::star::packages::WrongPasswordException
the provided encryption data is wrong
- Throws
- ::com::sun::star::io::IOException
in case of io errors during stream opening
- Throws
- ::com::sun::star::embed::StorageWrappedTargetException
wraps other exceptions
|


On Thursday 22th, we have the pleasure to host the Belgian Gravitational Waves meeting. It starts at 2pm, seminar room E349. Our guest speaker is Chris Belczynski and our local speaker is Sébastien Clesse.
At 14:00, Chris Belczynski (Copernicus Center, Warsaw, Poland), will be talking about
Gravitational-wave Astrophysics: LIGO/Virgo BH-BH/BH-NS/NS-NS mergers
I will discuss the astrophysical importance of the recent LIGO/Virgo direct detections of gravitational-waves. Despite the fact that massive BH-BH dominance in gravitational-wave signal was predicted prior the detections, it is not at all clear which one of the several formation scenarios produces these massive mergers. This inhibits astrophysical information inference from LIGO/Virgo observations, as conclusions are different within each formation scenario. There is quite an opposite problem with the first detection of NS-NS merger in an old elliptical host galaxy, as none of the formation channels can easily recover rather high NS-NS merger rate estimated by LIGO/Virgo. The recent detection of BH-NS merger seems to indicate the existence of compact objects in the first mass gap. Additionally, all of the ten O1/O2 LIGO/Virgo BH-BH merger detections have low values for their effective spins. I will demonstrate how this can be naturally explained within framework of classical binary evolution scenario of the formation of BH-BH mergers. It appears that magnetic fields (Tayler-Spruit dynamo) play an important role in efficient transport of angular momentum and spin-down of massive stars that produce low-spinning black holes.
After a coffee break, at 15:30, Sébastien Clesse (CURL, UCLouvain) will talk about
Primordial black hole predictions for black hole merger detections in LIGO/Virgo
Soon after the first gravitational-wave detection, it has been suggested that the black hole merger progenitors might have a primordial origin, and eventually explain all or part of the Dark Matter in the Universe. Due to the known thermal history of the Universe, the primordial black hole (PBH) mass function have specific features that will be probed by the third observing run of LIGO/Virgo. The predictions for the mass distribution of black hole merger progenitors and their spins are distinguishable from the ones of stellar evolution scenarios, and the upcoming detections will be decisive to confirm or rule out the scenario. In addition to explain mergers around 30 solar masses, PBH predict a second peak around 2 solar mass, due to the boost of PBH formation at the QCD transition, and some mergers above 60 solar masses, in the mass gap, with low mass ratios, and involving one sub-solar black hole. These features are universal, whatever is the underlying PBH formation scenario and their abundance.


$PWD
Working directory (directory you are in at the time)
This is the analog to the pwd builtin command.
#!/bin/bash
E_WRONG_DIRECTORY=85
clear # Clear the screen.
TargetDirectory=/home/bozo/projects/GreatAmericanNovel
cd $TargetDirectory
echo "Deleting stale files in $TargetDirectory."
if [ "$PWD" != "$TargetDirectory" ]
then # Keep from wiping out wrong directory by accident.
echo "Wrong directory!"
echo "In $PWD, rather than $TargetDirectory!"
echo "Bailing out!"
exit $E_WRONG_DIRECTORY
fi
rm -rf *
rm .[A-Za-z0-9]* # Delete dotfiles.
# rm -f .[^.]* ..?* to remove filenames beginning with multiple dots.
# (shopt -s dotglob; rm -f *) will also work.
# Thanks, S.C. for pointing this out.
# A filename (`basename`) may contain all characters in the 0 - 255 range,
#+ except "/".
# Deleting files beginning with weird characters, such as -
#+ is left as an exercise. (Hint: rm ./-weirdname or rm -- -weirdname)
result=$? # Result of delete operations. If successful = 0.
echo
ls -al # Any files left?
echo "Done."
echo "Old files deleted in $TargetDirectory."
echo
# Various other operations here, as necessary.
exit $result


A blockchain for trust-free markets in financial derivatives - zack-bitcoin/amoveo
Tek26-Aug-19 10:53 AM
i hold both PoW and PoS assets but I do know PoW is more fair and valuable
blackjok3r26-Aug-19 10:53 AM
I like a combo of both myself, but still not 100% sure on what is best.
mrtzmp326-Aug-19 10:54 AM
Well scam is maybe wrong , let's say a dishonest sheme
Markus26-Aug-19 10:55 AM
About Kmd, how is active user reward calculated? is it different from PoS tech?
blackjok3r26-Aug-19 10:55 AM
yes very much so.
It simply allows more vout value to be spent than vin value... according to formula based on time(edited)
Markus26-Aug-19 10:56 AM
Right it does not validate any blocks like PoS would right?
blackjok3r26-Aug-19 10:56 AM
No.
Markus26-Aug-19 10:56 AM
Ok
blackjok3r26-Aug-19 10:57 AM
Notary nodes mine 75% of blocks, the rest goes to ASIC/GPU miners... the 5% is calcualated by all nodes in block valuidation.(edited)
Markus26-Aug-19 10:57 AM
Alright thats cool
blackjok3r26-Aug-19 01:13 PM
I made a MoMoM blaster a few nights ago... should show it off well when I get time to finish it.
1
https://github.com/KMDLabs/PoS_scripts/blob/master/CC_scripts/migrations_python/spam.py
it needs many nodes still... but I think I can make it work with just a few. Hopefully get nSPV working sometime soon with MoMoM.
Caglio26-Aug-19 01:48 PM
guys I know you are missing me here last week or so, but i am busy dicking one interesting Israeli chick. I she is leaving this week tho, meanwhile I am enjoying her showering me in Shekels
2
alen26-Aug-19 01:53 PM
Do they have hairy pussies
Asking for a frend
2
1
meatspoon26-Aug-19 02:03 PM
They are like sarlacci--the sand pit monster from Star Wars--but with a lot of hair. Copious amounts of hair.
Caglio26-Aug-19 02:08 PM
@alen This one is Russian Israeli that shaves her natural sweater
Tek26-Aug-19 02:42 PM
@Deleted User progagation wont be a problem either when fiber optic tech improves.
If multiple governments collaborated, could they launch a 51% attack on Bitcoin? If all it takes to attack a proof-of-work (PoW) network is enough electricit...
actionslacks26-Aug-19 03:10 PM
blah blah lighting network payment channels. aantonop's alright, just a little misguided. There's worse than dash out there, but it's not more secure than btc. That was likely a paid mention/endorsement, otherwise it would only be viewable to patreon supporters. dash is still trash
Tek26-Aug-19 03:17 PM
@actionslacks its more secure than bitcoin
1
because it has anti 51 tech
bitcoin does not
it also has its own hashing algo
not sha256 only
you can't really argue my claim. it is how it is.
dash is a way more developed bitcoin
simple as
actionslacks26-Aug-19 03:20 PM
so should all the btc maximalists be dash maximalists now?
Tek26-Aug-19 03:21 PM
BTC was doing > muh lightenin network for the past 5 years
well bitcoin used to have > muh security
but now there are others that have better security
jl777c26-Aug-19 03:21 PM
i feel no desire to notarize to DASH instead of BTC
having 70 exahash is more secure
there just isnt the mining equipment in the world available to attack the BTC
Tek26-Aug-19 03:22 PM
you cant compare the sha256 delivered hash to dash X11 hash
there isn't for dash either
jl777c26-Aug-19 03:23 PM
for DASH it seems that if you dont have a masternode, you dont really have a fullnode
Tek26-Aug-19 03:23 PM
you can share masternodes and stake
you don't need 1000 dash anymore
actionslacks26-Aug-19 03:24 PM
what if the majority of dash masternodes decide to chainlock a forked chain?
collusion attack
jl777c26-Aug-19 03:24 PM
that probably becomes the mainchain
hashrate doesnt protect DASH
Tek26-Aug-19 03:24 PM
it does, but chainlocks is the protection if there is 51 percent
since its x11 and not sha256
jl777c26-Aug-19 03:25 PM
anti-collusion powers of MN which is achieved by, well not sure
Tek26-Aug-19 03:25 PM
i don't know the fine details
jl777c26-Aug-19 03:25 PM
if there is a chain reorg attack that would get more than the cost of the MN, it seems bribery attacks are possible
so it is not quite so simple to state about the security levels
the security of the entire MN would need to be properly evaluated and it seems there could be a very small number of people who control majority of MN
with chainlocks, the DASH security becomes similar to PoS, where participants have the stake needed to run a MN
Bitfinger26-Aug-19 03:29 PM
I hope everyone is in the mood for KMD pumps soon. Chart looks good, just depends if we need one more dip first.
jl777c26-Aug-19 03:31 PM
one attack vector that exists against DASH that doesnt with BTC, is that the MN could simply be compromised and using a MN-botnet to basically control the chain.
Alright26-Aug-19 03:33 PM
DASH seems to have taken a pragmatic approach(ie, it'll probably work), but saying it's "more secure than bitcoin" is laughable
Tek26-Aug-19 03:33 PM
tfw shitposting on company time
@Deleted User block processing can also be improved


rotten
>
Library
>
History
>
Third Reich
> Nuremburg Trials
Much of the
Nazi leadership
faced the
hangman
for their
war crimes
.
Fetish Maximus
|
Rotten
|
Faces of Death
|
Famous Nudes


| Class | Description |
|---|---|
| OFAction |
The base class for all OpenFlow Actions.
|
| OFActionAddField |
Add a field at the start
OFActionAddField.fieldPosition and length OFActionAddField.fieldLength , with value OFActionAddField.fieldValue . |
| OFActionCalculateCheckSum |
re-calculate the checksum start from
OFActionCalculateCheckSum.calcStartPosition with length OFActionCalculateCheckSum.calcLength ,
and write the result to OFActionCalculateCheckSum.checksumPosition with length OFActionCalculateCheckSum.checksumLength |
| OFActionCounter |
Counter
FIXME Could discard this action counter because flow entry and the group entry have counter already
|
| OFActionDeleteField |
Delete a field with field position and length.
|
| OFActionDrop |
Drop with reason
|
| OFActionExterimenter | |
| OFActionGroup |
take the group(
OFActionGroup.groupId ) processing |
| OFActionModifyField |
Modify field value with +increment value.
|
| OFActionOutput | |
| OFActionPacketIn |
packet in with reason.
|
| OFActionSetField |
Set field value using
OFActionSetField.fieldSetting (value/mask). |
| OFActionSetFieldFromMetadata |
Set field value from metadata.
|
| Enum | Description |
|---|---|
| OFActionDrop.OFDropReason | |
| OFActionType |
List of OpenFlow Action types and mappings to wire protocol value and
derived classes
|


Classes |
| class | Gecode::Var |
| | Base class for variables. More...
|
| class | Gecode::VarImpVar< VarImp > |
| | Variables as interfaces to variable implementations. More...
|
| class | Gecode::ConstView< View > |
| | Base-class for constant views. More...
|
| class | Gecode::VarImpView< Var > |
| | Base-class for variable implementation views. More...
|
| class | Gecode::DerivedView< View > |
| | Base-class for derived views. More...
|
Functions |
| template<class ViewA , class ViewB > |
| bool | Gecode::shared (const ConstView< ViewA > &, const ConstView< ViewB > &) |
| | Test whether views share same variable.
|
| template<class Var , class View > |
| bool | Gecode::shared (const VarImpView< Var > &, const ConstView< View > &) |
| | Test whether views share same variable.
|
| template<class ViewA , class ViewB > |
| bool | Gecode::shared (const DerivedView< ViewA > &, const ConstView< ViewB > &) |
| | Test whether views share same variable.
|
| template<class View , class Var > |
| bool | Gecode::shared (const ConstView< View > &, const VarImpView< Var > &) |
| | Test whether views share same variable.
|
| template<class ViewA , class ViewB > |
| bool | Gecode::shared (const ConstView< ViewA > &, const DerivedView< ViewB > &) |
| | Test whether views share same variable.
|
| template<class VarA , class VarB > |
| bool | Gecode::shared (const VarImpView< VarA > &, const VarImpView< VarB > &) |
| | Test whether views share same variable.
|
| template<class Var , class View > |
| bool | Gecode::shared (const VarImpView< Var > &, const DerivedView< View > &) |
| | Test whether views share same variable.
|
| template<class View , class Var > |
| bool | Gecode::shared (const DerivedView< View > &, const VarImpView< Var > &) |
| | Test whether views share same variable.
|
| template<class ViewA , class ViewB > |
| bool | Gecode::shared (const DerivedView< ViewA > &, const DerivedView< ViewB > &) |
| | Test whether views share same variable.
|


Laurentius Tirtarahardja
Back-End Web Developer
An avid Anaheim Ducks fan and gamer, Laurentius has always kept his finger on the pulse of hockey and tech. His other interests include Star Trek, Star Wars, podcasting, and Dungeons & Dragons. Developed the programming for the page that shows delivery options. Provided styling for some of the dynamic HTML elements as well. Used the EatStreet API to pull the information to choose a delivery option. Refined layout on mobile devices. Languages used: Javascript, HTML, CSS.


Audience Participation
DOUBLE POINTS
Solution here
MENU
Clear Rebus
Clear Question
✓ Correct
✗ Incorrect
Reveal Question
Start Timer
Lightning Round
Start
Pause
Times Up
»
Game Menu
Update the scores from Final Trivia
Override Scores
Change board:
Destroy Saved Data
Keyboard Shortcuts:
1-3
: Select team
ESC
: incorrect
Enter
: correct
n
: next team