Before Change
self.assertTrue(all(computed == expected))
def test_visibility_outside(self):
computed = room1.checkVisibilityForAllImages(room1.sources[0], np.array([5, 5]))
expected = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
self.assertTrue(all(computed == expected))
def test_visibility_upperRight(self):
After Change
self.assertTrue(np.allclose(images_found[:,visibilities[0,:]], sources[:,visible_middle]))
def test_visibility_outside(self):
self.assertTrue(np.allclose(images_found[:,visibilities[1,:]], sources[:,visible_outside]))
def test_visibility_upperRight(self):
self.assertTrue(np.allclose(images_found[:,visibilities[2,:]], sources[:,visible_upperRight]))


Execute a git pull in your repository directory to download new files. Prompt files won't change after posting, so feel free to modify them as you like. Here once again is an informal guide to git.
To develop efficiently, have a local web server running. Python has a simple, built-in server. Use python -m http.server for python 3; use python -m SimpleHTTPServer 8000 for python 2 (execute python in cmd for version number).
How does Javascript differ among popular web browsers? Can I Use breaks down browser support and Browser Usage on Wikipedia shows current market share. Count on your TAs using recent Chrome browsers to evaluate your assignments, but remember that much of the world is not. Even browser usage stats can be misleading if you are intending for your site to be used by members of the Global South.
Review Javascript Object Notation.
To learn more about functions, check out this tutorial by John Resig


I am currently enrolled in the University of Toronto coding boot camp. Upon completion I will be looking to make a full time career change out of the hospitality industry. The hospitality industry has taught me everything you need to know about customer service, how to keep a customer happy and truly understand what a customer is looking for even when they are not clear on what they want. This is a valuable asset I will bring to the table as a web developer.
I currently reside in Burlington Ontario with my Fiancé and three kids. From March 2020 until my enrolment at the University of Toronto coding boot camp in November I have been self learning web development. I have completed a Udemey Web development course and spent many hours learning HTML, CSS, JavaScript, React, Node JS, Mongoose, API’s and touched on many others.
The University of Toronto boot camp is the final piece of the puzzle which will allow me to make the career change I have been looking for. I hope you like the projects I have on my website and look forward to talking with you soon.
Get In Touch
Want to collaborate? Talk code? Reach me below via email or social links.


A productivity tool is a bit of a vague term. On one hand, almost every open source code package released and available online is a kind of productivity booster—it provides ready-to-use solutions to some problem, so no one needs to spend time on it (ideally speaking). On the other hand, one could say that the whole of Python is about productivity. And both are undoubtedly true. Almost everything in this language and community surrounding it seems to be designed in order to make software development as productive as it is possible.
This creates a positive feedback loop. Since writing code is fun and easy, a lot of programmers spend their free time to create tools that make it even easier and fun. And this fact will be used here as a basis for a very subjective and non-scientific definition of a productivity tool—a piece of software that makes development easier and more fun.
By nature, productivity tools focus mainly on certain elements of the development process such as testing, debugging, and managing packages and are not core parts of products that they help to build. In some cases, they may not even be referred to anywhere in the project's codebase despite being used on a daily basis.
The most important productivity tools, pip
and venv
,
were already discussed earlier in this chapter. Some of them have packages for specific problems, such as
profiling and testing, and have their own chapters in the book. This section is dedicated to other tools that
are really worth mentioning, but have no specific chapter in the book where they could be introduced.
Python programmers spend a lot of time in interactive interpreter sessions. It is very good for testing small code snippets, accessing documentation, or even debugging code at run time. The default interactive Python session is very simple and does not provide many features such as tab completion or code introspection helpers. Fortunately, the default Python shell can be easily extended and customized.
The interactive prompt can be configured with a startup file. When it starts, it looks for the PYTHONSTARTUP
environment variable and executes the code in the file pointed to
by this variable. Some Linux distributions provide a default startup script, which is generally located in
your home directory. It is called .pythonstartup
. Tab completion and command
history are often provided to enhance the prompt and are based on the readline
module. (You need the readline
library.)
If you don't have such a file, you can easily create one. Here's an example of the simplest startup file that
adds completion with the <Tab>
key and history:
# python startup file import readline import rlcompleter import atexit import os # tab completion readline.parse_and_bind('tab: complete') # history file histfile = os.path.join(os.environ['HOME'], '.pythonhistory') try: readline.read_history_file(histfile) except IOError: pass atexit.register(readline.write_history_file, histfile) del os, histfile, readline, rlcompleter
Create this file in your home directory and call it .pythonstartup
. Then, add a
PYTHONSTARTUP
variable in your environment using the path of your file:
If you are running Linux or Mac OS X, the simplest way is to create the startup script in your home
folder. Then, link it with a PYTHONSTARTUP
environment variable set into
the system shell startup script. For example, the Bash and Korn shells use the .profile
file, where you can insert a line as follows:
export PYTHONSTARTUP=~/.pythonstartup
If you are running Windows, it is easy to set a new environment variable as an administrator in the system preferences, and save the script in a common place instead of using a specific user location.
Writing on the PYTHONSTARTUP
script may be a good exercise but creating good
custom shell all alone is a challenge that only few can find time for. Fortunately, there are a few
custom Python shell implementations that immensely improve the experience of interactive sessions in
Python.
IPyhton (http://ipython.scipy.org) provides an extended Python command shell. Among the features provided, the most interesting ones are:
Now, IPython is a part of the larger project called Jupyter that provides interactive notebooks with live code that can be written in many different languages.
bpython (http://bpython-interpreter.org/) advertises itself as a fancy interface to the python interpreter. Here are some of the accented on the projects page:
ptpython (https://github.com/jonathanslenders/ptpython/)
is another approach to the topic of advanced Python shells. In this project, core prompt utilities
implementation is available as a separate package called prompt_toolkit
(from the same author). This allows you to easily create various aesthetically pleasing interactive
command-line interfaces.
It is often compared to bpython in functionalities but the main difference is that it enables a
compatibility mode with IPython and its syntax that enables additional features such as %pdb
, %cpaste
, or %profile
.
Code debugging is an integral element of the software development process. Many programmers can spend most of
their life using only extensive logging and print
statements as their primary
debugging tools but most professional developers prefer to rely on some kind of debugger.
Python already ships with a built-in interactive debugger called pdb
(refer to
https://docs.python.org/3/library/pdb.html).
It can be invoked from the command line on the existing script, so Python will enter post-mortem debugging
if the program exits abnormally:
python -m pdb script.py
Post-mortem debugging, while useful, does not cover every scenario. It is useful only when the application exists with some exception if the bug occurs. In many cases, faulty code just behaves abnormally but does not exit unexpectedly. In such cases, custom breakpoints can be set on a specific line of code using this single-line idiom:
import pdb; pdb.set_trace()
This will cause the Python interpreter to start the debugger session on this line during run time.
pdb
is very useful for tracing issues and at first glance, it may look very
familiar to the well-known GDB (GNU Debugger). Because Python is a dynamic language, the pdb
session is very similar to an ordinary interpreter session. This means
that the developer is not limited to tracing code execution but can call any code and even perform module
imports.
Sadly, because of its roots (bdb
), the first experience with pdb
can be a bit overwhelming due to the existence of cryptic short letter
debugger commands such as h
, b
, s
, n
, j
, and r
. Whenever in doubt, the help pdb
command typed
during the debugger session will provide extensive usage and additional information.
The debugger session in pdb is also very simple and does not provide additional features like tab completion or code highlighting. Fortunately, there are few packages available on PyPI that provide such features available from alternative Python shells mentioned in the previous section. The most notable examples are:
ipdb
: This is a separate
package based on ipython
ptpdb
: This is a
separate package based on ptpython
bpdb
: This is bundled
with bpython


Keelung is located in the northeast of the island and is Taiwan’s largest seaport. One of the main attractions here is the Night Market. A new marina opened here in 2015.
Position 25°09' N, 121°44' E (marina)
The Security Dock is at the north end of the harbour. Clearance is possible at the new Bi-Sha Marina in Keelung.
In Bi-Sha fishing harbor (Bisha) next door to the large Keelung port, a new marina has now been completed (see photo).
There is also a marina with floating pontoons at Kang-tzu. Position 25°09' N, 121°44' E.
Last updated December 2015.


Messi magic, red cards and controversy – memorable Brazil v Argentina meetings
A look back at some memorable past clashes between the two South American rivals.

Here, the PA news agency takes a look back at some memorable past clashes between the two South American rivals.
Brazil 3 Argentina 1
July 1982, World Cup
Their goals came from Zico, Junior and Serginho. Argentina, who had Diego Maradona sent off late on, scored a last-minute consolation through Ramon Diaz.
Argentina 1 Brazil 0
June 1990, World Cup
Controversy followed when it was claimed Brazil’s Branco was given a bottle of water spiked with tranquiliser by Argentina during the game.
Argentina 3 Brazil 2
July 1991, Copa America
Franco and Gabriel Batistuta put Argentina back ahead before Joao Paulo pulled one back. Caniggia and Mazinho were sent off after a clash.
Further red cards went to Carlos Enrique for Argentina and Marcio Santos and Careca for Brazil.
Brazil 4 Argentina 1
June 2005, Confederations Cup
Early goals from Adriano and Kaka set them on their way before Ronaldinho volleyed a third and Adriano added another. Argentina’s effort came from Pablo Aimar.
Argentina 4 Brazil 3
June 2012, friendly
Lionel Messi settled an absorbing contest by completing a hat-trick late on.
Ezequiel Lavezzi and Marcelo were then sent off after an altercation in injury time. Federico Fernandez scored Argentina’s other goal, while Romulo, Oscar and Hulk struck for Brazil.
Brazil 2 Argentina 0
July 2019, Copa America semi-final
Gabriel Jesus and Roberto Firmino were on target as the Selecao defeated their bitter rivals 2-0 in Belo Horizonte to secure a place in the Copa America final on home soil.
Argentina, who last won the tournament in 1993, had hit the crossbar in the first half through Sergio Aguero’s header, while Messi was struck the post.
Afterwards, the Barcelona playmaker accused the referee of bias. “The officiating was crazy,” the Argentina captain said. “He (the referee) was on their side. In every divided ball or dispute, he inclined the pitch their way.”


Definitions used to configure the RTOS. More...
| #define | OS_INTEGER_SYSTICK_FREQUENCY_HZ (1000) |
| Define the scheduler frequency, in Hz. | |
| #define | OS_INTEGER_RTOS_CRITICAL_SECTION_INTERRUPT_PRIORITY |
| For Cortex-M[347], define the interrupt priority level. | |
| #define | OS_INTEGER_RTOS_DEFAULT_STACK_SIZE_BYTES |
| Define the default thread stack size, in bytes. | |
| #define | OS_INTEGER_RTOS_MAIN_STACK_SIZE_BYTES |
| Define the main thread stack size, in bytes. | |
| #define | OS_INTEGER_RTOS_IDLE_STACK_SIZE_BYTES |
| Define the idle thread stack size. | |
| #define | OS_INCLUDE_RTOS_STATISTICS_THREAD_CPU_CYCLES (1) |
| Include statistics to count thread CPU cycles. | |
| #define | OS_INCLUDE_RTOS_STATISTICS_THREAD_CONTEXT_SWITCHES |
| Include statistics to count thread context switches. | |
| #define | OS_INCLUDE_RTOS_CUSTOM_THREAD_USER_STORAGE |
| Add a user defined storage to each thread. | |
| #define | OS_BOOL_RTOS_MESSAGE_QUEUE_SIZE_16BITS (false) |
| Extend the message size to 16 bits. | |
| #define | OS_BOOL_RTOS_THREAD_IDLE_PRIORITY_BELOW_IDLE (false) |
| Push down the idle thread priority. | |
| #define | OS_BOOL_RTOS_PORT_CONTEXT_CREATE_ZERO_LR (false) |
| Force the stack trace to start with a 0x0. | |
| #define | OS_BOOL_RTOS_SCHEDULER_PREEMPTIVE (true) |
| Default definition for the preemption flag. | |
| #define | OS_EXCLUDE_RTOS_IDLE_SLEEP |
| Do not enter sleep in the idle thread. | |
Definitions used to configure the RTOS.
| #define OS_BOOL_RTOS_MESSAGE_QUEUE_SIZE_16BITS (false) |
Extend the message size to 16 bits.
For embedded applications the message queues are optimised for small messages, up to 256 bytes.
If larger messages are needed, this option extends the message size to 65536 bytes.
Definition at line 418 of file os-app-config.h.
| #define OS_BOOL_RTOS_PORT_CONTEXT_CREATE_ZERO_LR (false) |
Force the stack trace to start with a 0x0.
This option has no functional consequences, it is only cosmetic, affecting how a debugger displays the stack trace.
If your debugger has difficulties to properly display the thread stack trace, enable this option and the stack will always start with a 0x0.
Definition at line 451 of file os-app-config.h.
| #define OS_BOOL_RTOS_SCHEDULER_PREEMPTIVE (true) |
Default definition for the preemption flag.
This option sets the initial value of the scheduler::preemptive()
flag. It can be changed at any time.
Definition at line 464 of file os-app-config.h.
| #define OS_BOOL_RTOS_THREAD_IDLE_PRIORITY_BELOW_IDLE (false) |
Push down the idle thread priority.
Normally the applications should not create threads with the idle priority.
However, some applications, like the ARM CMSIS RTOS validator, need to test the behaviour of idle threads. For such cases, to guarantee that the idle thread is the lowest priority thread, its priority can be lowered one additional step.
Definition at line 435 of file os-app-config.h.
| #define OS_EXCLUDE_RTOS_IDLE_SLEEP |
Do not enter sleep in the idle thread.
Very fast debuggers need direct access to a RAM buffer, which in turn need the clock that powers the bus where the RAM is connected to be permanently on.
Unfortunately, most devices disable this clock when entering even the shallow sleep mode, disabling the debugger access to the device.
To prevent this, usually for the debug configurations, it is possible to exclude the code that puts the device to sleep.
Definition at line 481 of file os-app-config.h.
| #define OS_INCLUDE_RTOS_CUSTOM_THREAD_USER_STORAGE |
Add a user defined storage to each thread.
Definition at line 403 of file os-app-config.h.
| #define OS_INCLUDE_RTOS_STATISTICS_THREAD_CONTEXT_SWITCHES |
Include statistics to count thread context switches.
Add support to count the number of times each thread was scheduled to run.
At each context switch, the thread counter is incremented. At the same time a global counter is also incremented.
The RAM overhead of enabling this option is a uint64_t variable for each thread and one global variable.
The time overhead is low, incrementing two 64-bit variables.
Definition at line 398 of file os-app-config.h.
| #define OS_INCLUDE_RTOS_STATISTICS_THREAD_CPU_CYCLES (1) |
Include statistics to count thread CPU cycles.
Add support to measure and accumulate accurate thread duration statistics.
At each context switch, the high resolution clock is sampled and the difference is added to the current thread statistics variables. At the same time the value is added to a global variable.
The RAM overhead of enabling this option is a uint64_t variable for each thread and one global variable.
The time overhead is a clock sampling (reading timer registers and possibly adjusting for timer recycle) plus some subtractions/additions on 64-bits.
Definition at line 376 of file os-app-config.h.
| #define OS_INTEGER_RTOS_CRITICAL_SECTION_INTERRUPT_PRIORITY |
For Cortex-M[347], define the interrupt priority level.
Simple devices implement critical sections by disabling/enabling all interrupts. Cortex-M[347] devices can selectively disable interrupts up to a given priority (by using the BASEPRI register).
When used, this option configures the critical sections to disable all interrupts with priorities up to the given value and keep enabled interrupts with higher priorities.
If the application does not use high priority interrupts, it is recommend to do not use this option, and allow the system to implement the critical sections by completely disabling/enabling interrupts.
If used, the recommended value is 3-4.
Definition at line 332 of file os-app-config.h.
| #define OS_INTEGER_RTOS_DEFAULT_STACK_SIZE_BYTES |
Define the default thread stack size, in bytes.
Definition at line 337 of file os-app-config.h.
| #define OS_INTEGER_RTOS_IDLE_STACK_SIZE_BYTES |
Define the idle thread stack size.
Definition at line 351 of file os-app-config.h.
| #define OS_INTEGER_RTOS_MAIN_STACK_SIZE_BYTES |
Define the main thread stack size, in bytes.
Definition at line 344 of file os-app-config.h.
| #define OS_INTEGER_SYSTICK_FREQUENCY_HZ (1000) |


Selecting Exercise
Using different select methods
You can select different items on an HTML page.
You can select by
ID
.
You can select by
tag
.
And you can select by
CSS class
.


To Make Use Of Config Files
To test database write API, you can download and install the utility 'curl', and execute the command 'curl -X POST -H "Content-type: application/json" -d '{"vehicleId":"IBEX","timestamp":1457640420,"x":236294.1956, "y":116196.8879,"z":-34379.67682,"vx":-0.675287,"vy":0.508343,"vz":0.434496}' http://localhost:3000/services/v1/position' from a command window (on Windows), or a terminal (on MacOS or Linux).


Migrate items from one Jamf server to another.
Feedback in the GUI gives a simplistic overview of the success of a transfer:
- Green - everything transferred.
- Yellow - some items transferred.
- Red - nothing transferred.
- white - nothing to transfer.
Limitations/requirements to be aware of:
- Passwords can not be extracted through the API which impacts migrating distribution points, computer management account, account used for LDAP - credentials must be reset on the destination server.
- Only AFP and SMB shares can be migrated.
- Patch management is not available through the API impacting smart groups dependent on patch management extension attributes.
- There are many dependancies between items, if they are not met transfers fail. For example, if a policy is site specific the site must be migrated before the policy; if a distribution point has a building and/or department defined those need to migrate first.... If everything is migrated the order of sections is already taken care of, if you choose not to move some items that's where you can have issues.
- Buildings - the API only allow the name to be migrated.


Please enter mac address below
-
-
-
-
-
real input:
(This input will have
hidden
type in practice.)


<< Back
FallingWords.js
Instructions
The world is getting invaded by very evil words.

- Destroying words give you points based on the level you are in.
- City explosions will rest you points.
- Your score won't be overwritten if it was lower than the recorded one.
- Notice the secret word to identify your as a user won't be encrypted.


Pregnant Muslim woman violently attacked by stranger who launched at her in cafe
A heavily pregnant Muslim woman was violently punched in the head and stomped on by a stranger while sitting in a cafe in Australia.
The woman, 31, had been having coffee with friends in Bay Vista cafe, on Church Street, Parramatta, New South Wales, when a man approached their table around 10.30pm on November 20.

Advertisement Advertisement
Security footage shows the woman, who is 38 weeks pregnant, fall to the ground, with the attacker then beginning to stomp on her before he is dragged away.
Stipe Lozina, 43, has been charged with affray and assault occasioning actual bodily harm in connection with the Islamophobic attack.
He has since been remanded into custody and will appear in court on December 5.
The victim, from Sydney, has chosen to remain anonymous, but thanked Australia for their support through a statement shared by a friend.
She wrote that she had experienced racism and ‘occurrences of verbal abuse and hate’ in the past, but ‘never thought that physical abuse of this nature’ would happen to her.
It was also noted that she is a ‘private person’ but felt the need to speak out to address a few issues and ‘raise awareness’.
The woman added: ‘I hope the justice system lives up to its name. I fear for the world our children will grow up in if this is not addressed.
‘I call all Australians, Muslim and non-Muslim, to stand together in protecting innocent people from any racial or religious attacks.’
The victim told The Telegraph through a Muslim community leader, that the attack had left her feeling ‘very fragile’ and in shock.
Advertisement Advertisement
She was taken to Westmead Hospital for observation and an assessment of her unborn child and released the next day, having suffered a number of bruises and swelling.
NSW Police Inspector Luke Sywenkyj told reporters in Sydney the victim seemed ‘somewhat emotionally and physically traumatised’.
He noted that the woman did not know her attacker, but said he was known to police and had an extensive criminal record.
Magistrate Tim Keady refused Lozina bail, telling him: ‘After making a comment about Muslims, you approached her and punched her to the head 14 times.
‘For bail purposes I will treat that as a very strong case against you.’
Got a story for Metro.co.uk?
Get in touch with our news team by emailing us at<EMAIL_ADDRESS>For more stories like this, check our news page.


{% block content %} Welcome to SDQA! Softwared Design Quality Analyzer - A Tool to Reduce Technical Dept! Get Started {% endblock %} {% block scripts %} {% endblock %}


--- ---
The following code ensures that a form always stays in the background, even when it has focus. It is done by making the form a child of the Windows desktop.
First place the following method declaration in your form's protected section:
protected ... procedure CreateParams(var Params: TCreateParams); override;</div> ...
and implement the method as follows:
procedure TForm.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); if Assigned(Application.MainForm) then begin Params.WndParent := GetDesktopWindow; Params.Style := WS_CHILD; end; end;


CreatePolyList creates the poly_connect_list for a polyline mesh. It searches the input id_array array looking for common ids. If the id number changes while searching down the array, the start and end indices are stored and the number of polylines incremented.
module CreatePolyList <src_file = "cr_polyl.cxx"> { int+IPort2 id_array[]; int+OPort2 num_polys; int+OPort2 poly_connect_list[]; cxxmethod+notify_inst+req update( .id_array+read+notify+req, .num_polys+write, .poly_connect_list+write ); };
This modules uses an id array that contains the index to which polyline a given point belongs. The output of the module is a list of polylines where only the index of the start and end point of each polyline is given.
id_array[]
This array stores for each point to which polyline it belongs.
num_polys
number of polylines in the polyconnect list.
poly_connect_list[]
The list of start and endpoints of the polylines.
xp_comm_proj/cr_polyl/crplmods.v contains the CreatePolyList modules V definition.
The low-level CreatePolyListMods library containing the module CreatePolyList does not specify a process. By default the express process will be used.
Brian Selle, Leon Thrane, Advanced Visual Systems Inc. Documentation - Ian Curington, Advanced Visual Systems Inc.
Paul G. Lever


Pinal County officials warn students about making fake bomb threats
by Jessica GoodmanFLORENCE, AZ — Pinal County Sheriff's Office has released a statement about the number of bomb threats that have been falsely made over the last few weeks, warning students to stop or they will be charged.
"First, a threat was found written in a bathroom. The second, made on social media. And on Monday, the third was also found in a bathroom," PCSO said in a letter posted online. "While all three threats have been found not to be credible, PCSO takes all of them seriously. A student can face felony charges, even if they are minor."
According to the letter: "In the first two instances, PCSO has arrested two separate students. The first is facing charges of Terroristic Threats and Disruption of an Educational Institution. The second was booked for Disruption of an Educational Institution."
"Making a threat like this can affect a student for the rest of their lives. I urge parents to talk to their children about the choices they make. They need to know it is never OK to make a joke about bringing a gun or bomb to their school," Sheriff Mark Lamb said.


--- layout: post title: A Checklist for OData Feed publishers date: 2010-04-05 17:56:35.000000000 -04:00 type: post published: true status: publish categories: [] tags: - Documentation - OData meta: _encloseme: '1' orig_url: http://blogs.msdn.microsoft.com/b/phaniraj/archive/2010/04/06/a-checklist-for-odata-feed-publishers.aspx orig_site_id: '7524' orig_post_id: '9990861' orig_parent_id: '9990861' orig_thread_id: '709920' _wds_ratings_users: '0' orig_application_key: phaniraj orig_post_author_id: '56365' orig_post_author_username: PhaniRajuYN orig_post_author_created: Nov 10 2006 05:47:39:000PM orig_is_approved: '1' orig_attachment_count: '0' orig_url_title: http://blogs.msdn.com/b/phaniraj/archive/2010/04/05/a-checklist-for-odata-feed-publishers.aspx opengraph_tags: | author: login: phanirajuyn email<EMAIL_ADDRESS>display_name: Phani Raju MSFT first_name: '' last_name: '' ---
Here's a minimal checklist to make sure your OData Service is available to a maximum number of clients and very functional out of the box .
I'll add more items to this list as we go along.
Silverlight applications running on a domain other than the one the Data Service is hosted on require a ClientAccessPolicy.xml file at the root of the webserver.
Without a CAP.xml file , an in-browser Silverlight application cannot access the Data Service.
Be nice to your Silverlight client apps, drop a CrossDomain.xml or a ClientAccessPolicy.xml file at the root of the Data Service
Reference : Enabling X-Domain access to your Data Services
note: SL4 apps can circumvent the need for CAP.xml file by being installed elevated and out of browser on client machines.
Don't pay for bandwidth if you don't have to.
PowerPivot and The OData Explorer support navigating next links , so you arent losing any client capability by enabling paging.
Reference: Blog post on team blog
Put a couple of Feed annotations and generic browsers will love your feeds.
Every feed requires at least an atom:title and/or atom:summary mapping .
Reference for Entity Framework backed Data Services : Mapping EDM Types
Reference for all other Data Services : Mapping CLR Types
If it shouldn't be edited , then it shouldn't be editable.
Use EntitySetRights.AllRead in your DataServiceConfiguration.SetEntitySetRights call


--- ---
This function may come in especially handy when creating billing/financial applications where the keypad is a must. What it does is when called turns the NumLock status to "on".
uses Windows; ... procedure SetNumLockOn; var KeyState: TKeyBoardState; begin GetKeyboardState(KeyState); if GetKeyState(VK_NUMLOCK) = 0 then begin KeyState[VK_NUMLOCK] := 1; SetKeyboardState(KeyState); end; end;


{% extends 'base.html' %} {% block content %}
You have no sent invitations.
Sent to: {{g.database.get_trainer_by_id(invitation['recipient']).username or g.database.get_trainee_by_id(invitation['recipient']).username}}
You have no sent invitations.
Sent by: {{g.database.get_trainer_by_id(invitation['sender']).username or g.database.get_trainee_by_id(invitation['sender']).username}}


My name is Ashton and my family has been visiting the Panorama Mountain Resort every 3rd week of January for many years. We go here primarily for the skiing, but even if you don't ski, there are many more things to do. This page will provide some tips for anyone wanting to visit and will show the many things you can do at this resort.


[Editorial Note: We asked the team at MITH to do a write-up of their experience organizing the one-off event Nights Against Hate for the Toolkit. The team writes in a descriptive, rather than prescriptive voice below. We hope that you will able to extract the model, so to speak, from their example.]
Social media platforms enable connection and sharing among friends, family and colleagues, while offering unprecedented opportunities for getting ideas out to much larger audiences. Political events such as the Arab Spring and social movements like Black Lives Matter show what important work is possible with social media at scale.
At the same time social media can be used to spread messages of intolerance, harassment and hate, as we’ve seen in the rhetoric surrounding Gamergate and the 2016 presidential race. Women, members of marginalized communities, and activists often find themselves the target of trolling and organized groups that attempt to shut down and silence their work.
The Maryland Institute for Technology in the Humanities (MITH) organized a Night Against Hate 13th October 2016 to gather and learn how to investigate and work to resist hate speech in social media. At the event, we spent two hours working to collaboratively link groups and individuals documented in the Southern Poverty Law Center’s Extremist Files, a list of known hate groups, to their respective Twitter accounts in order to:
Given the extreme rhetorics of intolerance, racism, and bigotry within these groups, The Night Against Hate centered participant self-care and attention to best practices for online activism.
To prepare for The Night Against Hate, MITH organized a general interest meeting to encourage scholars and potential participants to discuss what research may emerge from connecting Southern Poverty Law Center’s Extremist Files entries with social media accounts. The interest meeting helped connect those on campus already engaged with - or had an interest in - online extremism research, social media analysis, and/or online rhetoric. Additionally, the interest meeting raised potential pitfalls or risks in doing this work and offered established researchers the opportunity to share their best practices for research and self-care. Finally, the interest meeting helped guide our decisions about what products we could create at the event that would be useful to researchers and individuals:
The pre-event interest meeting stressed a need to carefully attend to privacy and exposure, particularly participants who have not engaged with online activism previously. Unless precautions were taken social media sites may track browsing behavior as indicative of genuine interest and use this information for recommendation and classification purposes.
The code for collecting the Southern Poverty Law Center data and for creating the block list from the Google Sheet is available on Github.
The Night Against Hate brought together over 50 local and remote participants. We worked in short 30 min sprints with 10 minute breaks for reflection and conversation. We strongly encouraged participants to work in groups and to pay attention to how the work affected participants well-being. Small groups helped participants verify information, ask questions, and support each other.
Logistically, we used Google Sheets and the Slack channel to link and verify 89 of the 169 individuals and groups present in the Extremist Files. Both Google Sheets and Slack helped us stay organized and verify information. The short sprints helped participants gather important information without staying in the muck for long periods of time, while the reflection periods offered time to talk through how participants were feeling as they engaged with tracking hate speech online or to share emerging questions or concerns.
At the beginning of the event, we shared the contexts for organizing The Night Against Hate, how the event was organized into sprints, provided instructions on how to use the Southern Poverty Law Center’s Extremist Files, how to locate and collect YouTube, Facebook and Twitter handles. We offered suggestions for online privacy and requested participants share their best practices.
After the event, MITH shared a blog post with instructions on how to use the block list which was created from the efforts of The Night Against Hate. We were delighted that participants collected Twitter handles and Facebook, YouTube, Tumblr, and websites where possible. The full results of the night’s efforts can be found in the Google Sheet.
To use the block list users needed to:
A few more things about the block list are worth noting, the block list itself must contain Twitter user identifiers (numbers) instead of the Twitter handles. Ed Summers wrote a program to scrape the handles from the Google Spreadsheet and fetch the user identifiers from the Twitter API. We did consider making the block list available using the BlockTogether service, which would allow the list to be shared more easily. However BlockTogether associates the block list with a given user’s account, and we didn’t want to potentially mix the Extremist Files accounts with our other blocked accounts. Finally, the block list file of numeric identifiers cannot end with a newline or the Twitter import mechanism will not work.
Tools such as Google Sheets, Slack, private browsers, and GitHub proved to be very useful for this Rapid Response Research project. Google Sheets in particular worked well as a real time, data integration platform that provided visual feedback of what was being worked on by who. It also allowed for the data to easily be exported as CSV and used in other settings as data. Slack was useful for our remote participants, however we did find that given the sensitive nature of this research, and the emotional labor involved, that it was very useful for us to gather in the same physical space to do the work. In some cases remote participants reported that they felt isolated and alone looking at this particular material.


. HAPPINESS A film review by Christopher Null Copyright 1998 Christopher Null
Holy smokes.
HAPPINESS has been mired in controversy for the entire year, and not without good reason. Put simply, HAPPINESS is one of the most shocking films I've ever seen - this from a man who adores A CLOCKWORK ORANGE.
Not that it's particularly graphic or lewd. Rather, HAPPINESS is truly eye-opening for its theme: that everyone in this world is pretty much a pig of some sort. Those that aren't are doomed to be victims.
Watching the film, you get the idea that director Solondz may not be too far off the mark. A disturbing investigation into the underbelly of suburban New Jersey, the film tracks a few days in the life of one highly dysfunctional family and the people with whom their lives intersect. Namely, an obscene phone caller, a murderous neighbor, a pedophilic serial rapist/family dad, a suicidal loser... and that's not even including the three sisters themselves. There's *no one* redeemable in this movie.
And that fits it to a "T".
HAPPINESS is not for everyone. In fact, it may not be for many of you, unless you have a strong stomach and a taste for the bizarre. And HAPPINESS may not be perfect, either. It's too long, it rambles from time to time, and there's probably one too many characters to follow. But the film's boundary pushing, gripping storytelling, and truer-than-life moments make up for it all.

The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


COURAGE UNDER FIRE A film review by Steve Rhodes Copyright 1996 Steve Rhodes
RATING (0 TO ****): ****
COURAGE UNDER FIRE is the latest film from Director Edward Zwick (GLORY and LEGENDS OF THE FALL). It is an extremely moving picture that left me with my heart racing and my arms clutching myself and staring at the screen. If you find yourself in tears at points as I was, do not be surprised. This is not a manipulative film, but a genuine one. It is in a word - devastating.
Denzel Washington plays Lieutenant Colonel Nathaniel Serling In another brilliant performance by one of the best actors in the world today. I hope every member of the Academy sees his work in it and remembers it at Oscar time. He is vulnerable, charming, troubled, honest, confused, strong and scared, and these are only some of the ranges of emotions he displays. His performance alone is worth the seven dollar admission, but the show has much more to offer than just one good piece of acting. COURAGE UNDER FIRE is filled with marvelous acting, and the acting is not even the best part.
The gripping and intelligent script by Patrick Sheane Duncan based on his novel, and the directing are the genius of the film. This script succeeds not on a plethora of clever one liners, but on the fabric it creates. The show is a tribute to the ambiguity of life and especially of battle. It is an intricate puzzle that seems deceptively simple but is actually an Escher print of a puzzle. It uses the cinematic technique of the story told from different viewpoints and with dramatic editing by Steven Rosenblum. Rosenblum weaves these recollections back and forth with the present time as different players relate their ever changing visions of reality.
The show starts with a massive tank battle during Desert Storm. Before the battle Colonel Serling calls his troops together for a prayer and then a charge of, "Let's kill 'em all!" This mixture of a pseudo-football huddle scene with a life and death situation puts the audience on notice that this picture is not one you will be able to take lightly. This is high energy entertainment certainly, but one with some heavy stories to tell.
The tank battle is awesome. The fiery cinematography by Roger Deakins (THE SHAWSHANK REDEMPTION, ROB ROY and MOUNTAINS OF THE MOON) makes it look like a battle between an overgrown set of dinosaurs in Hell. The script is superb in showing the natural confusion of battle. When tanks start firing at each other in the dark, it becomes unclear who is the enemy and who isn't. Colonel Serling makes a mistake and orders the destruction of one of his own tanks. The non-investigation of this along with the Colonel's remorse over it become the subtext of the plot.
Most of the show then takes places right after the war. As an ironic conciliation prize, rather than promotion, Colonel Serling and his superior, General Hershberg (Michael Moriarty), are assigned to investigate those nominated for battle awards. The Colonel draws the first woman in U. S. history, Captain Karen Walden (Meg Ryan), ever to be nominated for the Metal of Honor for combat duty. She was a medical chopper pilot who was shot down and killed in a courageous battle to defend a downed attack helicopter.
Pentagon PR representative Bruno (Bronson Pinchot) thinks this is fantastic. He plans to have a tearjerker of a ceremony on the White House lawn with all of the networks present. Pinchot, whom I have had dinner with a couple of times and who can be extremely funny in the right roles, is terribly miscast here.
The show consists of Colonel Serling's interviews with Monfriez (Lou Diamond Phillips), Ilario (Matt Damon), Altameyer (Seth Gilliam), Banacek (Zeljko Ivanek), Boylar (Tim Ransom), and others. At first, it is an open and shut case - give that woman her metal. Soon however, a few holes develop or do they? A reporter, Tony Gartner (Scott Glenn), begins nosing around. He is interested in finding out the complete truth about the tank battle friendly fire episode and about the Captain Walden story.
The acting is exceptional although Washington's is head and shoulders above everyone else. Supporting Academy Award candidates are certainly possible for Lou Diamond Phillips as the tough poker playing soldier and Meg Ryan as the is she tough or isn't she Captain. The scene where her chopper crashes sent chills all over my body.
This moving film has music by James Horner (LEGENDS OF THE FALL, BRAVEHEART, and APOLLO 13) that is stirring and dramatic - full of horns and kettle drums. An impressive film with an exhilarating score to match.
COURAGE UNDER FIRE runs a fast 1:57. It is rated R for the violence of war and for some bad language. There is no sex or nudity. It would be fine for any teenager. I can not say enough good things about COURAGE UNDER FIRE. It is movie making at its finest. I hope to see Zwick, Washington, Duncan and others getting awards for it. I give it my strongest recommendation and award it a full ****.
**** = One of the top few films of this or any year. A must see film. *** = Excellent show. Look for it. ** = Average movie. Kind of enjoyable. * = Poor show.  Totally unbearable.
REVIEW WRITTEN ON: August 14, 1996
Opinions expressed are mine and not meant to reflect my employer's.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


--- layout: default title: "404: Page not found" permalink: 404.html ---
Hey..wait a second! You're not supposed to be here! You should go back home before I have to call security.
Unless you've followed a link here, in which case it's my fault and I'm sorry. Carry on.


Here in the Communications program we want you to know exactly what you are signing up for. That is why you can see the sections you will be going over in this exciting course. Take a look and decide for yourself whether you are interested or not.
Close/Open the MenuEssential Question: What is communication and how do I recognize, categorize and appraise it as a response to societal or other cultural norms? We will examine linguistic register, nonverbal communication and the role of Emotional Intelligence in effective relationships, as well as gain empathy for those with neurodevelopment disorders characterized by social impairment and communication difficulties. Texts: The Curious Incident of the Dog in the Night-time by Mark Haddon; Emotional Intelligence by Daniel Goleman.
Essential Question: How do cultural biases affect our ability to communicate? To what extent do men and women communicate differently and how do cultural norms influence those differences? How is our society evolving in the language it uses to address issues of gender affiliation, including those who identify as part of L.G.B.Q.T. community? Texts: Pygmalion by George Bernard Shaw and a variety of articles.
Essential Question: What is an effective leader and how does one lead with integrity, agency and sense of service? What can we learn from past and present leaders’ styles, speeches and branding? How do we mimic and create effective rhetorical devices to convey our messages? Texts: The Leader as Storyteller article packet, The Five Dysfunctions of a Team and a variety of speeches.
Essential Question: What does it mean to create, maintain and communicate a personal brand? What happens when we lose site of our authenticity? In this final unit, we will study how successful leaders and professionals create and communicate a service-oriented and visionary personal brand while also reading about characters lost in absurdism who cannot communicate their unique truths. Texts: The Death of Ivan Iliac by Leo Tolstoy; The Zoo Story by Edward Albee.


Build your own Fake Twitter Post now! Check it out @ simitator.com #laborator #envato
Micro-finance clean water sustainable future Oxfam protect. Enabler meaningful work change-makers.
Fight against malnutrition Aga Khan Bloomberg, economic independence inspire breakthroughs benefit civil.


×
Dashboard
Cashier
All
Flatmate
All
Type
All
Apply
Add Deposit
Add Withdraw
Filter
No Transactions yet!
Transactions
Flatmate:
Permissions
Confirm
Delete


The Repairable Community Networks Project is an effort to improve the long-term sustainability of community cellular networks (CCNs) in the rural Philippines, in conjunction with the PCARI Village Basestation (VBTS) project at the University of the Philippines.
We aim to extend the core functionality of community cellular infrastructure with sensors, electronic manuals, and help interfaces to support local community members in cell site maintenance and repair.
Our system provides automated error detection, SMS push notifications for errors, and an SMS-accessible manual. We include a public-facing notification board and diagram to aid in fault diagnosis and support community learning of how their infrastructure works. Components are sourced from the Philippines, as locally to the rural sites as possible.
The Community Cellular Manager (CCM) software stack which we are using for our basestations and network management is open source, as is all additional repair tool software implemented on top of it and all sensor and microcontroller firmware we have written. The project is hosted in a public github repository at https://github.com/infrared0/ccm-rural-repair.
We have conducted 25 interviews in three of our seven VBTS sites to learn about local repair infrastructure and technical knowledge. In the towns of Dikapinisan, Dibut, and Diotorin, we have found that very basic electrical repairs are occasionally done for common household appliances, but generally broken appliances are discarded or taken to the nearest large town of Baler for repair. All three sites are only reachable via a 3-hour boat trip which becomes dangerous during monsoon season. In Dikapinisan the computers in the local high school have been broken for at least 6 months.
Residents of these areas usually lack the training and skills expected of a cell site engineer. Typically students attend only elementary school, and those who want to attend high school must board in either Dikapinisan or Baler. Very few technical jobs are available in these mainly agricultural communities, and people with some technical training are limited in their repair activities by lack of access to tools and spare parts.
Implications for the maintenance of the cell site are that it could take a day or more for an engineer to arrive from Baler or Manila. While installations in these disaster-prone areas are made as resilient as possible, they are also more likely to need repair. Our solution would allow basic repairs and precautionary measures to be locally sourced in a timely fashion, decreasing the likelihood and duration of service interruptions.
We have also conducted repair training sessions where we stage problems with the cell site and ask maintenance officers to solve them, to receive in-context feedback on their understanding as well as to solicit design suggestions on what manuals and resources would be most helpful. We hope the teaching tools we create will provide exposure to technical concepts in an immediately useful, appropriate, and accessible way, stimulating interest in engineering among students and helping people take ownership of their network.
1. To maximize productive community engagement with the cell site after deployment.
The deployment team has been working with these communities for more than 2 years, and our user-centered design methodology is rooted in community engagement. We hope our design will be useful outside of Aurora, but at present it is being designed specifically in and for these 7 sites.
The concept of redesigning cellular network technology to enable local actors in remote and developing regions to maintain and repair it is novel. We improve physical visibility of the equipment state for non-engineers and non-computer or smartphone users via SMS and other locally available technologies. We envision troubleshooting or maintaining the cellular basestation to be similar to an accessible commodity appliance rarely needing specialized maintenance, like a home router.
Many interviewees in our study, even those without any technical training, expressed that they would want to know more about the state of their cell tower, for example whether anything needs maintenance and what impact that has on the service. This knowledge will enable people to make decisions about how to manage their usage and try to coordinate repair. Active, public status displays will allow people to participate more in the upkeep of their infrastructure, improving participation and valuation through care.
2. To help build local capacity by providing a medium for engineering education accessible by anyone with a basic phone.
Our system provides free SMS-based access to learning materials and walk-through debugging tutorials for the cell tower designed not just as technical manuals but deliberate teaching tools.
3. To minimize costs and source materials locally.
CCN installations typically cost USD 10-20K including all equipment and installation costs. This project adds modifications to an existing CCN for about USD 200 per CCN for microcontrollers, electronic components, mechanical parts, and weatherproofing and mounting materials, with an additional USD 100 for a possible smartphone interface device (which we have plans to add in a future prototype for access to richer media for repair support). We have reduced the cost from our initial estimate via the redesigns described above and our success in sourcing parts from Manila. For example, for the notification board we use 12V light bulbs popularly used throughout the Philippines to modify cars, especially informal buses called jeepneys.
Our project should make maintenance of existing CCNs more affordable by reducing the need for expert engineers to come from urban centers for faults that can be fixed locally. Our focus on common components with reliable supply chains also supports scalability within the Philippines. We are currently looking into sourcing parts from Baler or other towns closer to our rural sites.


| pillar-package {pillar} | R Documentation |
Formats tabular data in columns or rows using the full range of colours provided by modern terminals. Provides various generics for making every aspect of the display customizable.
Maintainer: Kirill Müller<EMAIL_ADDRESS>Authors:
Hadley Wickham
Other contributors:
RStudio [copyright holder]
pillar()
for formatting a single column,
print.tbl()
for formatting data-frame-like objects,
pillar_options for a list of package options.
pillar(1:3) pillar(c(1, 2, 3)) pillar(factor(letters[1:3]), title = "letters") colonnade(iris[1:3, ])


sequestration soil SOC potential carbon global management land year climate rates atmospheric agricultural temperature years RCP model Soil emission {border-style effective Climate change organic px;} #ffffff;} .°C time estimates reduction gas range soils emissions Fig. practices radiative rate used Change Sci. forcing improved mitigation poorly surface warming Environ. Smith area biochar grazing long-term mean strategies Chang. Paustian dynamics lower sensitivity storage temperatures van Biol. changes concentration concentrations cropland given greenhouse increase px; response scenarios {font-family Assessment Panel S). amenable bioenergy combined constrained current doubling font-size impact likely reach require using Conant Eds. Geoderma Glob. Intergovernmental Report Res. additional atmosphere considered crop data double; emulator estimate max mitigate models negative ocean period required results transient uncertainty (for Appl. Caldeira GHG Lal Lett. Myhrvold Sanderman Working amendments analysis associated border-color border-width constant cycle different dioxide effects example, future increased increasing lands literature needed reduce scale scenario solid; studies value {font-style {font-weight (Cambridge Carbon Clim. Contribution Ecol. Greenhouse Groenigen Group However, Improved Jones Minasny Nat. Parton Press, Science Silver Supplementary Univ. West abandoned affect assumed available bold capacity change. consider contribute contributed coupled courier; degraded em; factors food fraction functions impacts initial limit limits low matter means natural new note possible pp. pt;} published reported scenario. sequester shown stabilization stocks target time, understood use use, vary


|
|
Apache - SSL
|
Secure Sockets Layer (SSL) offers privacy for client-server communication. SSL establishes an encrypted tunnel using cryptography algorithms and keys through which other protocols such as HTTP are transported.
By default, The Uniform Server Zero installation has SSL disabled, for the reason of security. A certificate/key pair are required and must be unique to the particular server. After creating a new server certificate/key pair, SSL is automatically enabled in Apache's configuration file.
How to Enable SSL
After generating a self-signed certificate, SSL is automatically enabled. The "Server Certificate and Key generator" form has been pre-configured for a self-signed certificate and there is no need to change these values. Just click "Run Generate".
Please note, however, that a self-signed certificate is not considered secure. Your browser will most likely complain about it. Nevertheless, it is fine for local testing, and you can set an override for most browsers. For the case of a production server environment, DO NOT USE a self-signed certificate, since it will not be accepted by your users.
|
Apache > Apache SSL > Server Certificate and Key generator
- This opens the Server Certificate and Key generator menu shown at right
- D) Click Run Generate After a short time, a confirmation pop-up is displayed.
- For the new configuration to become effective, you must restart Apache server.
The above generates a self-signed certificate.
Note 1: A) If you have changed the server name using Apache configuration menu, that name will be displayed instead of localhost.
Note 2: B) C) Are dropdown menus.
Note 3: C) 2048 Bits provide high-grade encryption; no need to change this.
|
|
After generating a self-signed certificate the following configuration changes are made:
Apache configuration file changes
Both php_openssl.dll and ssl.conf are enabled as follows:
- Apache configuration file: UniServerZ\core\apache2\conf\httpd.conf
- Existing line: #LoadModule ssl_module modules/mod_ssl.so
- Changed to: LoadModule ssl_module modules/mod_ssl.so
|
The above change in turn enables httpd-ssl.conf via this block
|
<IfModule ssl_module>
# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf
</IfModule>
|
Background
The following provides an overview of SSL and background information on how SSL is implemented on The Uniform Server Zero. This section can be skipped.
SSL Overview
The following outlines the SSL process with respect to a client. A Client is generally a user's browser. Let's assume your web-site server has the registered domain fred.com
- A client makes a connection to fred.com on the SSL port (standard port is 443) by typing https://fred.com into their browser. Note the use of https instead of http.
On connecting to web server, the client provides a list of available ciphers it can use.
- The Server picks the strongest cipher that both understand and support. The Server sends back a certificate with its name and public encryption key, signed by a trusted Certificate Authority.
- The Client checks the certificate with the CA. Browsers have a collection of CAs stored locally. These are checked first, avoiding the need to directely contact the CA, and thus speeding up the process.
- If the certificate is approved, the Client sends back a random number encrypted with the server's public key. This Number is unique to the client and can only be decrypted by the server using its private key.
- The Server and the Client use this random number to generate encrypted packets. Both Client browser and Server now communicate using encryption and all transactions are secured. The browser displays the secure icon.
IP addresses and SSL
An SSL certificate is bound to your fully qualified domain name, which is encrypted into the certificate. Modern browsers send the server name identification (SNI) along with a request. Apache can use this in Vhosts to resolve certificates.
Unfortunately IE remains in the dark ages and expects servers to resolve using IP addresses. If you attempt to have more than one SSL certificate associated with the same IP address you will get undesired results. The bottom line: to appease IE, you are restricted to using a single Apache SSL Vhosts name.
SSL Virtual Host
Generating a self-signed certificate enables the SSL Virtual Host configuration file. You can now access your server using either http or htpps; when using https all transactions are encrypted.
Using https incurs a small speed penalty so generally a web-site is accessed using http and not https. If a user comes in on http and that linked resource requires https, it is forced (switched) to https. You can define a folder (ssl root folder) to specifically use only https.
The Uniform Server is pre-configured to run both a secure server (on port 443) and a regular server (on port 80). These are separated using VirtualHosts, which has the advantage of maintainability.
To highlight this separation, a default Server installation has a user configuration button View ssl pre-assigned to it. By default this button is greyed out and enabled only after a server certificate is generated. It then allows the secure folder's index page to be viewed in a browser. Note that you can re-assign this user button.
Default Virtual Host - Configuration
Configuration file: UniServerZ\core\apache2\conf\extra\httpd-ssl.conf
#=========================================================
# File name: httpd-ssl.conf
# Created By: The Uniform Server Development Team
# Edited Last By: Mike Gleaves (ric)
# Apache HTTP server configuration file.
# V 1.0 15-3-2013
#=========================================================
#################### Global SSL ##########################
Listen ${AP_SSL_PORT} https
#== Some MIME-types for downloading Certificates and CRLs
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
#== Pass Phrase Dialog:('builtin' is a internal terminal dialog)
SSLPassPhraseDialog builtin
#== Inter-Process Session Cache:
SSLSessionCache shmcb:logs/ssl_scache(512000)
SSLSessionCacheTimeout 300
#== Pseudo Random Number Generator (PRNG):
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
########### SSL Virtual Host ############################
<VirtualHost _default_:${AP_SSL_PORT}>
ServerName ${US_SERVERNAME}
DocumentRoot ${US_ROOTF_SSL}
ServerAdmin<EMAIL_ADDRESS>ErrorLog logs/error_ssl.log
TransferLog logs/access_ssl.log
#== SSL Engine Switch:
SSLEngine on
SSLOptions +StrictRequire
#== SSL Cipher Suite:
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
#== Server Certificate:
SSLCertificateFile ${US_ROOTF}/core/apache2/server_certs/server.crt
#== Server Private Key:
SSLCertificateKeyFile ${US_ROOTF}/core/apache2/server_certs/server.key
#== StartSSL certificate chain for class 1 certificates
# Disable when using a self-signed certificate
# Enable remove # disable add #
#SSLCertificateChainFile ${US_ROOTF}/core/apache2/server_certs/sub.class1.server.ca.pem
#SSLCACertificateFile ${US_ROOTF}/core/apache2/server_certs/ca.pem
SSLVerifyClient none
SSLProxyEngine off
#== Server Root folder:
<Directory "${US_ROOTF_SSL}">
AllowOverride All
Require all granted
SSLRequireSSL
</Directory>
#== Most problems of broken clients are related to the HTTP
# keep-alive facility. Disable keep-alive for those clients.
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</VirtualHost>
|
General notes:
- Directory "${US_ROOTF_SSL} - Informs Apache to listen on port US_ROOTF_SSL default is 443 (Standard ssl port)
- SSLEngine must be enabled for server to use SSL.
- DocumentRoot sets the root directory for this virtual host. Allows you to separate secure content from regular content.
- SSLRequireSSL forces SSL to be used (on this virtual host). A user can't connect using a regular HTTP request.
- SSLProtocol Disable all protocols other than TLS v1.0 and SSL v3.0.
- SSLCipherSuite is set to use only HIGH and MEDIUM security cipher suites.
- SSLCertificateFile and SSLCertificateKeyFile set to your server certificate and key files location.
- SSLCertificateChainFile Certificate chain (preconfigured for StartSSL)
- SSLCACertificateFile Certificate chain (preconfigured for StartSSL)
- SSLVerifyClient set to none if not using client authentication.
Note 1: Enviroment path variable ${US_ROOTF} is automatically updated to match the server location.
Note 2: The root folder path is set by enviroment variable ${US_ROOTF_SSL} this is portable if assigned folder is below the main root folder UniServerZ. If assigned ouside of the main root folder the installation is fixed and the servers no longer portable.
|
Certificates and signing request (CSR) location
The Uniform Server uses OpenSSL to generate:
- A self-signed certificate and server key.
- Or a server key and certificate signing request.
OpenSSL and supporting files are located in folder UniServerZ\core\openssl.
Note: To view installed server certificate details, run UniServerZ\core\openssl\View_cert_details.bat
Server certificates are located or copied to folder UniServerZ\core\apache2\server_certs
A default installation pre-installs the required intermediate certificate for StartSSL ca.pem and sub.class1.server.ca.pem
Where to next
Self-signed Self-signed test certificate details.
Free server certificate Howto obtain and install StartSSL free server certificate
|


THE AMERICAN PRESIDENT A film review by Steve Rhodes Copyright 1995 Steve Rhodes
RATING (0 TO ****): ***
THE AMERICAN PRESIDENT is as topical as today's headlines. What subjects are more in the news than President Clinton's reelection and single parents? Well, in this comedy we get both. The names have been changed to protect the innocent as they say, but the movie leaves no doubt that this is a movie that asks the question, what would it be like if today the president was single because his wife had died of cancer during the 1992 campaign?
In director Rob Reiner's THE AMERICAN PRESIDENT it is the third year of the first term of 49 year old Democratic president Andrew Shepherd (Michael Douglas). Just like William (Bill) Clinton, he goes by a nickname, Andy. His opponent in the campaign is the conservative Republican and Senate majority leader, Bob Rumson (Richard Dreyfuss). Not only is Dreyfuss made to resemble Bob Dole, he even represents Kansas as well. Playing the Chelsea role is another 12 year old girl, Lucy Shepherd (Shawna Waldron). As senior policy advisor George Stephanopoulos, we have a short actor with a lot of hair and a temper just like him, Lewis Rothschild (Michael J. Fox). See the documentary THE WAR ROOM if you want to see the real Stephanopoulos in action.
The parallels go on and on. Here the president is not sure what he is for other than getting good poll numbers and being reelected. The moral of the show, of course, is that he discovers his values and finds his missing backbone, much as a paleontologist might discover a new dinosaur. The Republicans in the movie are only interested in slinging mud, they met in smoke filled paneled rooms where they smoke big cigars, and they talk like devils. The Democrats, on the other hand, have a handsome and charismatic leader, and they are out to save the planet with bills on global warming. Were life so clear, we could give up on elections and turn the government over to the Democrats in perpetuity. It is this part of the show that I found very tiring. They could have made a show about a single president trying to get reelected, without the Clinton family and his advisor look-alikes, and it would have been better.
When I was able to ignore the pedantic political messages, I found a movie that was hilarious. It has been a long time since I laughed so much. The script by Aaron Sorkin has one great line after another. When environmental lobbyist Sydney Ellen Wade (Annette Bening) first meets the president, he overhears her describing him as thinking he is "the chief executive of Fantasyland." Rather than hating her, he falls in love with love. When he calls her on the phone for a date to a state dinner, she hangs up on him not believing he is the president. This is one of many scenes that had me rolling in the aisles with laughter. When he calls her back, she does not know what to say, and he complains to her that, "Congress doesn't take this long to decide."
Douglas and Bening are both wonderful in the movie. Andy is every woman's dream date, an extremely handsome man who is the most powerful man in the world and who is tender and charismatic at the same time. While wooing her, he tells her that "The White House is the single greatest home court advantage in the modern world." Sydney is beautiful, charming, bright, and even allows as how she makes more money than he does, hence she represents every man's dream date. The chemistry between them is strong and believable in every scene. At their first date, he asks her, "how am I doing so far?" As the flashbulbs go off in the state dinner procession, she answers, "just your typical first date." I do hope the writer gets an the Academy Award nomination.
There is a great series of scenes where the president attempts to order flowers himself. His finds his credit cards are locked in storage in Wisconsin, and no one on the phone will believe he is the president anyway. In my favorite scene in the show, the president's long motorcade, stops in front of Carmen's Florist Shop where he pops in to buy flowers causing the woman cashier inside to faint. This is a sight gag that really works. The length of that motorcade and the image of it stopping in the snow for the president to buy flowers for his girlfriend is extremely funny. The excellent cinematography by John Seale has this scene in steel blues and shadows rather than the rich, rosy, and almost regal colors of the rest of the movie.
The lush music by Marc Shaiman is extremely dramatic and romantic. While the president is walking along making small talk, the music reinforces his power reminding the audience that everything the president does is important. The sets by Lilly Kilvert show the majesty of the presidency while still giving it many human touches. The costumes by Gloria Gresham again reinforce this duality.
His pollsters and advisors want to know how he is going to deal with the "Sydney issue." The media keeps a count and has news stories like "day 15 of the Sydney watch." Meanwhile, Sydney gets to go on some terrific dates at places like Camp David where she channel surfs with the president looking for the basketball scores.
The movie is full of great minor characters like Sydney's bottom line boss, Leo Solomon (John Mahoney). One of my favorite minor roles is Martin Sheen as A. J. MacInerney, the president's chief of staff. He is as hard as nails and super loyal.  He wants to rent some women surreptitiously for the president so that Andy can drop Sydney and boost his sinking poll numbers.
The first assistant director of the movie is Frank Capra III. There is a reference to the movies of his grandfather. Clearly Reiner intends the movie as sort of a homage to Capra, and the parallels are strong.
Finally, in a scene that shows how out of touch people in the White House can be, the president's pollster, Leon Kodak (David Paymer), at a Christmas party says "It's Christmas" to Lewis. Dumbfounded, Lewis asks, "It's Christmas?". Leon retorts, "You didn't get the memo?"
THE AMERICAN PRESIDENT runs a fast 1:55. It is rated PG-13 for a tiny bit of bad language and for references to sex. There is no nudity or violence. I would have rated it PG, and it would be fine for any kid older than say eight. Other than the heavy one sided political messages, I loved the show and recommend it to everyone looking for a good time at the movies. It gets *** in my book and without the unnecessary political indoctrination, I could have given it another half star.
**** = One of the top few films of this or any year. A must see film. *** = Excellent show. Look for it. ** = Average movie. Kind of enjoyable. * = Poor show.  Totally unbearable.
REVIEW WRITTEN ON: November 17, 1995
Opinions expressed are mine and not meant to reflect my employer's.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


This car has travelled a total distance of ... light years?
From here you can manage all the aspects of this car that are allowed within the context of the system; which is basically incrementing the recorded trip distance in unknown units. Exciting stuff!
Beware: this operation cannot be undone!


8 January 2003
Disease Outbreak Reported
WHO has reported 115 cases and 17 deaths from pertussis in Khwahan district, the provincial capital of Badakhshan, north-eastern Afghanistan. A team consisting of health workers from the Afghan Ministry of Health, WHO and the Aga Khan Development Network have been flown to the field on an Afghan Ministry of Defence helicopter. A United Nations helicopter will follow later with extra supplies of erythromycin, vaccines, and vaccination equipment provided by UNICEF.
For more information, see the press release from the WHO Afghanistan Office.


?The
New
York
copyright
reserved
Botanical
Garden
FLORA
OF
ANDROS
ISLAND,
BAHAMAS
Forestiera
segregata
(Jacq.)
Krug
&
Urban.
Stalactite
Blue
Hole.
No.
2468
June
8,
1987
Col.
&
Det.
by
D.
L.
Nickrent
BOTANICAL
GARDE**
01497684
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


Home
Saved
Analysis
Contact
About
Search A Stock
Save A Stock
Take Flight in Your Rocket Ship
Become the Master of all Space
GO!
Your Search Results


Malformed Data Parsing adventures In Postgres
Sometimes the trickiest part of an ETL problem is transforming the raw data you have into a useful format. In this post, I'll walk through an interesting data serialization problem, and explore a few Postgres functions that I leveraged.
I was recently working on a project involving some data containing malformed JSON (we'll look at the format in a moment) stored in several Postgres database tables as text. I'm not sure how the data was serialized into this format when it was originally loaded, but the end goal of this project involved writing a number of database triggers and functions that parsed the tables containing this raw data and inserting transformed, new data into other tables.
The raw import table consisted of approximately ~1M rows and having about a dozen columns of varying Character and Numeric types, including a column we'll call "commerce" with malformed JSON-like objects stored as text.
Upon brief inspection, it looked like the data in the "commerce" column was very close to being valid JSON, and all of the records I inspected appeared to have the same malformations - unquoted numeric properties, internal single-quoting of properties and values, and a pair of double quotes surrounding the entire object. Apart from that, one minor caveat was that it looked like data in a property called "Meta" was a comma-separated list stored as a string rather than an array.
So, an example value in the "commerce" column looked something like this:
"{0:{'Origine': 'Lyon','DestID': 123, 'Meta': 'Foo, Bar, Baz'},1: {'Origine': 'Strasbourg','DestID': 3432, 'Meta': 'Foo, Quux'}}"
As you can see, this is almost JSON. We have three minor issues to resolve before it is valid.
We need to:
- Eliminate the outermost double-quotes
- Replace internal single-quotes with double quotes
- Wrap the single digit properties at the first level of the parent object in double quotes.
One of the many reasons I love Postgres is that it provides a robust set of Functions and Operators to work with JSON. In making these transformations, we'd have a properly serialized JSON object, allowing us to take advantage of these features. Proper serialization here would make downstream operations on this data much easier to implement. Unfortunately, since I didn't control how the data gets imported, I'd need to implement a post-hoc solution on the existing import.
Postgres provides support for pattern matching using POSIX-style regular expressions. Though we could likely construct a single regex to clean the string, I opted to use a combination of functions to clean the string: `left`, `right`, `replace`, and `regexp_replace`.
We can replace all of the single quotes in the string with double quotes using the Postgres `replace` function. It looks a bit weird, but escaping single quotes in a string requires four single quotes - two outer quotes for the string, and two inner quotes to represent an escaped single quote. It would also be possible to use a Dollar-Quoted String here.
{0:{"Origine": "Lyon","DestID": 123, "Meta": "Foo, Bar, Baz"},1: {"Origine": "Strasbourg","DestID": 3432, "Meta": "Foo, Quux"}}"
We can remove the leading and trailing double quotes using `left` and `right` functions:
left(
right(
replace(commerce, '''', '"'),
-1),
-1)
FROM import_data LIMIT 1;
{0:{"Origine": "Lyon","DestID": 123, "Meta": "Foo, Bar, Baz"},1: {"Origine": "Strasbourg","DestID": 3432, "Meta": "Foo, Quux"}}
We can use `regexp_replace` to replace the non-double-quoted digit properties with double quotes, and finally cast the output as Postgres's JSONB data type.
left(
right(
regexp_replace(
replace(commerce, '''', '"'),
'([0-9]+):', '"\1":', 'g'),
-1),
-1)::jsonb;
AS commerce_cleaned
FROM import_data LIMIT 1;
{"0": {"Meta": "Foo, Bar, Baz", "DestID": 123, "Origine": "Lyon"}, "1": {"Meta": "Foo, Quux", "DestID": 3432, "Origine": "Strasbourg"}}
This will take the value in the commerce column, create a capture group around digits preceding a colon, and replace them with the capture group surrounded by double quotes and a trailing colon, searching globally in the field. It's required to explicitly look for numbers followed by a colon because the string contains other numerals that are property values.
Wrapping this expression in a function that takes an initial text value will make things more readable when we use it in composing downstream procedures:
BEGIN
RETURN
left(
right(
regexp_replace(
replace(t, '''', '"'),
'([0-9]+):', '"\1":', 'g'),
-1),
-1)::jsonb;
END;
$$ LANGUAGE plpgsql;
Now, we can simply run a query like:
{"0": {"Meta": "Foo, Bar, Baz", "DestID": 123, "Origine": "Lyon"}, "1": {"Meta": "Foo, Quux", "DestID": 3432, "Origine": "Strasbourg"}}
With some basic sanitation in place, we can now take advantage of Postgres's builtin JSON support. For example, in a downstream trigger, we can use the `->` operator to select and parse out separate columns for the "0" and "1" sub-objects.
Let's say we wanted to populate a table parsed_data to capture values from the "Origine" Meta object keys whenever new new records are inserted into the import_data table. For example:
CREATE OR REPLACE FUNCTION parse_import_data()
RETURNS trigger AS
$BODY$
BEGIN
INSERT INTO parsed_data (id, origine_1, origine_2)
VALUES (
NEW.id,
clean_commerce(NEW.commerce)->'0'->>'Origine',
clean_commerce(NEW.commerce)->'1'->>'Origine'
);
RETURN NEW;
END;
$BODY$ LANGUAGE plpgsql;
CREATE TRIGGER parse_insert_data
BEFORE INSERT
ON import_data
FOR EACH ROW
EXECUTE PROCEDURE parse_import_data();
So, for values in the original malformed-data version of the column 'commerce' like:
| id | commerce |
|---|---|
| 1 | "{0:{'Origine': 'Lyon','DestID': 230, 'Meta': 'Foo, Dan K, dank@foo.bar'},1: {'Origine': 'Strasbourg','DestID': 851, 'Meta': 'Foo, N Yama<EMAIL_ADDRESS>|
| 2 | "{0:{'Origine': 'Bonn','DestID': 310, 'Meta': 'Bar, E Smith, esm@foo.bar'},1: {'Origine': 'Strasbourg','DestID': 912, 'Meta': 'Foo, Arkadij J<EMAIL_ADDRESS>|
The resulting records in parsed_data for an import_data.commerce value would become:
| id | origine_1 | origine_2 |
|---|---|---|
| 1 | Lyon | Strasbourg |
| 2 | Bonn | Strasbourg |
Another interesting problem in this dataset involved the "Meta" property in the extracted JSON object. As you can see, it's a string with comma-separated values of varying length. As it turned out, there was some meaning to the number of items in the list. If the first value of the comma-separated string at the "Meta" property was either "Foo" or "Bar," the string had three comma-separated values, which mapped to properties called "Accord", "Nom", and "Email", respectively.
For first values of "Baz", "Quux", or "Jam," the Meta property had two values mapped to an "Accord" and an "Email," respectively. As part of the pipeline, I needed to extract this data to a table, as well. Again, PostgreSQL JSON support helped make the task relatively easy.
First, we define a function to convert the comma separated text values to a proper JSONB array. For this, we can use a combination of the function concat to prepend and append curly braces around the selector, cast the result to a text array type, and pass the result to the builtin function array_to_json. Note that this function is specific to the structure of the data we're importing, which was determined by inspection.
RETURNS jsonb AS $$
BEGIN
RETURN
array_to_json(concat('{', obj -> prop ->>'Meta', '}')::text[])::jsonb;
END;
$$ LANGUAGE plpgsql;
Now we can use this to parse the raw data, using the ->> operator to select the appropriate index of the value in the array depending on its first value. I'm wrapping the initial query in a CTE to be able to query the array_to_json objects as columns.
id,
commerce_meta_to_array(clean_commerce(commerce), '0') buyer,
commerce_meta_to_array(clean_commerce(commerce), '1') seller
FROM import_data)
SELECT
id,
buyer ->> 0 accord_0,
seller ->> 0 accord_1,
CASE WHEN buyer ->> 0 IN ('Foo', 'Bar') THEN buyer ->> 1 ELSE NULL END nom_0,
CASE WHEN buyer ->> 0 IN ('Foo', 'Bar') THEN buyer ->> 2 ELSE buyer ->> 1 END email_0,
CASE WHEN seller ->> 0 IN ('Foo', 'Bar') THEN seller ->> 1 ELSE NULL END nom_1,
CASE WHEN seller ->> 0 IN ('Foo', 'Bar') THEN seller ->> 2 ELSE seller ->> 1 END email_1
FROM cte;
Again, for the malformed import_data column containing the following records:
"{0:{'Origine': 'Lyon','DestID': 230, 'Meta': 'Foo, Dan K, dank@foo.bar'},1: {'Origine': 'Strasbourg','DestID': 851, 'Meta': 'Foo, N Yama, yaman@example.com'}}""{0:{'Origine': 'Bonn','DestID': 310, 'Meta': 'Bar, E Smith, esm@foo.bar'},1: {'Origine': 'Strasbourg','DestID': 912, 'Meta': 'Foo, Arkadij J<EMAIL_ADDRESS>"{0:{'Origine': 'Bremen','DestID': 12, 'Meta': 'Baz, zsh@foo.bar'},1: {'Origine': 'Strasbourg','DestID': 32, 'Meta': 'Jam<EMAIL_ADDRESS>"{0:{'Origine': 'Bettembourg','DestID': 64, 'Meta': 'Jam, obs23@baz.org'},1: {'Origine': 'Strasbourg','DestID': 29, 'Meta': 'Quux<EMAIL_ADDRESS>The CTE query produces the following table:
| id | accord_0 | accord_1 | nom_0 | email_0 | nom_1 | email_1 |
|---|---|---|---|---|---|---|
| 1 | Foo | Foo | Dan K |<EMAIL_ADDRESS>| N Yama |<EMAIL_ADDRESS>|
| 2 | Bar | Foo | E Smith |<EMAIL_ADDRESS>| Arkadij J |<EMAIL_ADDRESS>|
| 3 | Baz | Jam | null |<EMAIL_ADDRESS>| null |<EMAIL_ADDRESS>|
| 4 | Bar | Foo | null |<EMAIL_ADDRESS>| null |<EMAIL_ADDRESS>|
I'd like to investigate optimizations here, as I suspect that the nested function calls and type casting are expensive. In short, it has been fun to explore Postgres support for text and JSON data.
Function to create JSONB array from Meta CSV text value
*/


Select current color
Black
White
Orange
Grey
Pink
Biography
Submit


Signing Kernel Modules for Secure Boot
Preparation
Make sure your Secure Boot is off. In order to sign the modules, they should exist in the current environment. Turning on Secure Boot will block the modules to load in the first place.
Key Creation
Create Signing Keys
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive name/"
Descriptive name is the name of the key. E.g. "/CN=Yee~"
Sign the Module
sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n
MODULE_NAME )
Note that you can sign multiple modules at a time. Just repeat this step until all modules are signed.
Register the Keys with Machine Owner Key
sudo mokutil --import MOK.der
You'll be prompt to enter a password for later use in MOK.
Reboot
reboot
MOK Enrollment
- Press anykey to enter MOK within 10 seconds.
- Enroll MOK
- Continue
- Insert the password you just created.
- OK
Check if the Module is Signed
mokutil --list-enrolled
Done!
You can now turn Secure Boot back on!


| DOSE: |
|
oral |
AMT |
(powder / crystals) |
I wouldn't call myself a big drug taker. I have experimented, I smoke a fair bit of weed but harder drugs such as coke and things have never really interested me that much. Hallucinogens, however are a different story. I'm a very sceptical person, it's always amazed me the thought of taking a drug and it changing my perception and view of the world, it was this amazement that led me to temptation. I came home from university one day and my housemates had some friends from home and they were trying this new drug they had got off the internet, called AMT. They asked if I had wanted some and at first I had said no, they had already taken it and were egging me on to 'join them.' Normally, I would have said no, I don't go into things like that lightly, but for some reason (which I can't fully remember for the life of me now) I had had a real crappy day that day. And basically something inside of me said “fuck it.”
I took the bomb and swallowed it and waited for the effects. This was really the first thing of it's kind that I had done so I was quite naive to the whole thing. In fact I think that worked in my favour because I didn't worry about it. My friends had told me that it makes you vomit first, but then once you vomit the trip begins.
After about half an hour I started to feel a little ill, but no vomit and no effects of the drug. Then feeling ill I went to the toilet to see if I was sick. 10 minutes in the toilet and nothing, then I sort of felt something inside of me, I remember saying to myself “come on then, lets have you” and with that I vomited. As my friends had said instantly it kicked in. I remember looking at the door of the bathroom, it was solid wood and I could see the grain of the wood flowing, like an ocean. I looked at my palm of my hand and could see all the lines on my palm moving and flowing in the same way. I wasn't worried, I loved it.
However, I was coming up fairly slowly, and at this point the other three I was with who were about 30 minutes to and hour further into the trip than decided they wanted to go to the supermarket, I didn't want to leave the house in my state so decided to stay on my own and watch a t.v. I don't know how long they were gone, they claim it took them hours to walk to, shop and walk back from the supermarket. But while they were gone I just took repeated hits on the laughing gas we had and watched a movie. I remember coming up some more doing the gas and 'send me on my way' by rusted root came on the telly, I took some gas and felt the AMT, to this day that remains one of my favourite songs, it was just such a cool and mellow beat. I loved it.
Up to now this trip had been quite tame, a few visual and a buzzing feeling, but when my friends got back that's when things started getting trippy. They had come back with the balloons with lights in them, these things were awesome, we had one each, a different colour each and once we started doing the gas in these balloons in the dark we knew we were onto something, we blocked out every single source of light we could find in the room and we did these balloons, I remember leaning back on the sofa and as I breathed in and out of the balloon all of the different colours left the balloons and I could see them spread out all across the roof, it was like I was watching the northern lights on my very own front room ceiling.
Next after blocking out the light we blocked out reality, we made our own reality. Phones or any other such objects were 'reality punches', they reminded us of the real world. We didn't want that, we wanted to be in our own reality. We wanted to lose ourselves. We took on the personality of our balloons, I was blue, my friends red, green and yellow. Blue became my friend (I might add the balloons had faces on them) Blue became my guide in the trip, nothing could go wrong as long as he was there. It was like being on Acid but nothing could go wrong, I saw a devil on the roof at one point but it didn't bother me. If anything it just made me laugh. Nothing could fase me. I became so close with the people I was with. We coined it 'an intense sense of belonging' with one another. I became like brothers with these people (my flatmate's friends) I had only met a few hours ago.
I don't know how long we were there for but it was hours and hours. But we completely lost sense of time, it didn't matter to us. Time was something of reality, we were in out own reality. It was cut short with other housemates arriving home early (opening the door and letting the light in was a huge 'reality punch') and because green (my housemate's friend) had started to take a bad trip. He was freaking out quite badly and I didn't really know what to do so I left the situation and hung out upstairs with my sober friend. It was a bit of a downer, and I struggled to sleep for a while because I could still feel it in my body.
But it was one of the greatest experiences I've ever had. I know I haven't explained properly, and haven't explained half the stuff I experienced but it really felt like I had travelled into another universe. I am still friends with the guys today, and still refer to one of them (red) as exactly that 'red' and he still calls me 'blue'.
It wasn't like mushrooms which I have since tried, because the upper side of the drug means I dont care about anything. I don't worry about the effects I just go with it. It is the only time I have taken it, I worry about taking it again and it simply wont be as good, I think I'd rather keep that experience. But from the people I know who have taken it again they tell me it is a different trip everytime.
[Erowid Note: Reported Dose for this report was '0.2g swallowed', which is considered a very heavy dose.]
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.


Welcome to this modest little corner of the Internet! Many of my programming courses have projects, and many of those projects have some sort of web-based component. This is where you will find more information about the various projects and - when appropriate - running instances of the server components.
Project repositories
Smaller projects are collected together into a single, public repository: https://gitlab.fhnw.ch/bradley.richards/java-projects.
Still private, but coming soon (well, eventually) is the Inductive Learning Framework: a toolkit for people working with rule-based learning. When it is published, the repository will be here: https://gitlab.fhnw.ch/bradley.richards/InductiveLearningFramework
For more information about individual projects, click on the menu entries above.
Licensing
All source code is open source. Unless otherwise noted, the individual projects are licensed under the BSD 3-clause license. The one exception is FreeSudoku, which I took over from an earlier maintainer, and he chose to license it under the GPL.


Q: What is the Jump-o Master?
A: The Jump-o Master is a simple AI, part of your ship, which assists you on your mission. If it detects that you are going to fall into nothingness, it can instantly alter your speed so that you don't undershoot or overshoot your landing.
It has limitations in how much it can alter your speed, and also won't save you from crashing into a block or tunnel.
Q: Why won't my X-Box 360 controller work?
A: As a security feature, some browsers won't allow us to use your X-Box 360 controller until you press the "A" button to enable it.
Q: I found a bug. How do I report it?
A: Feel free to log an issue on the OpenRoads GitHub. I will do my best to address it.
Keep in mind that OpenRoads is open source, so if you are an included developer you can always fix the bug and submit a pull request.
Q: I'd like to make a donation.
A: You caught me, this is neither a question nor has anyone every asked it.
Consider donating to the DosBox project instead. It's a great project run by great people (pretty much for free), and was absolutely integral to the creation of OpenRoads.