Hi,
Sorry if this has been asked but I cannot find what I am looking for when I searched.
On the dashboard I want to place "feedvalue" that tracks both my electric meter reading and solar PV meter reading. I expect the real meter readings to drift from what is recorded but overtime in the logging adjust a calibration constant to reduce the error.
I have tried logging using "Wh Accumulator" but this does seem to help.
While I can see I might be able to get this working for the solar PV meter how do I log only positive values for electric meter reading. I.e. the same as the meter as it does not go backwards?
Thanks in advance,
Geoff
Re: Calibration against actual meters
You need to add into the processing somewhere (probably after you have logged the nett power/energy to its feed) "Allow Positive" to remove the negative values, and then log to the "meter comparison" feed.
Re: Calibration against actual meters
Thanks Robert - good idea. I'll give that a try.
Any suggestions on how to keep the cumulative usage so I would be able sync against actual meter readings? I think could be an iterative process to move to better calibration. After all - my electricity provide will only accept reading from their meters and no emon.
Re: Calibration against actual meters
I don't know the subtle details of the emonCMS processes, so you'll have to experiment. Past reports indicate that by carefully adjusting the calibration, better than 1% discrepancy has been achieved.
Re: Calibration against actual meters
My thinking go along the lines of: Take a reading now and say in 10 days from both the meter and emon. In an ideal world the values would be identical. To reduce the difference I would not adjust the firmware but on the logging node add a calibration value. Repeat the exercise over another fixed period of time until the delta between the two meters get close to zero.
Re: Calibration against actual meters
I think most people have adjusted the calibration coefficients in the emonTx, but either approach is valid if you don't have an emonGLCD taking the data direct.
Re: Calibration against actual meters
I've experimented with adding calibration coefficients into the input chain. One problem I discovered is that if you're trying to be super-accurate, you'll want to tweak the coefficients on a running system (since your revenue meter is always running) and that can be tricky. I described that problem, and one possible solution here: http://openenergymonitor.org/emon/node/5214
Re: Calibration against actual meters
One solution could be to use MQTT retained publishes to send/store configuration parameters to EmonTX modules. I am doing that currently for my MQTT enabled PV router (based on Robins MK2PVRouter running on an EmonTX Arduino shield).
I can publish either 'normal' or 'antiflicker' to the MQTT topic /emontx/config/flickermode and it will dynamically update the state of the PV router (can also enable/disable).
Would be relatively trivial to add another config option to allow me to dynamically change the scale factor so you can alter whenever required.
Re: Calibration against actual meters
Well I couldn't help myself...I just updated my EmonTX sketch to read an extra MQTT config parameter to set the CT scale factor, so I can now tweak my readings on the fly with no need for re-programming the Arduino.
Here are the 3 config parameters I can adjust now;
The first allows me to enable/disable the PV router functionality, the second is the PV router output mode, and the third is the new value for setting the scale factor.
By using 'retained' publishes to those topics it means even if my EmonTX restarts for whatever reason, it will reconfigure itself automatically since when you subscribe to an MQTT topic any retained messages are re-published to the client.
Happy to share the sketch if anyone is interested.
Re: Calibration against actual meters
No problems then with timing due to polling the radio and handling the incoming messages?
Re: Calibration against actual meters
Sorry, probably should have mentioned, I am not using RF at all. I have an Arduino clone with built in ethernet so all meter readings are published over MQTT.
Re: Calibration against actual meters
Grrr. You said emonTx - guaranteed to throw anybody off the scent!
No problems then with timing due to polling the
radioEthernet and handling the incoming messages?Re: Calibration against actual meters
Well in fairness, I did mention in my first message that I am using an EmonTx Arduino shield. Probably should have made it clear it was communicating over Ethernet rather than RF however - apologies.
As for polling, no seems to be fine. I only publish readings every 5s, and so just poll the ethernet/MQTT client each time that bit of code runs for any new config messages. The rest of the time the code is free-wheeling doing the measuring and PV diversion as per normal.
The sketch is also triggering my remote load (for PV diversion) via MQTT, so those messages are being published very quickly and there seems to be no issues there. MQTT is brilliant protocol for this sort of thing!
Re: Calibration against actual meters
I plan to modify the logging code I use to split to value read into two feeds. One for positive values and one for negative. I still don't seem to be able to get the "Wh Accumulator" to do anything useful. It is always reporting zero despite other values get recorded as expected.
=========================================
Node1: Consumer unit config
Input processes are executed sequentially with the result being passed back for further processing by the next processor in the input processing list.
Order Process Arg Actions
1 Log to feed null: Consumer unit (feedvalue:-1155.00)
2 Wh Accumulator Node:1: Consumer unit Wh accumulator (feedvalue:0.00)
3 Power to kWh Consumer unit kWh (feedvalue:311.20)
4 Power to kWh/d Consumer unit kWhd (feedvalue:-0.40)
==========================================
Is this correct or am I not with "Wh Accumulator" correctly?
Re: Calibration against actual meters
The "Wh accumulator" is for tracking an ever increasing energy value that may rollover or get reset to zero by a power cycle etc.
For instance if you have a sketch that starts reporting "total energy used since started in Kwh's" from zero when your meter reads 12345, you can set emoncms to an initial value of 12345 and the incoming increment eg 0,10,12,18 will be added to the WhAccumulator 12345,12355,12367,12385. If you then restart the emonTx (power-outage etc) and it counts from zero again 0,5,15,17 the whAccumulator will continue 12385,12390,12405,12422 effectively working like a ratchet.
With power readings you just need to "allow positive" and "power to Kwh" to track energy in one direction and "allow negative" and "power to Kwh" for the other.
To set the "initial meter readings" you can use a feed api or alternatively you can create an input for setting, adjusting and calibrating the meter reading tracker feeds.So if in 10 days you use 11kwh and emoncms says 10kwhs you can just submit an input of eg 11 1.1 to correct the feed value from 10 to 11 and indroduce a calibration of 1.1 moving forward.
The calibration would need to be added to the process chain like this
Paul
Re: Calibration against actual meters
Many thanks Paul. I'll will give this a try.


Notes about this page
Browsers I think I supported:
- Firefox 16+
- Chrome 26.0+
- IE 10+
- Safari 537.27+
...and a few opinionated statements
I don't believe in spending lots of time on personal projects in backwards compatibility; new technology and methods exist to be used, and improved.
I also don't believe there is a best way to do everything, but some methods are distinctively not excellent. If you notice one in any of my work please let me know -- I am open to improvements.
Thank you for visiting!
Contact Ben
Use whichever form of communication you feel is most convenient, 24/7. If you have my contact information then it is acceptable to use it. I will do my best to respond in a timely fashion.
Ben's Blog
devrecordWe all need to polish our writing skills, rant, and share our wisdom and experiences with the world.
Winkeys
C++ project that allows a Windows user to group windows and hide/restore them by "group". Provides a similar functionality to virtual desktops. Also my first dive into C++.
Thank you to David Logsdon for helping clean this code after I got it working so it looks less like something written in the 80's.
SourceStarslam
starslam on awsI decided to build a game from scratch using a node.js backend. I wrote all of the physics/collision/rendering logic and put it into a gameserver that communicated with the client via websockets. Non-game functionality is handled securely by a separate node.js server.
I host this project on aws, and it is not always online.
Static Server SourceGame Server Source
Note: perpetually under developement
WordFlip
I built a basic Windows 8 app that takes a string from the user, calculates permutations of lengths 2 to n, and then matches those words against a .txt dictionary I found online. I built this pretty early on and it needs to be updated to work on the latest updated version of Windows.
To check it out just search the Windows App store for WordFlip
SourceSqlistory
I roughed this project out but haven't gone much further with it. Using a node.js backend I have the user upload their local chrome history file. Since its a sqlite3 database I was easily able to create an interface for the user to write sql statements against their chrome history in its raw form.
SourceResume
This is a pruned version of my resume -- personal information such as home address and phone have been removed.
Download PDF


| Basic notification |
Trigger basic
|
| Info notification (singleton) |
Trigger info
|
| Error notification (singleton) |
Trigger error
|
| Success notification |
Trigger success
|
| Updating notification |
Trigger Notification
|
| Taking actions |
Trigger Launch
|
| Taking actions with custom buttons |
Trigger Choice
|
|
Top left
|
Top
|
Top right
|
|
Bottom left
|
Bottom
|
Bottom right
|


{% extends 'layout.html' %} {% block content %}
|
Dear {{ email_content.get('name','')|title }},
Earn Rs. 300 in MCO credits by inviting a friend to use MCO to get a space.
Your Referral code is {{ email_content.get('ref_code','') }} |


Install
GCC on UNIX platforms (and
similar systems)
cd libharu-X.X.X
Run configure script. (If the configure script does not work well,
use custom-built makefiles in the "script" directory.)
When you build haru for creating ruby extension library on linux platforms, run configure script with following command.
./configure --cflags=-fPIC
Build library and install.
make
make install
Type "make demo" to test library. If it succeeds, some PDF files are
made in the demo directory.
Windows platforms (except
cygwin/MinGW)
cd libharu-X.X.X
There are several kinds of Makefile for every compilers in script
directory.
Build library with an appropriate Makefile.
1) Microsoft VC++ Compiler
2) Bor land C++
If you want to create DLL, use Makefile.msvc_dll (or Makafile.bcc32_dll) instead.
Type following commands to test library. If it succeeds, some PDF
files are
made in the demo directory.
In Windows environment, Install command is not prepared.
1) Microsoft VC++ Compiler
2) Bor land C++
If you use "Visual Studio .NET", use "Visual Studio .NET Command Prompt" to build Haru. But some warnings about optimizing may occur because of the compiler included in "Visual Studio .NET" does not have an optimizing feature.
We can also use "Microsoft Visual C++ Toolkit 2003" and "Microsoft Platform SDK" instead. The compiler of "Microsoft Visual C++ Toolkit 2003" supports optimizing feature.
Cygwin/MinGW
cd libharu-X.X.X
Run configure script. If you want to make libharu using MinGW on
cygwin, add
"--nocygwin" as argument.
"--nocygwin" options is not required in MinGW on MSYS.
Build library and install. The default install path is
/usr/local/include and /usr/local/lib.
Type "make demo" to test library. If it succeeds, some PDF files are
made in the demo directory.
Other Platforms
If you succeed at making Haru on other platforms, please send me your make-files.


The school is very large but is actually extremely easy to memorize and remember.
Our school has four floors and every floor is split up into separate subject groups. For our current year the
layout looks like this:
1st Floor - Admissions, Accounting, Principal's office, staff, BOMA, Gym, Welfare
2nd Floor - Languages, Math, Art, DT
3rd Floor - Humanities, Sciences, Computer science
4th Floor - Math, Sciences
Every floor is split up into different neighbourhoods.
For example, the English neighbourhood is on the 4th floor, there are six classrooms designated to English and to
the corridor.
During independent tasks, your teacher may allow you to work anywhere in the neighbourhood which means that you
can leave the classroom and work in another classroom or in the middle section.
There are also year group neighbourhoods that you will go to at the beginning of the day to register, have form
time, and store any of your belongings. These can, and will, change every year and you will be notified at the
beginning of the year.
Neighbourhoods may vary every year so the information here won't be strictly correct for future years, the science
& art rooms are an exception as they contain subject-specific equipment. This is also why we won't include the
labels to all subjects in the map above.
You can find the full map to the school here.


| Class and Description |
|---|
| BaseAction
BaseAction.java --- Superclass for the most basic tasks a building manager
may rely on as a GoapAction.
|
| BuildAddonBaseAction
BuildAddonBaseAction.java --- Superclass for all addon specific actions.
|
| ConstructActionCenter
ConstructActionCenter.java --- Action for constructing a race specific center
building.
|
| ConstructActionRefinery
ConstructActionRefinery.java --- Action for constructing a race specific
refinery.
|
| ConstructBaseAction
ConstructBaseAction.java --- Superclass for all construction actions.
|
| ManagerBaseAction
ManagerBaseAction.java --- Superclass for BuildActionManager actions.
|
| ManagerBaseActionPreconditionExtension
ManagerBaseActionPreconditionExtension.java --- Extension for the
ManagerBaseAction due to Upgrades, Research and Addons not being limited by
the limited concurrent amount of queued elements.
|
| ManagerBaseActionPreconditionExtension.PreconditionChecker
Interface for checking the preconditions of the different subclasses.
|
| ResearchBaseAction
ResearchBaseAction.java --- Superclass for all research related actions.
|
| TrainUnitActionWorker
TrainUnitActionWorker.java --- Action for training a race specific worker
Unit.
|
| TrainUnitBaseAction
TrainUnitBaseAction.java --- Superclass for all Unit training actions.
|
| UpgradeBaseAction
UpgradeBaseAction.java --- Superclass for all upgrade related actions.
|
| Class and Description |
|---|
| BaseAction
BaseAction.java --- Superclass for the most basic tasks a building manager
may rely on as a GoapAction.
|
| ManagerBaseAction
ManagerBaseAction.java --- Superclass for BuildActionManager actions.
|


Hey!
I'm Nicolò Barbieri,
student of Communication Design @Politecnico di Milano.
I use video to telling stories, usually with CG models and a strobe behind them.
The thing I like the most is dropping madness with my buddy Adobe After Effects.
For any info or request:
Send me a mail.
Follow me on Insta and Vimeo .


{% extends 'base.html' %} {% block title %}Register{% endblock %} {% block body %}
You have activated your profile. You will receive a confirmation email shortly.


{% include head.html %}
{% include header.html %} {% include pillars.html %} {% include clients.html %} {% include categories.html %} {% include about.html %} {% include adeo.html %} {% include history.html %} {% include contact.html %} {% include footer.html %} {% include js.html %}


Change progress bar 1 to 50% blue
Change progress bar 1 to 20% green
Change progress bar 1 to 90% orange


The packages that are installed in this book are only the tip of the iceberg. We hope that the experience you gained with the LFS book and the BLFS book will give you the background needed to compile, install and configure packages that are not included in this book.
When you want to install a package to a location other than
/
, or /usr
, you are installing outside the default
environment settings on most machines. The following examples should
assist you in determining how to correct this situation. The examples
cover the complete range of settings that may need updating, but they
are not all needed in every situation.
Expand the PATH
to include
$PREFIX/bin
.
Expand the PATH
for root
to include $PREFIX/sbin
.
Add $PREFIX/lib
to /etc/ld.so.conf
or expand LD_LIBRARY_PATH
to include it. Before using the
latter option, check out http://xahlee.org/UnixResource_dir/_/ldpath.html.
If you modify /etc/ld.so.conf
,
remember to update /etc/ld.so.cache
by executing ldconfig as the root
user.
Add $PREFIX/man
to /etc/man_db.conf
or expand MANPATH
.
Add $PREFIX/info
to INFOPATH
.
Add $PREFIX/lib/pkgconfig
to
PKG_CONFIG_PATH
. Some packages are
now installing .pc
files in
$PREFIX/share/pkgconfig
, so you
may have to include this directory also.
Add $PREFIX/include
to
CPPFLAGS
when compiling packages
that depend on the package you installed.
Add $PREFIX/lib
to LDFLAGS
when compiling packages that depend on a
library installed by the package.
If you are in search of a package that is not in the book, the following are different ways you can search for the desired package.
If you know the name of the package, then search Freecode for
it at http://freecode.com/. Also search
Google at http://google.com/. Sometimes a search
for the rpm
at http://rpmfind.net/ or the
deb
at http://www.debian.org/distrib/packages#search_packages
can also lead to a link to the package.
If you know the name of the executable, but not the package that the executable belongs to, first try a Google search with the name of the executable. If the results are overwhelming, try searching for the given executable in the Debian repository at http://www.debian.org/distrib/packages#search_contents.
Some general hints on handling new packages:
Many of the newer packages follow the ./configure && make && make install process. Help on the options accepted by configure can be obtained via the command ./configure --help.
Most of the packages contain documentation on compiling and installing the package. Some of the documents are excellent, some not so excellent. Check out the homepage of the package for any additional and updated hints for compiling and configuring the package.
If you are having a problem compiling the package, try searching the LFS archives at http://www.linuxfromscratch.org/search.html for the error or if that fails, try searching Google. Often, a distribution will have already solved the problem (many of them use development versions of packages, so they see the changes sooner than those of us who normally use stable released versions). But be cautious - all builders tend to carry patches which are no longer necessary, and to have fixes which are only required because of their particular choices in how they build a package. You may have to search deeply to find a fix for the package version you are trying to use, or even to find the package (names are sometimes not what you might expect, e.g. ghostscript often has a prefix or a suffix in its name), but the following notes might help, particularly for those who, like the editors, are trying to build the latest versions and encountering problems:
Arch http://www.archlinux.org/packages/
- enter the package name in the 'Keywords' box, select
the package name, select the 'Source Files' field, and
then select the PKGBUILD
entry to see how they build this package.
Debian ftp://ftp.uk.debian.org/debian/pool
(use your country's version if there is one) - the source
will be in .tar.gz tarballs (either the original upstream
.orig
source, or else a
dfsg
containing those parts
which comply with debian's free software guidelines)
accompanied by versioned .diff.gz or .tar.gz additions.
These additions often show how the package is built, and
may contain patches. In the .diff.gz versions, any
patches create files in debian/patches
.
Fedora package source gets reorganized from time to time. At the moment the package source for rpms is at https://src.fedoraproject.org/projects/rpms/%2A and from there you can try putting a package name in the search box. If the package is found you can look at the files (specfile to control the build, various patches) or the commits. If that fails, you can download an srpm (source rpm) and using rpm2cpio (see the Tip at the bottom of the page). For rpms go to https://dl.fedoraproject.org/pub/fedora/linux/ and then choose which repo you wish to look at - development/rawhide is the latest development, or choose releases for what was shipped in a release, updates for updates to a release, or updates/testing for the latest updates which might work or might have problems.
Gentoo - the mirrors for ebuilds and patches seem to be
well-hidden, and they change frequently. Also, if you
have found a mirror, you need to know which directory the
application has been assigned to. The ebuilds themselves
can be found at http://packages.gentoo.org/
- use the search field. If there are any patches, a
mirror will have them in the files/
directory. Depending on your
browser, or the mirror, you might need to download the
ebuild to be able to read it. Treat the ebuild as a sort
of pseudo-code / shell combination - look in particular
for sed
commands and patches, or hazard a guess at the meanings
of the functions such as dodoc.
openSUSE provide a rolling release, some package versions are in http://download.opensuse.org/source/tumbleweed/repo/oss/src/ but others are in ../update/openSUSE-current/src - the source only seems to be available in source rpms.
Slackware - the official package browser is currently
broken. The site at http://slackbuilds.org/ has
current and previous versions in their unofficial
repository with links to homepages, downloads, and some
individual files, particularly the .SlackBuild
files.
Ubuntu ftp://ftp.ubuntu.com/ubuntu/pool/ - see the debian notes above.
If everything else fails, try the blfs-support mailing-list.
If you have found a package that is only available in .deb
or .rpm
format, there are two small scripts, rpm2targz and deb2targz that are available at
http://downloads.linuxfromscratch.org/deb2targz.tar.bz2
and http://downloads.linuxfromscratch.org/rpm2targz.tar.bz2
to convert the archives into a simple tar.gz
format.
You may also find an rpm2cpio script useful. The Perl version in the linux kernel archives at http://lkml.indiana.edu/hypermail/linux/kernel/0210.2/att-0093/01-rpm2cpio works for most source rpms. The rpm2targz script will use an rpm2cpio script or binary if one is on your path. Note that rpm2cpio will unpack a source rpm in the current directory, giving a tarball, a spec file, and perhaps patches or other files.
Last updated on 2020-02-06 15:43:11 -0800


Graph this system of equations and solve.
expr([ "+", [ "*", A1, "x" ], [ "*", B1, "y" ] ]) = C1
y = PRETTY_SLOPE_1 x + YINT_1
expr([ "+", [ "*", A2, "x" ], [ "*", B2, "y" ] ]) = C2
y = PRETTY_SLOPE_2 x + YINT_2
x =
X
y =
Y
6
Convert the first equation,
expr([ "+", [ "*", A1, "x" ], [ "*", B1, "y" ] ]) = C1
,
to slope-intercept form.
y = PRETTY_SLOPE_1 x + YINT_1
The y-intercept for the first equation is YINT_1
, so the first line
must pass through the point (0, YINT_1)
.
The slope for the first equation is decimalFraction( SLOPE_1, true, true )
. Remember that
the slope tells you rise over run. So in this case for every
abs( SLOPE_1_FRAC[0] )
"position" + ( abs( SLOPE_1_FRAC[0] ) !== 1 ? "s" : "" )
you move
down (because it's negative)
up
you must also move
SLOPE_1_FRAC[1]
"position" + ( abs( SLOPE_1_FRAC[1] ) !== 1 ? "s" : "" )
to the right.
SLOPE_1_FRAC[1]
"position" + ( abs( SLOPE_1_FRAC[1] ) !== 1 ? "s" : "" ) to the right and
abs( SLOPE_1_FRAC[0] )
"position" + ( abs( SLOPE_1_FRAC[0] ) !== 1 ? "s" : "" )
downup from
(0, YINT_1)
is
(SLOPE_1_FRAC[1], YINT_1 + SLOPE_1_FRAC[0])
.
Graph the blue line so it passes through
(0, YINT_1)
and
(SLOPE_1_FRAC[1], YINT_1 + SLOPE_1_FRAC[0])
.
Convert the second equation,
expr([ "+", [ "*", A2, "x" ], [ "*", B2, "y" ] ]) = C2
,
to slope-intercept form.
y = PRETTY_SLOPE_2 x + YINT_2
The y-intercept for the second equation is YINT_2
, so the second line
must pass through the point (0, YINT_2)
.
The slope for the second equation is decimalFraction( SLOPE_2, true, true )
. Remember that
the slope tells you rise over run. So in this case for every
abs( SLOPE_2_FRAC[0] )
"position" + ( abs( SLOPE_2_FRAC[0] ) !== 1 ? "s" : "" )
you move
down (because it's negative)
up
you must also move
SLOPE_2_FRAC[1]
"position" + ( abs( SLOPE_1_FRAC[1] ) !== 1 ? "s" : "" )
to the right.
SLOPE_2_FRAC[1]
"position" + ( abs( SLOPE_2_FRAC[1] ) !== 1 ? "s" : "" ) to the right and
abs( SLOPE_2_FRAC[0] )
"position" + ( abs( SLOPE_2_FRAC[0] ) !== 1 ? "s" : "" )
downup from
(0, YINT_2)
is
(SLOPE_2_FRAC[1], YINT_2 + SLOPE_2_FRAC[0])
.
Graph the green line so it passes through
(0, YINT_2)
and
(SLOPE_2_FRAC[1], YINT_2 + SLOPE_2_FRAC[0])
.
The solution is the point where the two lines intersect.
The lines intersect at (X, Y)
.


--- layout: project title: Montana VR date: July 17, 2017 excerpt: VR football game for Google Daydream, developed by Superstar Games. categories: gamedev c# ---
I worked on design and development of Montana VR, a football game for the Google Daydream, while working at Superstar Games. The game is played from a close third-person perspective, giving the player a feel for what it's like to be on the field. The game includes several NFL players and many different stadium environments to give players a fun, replayable experience.
During the games development, I contributed to engine, gameplay, and AI systems. Some of my contributions include:
- Implemented custom in-game movement/tackling system to blend physics with estimations to improve performance
- Wrote shaders to create in-game effects while maintaining required performance
- Created team-based AI system for more realistic offensive/defensive NPC movement
- Worked on design and implementation of system to allow for seemless transition from the menu area (locker room) to the game. The game design allowed this by sending the player down an elevator to get from the locker room to the field.
Here is the game in the Google Play store: link


Page 1 of 1
Quests
Posted:
Sat Jun 09, 2007 5:36 pm
by Volcomboy99
I wanted to know if there were gonna be alote of quests in PV
I so this could the place for people to lay down there ideas for quests and boss's
Posted:
Sun Jun 10, 2007 12:30 am
by thadiusofx3
yeah sure
Posted:
Sun Jun 10, 2007 9:02 pm
by lawn gnome
If you recall, xenimus didnt have any quests back in the day. there were a few, im not sure how long Milly's Letter and Deliver the Supplies has been around, but there really were virtually none. So why are we going to put quests in?
Posted:
Sun Jun 10, 2007 11:27 pm
by Volcomboy99
because quests are fun and helps you get started easier
Posted:
Mon Jun 11, 2007 12:31 am
by thadiusofx3
They would make the game more fun?
We're seeking to make xenimus like it used to be, yes, but we also want to make it BETTER.
Posted:
Mon Jun 11, 2007 1:56 am
by ziggman
i really enjoy doing quests, even back 4 years ago on xen i really looked forward to lvl 8
you got to do bag quest and white pot quest.
there should be quite a few quests, so it helps you along the way, this gives you more a reason to seek out dangerous dungeons and kill hard bosses, and possibly the oprotunity to own rare gear, also it takes your mind off lvling for a bit so the game does not become boring.
i think every town person who is not a merchant should offer some type of quest, for gear/gold/exp.
Posted:
Mon Jun 11, 2007 12:19 pm
by lawn gnome
ziggman wrote:i really enjoy doing quests, even back 4 years ago on xen i really looked forward to lvl 8
you got to do bag quest and white pot quest.
there should be quite a few quests, so it helps you along the way, this gives you more a reason to seek out dangerous dungeons and kill hard bosses, and possibly the oprotunity to own rare gear, also it takes your mind off lvling for a bit so the game does not become boring.
i think every town person who is not a merchant should offer some type of quest, for gear/gold/exp.
ya did EJ get rid of the magic bag quest????
thadiusofx3 wrote:They would make the game more fun?
We're seeking to make xenimus like it used to be, yes, but we also want to make it BETTER.
hrm....quests do make the game better, but if we wanted to have even more fun we should put in lots of different raids for every 10 levels or so.
Posted:
Mon Jun 11, 2007 12:48 pm
by thadiusofx3
You do know most raids start with a quest right?
find a group and kill NPC X because he killed my grandma
Posted:
Mon Jun 11, 2007 2:01 pm
by Volcomboy99
ya we should have raid quests
that would be lots of fun
Posted:
Mon Jun 11, 2007 6:09 pm
by a_link_to_the_past
Yes quests are a must, some offering experience... some offering gold... a few rare ones that offered skill points or a stat point... quests help to create a story... as well as give purpose to the dungeons around the map besides for lvling
Posted:
Tue Jun 12, 2007 4:41 pm
by shadowni
Yeah. And possibly not be like ej and make everything fun for lvls 25+.
Maybe some raids for like lvl 10's and stuff. They'll drop maybe lightning gear or something, and basically drop gear for the nearest level. Like level 20 raids drop mystic, ect. But they can also drop lesser gear too. I love this idea of raids. ^_^
Posted:
Tue Jun 12, 2007 8:05 pm
by lawn gnome
it would be cool to have a new set of raids for evey 10 levels
like levels 1-10 can go to one dungeon and then once they get level 11 they have to go to another raid spot til they hit level 21...ect, ect.
Posted:
Tue Jun 12, 2007 8:54 pm
by a_link_to_the_past
Neat... raids.... sounds cool... I lso like the idea of having quests where you have to go into a dungeon find an item in a chest thats guarded by a boss or very difficult monsters... then return that item to the the npc the quest started with...


Your nutrition table
Calories
Proteins
Fats
Carbohydrates
2744
100
91
377
Menu for you
Sum calories
Menu
All calories: 45
61
141
290
Menu1
Menu2
Menu3
You've eaten this much
Calories
Proteins
Fats
Carbohydrates
1
2
3
4


gopro
Businessmodel of GoPro
Customer Segments
GoPro has a mass market business model, with no significant differentiation between customer segments. The company targets its lines of cameras to any individuals who want to be able to capture imagery without having to hold the devices in their hands.
Value Proposition
GoPro offers three primary value propositions: convenience, accessibility, and brand/status.
The company’s cameras create convenience by allowing users to attach it to themselves hands-free, which particularly comes in handy during physically demanding activities such as extreme sports. The products are also easy to use due to their small size and light weight. Moreover, it is simple for customers to share images thanks to easy integration with mobile devices through the GoPro app.
The cameras enable individuals of all backgrounds and in all industries to capture professional-level images at reasonable prices. This increased accessibility has led to the product going mainstream.
The company is a well-established brand due to the fact that it essentially created a new market – that for action cameras. Its status has been enhanced by the fact that it has continued to innovate over its lifespan, offering incentives for customers to purchase new versions. GoPro’s powerful reputation has led to sales of 20 million capture devices, 24 million downloads of the GoPro App, and 2015 revenues of $1.62 billion. It is sold in over 100 countries through 40,000+ retail outlets.
Channels
GoPro’s channels are relatively evenly divided; retail sales account for 52% of revenues and distributors account for 48%. Its retail channels include independent specialty retailers, big box retailers, mid-market retailers, and its online store at gopro.com. It sells its products to more than 50 distributors who resell the items to chains in foreign markets and certain verticals in the U.S.
The company also promotes its offerings by integrating original content into ad campaigns across numerous platforms, including print, online, TV commercials, and billboards. Further, it forms brand partnerships with prominent athletes and attends events such as trade shows/conferences.
Customer Relationships
GoPro’s customer relationship is of a mixed nature. There is a self-service component in that customers who buy its products through retail channels utilize the items while having limited interactions with employees.
That said, there is also a personal assistance component as resellers provide significant support to customers (repairs, etc.). Furthermore, the company offers phone, e-mail, and chat support through its website.
Lastly, there is a strong community component as the firm encourages customers to communicate with each other through its social media platforms.
Key Activities
GoPro’s business model entails designing its products for production. It outsources the majority of its manufacturing to contract firms in China, believing that doing so allows it to have greater flexibility and scale than if it were to produce the items itself.
Key Partners
GoPro works with retail and dealer partners (resellers) to have them sell its products effectively. It provides training to partner staff for this purpose.
The company maintains an Affiliate Program through which it works with websites to promote its products through their platforms. However, as of April 2014 it is no longer accepting new members (though the program remains in operation).
Key Resources
GoPro’s main resources are its various employee groups. Its product development team engages with consumers and opinion leaders in the camera market to ensure a user experience-driven approach to product design. Its media production team conducts regular travel to capture images using GoPro equipment, which helps aid design and inspire concepts for new devices.
Its engineering team develops technologies to support the ideas brainstormed by the product development team. Another key resource is intellectual property – as of 2016 GoPro has 114 issued patents in the U.S.
Cost Structure
GoPro has an “economies of scale” structure, aiming to lower cost-per-unit of output as output grows. Its biggest cost driver is cost of revenue, which includes variable costs (product costs, third-party logistics and procurement costs, and warranty repair costs).
Other major drivers can be found in the areas of sales/marketing, research/development, and administration, which are all fixed costs.
Revenue Streams
GoPro has one revenue stream, product sales. This involves sales of cameras and accessories. Its camera pricing is as follows: $199.99 for its basic Hero Session camera, $399.99 for its Hero4 Silver camera, and $499.99 for its Hero4 Black, which has the most advanced features.


Brain Baking
Brain Baking: transforming personal thoughts about thoughts into well-digestible material. The reflective aroma of burnt nervous tissue.
Includes a crispy crust of relations between technology , philosophy and the world .
Brain Baking: transforming personal thoughts about thoughts into well-digestible material. The reflective aroma of burnt nervous tissue.
Includes a crispy crust of relations between technology , philosophy and the world .


Please, login to our system in order to use it!
If you do not have a registration yet, you can register here
Login
You can view all contests or review your submissions.
Contests Submissions


{% extends "layout.html" %} {% set title = "Pending agent approval" %} {% set version = "4" %} {% block page_title %} {{title}} {% endblock %} {% block service_name %} Check and challenge your business rates valuation {% endblock %} {% block head %} {% include "includes/head.html" %} {% endblock %} {% block content %} {% include "includes/phase_banner_prototype.html" %} {{title}} Your request has been sent to [agent]. If they accept you request it will disply in your property list. Back {% include "includes/get_help.html" %} {% endblock %} {% block body_end %} {% include "includes/" + version +"/scripts.html" %} {% endblock %}
Your request has been sent to [agent]. If they accept you request it will disply in your property list.


File Descriptions
- Object.h
- Base class for shapes that can be added to the screen, extensions are contained in here as well
- Matrix.{h,cpp}
- Matrix class with some modification (documented)
- Group.h
- Object extension holding multiple objects
- Root.h
- Specialized Group, acts as the 'world'
- main.cpp
- Entry point, initializes, creates UI
Milestone 4
To add additional objects to a group, select the group to be added to and press th
Reopen Group button. This will cause the group to become active and open. The
next object will be selected automatically. After this, successive 'Adds' will add to that
group as normal. Then 'Close' the group to complete the operation.
Known Problems
- When re-opening a group that has itself been transformed, the objects added will 'jump'
if the group has been rotated. This is due to my inability to figure out how to get the
difference between the groups rotation and the incoming object. This was easy to overcome
with translation by simply getting the difference from the object's translation to the
group, but rotation is locked up in the rotation matrix with all x,y,z components meshed
together, I couldn't figure out a good way to get that information out.


Before Change
def collect_feature_dicts(fields):
feature_dicts = []
j = 0
while True:
key = "src_feat_" + str(j)
if key not in fields:
break
feature_dicts.append(fields[key].vocab)
j += 1
return feature_dicts
@staticmethod
def get_fields(nFeatures=0):
After Change
@staticmethod
def collect_feature_dicts(fields):
feature_dicts = []
for j in count():
key = "src_feat_" + str(j)
if key not in fields:
break
feature_dicts.append(fields[key].vocab)
return feature_dicts
@staticmethod
def get_fields(nFeatures=0):


CLICK the button to pause or play the background music
Basketball
Kawhi Leonard
LeBron James
Michael Jordan
Hockey
Auston Matthews
Sidney Crosby
Wayne Gretzky
Soccer
Kylian Mbappe
Lionel Messi
Pelé
Cricket
Virat Kohli
Sachin Tendulkar
Donald Bradman
Golf
Cameron Champ
Tiger Woods
Jack Nicklaus
Tennis
Serena Williams
Swimming
Michael Phelps


1. children iframe and send postmessage to children
send hello to children(postmessage)
2. get children postmessage


|
error_df(<ligandSensor>)
|
Finds the error df of this ligand sensor at given inaccuracies |
|
error_df(<pHSensor>)
|
Finds the error df of this pH sensor at given inaccuracies |
|
error_df(<redoxSensor>)
|
Finds the error df of this redox sensor at given inaccuracies |
|
`getAbsError-R`(<redoxSensor>)
|
Get the error for a given sensor object at a given R |
|
getAbsError(<Sensor>)
|
Get the error for a given sensor object |
|
getE(<redoxSensor>)
|
Get the redox potential (E) for a redox sensor |
|
getE_deriv(<redoxSensor>)
|
Get the derivative of the redox potential (dE/dR) for a redox sensor |
|
getErrorTable(<Sensor>)
|
Get the error table for a given sensor object |
|
getFractionMax(<Sensor>)
|
Get the fraction of sensors in the state corresponding to "Rmax" |
|
getProperty(<Sensor>)
|
Get the fraction of sensors in the state corresponding to "Rmax" (wrapper) |
|
getProperty(<pHSensor>)
|
Get the pH of a pH sensor (wrapper) |
|
getProperty(<redoxSensor>)
|
Get the redox potential (E) for a redox sensor (wrapper) |
|
getR(<Sensor>)
|
Method to get an array of R values from a sensor |
|
getpH(<pHSensor>)
|
Get the pH of a pH sensor |
|
plotFractionMax(<Sensor>)
|
Plot the fraction of sensors in the max state |
|
plotFractionMax(<pHSensor>)
|
Plot the fraction of pH sensors in the max state |
|
plotFractionMax(<redoxSensor>)
|
Plot the fraction of redox sensors in the max state |
|
plotProperty(<Sensor>)
|
Plot the fraction max of a generic |
|
plotProperty(<pHSensor>)
|
Plot the fraction of pH of a pHSensor |
|
plotProperty(<redoxSensor>)
|
Plot the E of a redoxSensor |
|
rangePlot(<ligandSensor>)
|
Make a plot of the suited ranges for this ligandSensor |
|
rangePlot(<pHSensor>)
|
Make a plot of the suited ranges for this pHSensor |
|
rangePlot(<redoxSensor>)
|
Make a plot of the suited ranges for this sensor |
|
ranges_df(<ligandSensor>)
|
Finds the ranges df of this ligand sensor at given inaccuracies |
|
ranges_df(<pHSensor>)
|
Finds the ranges df of this pH sensor at given inaccuracies |
|
ranges_df(<redoxSensor>)
|
Finds the ranges df of this redox sensor at given inaccuracies |
|
E()
|
What is the redox potential (mV), given R/Rmin/Rmax/delta/midpoint/temperature? |
|
pH()
|
Finds pH, given R, Rmin, and Rmax |
|
pLigand()
|
Finds pLigand, given R, Rmin, and Rmax |
|
create_error_df_general()
|
Creates a dataframe of errors at given inaccuracies |
|
create_error_df_pH()
|
Creates a dataframe of errors in pH potential at given inaccuracies |
|
create_error_df_pH_multiple()
|
Creates an error df at multiple inaccuracies, with multiple Rmin/Rmax/delta/pKa parameters |
|
create_error_df_pLigand()
|
Creates a dataframe of errors in pLigand potential at given inaccuracies |
|
create_error_df_pLigand_multiple()
|
Creates an error df at multiple inaccuracies, with multiple Rmin/Rmax/delta/pKd parameters |
|
create_error_df_redox()
|
Creates a dataframe of errors in redox potential at given inaccuracies |
|
create_error_df_redox_multiple()
|
Creates an error df at multiple inaccuracies, with multiple Rmin/Rmax/delta/e0 parameters |
|
E()
|
What is the redox potential (mV), given R/Rmin/Rmax/delta/midpoint/temperature? |
|
Error_E()
|
What is the error in redox potential at a given redox potential (mV),
given some parameters of R and the error in R? |
|
Error_general()
|
A general function for calculating the error in some parameter |
|
Error_pH()
|
What is the error in pH at a given pH,
given some parameters of R and the error in R? |
|
Error_pLigand()
|
What is the error in pLigand at a given pLigand,
given some parameters of R and the error in R? |
|
R_of_E()
|
What was the recorded fluorescence ratio at a certain redox potential? |
|
R_of_pH()
|
Finds R, given a pH |
|
R_of_pLigand()
|
Finds R, given a pLigand |
|
Sensor-class
|
An S4 class to represent a 2-state sensor |
|
adjustSpectra()
|
Adjusts a spectra, assuming that the actual spectra is not limiting |
|
create_error_df_general()
|
Creates a dataframe of errors at given inaccuracies |
|
create_error_df_pH()
|
Creates a dataframe of errors in pH potential at given inaccuracies |
|
create_error_df_pH_multiple()
|
Creates an error df at multiple inaccuracies, with multiple Rmin/Rmax/delta/pKa parameters |
|
create_error_df_pLigand()
|
Creates a dataframe of errors in pLigand potential at given inaccuracies |
|
create_error_df_pLigand_multiple()
|
Creates an error df at multiple inaccuracies, with multiple Rmin/Rmax/delta/pKd parameters |
|
create_error_df_redox()
|
Creates a dataframe of errors in redox potential at given inaccuracies |
|
create_error_df_redox_multiple()
|
Creates an error df at multiple inaccuracies, with multiple Rmin/Rmax/delta/e0 parameters |
|
create_ranges_multiple()
|
Takes in the input of create_error_df_redox_multiple and creates a simple ranges plot:
e.g. minimum and maximum measureable value at different error thresholds for each sensor. |
|
error_df(<ligandSensor>)
|
Finds the error df of this ligand sensor at given inaccuracies |
|
error_df(<pHSensor>)
|
Finds the error df of this pH sensor at given inaccuracies |
|
error_df(<redoxSensor>)
|
Finds the error df of this redox sensor at given inaccuracies |
|
formatSpectraData()
|
Formats sensor information into a dataframe suitable for input into database |
|
fraction_deprot()
|
What is the fraction deprotenated of a certain pH, given the pKa?
Note: this generalizes to any ligand-binding sensor type, given a pKa/pKd
and a pLigand |
|
`getAbsError-R`(<redoxSensor>)
|
Get the error for a given sensor object at a given R |
|
getAbsError(<Sensor>)
|
Get the error for a given sensor object |
|
getDb()
|
Returns the sensor database |
|
getE(<redoxSensor>)
|
Get the redox potential (E) for a redox sensor |
|
getE_deriv(<redoxSensor>)
|
Get the derivative of the redox potential (dE/dR) for a redox sensor |
|
getErrorTable(<Sensor>)
|
Get the error table for a given sensor object |
|
getFractionMax(<Sensor>)
|
Get the fraction of sensors in the state corresponding to "Rmax" |
|
getProperty(<Sensor>)
|
Get the fraction of sensors in the state corresponding to "Rmax" (wrapper) |
|
getProperty(<pHSensor>)
|
Get the pH of a pH sensor (wrapper) |
|
getProperty(<redoxSensor>)
|
Get the redox potential (E) for a redox sensor (wrapper) |
|
getR(<Sensor>)
|
Method to get an array of R values from a sensor |
|
getpH(<pHSensor>)
|
Get the pH of a pH sensor |
|
launchApp()
|
A wrapper function to run the included Shiny App |
|
ligandSensor-class
|
An S4 class to represent a 2-state ligand sensor |
|
newSensorFromSpectra()
|
A function to convert a sensorSpectra to a Sensor |
|
pH()
|
Finds pH, given R, Rmin, and Rmax |
|
pHSensor-class
|
An S4 class to represent a 2-state pH sensor |
|
pLigand()
|
Finds pLigand, given R, Rmin, and Rmax |
|
plotFractionMax(<Sensor>)
|
Plot the fraction of sensors in the max state |
|
plotFractionMax(<pHSensor>)
|
Plot the fraction of pH sensors in the max state |
|
plotFractionMax(<redoxSensor>)
|
Plot the fraction of redox sensors in the max state |
|
plotProperty(<Sensor>)
|
Plot the fraction max of a generic |
|
plotProperty(<pHSensor>)
|
Plot the fraction of pH of a pHSensor |
|
plotProperty(<redoxSensor>)
|
Plot the E of a redoxSensor |
|
plotSpectra(<sensorSpectra>)
|
Create a plot (ggplot object) for a sensorSpetra object |
|
plot_ranges_general()
|
Takes in a ranges_df dataframe and makes a plot! |
|
plot_ranges_pH()
|
Takes in a ranges_df dataframe and makes a plot (for pH). |
|
plot_ranges_pLigand()
|
Takes in a ranges_df dataframe and makes a plot (for pLigand). |
|
plot_ranges_redox()
|
Takes in a ranges_df dataframe and makes a plot (for redox). |
|
rangePlot(<ligandSensor>)
|
Make a plot of the suited ranges for this ligandSensor |
|
rangePlot(<pHSensor>)
|
Make a plot of the suited ranges for this pHSensor |
|
rangePlot(<redoxSensor>)
|
Make a plot of the suited ranges for this sensor |
|
ranges_df(<ligandSensor>)
|
Finds the ranges df of this ligand sensor at given inaccuracies |
|
ranges_df(<pHSensor>)
|
Finds the ranges df of this pH sensor at given inaccuracies |
|
ranges_df(<redoxSensor>)
|
Finds the ranges df of this redox sensor at given inaccuracies |
|
ranges_df()
|
Find the ranges df of an object |
|
rescaleToRange()
|
A function to rescale a certain (x,y) matrix pair into a new (x_new, y) pair. |
|
redoxSensor-class
|
An S4 class to represent a 2-state redox sensor |
|
sensorSpectra-class
|
An S4 class to represent the emission spectrum of a 2-state sensor |
|
spectraMatrixFromValues()
|
A function to make a sensorSpectra from a set of 4 vectors |


Print the PDF that this service has created for you. It will contain 4 copies of 3 different forms:
{% elif PORSpeedNormalAffidavit == "y" %}Print the PDF that this service has created for you. It will contain 4 copies of 2 different forms:
{% else %}Print the PDF that this service has created for you. It will contain 4 copies of 1 form:
{% endif %}You will need to make 4 copies of any court orders or written agreements that involve you and {{ RespondentName.first }} {{ RespondentName.middle }} {{ RespondentName.last }}. You will need to add these copies to your Document Package. The courthouse will not make copies for you.
{% endif %} {% if RespondentNoGo == "y" %}You should write down the addresses of the places that you want {{ RespondentName.first }} {{ RespondentName.middle }} {{ RespondentName.last }} to stay away from. You may need to show these addresses to the judge if the judge asks for them.
{% endif %} {% if PORSpeedup == "y" or PORNoNotice == "y" or PORSpeedNormalAffidavit == "y" %}An affidavit is a document that contains facts about your story that you are telling the judge. You will need to swear under oath or affirm that these facts are true.
You can swear or affirm your affidavit at a courthouse registry for free. You can also swear or affirm your affidavit with a lawyer, a notary public or a family justice counsellor. Lawyers and notary publics usually charge a fee to swear or affirm affidavits.
You will need picture ID, such as a driver's license or a passport, when you swear or affirm your affidavit.
{% endif %}You will need to sign your documents on the day you file them at a courthouse. You will also need to hand write the date and the courthouse location.
Take all 4 copies of your Application Package to the registry at a Provincial Courthouse. It is free to file court documents for family proceedings in Provincial Court.
The registry staff will stamp your documents. They will return the copies you need.
{% if PORNoNotice == "y" %}A judge will hear your application as soon as possible. You may need to wait in court for several hours.
{% else %}You will need to "serve" (to give) a copy of your stamped application package to {{ RespondentName.first }} {{ RespondentName.middle }} {{ RespondentName.last }}. This is to make sure that {{ RespondentName.first }} {{ RespondentName.middle }} {{ RespondentName.last }} knows what you are asking for.
For your safety, you cannot give it to {{ RespondentName.first }} {{ RespondentName.middle }} {{ RespondentName.last }} yourself. You need to get someone else, who is at least 19 years old, to do it. Ask the registry if you need more instructions about service.
{% endif %}


Modified Julian Date to Gregorian Calendar Date, expressed
in a form convenient for formatting messages (namely
rounded to a specified precision, and with the fields
stored in a single array).
CALL:
CALL sla_DJCAL (NDP, DJM, IYMDF, J)
GIVEN:
NDP
I
number of decimal places of days in fraction
DJM
D
modified Julian Date (JD-2400000.5)
RETURNED:
IYMDF
I(4)
year, month, day, fraction in Gregorian calendar
J
I
status: nonzero = out of range
NOTES:
1.
Any date after 4701BC March 1 is accepted.
2.
NDP should be 4 or less to avoid overflow on machines which
use 32-bit integers.
REFERENCE:
The algorithm is derived from that of Hatcher,
Q.Jl.R.astr.Soc. (1984) 25, 53-55.


with vast expertise and ability to leverage resources to build customized solutions right from development , integration to execution with our analytic and innovative approach for a positive outcome. It is our endeavor to offer technology integrated solutions that help our customers build their business effectively and we be an integral part of their growth story. Our focus has always been in giving simple yet effective solutions that support the smooth functioning of businesses. Be it software development, Network, Digital Marketing, Agile program delivery, SaaS product development, and team leadership services we will deliver the best sustainable solutions.
We are
Chat with us
We leverage technology and innovation to offer you what is required for your business. To understand how we do it, do connect with our expert.


Subscriptions Detail
Revenue
API History
QoS
GET API Time [ms]: Account / HTTP method / GMT hour
Logged API Errors: Account / GMT day
GET API Time [ms]: Account / 95% / GMT month
Adoption
Monthly
Weekly
Daily
Activation
Weekly, accounts that created an index and stored at least one document
Retention
In the last four days, accounts that had GET and PUT activity


Use this page to register all of your bot's information and connect it to your project! If you have not created a bot account yet, you may do so by visiting Discord's developer page. One may also customize the data encryption password and other various properties pertaining to the bot.


CAN Data Collection
Heavy Vehicles use the CAN bus and J1939 for internal communications. This site is dedicated to securely gathering and presenting raw CAN data from heavy vehicles.
Login to access the CAN data and see the available data loggers.
Login


{{+bindTo:partials.standard_nacl_api}}
| PP_ArrayOutput_GetDataBuffer | GetDataBuffer |
| void * | user_data |
A structure that defines a way for the browser to return arrays of data to the plugin.
The browser can not allocate memory on behalf of the plugin because the plugin and browser may have different allocators.
Array output works by having the browser call to the plugin to allocate a buffer, and then the browser will copy the contents of the array into that buffer.
In C, you would typically implement this as follows:
struct MyArrayOutput { void* data; int element_count; }; void* MyGetDataBuffer(void* user_data, uint32_t count, uint32_t size) { MyArrayOutput* output = (MyArrayOutput*)user_data; output->element_count = count; if (size) { output->data = malloc(count * size); if (!output->data) // Be careful to set size properly on malloc failure. output->element_count = 0; } else { output->data = NULL; } return output->data; } void MyFunction() { MyArrayOutput array = { NULL, 0 }; PP_ArrayOutput output = { &MyGetDataBuffer, &array }; ppb_foo->GetData(&output); }
A pointer to the allocation function that the browser will call.
Data that is passed to the allocation function.
Typically, this is used to communicate how the data should be stored.


Welcome to the Elph SDK Demo, the easiest way to integrate Web3 into your dApp and have users online instantly without anything to download. We'll walk you step-by-step through what the experience can be for a typical dApp. This demo is running on the Ropsten Testnet so feel free to play around all you want!
If you're interested in using our SDK, have questions, or just want to say 👋, email us at<EMAIL_ADDRESS>and drop by our Telegram.
Ropsten Testnet Connection Status: Disconnected
Ropsten Block Number: ...
Address: ...
Balance: ...
Doesn't look like you're connected to the Ethereum network using the Elph Provider. Not a problem, register below to see how easy it is to get started with Web3.


{% endfor %}
{% include "studies/_paginator.html" with page=users_result %}
{% elif search_query %}
No results found!
{% endif %}
Researchers
Researchers belonging to this study's access groups. {{ study.lab.name }} Admins will automatically be able to edit this study, regardless of study group.


ezcBaseConfigurationInitializer
public interface ezcBaseConfigurationInitializer
| Method Summary | |
|---|---|
| static mixed | configureObject(string|object object) Configures the given object, or returns the proper object depending on the given identifier. |
public static mixed configureObject(string|object object)
Configures the given object, or returns the proper object depending on the given identifier. In case a string identifier was given, it should return the associated object, in case an object was given the method should return null.
This class provides the interface that classes need to implement to act as an callback initializer class to work with the delayed initialization mechanism.


markdown:
[Qi's Site](path-to-site)
markdown:
[Qi's Site](path-to-site "Qi's Site")
My Blog is called Qi’s blog.
markdown:
My Blog is called [Qi's blog][BLOG].
[BLOG]: path-to-site "Qi's blog"
TeXt is a succinct theme for blogging, It’s simple but not easy. You can find more at HERE.
markdown:
TeXt is a succinct theme for blogging, It's simple but not easy. You can find more at [HERE](path-to-site).


Resources are anything that can be accessed by our clients.
In a VRaptor-based Web application, a resource must be annotated with @Resource
.
If you annotate a class with @Resource
, all its public methods become accessible
through GET requests to specific URIs.
The following example shows a resource called ClienteController
, which provides
several operations over clients.
Creating the class below with all its methods instantly make the URIs /client/add, /client/list, /client/show, /client/remove and /client/update available, each one invoking the respective method.
@Resource
public class ClientController {
public void add(Client client) {
...
}
public List<Client> list() {
return ...
}
public Client show(Client profile) {
return ...
}
public void remove(Client client) {
...
}
public void update(Client client) {
...
}
}
You can receive parameters on your controller methods, and if those parameters follow the java beans convention (getters and setters for class fields), you can use dots for browsing through the fields. For instance, on method:
public void update(Client client) {
//...
}
you can receive on the request parameters:
client.id=3 client.name=John Doe client.user.login=johndoe
and the respective fields will be set, browsing through getters and setters starting from client.
If an object field or a method parameter is a list (List<> or array), you can receive several request parameters, using square brackets and indexes:
client.phones[0]=+55 11 5571-2751 #if it is a string list client.relatives[0].id=1 #if it is an arbitrary object, you can continue to browse client.relatives[3].id=1 #indexes don't need to be sequential client.relatives[0].name=Mary Doe #using the same index, it will be set on same object clients[1].id=23 #it works if you receive a client list as method parameter
Unfortunately Java can't reflect parameters names, these data don't stay in bytecode
(unless you compile your code in debug mode, but that is optional). It causes that most
frameworks that need this kind of information end up creating annotations, which makes
a very ugly code (like JAX-WS, where its very common to find methods with signature like:
void add(@WebParam(name="client") Client client)
).
VRaptor uses the Paranamer framework (http://paranamer.codehaus.org), which can get parameter names information through pre compilation or debug data, avoiding the creation of annotations for this purpose. Some VRaptor developers also participate in Paranamer development.
Sometimes you want to share a component among all users, or through all requests from the same user or one instance for each user request.
To specify in which scope your component will live, use the annotations
@ApplicationScoped
, @SessionScoped
and @RequestScoped
.
If you don't specify a scope for your component, VRaptor assumes the request scope, meaning a fresh instance will be created for each request.
The @Path
annotation allows you to specify custom access URIs to your controller methods.
The basic usage of the annotation is to specify a fixed URI. The following example shows
how to customize the access URI for a method that accepts POST requests only. The URI
we want to specify is /client:
@Resource
public class ClientController {
@Path("/client")
@Post
public void add(Client client) {
}
}
If you place the @Path on ClientController, the specified value will be used as prefix for all URIs from this controller.
@Resource
@Path("/clients")
public class ClientController {
//URI: /clients/list
public void list() {...}
//URI: /clients/save
@Path("save")
public void add() {...}
//URI: /clients/allClients
@Path("/allClients")
public void listAll() {...}
}
The best practice when using HTTP Methods is to specify a different methods, like GET, POST, PUT etc, for the same URI.
In order to accomplish that, we use annotations @Get
, @Post
, @Delete
etc, which
also allows us to configure a custom URI in the same way as @Path
.
The following example changes the default URIs for ClienteController
.
Now we specify two different URIs for different HTTP methods:
@Resource
public class ClientController {
@Post("/client")
public void add(Client client) {
}
@Path("/")
public List<Client> list() {
return ...
}
@Get("/client")
public Client show(Client client) {
return ...
}
@Delete("/client")
public void remove(Client client) {
...
}
@Put("/client")
public void update(Client client) {
...
}
}
As you can see, we used HTTP methods + a specific URI to identify each method in our Java class.
We must be very careful when creating hyperlinks and HTML forms, because web browsers currently support only POST and GET methods.
For that reason, requests for methods DELETE, PUT etc should be created through JavaScript, or by adding an extra parameter called _method. The latter one only works on POST requests.
This parameter will overwrite the real HTTP method being invoked.
The following example creates a link to show one client's data:
show client 5
Now an example on how to invoke the method to add a client:
<form action="/client" method="post">
<input name="client.name" />
<input type="submit" />
</form>
Notice that if we want to remove a cliente using the DELETE HTTP method, we have
to use the _method
parameter, since browsers still don't support that kind
of requests:
<form action="/client" method="POST">
<input name="client.id" value="5" type="hidden" />
<button type="submit" name="_method" value="DELETE">remove client 5</button>
</form>
Suppose a client controller application where the client's unique identifier (primary key) is a number. We can map our URIs as /client/{client.id}, so we can visualize each client.
That is, if we access the URI /client/2, the show method will be invoked and the client.id parameter will be set to 2. If the URI /client/1717 is accessed, the same method will be invoked with the 1717 value.
That way we can create unique URIs to identify different resources in our application. See the mentioned example:
@Resource
public class ClientController {
@Get
@Path("/client/{client.id}")
public Cliente show(Client client) {
return ...
}
}
You can go further and set several parameters through the URI:
@Resource
public class ClientController {
@Get
@Path("/client/{client.id}/show/{section}")
public Client show(Client client, String section) {
return ...
}
}
public class ClientController {
@Get
@Path({"/client/{client.id}/show/{section}", "/client/{client.id}/show/"})
public Client show(Client client, String section) {
return ...
}
}
@Path("/color/{color:[0-9A-Fa-f]{6}}")
public void setColor(String color) {
//...
}
Everything that is after the colon is treated as a regex, and the URI will only match if the parameter matches the regex:
/color/a0b3c4 => matches /color/AABBCC => matches /color/white => doesn't match
You can also use the * wildcard as a selection method for your URI. The following example ignores anything that comes after the word photo/ :
@Resource
public class ClientController {
@Get
@Path("/client/{client.id}/photo/*")
public File photo(Client client) {
return ...
}
}
And now a similar code, but used to download a specific photo from a client:
@Resource
public class ClientController {
@Get
@Path("/client/{client.id}/photo/{photo.id}")
public File photo(Client client, Photo photo) {
return ...
}
}
Sometimes you want the parameter to include the / character. In that case, you should use the pattern {...*}:
@Resource
public class ClientController {
@Get
@Path("/client/{client.id}/download/{path*}")
public File download(Client client, String path) {
return ...
}
}
It is possible for some URIs to be handled by more than one method in our class:
@Resource
public class PostController {
@Get
@Path("/post/{post.author}")
public void show(Post post) { ... }
@Get
@Path("/post/current")
public void current() { ... }
}
The URI /post/current
can be handled by both show
and current
methods.
But I don't want to invoke the show
method with that URI,
what I want is VRaptor to test the current
path first, avoiding the invocation of the show
method.
In order to do that, we can define priorities for @Path
s, so VRaptor will first
test paths with higher priority, in other words, paths with lower priority values.
@Resource
public class PostController {
@Get
@Path(value = "/post/{post.author}", priority = Path.LOW)
public void show(Post post) { ... }
@Get
@Path(value = "/post/current", priority = Path.HIGH)
public void current() { ... }
}
This way, the "/post/current" path will be tested before "/post/{post.author}" by VRaptor, solving our problem.
Finally, the most advanced way to configure access routes for your resources is using a RoutesConfiguration.
This component must be configured as application scoped and must implement the config method:
@Component
@ApplicationScoped
public class CustomRoutes implements RoutesConfiguration {
public void config(Router router) {
}
}
Having access to a Router, you can define access routes to methods. And the best part is that the configuration is refactor-friendly, that is, if you change a method's name, the configuration reflects the change, but the uri stays the same:
@Component
@ApplicationScoped
public class CustomRoutes implements RoutesConfiguration {
public void config(Router router) {
new Rules(router) {
public void routes() {
routeFor("/").is(ClientController.class).list();
routeFor("/client/random").is(ClientController.class).random();
}
};
}
}
You can also put parameters on the uri and they will be set directly on the method parameters. You can also add restrictions to these parameters:
// show method receives a Client that has an id
routeFor("/client/{client.id}").is(ClientController.class).show(null);
// If I want to ensure that the parameter is a number:
routeFor("/client/{client.id}").withParameter("client.id").matching("\\d+")
.is(ClientController.class).show(null);


The output below will display a URL's parsed components from the browser versus those given by jsdom/whatwg-url.
jsdom/whatwg-url closely follows the URL Standard and the associated web-platform-tests, so this serves as a good comparison versus the standard itself.
The output will be colored dark green unless a difference occurs between the two parsers in which case the affected URL component will be colored red.
| href | |
|---|---|
| protocol | |
| username | |
| password | |
| port | |
| hostname | |
| pathname | |
| search | |
| hash |
| href | |
|---|---|
| protocol | |
| username | |
| password | |
| port | |
| hostname | |
| pathname | |
| search | |
| hash |


Your shopping cart is empty!
These are standard playing cards.
$8.00
This is a magic box for all things magic
$123.20
Best magic book ever
$25.00
Standard rope and silk for traditional magic tricks
$19.00


--- layout: post title: Startup is "Searching for a business model" categories: - Articles tags: [] status: publish type: post published: true meta: {} author: ---
What does a startup do?
"In a perfect world you build your vision and your customers would run to buy your first product exactly as you spec’d and built it. We now know that this ‘build it and they will come” is a prayer rather than a business strategy. In reality, a startup is a temporary organization designed to search for a repeatable and scalable business model. This means the brilliant idea you started withwill change as you iterate and pivot your business model until you find product/market fit."
From the Steve Blank article the startup team


Get value
Get date
Set value
Set date
Navigation
upper view
lower view
past
future
Navigate
Pick a date


Reprocessing_Font
This module does not have a toplevel documentation block.
module Internal : Reprocessing_Internal
let intCompare = (int, int) => int
module Font
This module does not have a toplevel documentation block.
_
.
This module does not have a toplevel documentation block.
This module does not have a toplevel documentation block.


Digital art
2018
"Neverending Story redesign" series
2017
Watercolor art
"Animal Portraits" series
Watercolor and Gouache
Brief Study of a tiger
2016
Concept art Saga da Seca
Character design
Abstract practice
2015
"Studio Ghibli's Sceneries" series
Acrylics on paper
Watercolor on paper


Akufo-Addo's Ministers are national service personnel – Appiah Kubi
The Deputy Minister for Railways Development, Andy Appiah Kubi has stated that the large size of ministers and their deputies under the Akuffo Addo government are currently serving as national service personnels.
He noted that all the ministers serving are not being paid for their ministerial work due to the fact that the majority of them are Members of Parliament and do not receive salary as ministers.
The Akuffo Addo led administration has in the past come under serious criticism for running a large size administration as the government is being accused of overburdening the national purse.
But speaking on Anopa Nkomo with Kwame Tutu on Accra based Kingdom FM 107.7, Mr. Appiah Kubi stressed that, there are wrong impression being created in the public domain that, the ministers’ salaries are milking the economy as he says they are serving the nation freely and describe their work as national service.
He also urged Ghanaians to desist from politicizing all national issues and look at the positive side of matters as he says all the ministers and their deputies under this government are experienced and willing sacrifice for the nation.
But the opposition party is less convinced about the benefit of having such a big government.
The Minister said criticism would stop if the government delivers on its ambitious agenda.


--- layout: post title: "Adventures in Pickled Ginger" date: 2018-08-30 22:30:00 +0000 image: https://s3.amazonaws.com/audreywatters/2018-08-30-ginger.jpg imagecredits: https://www.flickr.com/photos/rosasay/8620159913 ---
I love pickled ginger. I mean I love it.  I try to always keep some in my refrigerator and eat it after meal. Oh sure, I justify snacking on the vinegary slices by insisting it serves as some sort of dietary aid. But mostly I love the sharp flavor.
There’s a vendor at the local farmers’ market that makes a pretty good version. The ingredients read: ginger, red pepper flakes, and apple cider. I love the inclusion of the red pepper flakes as it increases that spicy burn; I love the exclusion of sugar as I don’t eat pickled ginger for its sweetness. I’m fascinated that the label says apple cider and not apple cider vinegar – all the recipes I’ve ever read have called for vinegar so I don’t know if the cider is fermented along with the ginger or what.
I remember this pickled ginger being much more delicious when I lived here before. Now that I’m back from New York, where I would purchase pickled ginger in vast quantities from the deli counter at H Mart, I’m not sure I’m as happy with this SoCal version as I was before. The ginger seems stringier. The taste isn’t as sharp as I recall.
The H Mart pickled ginger was crisper and perhaps fresher. (I tried both the white and the pink from H Mart, and I think that the latter was dyed rather than made with younger ginger.) The H Mart pickled ginger was less sweet than what you find a lot of places – a plus, in my book – although there was some chemical aftertaste to it that I couldn’t place. (The ingredients were all in Korean.) The little plastic cartons, sitting in the sushi section, often stunk like fish.
So I’m going to try my hand at pickling my own ginger, so that I can dial in the right level of sweet and spice. There’s a little joke in that phrase “try my hand” as I bought a mandolin slicer. Hopefully all my fingers will remain intact.
Here are the ingredients for my first experiment:
I peeled the ginger, sliced it, and put the pieces in a half-pint mason jar. I sprinkled the red pepper flakes on top. In a saucepan, I brought the vinegar, sugar, and salt to a simmer, stirring until the sugar was dissolved. I then poured the liquid over the ginger and secured the lids. This isn’t a “proper” can, so once cooled, I put in the fridge.
I’ve got a little bit of pickled ginger left from the farmers’ market, and I’m heading out of town soon. But I’ll probably crack this jar open fairly soon and think about what needs to be changed. (I’m also heading out of town for a week, so I want to taste it before and after to see what difference sitting in the sugar-vinegar makes to the flavor and consistency.)
Stay tuned for more attempts at this…


This is a simple and yet fully fledged configuration of Webpack 4 including Babel transpiling and Boostrap 4 framework.
This page is just a generic start-page that you can delete. However, if you look around you will find links to valuable ressources for your frontend endevours.
Boostrap 4's grid-system is utilizing flexbox. Read about the ins and outs of flexbox here.
Read it!The order and organisation of your markup is important. Not only for layout but also for Assistive technology like screen readers.
Read it!The NPM package manager stores info about your project in a package.json
Read it!What follows is a description of what this particular configuration of Webpack does for you.
Localhost dev environment and Production build script
Start dev environment: npm run start
.
Compile to production: npm run build
.
Multiple entry files
You can have as many entry files as you like. Each entry will result in a new destination file. You can see the config here in config/webpack.common.js
.
Please note that Webpack outputs JS files for everything, also CSS. You should however ignore those and only mind the CSS files.
SCSS transpilation
You will get automatic transpilation from .scss files into .css files. This means you have the posibility to tap into the power of SCSS/Sass.
ES6+ transpilation
All .js files will be transpiled to match ES5 that works in all browsers, including Internet Explorer 11 specifically. In a few years this transpilation can theoretically be removed, but as with most things fronted: It depends!
Automatic copying of css/js files to your solutions static file folders
Currently all files that are transpiled when you call npm run build
end up in the "build" folder. Here they are not of much use, and it is not recommended to configure webpack to use destinationfolders that are not "local" to your frontend solution.
To enable automatic copying of files (so you dont have to manually move them everytime) you need to look at the config file called config/copy-to-solution.js
.
In this config file you specify the path to your final destination. The copying will run AFTER all transpilation have completed, as can be seen in config/webpack.prod.js
.


--- title: home description: Homepage for walbarello's personal site. stylesheet: true sitemap: changefreq: monthly priority: 0.5 ---


To manually set the time for the camera:
1. Click Manual Time Correction.
2. In the displayed dialog box, specify Time or select the Synchronize time with the PC check box.
3. Click Confirm.
1. Select the Auto Time Correction check box.
2. Select a time correction mode.
If you select Access Protocol, time correction will be performed using the VSIP, GB28181, Onvif, and SDK.
If you select NTP Clock Synchronization, time correction will be performed using the NTP. Additionally, you need to specify Server Address, NTP Port Number, and Correction Interval.
1. Select the Enable DST check box.
2. Specify Start Time and End Time.
3. Select a duration option from the Advance Clocks By drop-down list.
4. Click Save.


| tool |
pr |
age |
owner |
title |
last_comment |
by |
age_comment |
num_comments |
no_comment_from_puppet |
last_comment_mentions_puppet |
| Github Action for Litmus |
67 |
74 |
tphoney iac puppet |
(bugfix) stop using core.exportVariable |
tp and I played around with this yesterday for a bit and while this change indeed does fix the problem he's seeing, there is no understanding WHY it is failing, as all the correct dependencies and environment vars are there.
|
DavidS |
73 |
1 |
false |
false |
| Community reports |
54 |
18 |
Disha-maker iac puppet |
(IAC-1196) Exclude drafts from module report |
Im also getting the same error as @daianamezdrea so I am unsure but you must be running but it is something different than what is pushed to this PR. Also @Disha-maker please remove that above screenshot as it shows your token. Posting your token publicly is something you should not do.
Again if you actually look at the code changes it should be apparent what is wrong with this PR. If you cannot work it out compare it to the PR I put for you just to copy last week.
|
pmcmaw |
9 |
6 |
false |
true |
| dependency-checker |
23 |
1 |
dependabot-preview[bot] |
Update puppet_forge requirement from ~> 2.2 to >= 2.2, < 4.0 |
No previous comment other than codecov-io
|
|
1 |
1 |
true |
false |
| IAC Blog |
184 |
5 |
pmcmaw iac puppet |
(GH-90) Converting to use new DSC modules Blog Post |
Apologies, messed up a bit there with git 👎 All sorted now though.
|
pmcmaw |
4 |
1 |
false |
false |
| Litmus |
379 |
2 |
carabasdaniel iac puppet |
Isolate puppet_helpers workaround for windows os family |
Closes: https://github.com/puppetlabs/puppetlabs-concat/pull/684
|
carabasdaniel |
1 |
4 |
false |
false |
| Litmus |
377 |
3 |
david22swan iac puppet |
(IAC-1406) - run_script docker_exp fix |
Test branch set up on Concat: https://github.com/puppetlabs/puppetlabs-concat/pull/683
|
david22swan |
3 |
2 |
false |
false |
| PDK Templates |
341 |
204 |
binford2k puppet vox |
Add starter Forge publish GitHub action |
@binford2k FYI i've been working on converting some of our Travis stuff over to GitHub actions example: https://github.com/EncoreTechnologies/puppet-powershellmodule/blob/master/.github/workflows/build.yaml
I'm interested in helping this along. I think the only piece missing from my version is the following:
- acceptance testing
- templatizing and turning hard coded things into variables and options
|
nmaludy |
94 |
2 |
false |
true |
| PDK Templates |
338 |
211 |
cdenneen |
Gitlab litmus |
0 comments
|
|
0 |
0 |
true |
false |
| PDK Templates |
372 |
51 |
sanfrancrisko iac puppet |
(IAC-1307) Add Spec tests to nightly and pr_test GHActions configs |
Rebased to see if it all works now
|
DavidS |
13 |
2 |
false |
false |
| PDK Templates |
359 |
82 |
DavidS iac puppet |
Default new modules to rspec-mocks |
Awesome. I was complaining last week about this. Thanks for doing this.
|
logicminds |
75 |
4 |
false |
false |
| Puppet Development Kit |
927 |
66 |
logicminds puppet |
Adds AIX support when creating a new module |
All requested changes have been addressed.
|
logicminds |
12 |
2 |
false |
false |
| Puppet Development Kit |
937 |
8 |
e-gris puppet |
(RE-13453) Remove old gpg key from build_defaults.yaml |
0 comments
|
|
0 |
0 |
true |
false |
| Puppet Development Kit |
935 |
16 |
DavidS iac puppet |
bundler: disable installing unsupported system_tests gem in most situ… |
0 comments
|
|
0 |
0 |
true |
false |
| Puppet Development Kit |
838 |
367 |
sebastian-miclea puppet |
Replace facter with facter-ng to run tests |
@sebastian-miclea do you still need this PR? Are you planning on moving this work forward as part of the next PDK release?
|
DavidS |
76 |
5 |
false |
false |
| Puppet Development Kit |
929 |
51 |
michaeltlombardi iac puppet |
(GH-905) Ensure release failure includes error message |
[![Coverage Status](https://coveralls.io/builds/35669268/badge)](https://coveralls.io/builds/35669268)
Coverage remained the same at 92.654% when pulling **c068a6f49c7750b868fe3f209403fc1a51afdf93 on michaeltlombardi:gh-905/master/add-release-failure-context** into **3e54fcfb01014809dc0c5d01dee87242002133aa on puppetlabs:master**.
|
coveralls |
49 |
1 |
true |
false |
| PuppetDscBuilder |
122 |
3 |
pmcmaw iac puppet |
(GH-114) - Adding PSCredential and CIM Instance examples |
0 comments
|
|
0 |
0 |
true |
false |
| PuppetDscBuilder |
123 |
1 |
michaeltlombardi iac puppet |
(MAINT) Fix metadata summary entry definition |
0 comments
|
|
0 |
0 |
true |
false |
| puppet-lint |
779 |
1182 |
rodjek vox |
[WIP] Revamp docs site |
0 comments
|
|
0 |
0 |
true |
false |
| puppet-lint |
586 |
1509 |
rnelson0 vox |
Puppethack: Validate puppet code before attempting to lint it. |
There's #728 which adds *some* error detection and handling. If this PR is to be merged, it'll need to be rebased and de-conflicted with that change first.
|
DavidS |
83 |
12 |
false |
false |
| Puppet::Modulebuilder |
33 |
5 |
ekohl vox |
Store Ruby version as a Gem::Version in a var |
0 comments
|
|
0 |
0 |
true |
false |
| Puppet Strings |
266 |
44 |
binford2k puppet vox |
Only set tasks = true when parsing plans. |
Hey @binford2k just wondering if this is still functionality you are still interested in working on?
|
pmcmaw |
20 |
1 |
false |
true |
| Puppet::Syntax |
127 |
92 |
wershlak |
support multiple encoded blocks |
0 comments
|
|
0 |
0 |
true |
false |
| Puppet Labs Spec Helper |
288 |
657 |
rodjek vox |
(PDK-1047) Add rake task to inspect module for class & defined type definitions |
> What I was saying is that retrospec already does the thing being built here.
The goal of PDK-1047 is not to implement retrospec style functionality. We do not want to inspect the contents of the class or defined types to generate extensive tests for all the contained resources.
> Test generators suffer from the problem that most people using them have no clue how to write or maintain the tests it creates. Test Education is more important IMHO.
The scope of this is simply to be able to examine a module during `pdk convert` and feed this information into the existing PDK object generators so that the *very minimal* template specs are generated, the same specs that are generated by running `pdk new class` or `pdk new defined_type`.
These generated tests are little more than `it { is_expected.to compile }`, which we've found is enough for most users.
|
rodjek |
577 |
7 |
false |
false |
| rspec-puppet-facts |
124 |
82 |
ekohl vox |
Performance improvements |
@sanfrancrisko at this point I'm uncertain what is expected. I'd like some guidance from the maintainers what the behavior should be. That means either changing the tests (as I suggested) or changing the code to pass the tests. Until I get that feedback I'm blocked.
|
ekohl |
62 |
9 |
true |
false |
| rspec-puppet |
555 |
1305 |
kjetilho |
Add .tagged and .not_tagged methods for resource matcher |
rebased again and updated compile matcher test to use correct line number.
|
DavidS |
76 |
4 |
true |
false |
| rspec-puppet |
794 |
269 |
thatnerdjosh |
Allow users to setup control repo |
Hello @DavidS,
This was so long ago, somehow it slipped my plate... I forgot what a control repo was or what this code was achieving. I'll take a look and then update the docs accordingly.
Thanks
|
thatnerdjosh |
79 |
4 |
true |
false |
| rspec-puppet |
611 |
1227 |
rodjek vox |
[RFC] New syntax |
How would this deal with resources within a module? given the current double underscore I'd expect `describe concat__fragment('x') do ... end`
Another thing I'd like to see is easy verification of the full content. Currently we have helper functions:
```
def verify_concat_fragment_contents(subject, title, expected_lines)
is_expected.to contain_concat__fragment(title)
content = subject.resource('concat::fragment', title).send(:parameters)[:content]
expect(content.split("\n") & expected_lines).to match_array(expected_lines)
end
def verify_concat_fragment_exact_contents(subject, title, expected_lines)
is_expected.to contain_concat__fragment(title)
content = subject.resource('concat::fragment', title).send(:parameters)[:content]
expect(content.split(/\n/).reject { |line| line =~ /(^#|^$|^\s+#)/ }).to match_array(expected_lines)
end
```
|
ekohl |
874 |
9 |
false |
false |
| rspec-puppet |
819 |
16 |
ekohl vox |
Handle all auto*, not just autorequire |
It fails in the same way. I think that's just broken in master because it doesn't even get to the testing part.
|
ekohl |
12 |
1 |
true |
false |
| rspec-puppet |
619 |
1185 |
binford2k puppet vox |
Adds the ability to spec test an arbitrary string |
@binford2k @scotje is this still relevant? If yes, please link to a internal ticket to capture that.
|
DavidS |
83 |
4 |
false |
false |
| rspec-puppet |
661 |
1060 |
asharpe |
allow testing environment functions |
I was having a similar issue with a namespace function. It appears that testing a function only works when the function is in a directory with the module name. Which in this case is: `/lib/puppet/functions/environment/upcase.rb`
|
logicminds |
38 |
5 |
true |
false |
| PowerShell Gem (ruby-pwsh) |
91 |
1 |
michaeltlombardi iac puppet |
(MAINT) Ensure vendored path check works with mix of module builds |
0 comments
|
|
0 |
0 |
true |
false |
| PowerShell Gem (ruby-pwsh) |
92 |
1 |
michaeltlombardi iac puppet |
(MAINT) Correctly canonicalize enumerable values in dsc |
0 comments
|
|
0 |
0 |
true |
false |


Back in the day, I was obsessed with Launchy, a small utility that acted as an application launcher/script runner/multi-purpose tool on Windows. It felt so cool to have a quick assistant that responded intelligently to my commands.
When I first moved to OS X in 2007, I found my replacement for Launchy: OS X’s built-in Spotlight. It seemed to do the trick: I could launch apps, find files, do math…fine and dandy. Over time (and by that, I mean 6 years of time), I fell out of love with Spotlight. It just didn’t have the pizzaz I was looking for.
At some point in that 6 year stretch, I stumbled across Quicksilver, a Launchy equivalent on OS X. To be truthful, I didn’t like it. It seemed clunky, like something that had been popular in a bygone era, but was now showing its age (much like Launchy itself). Nope.
And then I found Alfred 2. And much like Alfred Pennyworth1, I loved him. Allow me to share why I love him so much.
TL;DR
I’ve finally started to get into Alfred 2; I’m also wondering how I lived without it for so long.
The Setup
By itself, Alfred is very powerful. However, its true power is hidden it its Powerpack, a great set of tools and extensions that are absolutely worth the $30 price tag. Most crucial for me among the Powerpack’s features are workflows:
Create immensely powerful workflows by connecting keywords, hotkeys and actions together to extend Alfred to do amazing things without writing a single line of code!
If that doesn’t sound like a productivity nerd’s best friend, I don’t know what does.
Workflows
Here are the 15 workflows that boost my productivity and make a better citizen of humanity.
Alfred for Trello
I’ve mentioned my love for Trello. This workflow allows me to quickly add cards to my “INBOX” board: when I want to jot an idea into Trello, this gets the job done.
Colors
My job constantly demands that I translate between color formats (RGB, Hex, etc.). This workflow allows me to quickly figure these values out and send them to other apps, workflows, etc.
Doit.im
Doit.im has become new favorite task manager. Its OS X app allows for quick entry of tasks, but when I’m immersed in Alfred-ness2, it’s often easier to just add the task here.
Encode/Decode
Like color translation, my job also features a lot of URL and HTML encoding. To date, I’ve used Eric Meyer’s timeless URL Decoder/Encoder, but I realize now that’s too many steps. This workflow gives me the power I need.
Evernote
(look at that enormous list of actions!)
You know what else takes too many steps? Switching to Evernote and doing something.3 This workflow allows me to create/update notes, search for notes, and reminders, and much more.
Fantastical
I already use Fantastical on iOS and Fantastical on OS X; its natural language parsing abilities are awesome. This workflow allows me to hook into the OS X app and easily add events.
GitHub
Despite the bad stuff that’s come out of it lately, I still rely heavily on GitHub for all my projects. This workflow allows me to search for repos, work with them, and so much more.
IP Address
How often have you wanted to look up your IP address (local or external)? ‘Nuff said.
Kill Process
When a process hangs, it’s a hassle to open Activity Monitor, search for it, and kill it. Once again, Alfred makes a repetitive task much faster.
Open With Atom
I recently started playing with Atom as my full-time editor; this workflow is a bit simple, but it allows me to quickly open files and begin editing.
Shorten URL
Shortening URLs (for tweets, emails, etc.) is a pain; you have to go to the website you want, enter your URL, wait for the transformation to occur, copy it, and move on. This allows for a quicker process across all the famous URL shorteners.
StackOverflow
I look at StackOverflow constantly; this workflow means I don’t have to manually open a browser, go there, and search the question.
TomatoTomato
I probably shouldn’t, but I rely on Rotten Tomatoes to tell me whether a movie is worth my time. This quick workflow allows me to see the scores quickly.
(And I can confirm: The Winter Soldier is worth seeing.)
Weather
My wife asks me at least once a day what the weather will be like tomorrow. Alfred to the rescue.
Workflow Searcher
Since all my other workflows eschew the need to open a browser, why wouldn’t I have a workflow to search for workflows?4
Other Cool Tidbits
Alfred can do so much more; here are some other nifty tricks for your consideration.
Clipboard History
I used to use ClipMenu for clipboard management on my Mac; although it did a swell job, I decided to remove it in favor of Alfred’s (which works equally well and saves me an extra app).
Locking Your Mac
Being in an office environment, I like to exercise caution by locking my Mac when I walk away. Surprisingly, OS X makes this really difficult to do in a quick way; Alfred solves that problem with the lock
command.
Copying Contact Details
It might seem like a simple thing, but Alfred has some great contact management abilities. My favorite: quickly copy a contact’s email address, phone number, or other attributes with a keystroke.
What Else?
The possibilities with Alfred are limitless. What have you come up with to make your life more productive?


To get started we need a little bit of information from you. To get started, enter your car number, driver and navigator names. Then select your race to begin your score sheet!


Yasmin Aguilar-Diaz is a senior at the University of North Carolina at Chapel Hill pursuing a major in Business Administration with a concentration in Marketing and a minor in Computer Science. Some of her interests include digital marketing, Hispanic marketing, data analysis, education policy, and community outreach.
Sam Gomez Olvera is a junior at the University of North Carolina at Chapel Hill pursuing a major in Computer Science with a minor of math. In his spare time, Sam does jiu jitsu and plays video games! His favorite games include overwatch.