unassigned
by Xander Gardner at 2021-11-17 14:10:26.head_ref_force_pushed
by None at 2021-11-17 14:39:14.referenced
by Eliot Jordan at 2021-11-17 16:28:06.merged
by Eliot Jordan at 2021-11-17 16:28:06.closed
by Eliot Jordan at 2021-11-17 16:28:06.head_ref_deleted
by Eliot Jordan at 2021-11-17 16:28:07.@kelea99 the question about the sponsored accounts is what I'm not sure about. We may need to try it with a test account.
Great idea to get feedback from Fernando and look at LAE.
Since I got SMTP configured I'm closing this ticket. I created #1256 as a follow-up since the urls that come through in the email are not right. We can create more tickets if needed based on what we see with LAE.
referenced
by None at 2021-11-17 14:38:33.referenced
by None at 2021-11-17 14:39:14.mentioned
by Kim Leaman at 2021-11-17 16:56:11.subscribed
by Kim Leaman at 2021-11-17 16:56:11.closed
by None at 2021-11-17 16:56:16.labeled
by None at 2021-11-17 16:52:43.labeled
by None at 2021-11-17 16:52:43.@hackartisan I'll add a screenshot soon! It's still in draft since I plan to talk to Shaun about making this change. In order for the accessibility test to pass, the navbar loses nearly all its transparency. There might be some acceptable balance since the color behind the navbar is not usually white (which the accessibility test assumes it is).
@XanderGardner makes sense -- thanks!
mentioned
by None at 2021-11-17 16:57:11.subscribed
by None at 2021-11-17 16:57:11.mentioned
by Xander Gardner at 2021-11-17 17:01:15.subscribed
by Xander Gardner at 2021-11-17 17:01:15.renamed
by Zaynab Masood at 2021-11-17 19:41:35.assigned
by Shaun Ellis at 2021-11-17 20:25:15.head_ref_force_pushed
by Zaynab Masood at 2021-11-17 18:52:50.head_ref_force_pushed
by Zaynab Masood at 2021-11-17 20:52:13.renamed
by Trey Pendragon at 2021-11-17 22:33:51.labeled
by Trey Pendragon at 2021-11-17 22:36:56.labeled
by Trey Pendragon at 2021-11-17 22:37:03.assigned
by Trey Pendragon at 2021-11-17 22:37:53.closed
by Eliot Jordan at 2021-11-17 23:23:30.Re-requesting review - I had to default to the test adapter and explicitly use the inline adapter, otherwise switching between the two resulted in test-order dependent failures.
review_requested
by Trey Pendragon at 2021-11-17 22:55:47.head_ref_force_pushed
by Trey Pendragon at 2021-11-17 22:57:16.review_requested
by Trey Pendragon at 2021-11-17 23:13:35.referenced
by Eliot Jordan at 2021-11-17 23:23:30.merged
by Eliot Jordan at 2021-11-17 23:23:30.closed
by Eliot Jordan at 2021-11-17 23:23:30.head_ref_deleted
by Eliot Jordan at 2021-11-17 23:23:31.Confirmed fixed by the user, closing.
closed
by Kate Lynch at 2021-11-17 14:59:29.Reviewing https://github.com/pulibrary/dataspace_embargo_lifter/blob/main/embargo_lifter.sh, this seems to fully resolve the issue. Thank you very much for creating https://github.com/pulibrary/dataspace_embargo_lifter for this @kelynch!
mentioned
by Kate Lynch at 2021-11-17 14:50:50.subscribed
by Kate Lynch at 2021-11-17 14:50:50.closed
by Kate Lynch at 2021-11-17 15:14:33.labeled
by James R. Griffin III at 2021-11-17 19:05:39.labeled
by James R. Griffin III at 2021-11-17 19:05:39.labeled
by James R. Griffin III at 2021-11-17 19:05:39.assigned
by Chun Ly at 2021-11-17 18:35:36.milestoned
by Chun Ly at 2021-11-17 18:35:55.In the most recent case it looks like someone hit the checkout button twice.
It seems like someone's slamming that button a bunch too and managing to take up all the available item charges for themselves.
referenced
by Trey Pendragon at 2021-11-17 00:06:24.referenced
by Trey Pendragon at 2021-11-17 17:57:25.referenced
by Trey Pendragon at 2021-11-17 18:42:54.We did it!
closed
by Trey Pendragon at 2021-11-17 04:39:10.moved_columns_in_project
by Trey Pendragon at 2021-11-17 04:39:12.closed
by Trey Pendragon at 2021-11-17 04:40:45.mentioned
by None at 2021-11-17 14:27:01.subscribed
by None at 2021-11-17 14:27:01.labeled
by None at 2021-11-17 14:35:48.labeled
by Cliff Wulfman at 2021-11-17 14:49:16.assigned
by Cliff Wulfman at 2021-11-17 14:49:19.Fixed.
assigned
by Eliot Jordan at 2021-11-17 16:57:35.closed
by Eliot Jordan at 2021-11-17 17:34:40.labeled
by Trey Pendragon at 2021-11-17 00:30:19.referenced
by None at 2021-11-17 18:20:40.merged
by None at 2021-11-17 18:20:40.closed
by None at 2021-11-17 18:20:41.head_ref_deleted
by None at 2021-11-17 18:20:41.assigned
by None at 2021-11-17 18:41:17.The process I've done so far:
Update remote metadata for all these items (not necessary, but seemed nice.)
Enqueue UpdateDaoJob
for each of these items.
After those are done, went to pulfalight-prod and ran bundle exec rake pulfalight:indexing:incremental
(this would have run eventually, but I wanted to get this ticket closed)
When those are done we should be able to check the content and make sure the viewers display.
assigned
by Trey Pendragon at 2021-11-17 18:07:31.closed
by Trey Pendragon at 2021-11-17 19:20:01.head_ref_force_pushed
by Trey Pendragon at 2021-11-17 20:56:58.referenced
by Trey Pendragon at 2021-11-17 22:04:17.merged
by Trey Pendragon at 2021-11-17 22:04:18.closed
by Trey Pendragon at 2021-11-17 22:04:18.head_ref_deleted
by Trey Pendragon at 2021-11-17 22:04:18.labeled
by Trey Pendragon at 2021-11-17 19:03:51.labeled
by Trey Pendragon at 2021-11-17 19:03:55.assigned
by None at 2021-11-17 19:18:46.assigned
by Trey Pendragon at 2021-11-17 19:18:46.referenced
by None at 2021-11-17 20:16:09.referenced
by Trey Pendragon at 2021-11-17 20:20:18.closed
by Trey Pendragon at 2021-11-17 22:04:18.@hackartisan Thanks for catching that, that's what I get for switching machines.
labeled
by Trey Pendragon at 2021-11-17 00:30:10.head_ref_force_pushed
by Trey Pendragon at 2021-11-17 17:57:26.review_requested
by Trey Pendragon at 2021-11-17 17:58:26.head_ref_force_pushed
by Trey Pendragon at 2021-11-17 18:42:55.mentioned
by None at 2021-11-17 18:43:15.subscribed
by None at 2021-11-17 18:43:15.review_requested
by Trey Pendragon at 2021-11-17 18:43:19.referenced
by Trey Pendragon at 2021-11-17 22:12:10.merged
by Trey Pendragon at 2021-11-17 22:12:10.closed
by Trey Pendragon at 2021-11-17 22:12:10.head_ref_deleted
by Trey Pendragon at 2021-11-17 22:12:10.Coverage remained the same at 96.757% when pulling 1ec45fc4cb95fcabe860a02e72fb89284bb36e70 on request-annex-enum into 2e21f0fe470286608ad5c84913ff1bea55d49b0c on main.
head_ref_force_pushed
by None at 2021-11-17 16:14:04.ready_for_review
by None at 2021-11-17 16:14:33.deployed
by None at 2021-11-17 16:28:42.closed
by Kate Lynch at 2021-11-17 19:45:27.renamed
by Trey Pendragon at 2021-11-17 03:59:03.head_ref_force_pushed
by Trey Pendragon at 2021-11-17 04:09:47.ready_for_review
by Trey Pendragon at 2021-11-17 04:38:24.referenced
by None at 2021-11-17 14:09:12.merged
by None at 2021-11-17 14:09:12.closed
by None at 2021-11-17 14:09:13.head_ref_deleted
by None at 2021-11-17 14:09:13.referenced
by Bess Sadler at 2021-11-17 14:56:41.merged
by Bess Sadler at 2021-11-17 14:56:41.closed
by Bess Sadler at 2021-11-17 14:56:42.head_ref_deleted
by Bess Sadler at 2021-11-17 14:56:42.labeled
by Trey Pendragon at 2021-11-16 22:14:50.assigned
by Trey Pendragon at 2021-11-16 23:29:18.referenced
by Trey Pendragon at 2021-11-16 23:41:43.referenced
by Trey Pendragon at 2021-11-16 23:42:14.closed
by None at 2021-11-17 16:20:15.referenced
by None at 2021-11-17 16:20:15.merged
by None at 2021-11-17 16:20:15.closed
by None at 2021-11-17 16:20:15.head_ref_deleted
by None at 2021-11-17 16:20:16.Harvard GBL testing docs: https://drive.google.com/drive/folders/1ZOslP652OzKa3p5cSgaLdbryIYgEG5ph?usp=sharing
referenced
by Kevin Reiss at 2021-11-17 04:01:38.merged
by Kevin Reiss at 2021-11-17 04:01:38.closed
by Kevin Reiss at 2021-11-17 04:01:39.head_ref_deleted
by Kevin Reiss at 2021-11-17 04:01:39.referenced
by None at 2021-11-17 16:12:41.merged
by None at 2021-11-17 16:12:41.closed
by None at 2021-11-17 16:12:41.head_ref_deleted
by None at 2021-11-17 16:12:42.fixed by #1101
closed
by None at 2021-11-17 16:16:41.assigned
by None at 2021-11-17 16:17:20.


Before Change
attributes = attributes or {}
with self._lock:
if entity_id in self._states:
old_state = self._states[entity_id]
if old_state.state != new_state or \
old_state.attributes != attributes:
state = self._states[entity_id] = \
State(entity_id, new_state, attributes)
self._bus.fire(EVENT_STATE_CHANGED,
{"entity_id": entity_id,
"old_state": old_state,
"new_state": state})
else:
// If state did not exist yet
self._states[entity_id] = State(entity_id, new_state,
attributes)
// pylint: disable=too-few-public-methods
class ServiceCall(object):
Represents a call to a service.
__slots__ = ["domain", "service", "data"]
After Change
event_data = {"entity_id": entity_id, "new_state": state}
if old_state:
event_data["old_state"] = old_state
self._bus.fire(EVENT_STATE_CHANGED, event_data)
// pylint: disable=too-few-public-methods


Glyn and I have wanted to write an android app to make it easier to access energy monitoring data from phones and tablets for sometime.
Last year, we took part in a student project to develop an Emoncms Android App with Mathew Keegan, who, at the time, was studying at Aberystwyth University. Mathew made good progress on the foundations of the app which I've uploaded to github here: https://github.com/emoncms/AndroidAppDev/tree/master/MathewKeeganAberUni
I've been trying to learn Android app programming to understand what Mathew has developed. I followed a couple of Hello World tutorials, explored networking and how to update the display. I've written my notes as a tutorial: How to build an Energy Monitoring Android App part 1 here:
Tutorial: How to build an Energy Monitoring Android App part 1
I'm going to try and continue development in this style by writing tutorials on how to do each step.
I think everyone should all be able to build their own software if they want to. Given the rising use of tablets and mobiles as our personal computing devices, having at least a basic understanding of how to build an app is enlightening, and it's satisfying to see the results on your phone. Even if you've only dabbled in software before, I encourage you to try the tutorial. Please ask if anything needs clarifying. Feel free to send me a github pull request with edits to the tutorial.
My next tutorial will focus on how to use the android graphics canvas to draw a graph that looks like the myelectric graph in the emoncms "myelectric" module.
If you try the tutorial, please let me know how it goes for you.
Re: How to build an Energy Monitoring Android App p1
Excellent :)
Re: How to build an Energy Monitoring Android App p1
Why not do it in Processing instead? Much simpler Android experience. Get a single reading and display:
Re: How to build an Energy Monitoring Android App p1
@tingenek, Interesting! thanks for the snippet
Re: How to build an Energy Monitoring Android App p1
@tingenek, would you be interested in writing a tutorial on using processing to build the app? I know it creates more work for us but I think it would be great to have tutorials on writing this in processing and android java, that way we can learn about the different approaches and have an understanding of how we might achieve the same result via different approaches, advantages, disadvantages etc, I've added the android app so far to the new software part in building blocks: http://openenergymonitor.org/emon/buildingblocks It would be amazing to have a processing tutorial there too.
Re: How to build an Energy Monitoring Android App p1
Happy to.
Is there a "demo" feed I can read to save me having to make/update one that I can use in the code? Happily, you can use MQTT with Processing as well so might be handy for later :-)
Re: How to build an Energy Monitoring Android App p1
Great work Trystan!
Re: How to build an Energy Monitoring Android App p1
Thanks! Yes there's a demo feed here: http://emoncms.org/feed/value.json?apikey=7f1b46367a013db07d2d65e588d2ad...
Re: How to build an Energy Monitoring Android App p1
Been working on the next part, tutorial on drawing a myelectric style graph using canvas, tried to keep the first part generic so that its applicable for java, processing, javascript:
https://github.com/openenergymonitor/documentation/blob/master/BuildingB...
Re: How to build an Energy Monitoring Android App p1
Great. Just to make sure I read the api correctly, is this the right way to get the readings for the last seven days?
http://emoncms.org/feed/data.json?apikey=7f1b46367a013db07d2d65e588d2ad9...
Re: How to build an Energy Monitoring Android App p1
Have you looked at aChartEngine for the charts? Trying to get my head around it :) Not too much in the way of tutorials that I have found.
Re: How to build an Energy Monitoring Android App p1
@tingenek, sounds like your making good progress if your getting historical data! This is the api you want, this will request the average daily power in watts from feed 43348 which is a power feed. You can then convert average daily power to kWh by multiplying by 0.024.
http://emoncms.org/feed/average.json?&apikey=7f1b46367a013db07d2d65e588d...
Alternatively you could request the watt hour count at the end of each day with the same api but feed 43402. But maybe its easier to start with the power feed approach for now? Looking forward to seeing the processing app, Il get processing installed on my laptop here.
@borpin123, havent tried aChartEngine, looks interesting!
Re: How to build an Energy Monitoring Android App p1
Trystan I would like to thank you once again for your excellent work and dedication on very good documentation.
I have been wanting to start Android programming for ages, and your first tutorial finally made me start learning. Thanks !
After following you first tutorial I got everything working, but it does not take long for the app to freeze. By adding some extra debuggin I found this...
The LogCat...
I have run multiple tests and it always get frozen in InputStream reader, therefore not reaching the next log line which I have called "Saving to text variable".
Anyone has an idea on whats going on?
Thanks and once again, congrats !
Re: How to build an Energy Monitoring Android App p1
seems like this is helping quite a lot so far, will continue testing...
I have added a counter on the number of updates, will leave it on and see for how long it goes without freezing.
Re: How to build an Energy Monitoring Android App p1
Thankyou Sergegsx, hearing that makes it worth it to write it! I got that issue too so great to hear you've got a fix, is it still working today?
Re: How to build an Energy Monitoring Android App p1
Trystan the truth is I have learned so much from your site, from you and from many members of the forum like Robert Wall, calypso, and others. I cant express my gratitude!
Regarding the "fix" it is working great ! It has been working ever since I posted without freezing, so yeah it works. I have noticed that from time to time the value of power appears blank, I guess due to a problem in the response from the server. I will try to add a check in which if the value obtained is empty or "" then do not update the value.
also, as well as the update counter (which is really useful for this test program) I want to add a "last update x seconds ago".
I am on my firsts steps on Android but really happy and very thankful cause it was your tutorial which made me decide on finally start learning (had been in my "to do" list for ...years).
Regards.
edit: works...
Re: How to build an Energy Monitoring Android App p1
Afternoon's coding in Processing now on github: https://github.com/Tingenek/emoncms2/tree/master
Very rough first draft/hardcoded/minimal error handling. Works on my SII phone with android 2.35.
You don't need a phone to try it out as it will work on a desktop just as well.
Re: How to build an Energy Monitoring Android App p1
Thanks Sergegsx, Good idea to have an last updated seconds ago. Maybe there could be some kind of indicator that turns red if it fails to fetch an update more than 3 or so times consecutively.
@Tingenek, looks brilliant! Il try and get it running here, still need to install processing.
Re: How to build an Energy Monitoring Android App p1
Let me know how you get on.
Processing can be a bit picky about what android sdk bits you install.
Re: How to build an Energy Monitoring Android App p1
G'day,
How can i add a second feed to the display?
Thanks
Andy
Re: How to build an Energy Monitoring Android App p1
Hello,
I hope this tutorials keep coming, I have now learned quite a lot on Android but still a super beginner. Anyway, I thought I should point out an important issue with one piece of the code in this example.
The purpose of using AsyncTask is to prevent the user interface freezing during the HTTP request (that could take a 2 seconds or more). However, if you use the .get() then it will wait until it gets a response to continue, therefore the main purpose of AsyncTask is lost.
The results should be handled in the onpostexecute inside the AsyncTask. This will be executed whenever the
doInBackground has finished.
Although my knowledge in Android is still extreme small, I hope someone finds this useful, it took me a while to figure everything out.
Thanks Trystan again for your work!


Introduction
The debate is not articulated in the division between different polarizations but in the different motivations brought to support the thesis that it is wrong to do surveillance.
The debate is not articulated in the division between different polarizations but in the different motivations brought to support the thesis that it is wrong to do surveillance.
On the x-axis there are the statements used by against-speakers to motivate their position, on the y axis the number of page that speak of the statements. Under each statement is read the breakdown of speakers, reading facilitated by the possibility to illuminate the individual speaker in each column to see his position.
A dataset in Excel has been created (from the total corpus) with one column - the against polarization - and ten lines - the statements derived from the contents tag and from reading all the pages. Using the data collected and an automatic generator of histograms (Pages) a basic graphic was created which from was then built the curve by hand using Illustrator. For the visualization of the speakers an additional dataset was created to highlight the percentage of each speaker for statement.
The visualization shows what the statement most widely used to combat the surveillance is. The most debated issues are also divided among a larger number of speakers, in different proportions: each category has more to heart a specific topic.


select_for_update
, django-pglocks
)F
expressions, get_or_create
)F
expressionsUsed with the Django ORM to generate SQL that can update values based on the current database state
--- a/opentreemap/treemap/lib/object_caches.py
+++ b/opentreemap/treemap/lib/object_caches.py
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
from django.conf import settings
+from django.db.models import F
# For each instance, cache "adjunct" objects -- frequently-accessed objects
# which change rarely -- by storing them in local memory. Track cache validity
@@ -52,8 +53,16 @@ def invalidate_adjuncts(*args, **kwargs):
instance = adjunct_object.instance
if instance.id in _adjuncts:
del _adjuncts[instance.id]
- instance.adjuncts_timestamp += 1
- instance.save()
+ increment_adjuncts_timestamp(instance)
+
+
+def increment_adjuncts_timestamp(instance):
+ from treemap.models import Instance
+ # The instance passed to this function may have stale data, so we
+ # don't want to save stale fields along with the new timestamp.
+ Instance.objects.filter(pk=instance.id)\
+ .update(adjuncts_timestamp=F('adjuncts_timestamp') + 1)
+
# ------------------------------------------------------------------------
# Fetch info from database when not using cache
select_for_update
Part of the SQL standard, blocks writing and locking of selected rows until the lock is released
--- a/src/django/users/views.py
+++ b/src/django/users/views.py
@@ -275,8 +275,11 @@ class OrganizationViewSet(mixins.CreateModelMixin,
@transaction.atomic
def create(self, request, *args, **kwargs):
- if (self.request.user.primary_organization and not
- self.request.user.can_create_multiple_organizations):
+ # Lock current user row so we can avoid data races that would allow a user
+ # to create multiple organizations despite lacking permissions
+ user = PlanItUser.objects.select_for_update().get(pk=request.user.pk)
+
+ if user.primary_organization and not user.can_create_multiple_organizations:
return Response('User already has an organization',
status=status.HTTP_400_BAD_REQUEST)
@@ -290,23 +293,23 @@ class OrganizationViewSet(mixins.CreateModelMixin,
# Don't let a user send an email to themselves. We could also validate this and raise an
# error, but in that case the user would presumably just delete themselves and try
# again, so it's probably friendlier to do that for them and ignore the "error".
- if email == self.request.user.email:
+ if email == user.email:
continue
- user, was_created, was_added = PlanItUser.objects.add_via_email_to_organization(
+ invitee, was_created, was_added = PlanItUser.objects.add_via_email_to_organization(
email, organization
)
if was_created:
- RegistrationView(request=request).send_invitation_email(user)
+ RegistrationView(request=request).send_invitation_email(invitee)
# Let them know they've been added to the organization
elif was_added:
- user.email_user('registration/existing_user_invitation_email',
- {'user': user, 'organization': organization,
- 'login_url': settings.PLANIT_APP_HOME + '/login'})
+ invitee.email_user('registration/existing_user_invitation_email',
+ {'user': invitee, 'organization': organization,
+ 'login_url': settings.PLANIT_APP_HOME + '/login'})
- self.request.user.organizations.add(organization)
- self.request.user.primary_organization = organization
- self.request.user.save()
+ user.organizations.add(organization)
+ user.primary_organization = organization
+ user.save()
headers = self.get_success_headers(serializer.data)
return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
django-pglocks
Small utility library that uses PSQL advisory locks
import logging
from django_pglocks import advisory_lock
from django.core.management.base import BaseCommand
from cicero.emailer.timedmailer import TimedMailer
logger = logging.getLogger(__name__)
class Command(BaseCommand):
"""
Management command for sending timed email reminders.
"""
args = 'displaygroup'
help = 'Send emails if this machine is first in displaygroup.'
def handle(self, *args, **options):
"""
Runs the emailer batch command
"""
lock_id = 'bucket_expire'
with advisory_lock(lock_id, wait=False) as acquired:
if not acquired:
logger.warning("Failed to obtain emailer advisory lock")
return
logger.info("Sending messages...")
TimedMailer().run()
logger.info("Task complete.")


Running the Demo
Demo startup instructions
You will need Erlang and REBOL. (Links are in the menu).
Step 1. Start the Erlang server
> c(erlbol).
> erlbol:start().
Step 2. Run REBOL client
If you are using Windows, try one of these:
a. If .r files are associated with REBOL, click on erlbol_1.r to run it.
b. Or, from a command prompt, start REBOL with erlbol_1.r as a parameter
c. Or, start REBOL/view (rebview.exe) then in the console, type: do %erlbol_1.r
If you are using some other platform, read the REBOL docs for how to start a script
The Erlang demo code creates parallel servers. You can run multiple REBOL clients off the same server simultaneously.
Step 3. Read the documents
There are a handful of short docs listed in the menu. They will give you an idea of the concepts at work to tie the programs together.
Step 4. Try the modification files
Look at the Making Modifications page and download the two modified code files. Compare those files to the base files. Only minor tweaking of the code is required to add new Erlang functions.


The map below shows all designated federal national historic sites in Canada. Click or touch a pin on the map to learn more details about the site. Larger pins are sites that are either maintained by Parks Canada or open as a museum. Note that some historic sites are private property and may not be accessible to the public.
This site was built as an example of using open data to power a simple interactive web application. You can see the source code on GitHub. Contributions welcome! If you find a problem with the data, you are also welcome to open an Issue on GitHub.
The data source is an open data set published by the Government of Canada. Visit Canada's open government portal at open.canada.ca to learn more about Canada's Open Data initiatives. Data is licensed under the Open Government Licence - Canada
This application is hosted on the IBM Bluemix cloud platform.


MaskedBlur QML Type
Applies a blur effect with a varying intesity. More...
| Import Statement: | import QtGraphicalEffects 1.0 |
| Since: | QtGraphicalEffects 1.0 |
| Inherits: |
Properties
- cached : alias
- maskSource : alias
- radius : alias
- samples : alias
- source : alias
Detailed Description
MaskedBlur effect softens the image by blurring it. The intensity of the blur can be controlled for each pixel using maskSource so that some parts of the source are blurred more than others.
Performing blur live is a costly operation. Fullscreen gaussian blur with even a moderate number of samples will only run at 60 fps on highend graphics hardware.
| Source | MaskSource | Effect applied |
|---|---|---|
Note: This effect is available when running with OpenGL.
Example
The following example shows how to apply the effect.
import QtQuick 2.0 import QtGraphicalEffects 1.0 Item { width: 300 height: 300 Image { id: bug source: "images/bug.jpg" sourceSize: Qt.size(parent.width, parent.height) smooth: true visible: false } LinearGradient { id: mask anchors.fill: bug gradient: Gradient { GradientStop { position: 0.2; color: "#ffffffff" } GradientStop { position: 0.5; color: "#00ffffff" } } start: Qt.point(0, 0) end: Qt.point(300, 0) visible: false } MaskedBlur { anchors.fill: bug source: bug maskSource: mask radius: 16 samples: 24 } }
Property Documentation
This property allows the effect output pixels to be cached in order to improve the rendering performance. Every time the source or effect properties are changed, the pixels in the cache must be updated. Memory consumption is increased, because an extra buffer of memory is required for storing the effect output.
It is recommended to disable the cache when the source or the effect properties are animated.
By default, the property is set to false
.
This property defines the item that is controlling the final intensity of the blur. The pixel alpha channel value from maskSource defines the actual blur radius that is going to be used for blurring the corresponding source pixel.
Opaque maskSource pixels produce blur with specified radius, while transparent pixels suppress the blur completely. Semitransparent maskSource pixels produce blur with a radius that is interpolated according to the pixel transparency level.
This property defines the distance of the neighboring pixels which affect the blurring of an individual pixel. A larger radius increases the blur effect.
Depending on the radius value, value of the samples should be set to sufficiently large to ensure the visual quality.
The value ranges from 0.0 (no blur) to inf. By default, the property is set to 0.0
(no blur).
This property defines how many samples are taken per pixel when blur calculation is done. Larger value produces better quality, but is slower to render.
Ideally, this value should be twice as large as the highest required radius value plus 1, for example, if the radius is animated between 0.0 and 4.0, samples should be set to 9.
By default, the property is set to 9
.
This property is not intended to be animated. Changing this property may cause the underlying OpenGL shaders to be recompiled.
This property defines the source item that is going to be blurred.
Note: It is not supported to let the effect include itself, for instance by setting source to the effect's parent.


§287-47 Other relief available. Nothing in this chapter shall be construed as preventing the plaintiff in any action from obtaining relief upon process provided by any provision of law. [L 1949, c 393, pt of §1; RL 1955, §160-125; HRS §287-47]


Accept Only Numeric Characters
Accept Only Alphabet Characters
Accept Only Alphabet or Numeric Characters
Accept Only mail


| About Dailyrotten |
|
Feedback
If you like this page, hate it, or would like to suggest changes,
<EMAIL_ADDRESS>is listening. This page
is experimental and somewhat different from what we usually offer, so please
do send your feedback.
Adding Stories
If you are a rotten newshound and you would like to suggest a story,
visit our submit page to
send us the URL. Stories that are accepted will have your name credited.
Posting Comments
In order to post comments to stories, you will have to
create an account.
Accounts will generally be validated within 24 hours, and of
course will be disabled if there is abuse.
Viewership
On the first full day this page went live, 100,000 people visited this Rotten
News page. Of course that was the day after the WTC attacks, so that number is
somewhat distorted. Right now this page gets between 50,000 and 75,000 people
every day.
Linking
We encourage everyone to link to this page; if you like it, others probably
will as well.
Other Rotten
Rotten
Gaping Maw
Celebrity Morgue
Mugshots
Rotten Store
Rate My Poo
Rate My Kitten
Rate My Finger
Penny Postcards
Phallic
Boners
Home
Make Dailyrotten your start page
|
|
|
May 16, 2002
God Is A Pedophile
WSB-TV 2 Atlanta | Submitted by: Incubus
"In some Nuwaubian literature, York has been referred to as the group's
avior or god and described as an extraterrestrial from the planet Rizq.

|
|
Read article...
|
|
Boys in trouble for finger gunplay
KMGH-TV 7 Denver | Submitted by: george_lazenby
"The boys were playing soldiers-versus-aliens during lunch when a
playground monitor pulled them all aside and brought them to the principal's
office because they displayed violent and aggressive behavior during the
game, said Mary Terch, executive director of elementary education for Cherry
Creek Schools. She called all of their parents to pick them up early from
school and gave them lunchtime detention for the week after they returned from
spring break, the Times reported." How anyone can still maintain that this
current generation of kids will not grow up to be nuerotic Woody Allens.
|
|
Read article...
|
|
Suspended boner no no boy's boner essay
Stuff NZ | Submitted by: george_lazenby
Mike Scherger, 15, had to write a story in his year 10 English class titled: How does your body betray you? He wrote about an embarrassed teenager whom he described as having "a boner" (an erection), while in class and not wanting to leave his seat when called to the front of the class. His English teacher showed the story to principal Alison Annan who said it was "sexually offensive" and "totally inappropriate" and suggested the boy recieve counseling. As a result he was stood down [detained] for five days, the longest period allowed.
|
|
Read article...
|
|
Government lying about deficit bigtime
New York Post | Submitted by: anonymous
"Carefully hidden on a Treasury Department Web site is an undated letter
from Secretary Paul O'Neill that puts the deficit number last year at
quadruple what Congress is worried about. Here are O'Neill's written words
in a "Message From the Secretary Of The Treasury: ... For fiscal 2001,
our results were an accrual-based deficit of $515 billion in contrast to a
$127 billion budget surplus reported last fall."
|
|
Read article...
|
|
Palestinian Gunmen got plastered in Church
Washington Times | Submitted by: Wessoman
Apparently, Palestinian Gunmen held up in the now famous Church of the Nativity seige used the standoff as a great excuse to eschew themselves from Islamic law and get hammered. "They also guzzled beer, wine and Johnnie Walker scotch that they found in priests' quarters, undeterred by the Islamic ban on drinking alcohol...Angry Orthodox priests yesterday showed two reporters about 20 empty bottles of whiskey, champagne, vodka, cognac and French wine on a kitchen shelf and on the floor of two rooms."
|
|
Read article...
|
|
$500 fine for sneeze attack
News Corporation | Submitted by: worldwadeweb
More mucus madness: "A woman who sneezed in a policeman's face was yesterday convicted for assault and fined $500." Watch where you point that thing...
|
|
Read article...
|
|
Mayor E. Jane
canada.com | Submitted by: Meerkat
Mark Emery: Tireless crusader, publisher of Canabis Culture, creator of pottv.com, and president of the BC Marijuana Party, recently announced his plans to run for mayor of Vancouver. Should he be elected, the "Prince of Pot's" reforms will include the firing of all current police officers, government supplied heroin and cocaine for addicts (delivered to their door), and ...of course, the complete legalization of marijuana. Go Mark!
|
|
Read article...
|
|
South African sells human head at abbatoir
Tiscali World Online | Submitted by: butcher_boy
The headless body of a 52-year-old man was discovered by his friend in a town in South Africa early this week. Now police have arrested a man who tried to sell them the head for about $1 000. The head was being sold for use in magic.
|
|
Read article...
|
|
Stripper's Child May Be Kicked Out Of School
myCFnow | Submitted by: Rio
Officials are threatening to kick a stripper's child out of school after a parent at her daughter's kindergarten showed the school some Internet pictures of woman. "When the child is taught principles for truth in the classroom, but then modeled something different in her house, how can that child not be confused? The message won't make sense," Church pastor Rev. Rick Cole said.
|
|
Read article...
|
|
Mother destroys art hoard worth $1.4 Billion
BBC | Submitted by: glinda
"A hoard of stolen art worth more than $1.4 BILLION has been destroyed
by the mother of a French art thief... Breitwieser, 31, currently
in prison, stole the works in the years after 1995, travelling across
Europe to work as a restaurant waiter in different cities...
When his mother heard about his arrest, in November 2001, she dumped many
of the stolen artefacts in the Rhine-Rhône canal, and later destroyed
the paintings, forcing some of them into her waste disposal unit."
|
|
Read article...
|
|
Five rules to avoid being killed by wives
Japan Today | Submitted by: Dominus Bishop
4. Pay special attention to curry. "The spicy flavor hides the strong odor of most poisons," explained Keiichi Tsuneishi, a biochemical professor at Kanagawa university.
5.  "No matter how old he is, a husband should pay attention to his wife's sexual needs," advised Ikeuchi. "He also needs to listen to his wife and talk with her if she has any complaints."
|
|
Read article...
|
|
Arizona sheriffs outpace the local riff-raff
Arizona Republic | Submitted by: Son of Benway
"Since Sheriff Roger Vanderpool took office last year, at least 22 deputies and detention officers in the 250-member department have been suspended, demoted, fired or forced to quit. Allegations involve having sex with minors, sending drunken drivers back on the road and stopping cars for vehicle repossession companies...One officer was forced to resign after it was learned he was keeping $10,000 in cash, seized during drug raids, in his unlocked desk..."
|
|
Read article...
|
|
Arsonist Sent to Live in Senior Home
AZ Central | Submitted by: Dominus Bishop
"A convicted arsonist who was ordered to serve his time at his mother's
house was sent to jail after the courts discovered she lived in a seniors
home.
|
|
Read article...
|
|
Putting words in your mouth
Boston Globe | Submitted by: anonymous
"Scientists at the Massachusetts Institute of Technology have created
the first realistic videos of people saying things they never said, a
scientific leap that raises unsettling questions about falsifying
the moving image... researchers taped a woman speaking into a camera,
and then reprocessed the footage into a new video that showed her
speaking entirely new sentences." Like the government couldn't do this
before.
|
|
Read article...
|
|
|
|
|


This page has been replaced by
the basic demo page
. Please use this link if you are not redirected automatically.


Back
Untested Form
Date
Name
Father's Name
Email
Address
Contact No
Weight
BP Systlic/Diastolic
Pulse
Heamoglobin
Temperature


Avaliable Routes
Teste
Id
RoutePlan
Assigned Vehicle
Status
To View
Add Route
Save Routes
Load Routes


olevba is a script to parse OLE and OpenXML files such as MS Office documents (e.g. Word, Excel), to detect VBA Macros, extract their source code in clear text, and detect security-related patterns such as auto-executable macros, suspicious VBA keywords used by malware, anti-sandboxing and anti-virtualization techniques, and potential IOCs (IP addresses, URLs, executable filenames, etc). It also detects and decodes several common obfuscation methods including Hex encoding, StrReverse, Base64, Dridex, VBA expressions, and extracts IOCs from decoded strings. XLM/Excel 4 Macros are also supported in Excel and SLK files.
It can be used either as a command-line tool, or as a python module from your own applications.
It is part of the python-oletools package.
olevba is based on source code from officeparser by John William Davison, with significant modifications.
S## Main Features
MS Office files encrypted with a password are also supported, because VBA macro code is never encrypted, only the content of the document.
See this article for more information and technical details about VBA Macros and how they are stored in MS Office documents.
Usage: olevba [options] <filename> [filename2 ...]
Options:
-h, --help show this help message and exit
-r find files recursively in subdirectories.
-z ZIP_PASSWORD, --zip=ZIP_PASSWORD
if the file is a zip archive, open all files from it,
using the provided password.
-p PASSWORD, --password=PASSWORD
if encrypted office files are encountered, try
decryption with this password. May be repeated.
-f ZIP_FNAME, --zipfname=ZIP_FNAME
if the file is a zip archive, file(s) to be opened
within the zip. Wildcards * and ? are supported.
(default:*)
-a, --analysis display only analysis results, not the macro source
code
-c, --code display only VBA source code, do not analyze it
--decode display all the obfuscated strings with their decoded
content (Hex, Base64, StrReverse, Dridex, VBA).
--attr display the attribute lines at the beginning of VBA
source code
--reveal display the macro source code after replacing all the
obfuscated strings by their decoded content.
-l LOGLEVEL, --loglevel=LOGLEVEL
logging level debug/info/warning/error/critical
(default=warning)
--deobf Attempt to deobfuscate VBA expressions (slow)
--relaxed Do not raise errors if opening of substream fails
Output mode (mutually exclusive):
-t, --triage triage mode, display results as a summary table
(default for multiple files)
-d, --detailed detailed mode, display full results (default for
single file)
-j, --json json mode, detailed in json format (never default)
New in v0.54: the -p option can now be used to decrypt encrypted documents using the provided password(s).
Scan a single file:
olevba file.doc
Scan a single file, stored in a Zip archive with password “infected”:
olevba malicious_file.xls.zip -z infected
Scan a single file, showing all obfuscated strings decoded:
olevba file.doc --decode
Scan a single file, showing the macro source code with VBA strings deobfuscated:
olevba file.doc --reveal
Scan VBA source code extracted into a text file:
olevba source_code.vba
Scan a collection of files stored in a folder:
olevba "MalwareZoo/VBA/*"
NOTE: On Linux, MacOSX and other Unix variants, it is required to add double quotes around wildcards. Otherwise, they will be expanded by the shell instead of olevba.
Scan all .doc and .xls files, recursively in all subfolders:
olevba "MalwareZoo/VBA/*.doc" "MalwareZoo/VBA/*.xls" -r
Scan all .doc files within all .zip files with password, recursively:
olevba "MalwareZoo/VBA/*.zip" -r -z infected -f "*.doc"
When a single file is scanned, or when using the option -d, all details of the analysis are displayed.

End Sub
Function OGEXYR(XSTAHU As String, PHHWIV As String) As Boolean
[Malicious Code...]
Application.DisplayAlerts = False
Application.Quit
End Function
Sub Workbook_Open()
Auto_Open
End Sub
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ANALYSIS:
+------------+----------------------+-----------------------------------------+
| Type | Keyword | Description |
+------------+----------------------+-----------------------------------------+
| AutoExec | AutoOpen | Runs when the Word document is opened |
| AutoExec | Auto_Open | Runs when the Excel Workbook is opened |
| AutoExec | Workbook_Open | Runs when the Excel Workbook is opened |
| Suspicious | Lib | May run code from a DLL |
| Suspicious | Shell | May run an executable file or a system |
| | | command |
| Suspicious | Environ | May read system environment variables |
| Suspicious | URLDownloadToFileA | May download files from the Internet |
| IOC | http://germanya.com. | URL |
| | ec/logs/test.exe" | |
| IOC | http://germanya.com. | URL |
| | ec/logs/counter.php" | |
| IOC | germanya.com | Executable file name |
| IOC | test.exe | Executable file name |
| IOC | sfjozjero.exe | Executable file name |
+------------+----------------------+-----------------------------------------+
When several files are scanned, or when using the option -t, a summary of the analysis for each file is displayed. This is more convenient for quick triage of a collection of suspicious files.
The following flags show the results of the analysis:
Here is an example:
c:\>olevba \MalwareZoo\VBA\samples\*
Flags Filename
----------- -----------------------------------------------------------------
OLE:MASI--- \MalwareZoo\VBA\samples\DIAN_caso-5415.doc.malware
OLE:MASIH-- \MalwareZoo\VBA\samples\DRIDEX_1.doc.malware
OLE:MASIH-- \MalwareZoo\VBA\samples\DRIDEX_2.doc.malware
OLE:MASI--- \MalwareZoo\VBA\samples\DRIDEX_3.doc.malware
OLE:MASIH-- \MalwareZoo\VBA\samples\DRIDEX_4.doc.malware
OLE:MASIH-- \MalwareZoo\VBA\samples\DRIDEX_5.doc.malware
OLE:MASIH-- \MalwareZoo\VBA\samples\DRIDEX_6.doc.malware
OLE:MAS---- \MalwareZoo\VBA\samples\DRIDEX_7.doc.malware
OLE:MASIH-- \MalwareZoo\VBA\samples\DRIDEX_8.doc.malware
OLE:MASIHBD \MalwareZoo\VBA\samples\DRIDEX_9.xls.malware
OLE:MASIH-- \MalwareZoo\VBA\samples\DRIDEX_A.doc.malware
OLE:------- \MalwareZoo\VBA\samples\Normal_Document.doc
OLE:M------ \MalwareZoo\VBA\samples\Normal_Document_Macro.doc
OpX:MASI--- \MalwareZoo\VBA\samples\RottenKitten.xlsb.malware
OLE:MASI-B- \MalwareZoo\VBA\samples\ROVNIX.doc.malware
OLE:MA----- \MalwareZoo\VBA\samples\Word within Word macro auto.doc
Since v0.54, olevba is fully compatible with both Python 2 and 3. There is no need to use olevba3 anymore, however it is still present for backward compatibility.
olevba may be used to open a MS Office file, detect if it contains VBA macros, extract and analyze the VBA source code from your own python applications.
IMPORTANT: olevba is currently under active development, therefore this API is likely to change.
First, import the oletools.olevba package, using at least the VBA_Parser and VBA_Scanner classes:
To parse a file on disk, create an instance of the VBA_Parser class, providing the name of the file to open as parameter. For example:
The file may also be provided as a bytes string containing its data. In that case, the actual filename must be provided for reference, and the file content with the data parameter. For example:
myfile = 'my_file_with_macros.doc'
filedata = open(myfile, 'rb').read()
vbaparser = VBA_Parser(myfile, data=filedata)
VBA_Parser will raise an exception if the file is not a supported format, such as OLE (MS Office 97-2003), OpenXML (MS Office 2007+), MHTML or Word 2003 XML.
After parsing the file, the attribute VBA_Parser.type is a string indicating the file type. It can be either TYPE_OLE, TYPE_OpenXML, TYPE_Word2003_XML or TYPE_MHTML. (constants defined in the olevba module)
The method detect_vba_macros of a VBA_Parser object returns True if VBA macros have been found in the file, False otherwise.
Note: The detection algorithm looks for streams and storage with specific names in the OLE structure, which works fine for all the supported formats listed above. However, for some formats such as PowerPoint 97-2003, this method will always return False because VBA Macros are stored in a different way which is not yet supported by olevba.
Moreover, if the file contains an embedded document (e.g. an Excel workbook inserted into a Word document), this method may return True if the embedded document contains VBA Macros, even if the main document does not.
The method extract_macros extracts and decompresses source code for each VBA macro found in the file (possibly including embedded files). It is a generator yielding a tuple (filename, stream_path, vba_filename, vba_code) for each VBA macro found.
Example:
for (filename, stream_path, vba_filename, vba_code) in vbaparser.extract_macros():
print '-'*79
print 'Filename :', filename
print 'OLE stream :', stream_path
print 'VBA filename:', vba_filename
print '- '*39
print vba_code
Alternatively, the VBA_Parser method extract_all_macros returns the same results as a list of tuples.
Since version 0.40, the VBA_Parser class provides simpler methods than VBA_Scanner to analyze all macros contained in a file:
The method analyze_macros from the class VBA_Parser can be used to scan the source code of all VBA modules to find obfuscated strings, suspicious keywords, IOCs, auto-executable macros, etc.
analyze_macros() takes an optional argument show_decoded_strings: if set to True, the results will contain all the encoded strings found in the code (Hex, Base64, Dridex) with their decoded value. By default, it will only include the strings which contain printable characters.
VBA_Parser.analyze_macros() returns a list of tuples (type, keyword, description), one for each item in the results.
Example:
results = vbaparser.analyze_macros()
for kw_type, keyword, description in results:
print 'type=%s - keyword=%s - description=%s' % (kw_type, keyword, description)
After calling analyze_macros, the following VBA_Parser attributes also provide the number of items found for each category:
print 'AutoExec keywords: %d' % vbaparser.nb_autoexec
print 'Suspicious keywords: %d' % vbaparser.nb_suspicious
print 'IOCs: %d' % vbaparser.nb_iocs
print 'Hex obfuscated strings: %d' % vbaparser.nb_hexstrings
print 'Base64 obfuscated strings: %d' % vbaparser.nb_base64strings
print 'Dridex obfuscated strings: %d' % vbaparser.nb_dridexstrings
print 'VBA obfuscated strings: %d' % vbaparser.nb_vbastrings
The method reveal attempts to deobfuscate the macro source code by replacing all the obfuscated strings by their decoded content. Returns a single string.
Example:
After usage, it is better to call the close method of the VBA_Parser object, to make sure the file is closed, especially if your application is parsing many files.
The following methods and functions are still functional, but their usage is not recommended since they have been replaced by better solutions.
The class VBA_Scanner can be used to scan the source code of a VBA module to find obfuscated strings, suspicious keywords, IOCs, auto-executable macros, etc.
First, create a VBA_Scanner object with a string containing the VBA source code (for example returned by the extract_macros method). Then call the methods scan or scan_summary to get the results of the analysis.
scan() takes an optional argument include_decoded_strings: if set to True, the results will contain all the encoded strings found in the code (Hex, Base64, Dridex) with their decoded value.
scan returns a list of tuples (type, keyword, description), one for each item in the results.
Example:
vba_scanner = VBA_Scanner(vba_code)
results = vba_scanner.scan(include_decoded_strings=True)
for kw_type, keyword, description in results:
print 'type=%s - keyword=%s - description=%s' % (kw_type, keyword, description)
The function scan_vba is a shortcut for VBA_Scanner(vba_code).scan():
results = scan_vba(vba_code, include_decoded_strings=True)
for kw_type, keyword, description in results:
print 'type=%s - keyword=%s - description=%s' % (kw_type, keyword, description)
scan_summary returns a tuple with the number of items found for each category: (autoexec, suspicious, IOCs, hex, base64, dridex).
Deprecated: It is preferable to use either scan_vba or VBA_Scanner to get all results at once.
The function detect_autoexec checks if VBA macro code contains specific macro names that will be triggered when the document/workbook is opened, closed, changed, etc.
It returns a list of tuples containing two strings, the detected keyword, and the description of the trigger. (See the malware example above)
Sample usage:
from oletools.olevba import detect_autoexec
autoexec_keywords = detect_autoexec(vba_code)
if autoexec_keywords:
print 'Auto-executable macro keywords found:'
for keyword, description in autoexec_keywords:
print '%s: %s' % (keyword, description)
else:
print 'Auto-executable macro keywords: None found'
Deprecated: It is preferable to use either scan_vba or VBA_Scanner to get all results at once.
The function detect_suspicious checks if VBA macro code contains specific keywords often used by malware to act on the system (create files, run commands or applications, write to the registry, etc).
It returns a list of tuples containing two strings, the detected keyword, and the description of the corresponding malicious behaviour. (See the malware example above)
Sample usage:
from oletools.olevba import detect_suspicious
suspicious_keywords = detect_suspicious(vba_code)
if suspicious_keywords:
print 'Suspicious VBA keywords found:'
for keyword, description in suspicious_keywords:
print '%s: %s' % (keyword, description)
else:
print 'Suspicious VBA keywords: None found'
Deprecated: It is preferable to use either scan_vba or VBA_Scanner to get all results at once.
The function detect_patterns checks if VBA macro code contains specific patterns of interest, that may be useful for malware analysis and detection (potential Indicators of Compromise): IP addresses, e-mail addresses, URLs, executable file names.
It returns a list of tuples containing two strings, the pattern type, and the extracted value. (See the malware example above)
Sample usage:
from oletools.olevba import detect_patterns
patterns = detect_patterns(vba_code)
if patterns:
print 'Patterns found:'
for pattern_type, value in patterns:
print '%s: %s' % (pattern_type, value)
else:
print 'Patterns: None found'


This documentation relates to Opera's now deprecated .oex Extension API framework for Opera versions <= 12.15 and also provided by our OEX2NEX shim library.
For the latest Opera Extensions API documentation for Opera versions > 12.15 please consult the latest Opera Extensions API documentation online.
With extensions, you have the ability to create and add exciting new functionality to the Opera desktop browser. As mentioned in other articles, Opera extensions contain a background process, injected scripts, and sometimes popup script too. In this article, we will take a look at how to communicate between all three.
Before we continue, you should download the following three extensions and install them in the newest version of the Opera browser. We'll explain everything with the help of the code in these extensions.
Opera uses postMessage()
to post a message, and we'll use that the majority of the time. However, if you want to post a message from the background process to ALL of the running injected scripts (regardless of whether the injected script is part of your extension or not), then you write the following in the background process:
opera.extension.broadcastMessage("Hello there");
Now you've sent a message, the injected script needs to catch it, which is done like so:
opera.extension.onmessage = function(event){
var thecatch = event.data; // event.data in this case will contain the string "Hello there"
}
It's as simple as that. In the above code, the background process is firing a message using broadcastMessage
to the injected script, and the injected script is listening for it. When it gets the message, the stores it in a variable called thecatch
. Keep in mind though, that using broadcastMessage
will send the message to all injected scripts and popups, so it should be used sparingly. Normally, you'll want to communicate to just one popup or injected script (the one inside your own extension) using postMessage
or message channels.
broadcastMessage()
only takes one argument: a string or an object. For example, either broadcastMessage("hi")
or broadcastMessage({'say': 'hi', 'to':'adam'})
. Same thing goes for postMessage()
communication that we'll discuss in this article. However, for sake of simplicity and consistency, we're only going to use strings in the examples being discussed below.
Let's illustrate this further by taking a look at our first test example.
The background process has an event listener for load
, and all the code is inside the function call for it. You can read the opera.postError
logs in Tools > Advanced > Error Console.
In Opera 11 beta onwards, you can easily open the Error Console by the keyboard shortcut [Cmd|Control]+Shift+O
window.addEventListener("load", setupConnection, false);
function setupConnection(){
// When the injected script is activated, it connects with the background process.
opera.extension.onconnect = function(event){
// Post message to the source, that is, the thing which connected to us (in this case the injected script)
event.source.postMessage("something");
// Post this message in the opera error console
opera.postError("sent message to injected script");
}
// Listen for messages
opera.extension.onmessage = function(event){
// Post a sentence (which includes the message received) to the opera error console
opera.postError("This is what I got from injected script: "+event.data);
}
}
Let's focus first on the following code snippet:
opera.extension.onconnect = function(event){
event.source.postMessage("something");
opera.postError("sent message to injected script");
}
onconnect
is fired whenever something connects to the background process, in this case, when the injected script is activated on a document, thus creating a connection with the background process. So as soon as the injected script loads, the onconnect
event is fired.
The onconnect
handler in the background contains a reference back to the injected script in event.source
. This message port can then be used to directly communicate back to the injected script, which is done here by sending the string "something" as a message using event.source.postMessage()
. We also send a small string to the error console, just to keep track of what's happening.
Let's leave the background process for a while and focus instead now on the injected script:
opera.extension.onmessage = function(event){
// Get content of incoming message.
var message = event.data;
opera.postError("background process sent: " + message);
// Replies back to background process.
var reply = "background process's message only had " + (message ? message.length : 0) + " characters.";
event.source.postMessage(reply);
};
Here, onmessage
is invoked whenever the injected script receives a message. We store the content of the message in the variable message
. Next we use opera.postError
to display a sentence in the error console along with the message sent by the background process.
To acknowledge receipt of the message, we post back a message to the background process using the event.source
of the incoming message. This always holds true: a message event.source
always points back to the sender.
So now, we've seen how messages are received by the injected script, and also how they can be transmitted back to the background process.
The next step is for the background process to catch this message and do something with it. So let's focus on the background process again, this time on the other part of the script:
// Listen for injected script messages
opera.extension.onmessage = function(event){
// Post a sentence (which includes the message received) to the opera error console.
opera.postError("This is what I got from the injected script: " + event.data);
}
Here, whenever a message is received, it posts a sentence containing that message data onto the error console.
So in summary, this is what happens in the extension:
If you have installed the extension (reload the page for the injected script to take affect) then go to the error console. You should find the messages shown in Figure 1 written into it.
Figure 1: The error console, showing the messages sent to it by the extension.
So we've now seen how both background process and injected script can post messages and catch messages. Next, we'll see how this is done with a popup.
We'll be using the second extension example for this. Notice that there is no includes/
folder or any injected scripts - it's just the background process, and the HTML files along with config.xml
and an icon.
You already know from previous articles how to create a UIItem
like a button, so we won't cover that. Let's focus on the following piece of code in background.js
:
opera.extension.onconnect = function(event){
event.source.postMessage("sending something");
opera.postError("sent message to popup");
}
As we know from the previous example, this will be run when something connects to the background process, in this case, the popup. The function sends the message "sending something" to the popup, and the message "Sent message to popup" to the error console.
Let's go to the popup page now:

Here we listen for a message to arrive, and when it does we send a message back to the source. We also post something to the error console once again. So now the popup script receives a message, and sends a message back to the background process. All that's left now is for the background process to catch it.
Let's go back to the background process again, and study the following code:
opera.extension.onmessage = function(event){
opera.postError("This is what I got from injected script: " + event.data);
}
Here the background process listens for a message, and when there is one, it posts something to the error console, with the content of the message received as part of the message. As you can see, we approximate and label the message as coming from an injected script here too.
So in summary, this is what happens in the extension:
So the way it behaves is actually pretty similar to the previous example, its just that with this example, we did not have an injected script file at all in the includes/
folder. Rather, we used a popup and the popup document's script communicated with the background process.
If you install the extension, click the extension button to trigger the communication with the popup then open up the error console, you should see the messages shown in Figure 2.
Figure 2: the error console showing the messages sent to it by the extension.
Let's now look at how to communicate between a popup and an injected script. The background process will be used initially to make the connection, then both popup and injected script will talk without the background process.
We achieve this by creating a message channel. You can learn more about message channels by looking at the HTML5 cross document messaging specifications, which is what the messaging for extensions is closely based on.
We'll explain this using the third test example, so fire up your text editor and have a look at the code. Let's first look at the background process. You'll notice some familiar things, like the code to add a button and a popup, etc. Let's delve into the interesting bit.
Let's look at the onconnect
event here:
opera.extension.onconnect = function( event ){
if( event.origin.indexOf("popup.html") > -1 && event.origin.indexOf('widget://') > -1 ){
var tab = opera.extension.tabs.getFocused();
if( tab ){
tab.postMessage( "Send a port", [event.source] );
opera.postError('sent a message to injected script');
}
}
}
We first check whether the origin of the connection is the popup file (popup.html) and whether it is the same popup.html that is included in our extension file or not (by checking for 'widget://'). If so, then it will send a message to the injected script, together with a reference to the the source of the connect (the popup).
Now look at the injected script:
var counter = 0;
var background;
opera.extension.onmessage = function( event ){
if( event.data == "Send a port" ){
background = event.source; // in case you need to send anything to background, just do background.postMessage()
var channel = new MessageChannel();
event.ports[0].postMessage( "Here is a port to the currently focused tab", [channel.port2] );
opera.postError('post sent from injected script');
channel.port1.onmessage = handlePopupMessage;
}
}
Here we initially set the counter to zero. The injected script listens to any message, and if the message if 'send a port' (the same that the background message sends when the popup connects to it), then a message channel is set up.
Essentially in message channels:
When we recieve a message from the popup on port1, we check call the function 'handlePopupMessage' (more on that later).
The message sent by the background script also had a refernce to the popup. This reference to the popup is available as event.ports[0]
. We now post a message to the popup, together with a reference to port 2 of the message channel.
Now let's look at the popup file:
var theport;
function handleMessageFromInjectedScript( event ){
opera.postMessage( "Message received from the injected script: " + event.data );
}
opera.extension.onmessage = function ( event ){
if( event.data == "Here is a port to the currently focused tab" ){
if(event.ports.length > 0 ){
theport = event.ports[0];
theport.onmessage = handleMessageFromInjectedScript;
}
}
}
function sendMessage(message){
var sendstring = message;
if (theport){
theport.postMessage(sendstring);
opera.postError('the send sent is: '+sendstring);
}
}
Lets start from the onmessage
part. Here it checks whether the message is the same one which is supposed to come from the background process. If so, it saves a reference to that port (port2) in the 'theport' variable. Whenever a message a message is received on it, it calls the function 'handleMessageFromInjectedScript', which would post a message to the console. Then in the end we post a message back on this port, which will be received by the injected script.
In the HTML, we have

Change Title

This calls the sendMessage()
function, which takes the string 'change title' and sends it to the injected script.
Finally, we come back to the injected script. Remember that we have a function to handle messages from the popup? Lets look into that function
function handlePopupMessage(e){
opera.postError( "Message received from the popup: " + event.data );
if (event.data == "change title"){
document.title = "You have clicked " + counter + " times";
counter++;
}
}
The function 'handlePopupMessage' is called whenever a message is recieved from the popup on port1. It checks whether the message is 'change title', and if so, it changes the document title and increments the counter.
So in summary, the following things happen:
onconnect
event is fired in the background process which fires a message to the injected script. The message which is sent to the injected script, also has a reference to the popup.postMessage
to it.Communicating between various parts of an extension is pretty easy once you get to know how to use postMessage
along with the onconnect
and onmessage
handlers. You can also use message channels, which is required when it comes to communicating between a popup and an injected script. This article has shed some light on how to pass around messages in three scenarios: between background process and injected script; between background process and popup; and between popup and injected script.


New Task
Task Title
Description
Due Date
Priority
High
Medium
Low
Tasks will be colored according to priority. Red for high. Blue for medium. Green for low.
Project
If you want to sort this task into an entirely new project folder, you can easily do so here.
Create
Add
Edit Task
Project
Task Title
Description
Due Date
Priority
High
Medium
Low
Tasks will be colored according to priority. Red for high. Blue for medium. Green for low.
Save


Chi Hack Night's lead organizers manage the overall event planning, logistics, structure and finances.
Co-hosts help run our weekly event. If you are interested in co-hosting, let us know!
The booking team is responsible for finding, vetting and booking Chi Hack Night speakers.
The web team manage this ChiHackNight.org website.
All major decisions about Chi Hack Night are made by consensus by the Leadership Council, which meets once a month.
Chi Hack Night finances are administered under DataMade, LLC.
Have a talk you'd like to give at Chi Hack Night? See our speaker guidelines.


{% include 'fragments/head.html' %}
Python meetups (called “Pyvo”) are happening across the country. You're welcome to come, or present at one!
We are in process of preparing the very first Czech conference about Python, PyCon CZ. It is expected to take place during autumn 2015. Contact us in case you would like to help us with preparations or whether you're interested in attending and/or giving a talk.
Sure! I want to know more!How can you address Czech software engineers working in Python with your job offer? Why is it worth the effort?


What I hope to Get out of Web Foundations
I found the PCS JavaScript evening programs and quickly realized I didn't quite have the foundation to start off with one of those, and honestly I was a little leery of diving right in at that price tag, so the foundations series seemed like a good way to dip my toe in the water. What I would really like to get is this:
- An idea of whether my instinct about development as a career is right, and whether I am cut out for it.
- An idea of what I might expect out of either the Full Stack or Ruby On Rails evening courses.
- An idea of which course to take to be able to get an entry level development position.
- The skills to not be totally lost in either of those courses.
- Some friendly coding buddies would be a nice plus.


Data Scientist - Cambridge, MA 02142
- Drive the development of new data-driven product capabilities based on your insights and analysis
-
Identify and execute on new product initiatives in partnership with Product Management and Engineering
-
Own all phases of of the machine learning process; explore & prepare training set, random sampling, model selection & development, model validation, implementation and monitoring
-
Work directly with machine learning engineers to implement models, rules engines or other solutions derived from the data
What is Litmus looking for in a candidate?
-
5+ years of experience with a degree in a relevant discipline
-
Must have at least 3+ years of experience in each of the following skills:
-
Writing complex SQL queries
-
Working with large datasets
-
Using a scripting language like Python for data analysis
-
Experience using BI and visualization tools
-
Excellent understanding of machine learning techniques and algorithms, such as Logistic Regression, Linear Regression, k-NN, Naive Bayes, etc.
-
Proven ability to perform statistical analysis and experience with tools such as SAS, R, Python or equivalent
-
Experience with cloud computing services like AWS or Google Cloud
-
Ability to collaborate effectively and work as part of a team
-
Excellent communication skills
Nice to have...
-
Prior experience building software products for end users
Why Should I choose Litmus?
-
We offer everything you'd expect from a financially successful and profitable startup, and we've been going strong for ten years.
-
Great salary and stock options, comprehensive health care benefits, and a generous retirement plan match.
-
28 days of paid vacation—that’s on top of team retreats and public holidays.
-
Remote-friendly culture. No matter where you are, you'll feel connected to the team. Over half of our employees work remotely. Your work experience is just as exciting, entertaining, and engaging wherever you choose to work from.
-
Family friendly. Flexible schedules along with generous maternity and paternity policies.
-
Fantastic professional training to keep your skills sharp.
-
The best tools and technology money can buy. Top of the line hardware, software, and whatever else you need to be awesome.
It’s the company you keep. The people at Litmus are truly amazing, each in their own way. With outstanding profitable growth and the trust of more than 250,000 marketers you know you’re part of a winning team.


e-commerce Store
Sign Up
Login
Login to make a purchase
LOGIN
Username not provided
Enter your password too!
Remember me
Login
Don't have an account?
Register


--- layout: post status: publish published: true title: Another Vote of No Confidence author: display_name: Andy login: Andy email<EMAIL_ADDRESS>url: '' author_login: Andy author_email<EMAIL_ADDRESS>wordpress_id: 1216 wordpress_url: http://ivyenvy.com/?p=1216 date: '2009-08-11 22:23:35 +0000' date_gmt: '2009-08-12 04:23:35 +0000' categories: - The Cubs tags: - Phillies - Kevin Gregg comments: - id: 355 author: Andy author_email<EMAIL_ADDRESS>author_url: http://ivyenvy.com date: '2009-08-12 07:45:10 +0000' date_gmt: '2009-08-12 13:45:10 +0000' content: p.s. I first saw that clip on Sportscenter. ---
Here is an addendum to Corey's scary stat post--After tonight's demoralizing loss to the Phillies at home (is there any morale left?), the Cubs are now 19-31 against teams that have a record above .500. The Cubs have not shown that they can beat the "big boys" this year. This terrible record is an indication to me that the Cubs probably do not belong in the playoffs. The chances of the Cubs doing any damage in the playoffs (and possibly even just making it) are probably equal to someone sliding down a giant ramp, flying 35 meters through the air, and landing in a wading pool.
Let's move the pool a little and have Kevin Gregg give it a try.


Object Iterators
You can iterate through objects in an object layer in one of multiple ways.
Format
for object in map.layer[x].<iterator name>() do
-- Do something to object
end
Iterators
layer.nameIs(n)
: Iterates through all objects whose name isn
. The name corresponds to what was entered into the Tiled "name" field for the object.layer.nameMatches(n)
: Iterates through all objects whose name matchesn
, using Lua patterns. The name corresponds to what was entered into the Tiled "name" field for the object.layer.typeIs(n)
: Iterates through all objects whose type isn
. Tye type corresponds to what was entered into the Tiled "type" field for the object.layer.typeMatches(n)
: Iterates through all objects whose type matchesn
, using Lua patterns. The type corresponds to what was entered into the Tiled "type" field for the object.layer.objTypeIs(n)
: Iterates through all objects whose object type isn
. The object type of an object corresponds to the way the object was created in Tiled, and is readable through an object's_objType
property. Possible object types are:ellipse
,polygon
,polyline
,image
,point
,square
, andrectangle
. To force Dusk to classify all rectangle objects asrectangle
, set theobjTypeRectPointSquare
preference tofalse
.layer.objects()
: Iterates through all objects in the layer.


I was studying Biomedical Science when I took a CS elective and found my passion in programming.
With my highschool background and training in fine arts, I soon developed an interest in UI/UX design as well.
Maybe I'll be a unicorn . But my real job title, is oyster connoisseur.
I'm studying Computer Science at the University of Waterloo.
My last internship was at Nvidia as a web application developer. I'm currently looking
for a 4 month internship from Jan - Apr 2018 . Check out my work below or my resume.


 I had moved from Washington to Kentucky over the prior summer, and I was starting a new life; starting high school. I was nervous as hell going to high school without knowing a single person, but I took it as a chance to be the person I never was in Washington. I took it upon myself to become one of the 'cool kids.' I think most people know who the 'cool kids' are. The perception probably changes from person to person, from high school to high school. For me, the 'cool kids' were the ones who smoked pot before school, or drank from the bottles in their parent's liquor cabinet. I wasn't a cool kid in Washington, that's for sure. But, here, in Kentucky, this was my time to shine, and I did, amazingly.
I picked who I thought were the 'cool kids' and cozied up nice to them. Before I knew it, they had accepted me, and offered to get me high for my _very first time_. I was uncontrollably excited. D.A.R.E. had only made me want to try these forbidden drugs even more. I never had access to them until now, now that the cool kids had taken interest in me. So, a year before the most embarrassing night of my life, New Year's Eve, 1998, I was invited to smoke pot for the first time in my life at a cool kids house. Life couldn't have been better that night, the cool kids liked me, and I had found a new hobby: marijuana.
After that moment, I smoked every chance I could get. Being high took away the feelings of self-consciousness I always had lingering around myself. I felt I could make friends easily when I was high; I felt secure in myself, I felt like I wasn't just 'the new kid.' This all lasted until the conclusion 1999, when in that short duration, the cool kids no longer wanted me around. I didn't smoke as much pot anymore, and I spent more time by myself. I was fine with this, as I had spent a lot of time this way, having moved so often and barely having friends.
But now, I felt empty. Things felt wrong, and I longed for something better. I wanted to go back to Washington so badly. My reasons were shaky, but for some reason, Washington became mystified to me, some holy grail of happiness I had to give up. So, imagine my delight when I was invited again to the same cool kids house, New Years Eve, 1999, to smoke pot, again.
The night started out normally enough, I smoked, I felt wonderful, and things were falling into place again. Then, someone new showed up. Like I said, marijuana made it easy for me to make friends, so I immediately liked this new 'cool kid.' This new cool kid was offering everyone pills. I took some. I was told vaguely what they were:
'Anti-depressants, apparently they do something to you.'
'Ok,' says I, and down a few, proving I can keep up with any cool kid.
Later in the night, I become anxious. I feel my body convulsing; light twitching that seems amplified by my acute sense of it. I wonder if my twitching is noticeable. I want to ask the people I'm with if they notice my twitching, but I can't form the words. I can talk, that's for sure, but the words won't come out right. I find myself talking for too long of a time about something that doesn't make sense anymore. Trying to articulate my embarrassing (possibly unseen) twitching just led to more embarrassment. I could tell I was worrying my party, and I became worried myself.
'What were those pills?' I demanded to know.
 I feel like I'm dying.'
'Calm down.'
'What did you give me, just tell me.'
 I think it might've been a product of being chewed up and spit out by the 'cool kids.' Within a year they were my friend, and then just ditched me. Like I said, things like this had happened before, but I suppose marijuana never played a factor.
'Fine, it's LSD.' One of them says to calm me down.
'Really?' Oddly enough, this does calm me. Whoever said this was probably just trying to help me out, make me feel more secure. I obviously wanted some answer, and wouldn't take 'anti-depressants' as one. I accepted this answer, for some reason, I accepted it. I had never done LSD, so I didn't know what to expect. The people I was with offered to 'help me through it.' For the rest of the night they would ask me what I saw, and I would tell them something, fully immersed in my 'LSD' high. Honestly, I don't quite remember what I said, or what I saw. I remember feeling disappointed at the lack of effect LSD had on me, and taking more of the pills, but other than that, I don't remember.
The next morning I was told I hadn't taken LSD, that the pills were, in fact, Zoloft. I was the butt of a joke.  I was embarassed beyond belief, and I wanted to go home immediately. The new millennium started out with me being the biggest joke in Kentucky.
I never spent another day with the 'cool kids.' I feel like Iíve lost a part of myself since then. I don't enjoy pot like I once did; in fact, at the worst while high I have intense panic attacks and extreme moments of self-loathing and self-consciousness. At the best, I feel tired, and a little zoned out. I don't know if trust plays a factor in pot smoking, but the experience has never been the same for me. I feel like I've lost my trust in humanity. As dramatic as that sounds, it's terrifying to think someone you trust is laughing at you without your knowledge.
I no longer live in Kentucky. I have a wonderful girlfriend who puts up with my shit, and is helping me through my insecurities, and lack of trust in people. I just wish I could feel like I used to when I was high. Sometimes I think I glorify things gone by, and sometimes I think I've already peaked in life.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


A
అ
अ
Course Editor
Instructions
Image (Optional)
Audio (Optional)
Background
:
TextColor1
:
TextColor2
:
Image (Optional)
Audio (Optional)
Image (Optional)
Audio (Optional)
Add Example Words
Add Syllable
Save iPrimer
Generate
Available courses
Oops! Something went wrong. :(
Upload XML
Reset my courses
Download book
Back to home


abstract val contract: Class<out Contract>?
Contract code the moved state(s) are for the attention of, for example to indicate that the states are moved in order to settle an obligation contract's state object(s).


| 29 May 1941 |
293 Disney employees go on strike. |
| 17 Jul 1955 |
Walt Disney opens Disneyland. |
| 15 Nov 1965 |
Walt Disney holds a press conference in Orlando, Florida at the Cherry Plaza Hotel. He announces that he has purchased a whole lot of land in the area and intends to do interesting things with it. |
| Apr 1983 |
Disney launches The Disney Channel. |
| 16 Sep 1999 |
Disney Infoseek executive Patrick Naughton travels to the Santa Monica pier to meet a 13-year-old girl he was attempting to seduce via an Internet chatroom called "dad&daughtersex." The girl was actually an undercover cop. Disney fires Naughton almost immediately after the news breaks; the executive later pleads guilty to the charge of crossing state lines to have sex with a minor. |


For the fig-swirl: Melt butter over medium heat in a saucepan. Add brown sugar and stir to dissolve. Halve all of the figs and toss in the saucepan with water and lemon juice. Cook over medium heat, stirring fequently, until you have a chunky-jammy mixture. Add salt with one or two stirs, set aside and let cool completely.
Ice cream: In a small pot over medium heat, combine milk, and granulated sugar until sugar is completely dissolved and the milk is just barely lukewarm. Whisk in the egg yolks. Set mixture in the fridge and wait until the fig mixture is cooled.
Using an ice cream machine, pour liquids into the frozen basin and process according to manufacturer instructions, i.e., let spin and thicken for 20 minutes before adding mascarpone, fig jam mixture, and the nuts. Continue to process for +/- 10 minutes. Pour semi-frozen mixture into a pyrex dish or glass tupperware. Freeze for at least two hours before serving.


Hello, my name is Awn Duqoum and I am running to be A-Soc's next president
My biggest campaign promise and one of my main focuses will be to actively work toward removing the stigma around engineering isolation. Currently engineering is viewed as the most isolated faculty, this was very evident to me during my time with Feds. If elected I would work my hardest at repairing the Engsoc’s relationship with Feds and building new bridges with all other faculties, clubs and services. I dream of an Engsoc that is friends with everyone on campus and is approached every term with collaboration ideas.
Engsoc has a long history of traditions which I would work toward maintaining and evolving. To do this I would work toward creating a place on campus in which our traditions can be displayed for future generations.
Promoting school/faculty spirit and pride is matter that is very dear to me. If elected I would work with the newly formed “Warrior Tribe” to hold events to promote spirt. To promote pride, I would work with the departments and class representatives to create program specific murals.
During my time as commissioner, director and feds volunteer there was always a common theme of under-appreciation. Many of the individuals I had the privilege to work with rarely got the recognition they deserved for all their hard work. If elected I would ensure that every director, commissioner, officer and VP feels appreciated and valued. Furthermore, I would work toward making Engsoc an environment where appreciation is the norm and no hard work goes unrecognised which in turn would lead to an Engsoc where getting involved is a much more rewarding experience.
Many of Engsoc’s previous and current presidents have done amazing work promoting MHA efforts in the society, if elected I would continue to support these efforts. I would work with the faculty and university to lower waiting times for appointments and develop other methods for students to receive the support they need. I would also integrate the current mental health blog into the Engsoc website and create a digital copy of POETS secret week so that students who do not feel comfortable enough approaching the directors can still have their stories told.
As president I would work to improve the society's involvement with both the university community and the Waterloo community. Volunteering has been a big part of my life, I’ve learned a lot of what I know now by volunteering and I would like to make the process of finding a way to get involved easier for all Engsoc members. Also to further extend my promise of unity I would work with FEDS’s volunteer center to make my goal of community involvement a reality.
I consider Engsoc to be my family, and a family is supposed to know what it’s members need and what they are up too. If elected, I would work hard to improve executive transparency and the transparency of the society as a whole. I would also work on improving representation so that each and every member knows that their voice is both important and heard. I dream of a day where any engineering student can walk into the orifice or POETS and feel at home.
While at Waterloo I represented my class as a WEEF rep every term since 1A. I was Student Life Commissioner in Winter 2016 in which I became very familiar with the internal portfolio, and learned a lot about student interest and how to better structure events and event planning. During JAGM (Joint Annual General Meeting) 2016 I was voted in as a member of the Board of Directors, lastly for Fall 2016 I will be one of the Mental Health and Bus Push Directors .
Outside of my beloved EngSoc I have also been active. I have been a Don with OCC (The Off Campus Community) every term since spring 2015 and also helped run RAK (The Random Acts of Kindness Club) as their marketing executive. I also served as a sub-team lead for the BioMechatronics design team, by running the Enable team. Lastly, I have been a member of Velocity as a volunteer for Qidni Labs Inc.


water cities urban waste Water Leeuwen governance Asian Van management solid Accessed capacity challenges climate high City (BCI Koop city treatment {border-style Mar Bandung Environ px;} wastewater #ffffff;} change financial flood address local population Ahmedabad Cities OECD Singapore indicators study (Koop (ind. Blueprint European IWRM Table barriers development resources risk water, Seoul United approach environmental low Asia Governance World assessment basic economic improved indicator BCI Bank WWT based cities, improve living scores Fig. However, Jakarta MSW Manila Sci Taipei access available community data developing drinking energy largely main provide sanitation services transformation using world (Table (e.g., GCF Resour SHA Solid b). case cities. good increase land learning order performance process px; recovery slums social systems {font-family (Van (condition .), Bangkok CBF Global Indonesia Manag New Watershare city’s consumption efficient enablers face font-size heat integrated key large largest limited long-term nations overall policy pressures priorities, programme recycling relatively results score slum (Aartsen (EC ./s--- Ahmedabad, Asia’s HCMC Korea Taipei, WWAP [], adaptation analyses analysis apply categorisation collab: collection critical double; evaluation existing government infrastructure lack people planning pollution. proper provided public rapid reduce role selected services, settlements social, stakeholders support sustainability sustainable urbanisation use water-related (Rahmasary Approach Asia. Development Environmental Framework GDP Hohhot India Int Kim Moreover, Organisation Paris South Tianjin University, Urban Waste a). average better blueprint border-color border-width capacities categorised challenge challenges. compliance conditions considered current cycle decision-making different empirical especially global grid.. groundwater human i.e., identified implementation include informal leading measures national need needed paper particular, percentage practices processes provides rapidly reflected report risks shows solid; studies subsidence treatment, world’s {font-style {font-weight (OECD (UN (b) Ahmedabad’s Assessing Chang Climate Dev Driessen Eastern Gupta Institute Management Nations Partnership Population Pressures Quito Rahmasary Sjerps Sustain TPF Trends UN-HABITAT University adequate analysed applied awareness billion bold capita category centralised circular cities: citizens cooperation correlation country courier; coverage detailed develop developed diversity e.g., effectiveness em; ensure example, flooding governance. growth implementing index information insufficient interviewees. leakages limit literature management, monitoring observed overview pollution populations practice priorities programmes pt;} rate respect review risks. scale shown solutions statutory understand variety


--- layout: default title: CCA'17 - International Conference on Cloud Computing and Applications meta: A conference about cloud computing and applications. Great opportunity to network and gain more knowledge! keyword: cloud services, iaas, paas, saas, cloud infrastructures, cloud computing, storage, data architectures, distributed networking, computing, cloud management, cloud operations, security and privary, performance, scalability, reliability, virtualization, cloud data analytics, big data management, big data analysis, cloud software, hardware, cloud applications, social clouds systems, mobile clouds systems, cloud economics ---
The International Conference on Cloud Computing and Applications (CCA'17) aims to become the leading annual conference in fields related to cloud computing and applications. The goal of CCA'17 is to gather scholars from all over the world to present advances in the relevant fields and to foster an environment conducive to exchanging ideas and information. This conference will also provide an ideal environment to develop new collaborations and meet experts on the fundamentals, applications, and products of the mentioned fields.
All accepted and presented papers will be published in the conference proceedings, under an ISBN reference in a USB drive. The online version of the proceedings will also be published under an ISSN reference and each paper in the proceedings will be assigned unique DOIs by CrossRef. Furthermore, selected papers from the conference will be submitted for possible publication in the following journals from Avestia Publishing (publication fees may apply):
International Journal of Electrical and Computer Systems (IJECS)
CCA is an acronym for Cloud Computing and Applications.
Dr. Brigitte Jaumard,
Concordia University, Canada
Biography & Abstract


TechService
Menu
Tasks
Show More
Community Service
Community Service Hours
Number of Hours:
Date:
Provider:
Location:
Submit Info
Processing
List of Past Volunteering Services
Contact Faculty
Contact Faculty
Faculty Member:
Subject:
Query:
Send Query


Based on what you've told us You get help with NHS costs and don't need to apply
Because you get Universal Credit and have a take-home pay of £435 or less:
You get free:
- NHS prescriptions
- NHS dental check-ups and treatment
- sight tests
- NHS wigs and fabric supports
You get money off:
- new glasses or contact lenses
- repairing or replacing your glasses or contact lenses
- travel for NHS treatment
Any children under 20 included on your tax credit claim are also entitled to the same help.
How to get your help
In most cases, you don't have to do anything more, although you may have to show proof you get Universal Credit to your pharmacist, optician or dentist.
You can use your latest benefit letter or online award notice as proof.
Help with travel for NHS treatment
Tell the hospital (or the place where you’re getting treatment) that you want to claim back the cost of your journey. They’ll tell you what you need to do.
You may need to show proof:
- of your travel costs, for example, bus tickets
- that you’re entitled to help
Back to application


I am a graduate of the Iron Yard Charleston’s Back-End Engineering course. The biggest skill I took away from the Iron Yard was the ability to learn new languages and frameworks in a high pace environment. This skill, coupled with my natural curiosity, drives me to constantly learn new things. With every new skill I acquire, my confidence grows along with my excitement to see what else I can discover.
Small social web app that allows users to post events that they are hosting and to rsvp to events that are posted. Client side written using javascript and JQuery. The server side code was written in Java using the Spark framework, and raw SQL for interacting with the database.
A mobile first web application that acts as a tour guide for the downtown Charleston area. Users can select from 3 prebuilt tours or simply choose 3 locations around town to walk to and explore. Geofences wrap around every location and are triggered when the user comes to the location, displaying information about the location. A pitstop button displays all the restaurants nearby the user. Built using Angular.js with google apis for location data, and server code written in Java using the Spring framework. Data is persisted on a postgreSQL database, which deletes old tours after 48 hours.
Iron Trivia is a web based trivia game that allows users to invite up to three other users to participate in a trivia game. The game does not start until all players are ready, and each round does not end until everyone has answered or a certain amount of time has passed. This project was made using Java and the Spring framework for the server side code, and Javascript with backbone for the client side.
Iron Trivia is a web based trivia game that allows users to invite up to three other users to participate in a trivia game. The game does not start until all players are ready, and each round does not end until everyone has answered or a certain amount of time has passed. This project was made using Java and the Spring framework for the server side code, and Javascript with backbone for the client side.


Next page: Right arrow key or click right side of image
Previous page: Left arrow key or click left side of image
Next chapter: Shift+Right arrow key
Previous chapter: Shift+Left arrow key
Use digits 1-3 to change the image size.
1: Full size
2: Smaller maximum vertical size
3: Fit to window width
Scroll without changing pages by using Ctrl+Arrow key.
Mouse over the top of the window to reveal the navigation bar and chapter switcher.
The navigation bar also has info, fit mode, and page download buttons.
Mouse over the right of the window to reveal the page switcher.
Close this panel by clicking outside it or pressing Esc.


Learning objectives
- (1) Apply dynamically-typed variables with implicit type conversion… using JS.
- (2) Apply JS functions and control structures…
- (3) Design small client-side web apps that employ JS functions to respond to HTML DOM events… making changes to the HTML DOM.
- (4) Apply JavaScript's support for first class functions…
- (8) Apply best practices in internal documentation, file naming and web site structure…
Review Javascript language
Highlights
- Dynamically-typed variables with implicit type conversion
- Control structures
- HTML DOM events
- First class functions
- HTML DOM methods to change structure
Code every day. Set aside at least a half-hour every day for deliberate practice.
Review
Javascript language
Unobtrusive Javascript
- delay processing — place at the end body
- accelerate processing — DOMContentLoaded event
- avoid control boxes (alert, prompt,...)
- avoid event attributes — hard to maintain
- ultimately, move code to an external file
Test yourself
- After you complete any program, put it aside.
- Recreate the solution from scratch, without looking at the solution.
- When you get stuck, reflect on why. Determine what stopped you from completing it. Study related material (and yes, you can look at the solution to help you figure it out at this point).
- Repeat steps 1, 2, and 3, until you can produce the solution without any help.
Continue working on the tictactoe game.
Share code snippets and discuss on Piazza Q&A.
Reminder: cite all ideas and code used in your comments; make it a habit.
Continue working on the Casino craps game.
Share code snippets and discuss on Piazza Q&A.
Reminder: cite all ideas and code used in your comments; make it a habit.
document.addEventListener("DOMContentLoaded", init);
/*
gameReset(game)
cellWasClicked(cell, game)
placeMarkerInSelected(cell, game);
checkStatus(cell, game)
doWeHaveAWinner(cell, game)
gameContinues(cell, game)
itIsAScratch(status, game)
displayWinner(status, game)
weHaveAWinner(status, game)
displayWinner(status, game)
OR
gameContinues(cell, game)
*/
Unobtrusive JavaScript
- Scripts placed after marked up content
- Accelarated to DOM being ready
- No event attributes
- No control boxes
Functional paradigm
- Functions call other functions
- init() calls gameReset() and cellWasClicked()
- No global variables
- Values passed as arguments as needed
Convert your solution to functional paradigm and unobtrusive Javascript.
Develop a technology agnostic algorithms
Problem: tic tac toe game
Example
Review HTML Forms
| HTML elements |
form, input, textarea |
| CSS properties |
attribute selectors, pseudo-elements |
| Form processing |
GET vs. POST, key=value pairs |
Review "What you should already know" and catch up before next class.
Prepare for next class
Study the assigned material and make notes.
Complete Worksheet 5.
—
Post your questions on the Discussion board
or bring to next class. Answer other students' questions. Start a conversation.
—


Majestic Car Care (MCC) makes sure that you look your best by offering a wide range of unique services with an enormous range of unique products to pamper your car thus enlightening your personality. . Your vehicle deserves our unsurpassed service and care to maintain its pristine look.
We have mastered the art of producing show car finishes with the finest class products and techniques by professional and certified technicians from U.S.A. Every panel is checked and the paint level is measured to ensure that the paint is leveled to give the ultimate shine and reflection. The resolution, depth perception and optical clarity of the paintwork will truly stand out and the wet look with a silky smooth surface compliments any touch.
We at MCC always hold the crown by invoking an endless passion and dedication which we render in order to make your car look swish. As a car care shop offering nothing but the best, our prime focus lies in the quality and perfection of the work we do. The sophisticated procedures we adopt in treating your car are irreplaceable by any other car care shop. Enjoy an investment that will leave an unforgettable impression with impeccable results.
Majestic Car Care is the exclusive dealer for Doctor Headlight’s patented headlight restoration process. It is the only system that guarantees to restore any failed headlight to 100% like brand new, regardless of its current condition.
Our windshield repair technology invisibly seals the damage seamlessly and restoring the windshield back to its original strength.
Our advanced glass restoration technology can bring your glass back to their original shine and transparency.
Depending on the appearance of your car we have a range of services and package to bring it back to it's original appearance.
Paint Protection Solutions are applied to painted surfaces of a new or used car in order to protect the paint from stone chips, bug splatters, and minor abrasions.


ValueDateCalculator(ccyHolidays: CurrencyHolidays)
Creates a ValueDateCalculator with the given currency holiday registry.
Constructor Creates a ValueDateCalculator with the given currency holiday registry.


My name is SANDRA MARYANNE I am 19years old.I completed my
form four last year but one and am the I was born and brought up in an area where by we face a challenge with the ELEPHANTS as a result of that
i came up with a gadget that will help control human wildlife conflict. It:
When am at my leisure time i enjoy passing my time doing different activities such as
Currently am at MORINGA SCHOOL pursuing my course so that i may be able to run my project by myself To my TECHNICAL MENTORS my laptop has been giving me a hard time so currently i lack a project of my own
I love nature and thats why i have used an Elephant
to potray me. Since am closely associated with nature.
MY BACKGROUND
HOBBIES
MY CURRENT INTERESTS
Its so hectic and tiresome to keep following people to code for you your idea
My main wish is to pursue this course successfully
and understand the full content too.APOLOGIES
My partner and I have done different projects using his laptop.