---
creation_epoch:<PHONE_NUMBER>
lastmod_epoch:<PHONE_NUMBER>
categories: Security
title: sslstrip on OpenWRT (Linux) wireless router
---
I wanted to play with sslstrip but have it on my actual wireless router instead of a separate machine on the wireless or LAN. This avoids the requirement of having to get arpspoof to work correctly and is a little simpler since I control the evil wireless router.
Steps
- Router with Linux and Python
- I have a Buffalo WZR-HP-AG300H which I really like
- I used OpenWRT version r29484
- Sufficient space for all the software (you may need an external drive/share mounted)
- My setup uses 11MB for OS, Python, and sslstrip
- Sufficient RAM on your router
- My router has 128MB. Probably need at least 16MB
- sslstrip python program by Moxie
- I had to use version 0.8 due to bugs in 0.9
- I didn't use the OpenWRT repository version because it was only version 0.6
- iptables
- For OpenWRT I installed all the iptables packages (which includes modules) and the kernel (kmod-ipt) modules
- A package search on "ipt" should get you them all
- Extract the sslstrip tarball to any directory you like
- I didn't separate it into the system or run the installer. I just used the stand-alone version.
- Start it with
python sslstrip
- Just the defaults. Use -h for other choices
- Set your iptables to redirect all HTTP (port 80) traffic to sslstrip
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination <IP_ADDRESS>:10000
- I tried using -j REDIRECT, but my version of OpenWRT didn't have it compiled. The above is just the long form of it anyway.
- Bring up the login page for a site like Facebook
- Enter in login credentials (fake if you want)
- Look in the sslstrip.log file for the credentials
- Note that Facebook will be effectively broken as it won't accept a non-secure login. You still get the credentials though, but users will notice Facebook isn't working after trying to login. A custom version of sslstrip could probably allow the user to login as normal.
- Google has implemented new security measures to block this attack, but only for a hard-coded list of sites (ex: gmail, paypal). As of 2012-02-11 Facebook is still vulnerable. See Protecting against MITM and sslstrip attacks for details.


|
ActiveTcl User Guide
|
||
Tcl_Access, Tcl_Stat - check file permissions and other attributes
#include <tcl.h>
int
Tcl_Access(path, mode)
int
Tcl_Stat(path, statPtr)
As of Tcl 8.4, the object-based APIs Tcl_FSAccess and Tcl_FSStat should be used in preference to Tcl_Access and Tcl_Stat, wherever possible.
There are two reasons for calling Tcl_Access and Tcl_Stat rather than calling system level functions access and stat directly. First, the Windows implementation of both functions fixes some bugs in the system level calls. Second, both Tcl_Access and Tcl_Stat (as well as Tcl_OpenFileChannelProc) hook into a linked list of functions. This allows the possibility to reroute file access to alternative media or access methods.
Tcl_Access checks whether the process would be allowed to read, write or test for existence of the file (or other file system object) whose name is pathname. If pathname is a symbolic link on Unix, then permissions of the file referred by this symbolic link are tested.
On success (all requested permissions granted), zero is returned. On error (at least one bit in mode asked for a permission that is denied, or some other error occurred), -1 is returned.
Tcl_Stat fills the stat structure statPtr with information about the specified file. You do not need any access rights to the file to get this information but you need search rights to all directories named in the path leading to the file. The stat structure includes info regarding device, inode (always 0 on Windows), privilege mode, nlink (always 1 on Windows), user id (always 0 on Windows), group id (always 0 on Windows), rdev (same as device on Windows), size, last access time, last modification time, and creation time.
If path exists, Tcl_Stat returns 0 and the stat structure is filled with data. Otherwise, -1 is returned, and no stat info is given.
Copyright © 1998-1999 Scriptics Corporation Copyright © 1995-1997 Roger E. Critchlow Jr.


--- layout: page title: DC-GAN Results ---
We trained a DC-GAN model over 200 epochs, using the original, intact dataset images from the training set.


Introduction
What is the Rocky Linux Project?
Rocky Linux is a community enterprise operating system designed to be 100% bug-for-bug compatible with Red Hat Enterprise Linux now that CentOS has shifted direction. It is under intensive development by the community. Rocky Linux is led by Gregory Kurtzer, founder of the CentOS project. There is no ETA for a release. Contributors are asked to reach out using the communication options offered on this site.


Utility modules in jshttp
negotiator
cookie
fresh
range-parser
methods
basic-auth
compressible
on-finished
http-assert
accepts
type-is
statuses
mime-types
proxy-addr
on-headers
vary
media-typer
etag
mime-db
http-/{{page.lang}}/resources/utils
spdy-push
http-errors
content-disposition
forwarded
content-type
Utility modules in pillarjs
cookies
csrf
finalhandler
parseurl
path-match
path-to-regexp
resolve-path
router
routington
send
ssl-redirect
templation


This example demonstrates how to load a custom version of Ace editor into JSONEditor.
By default, JSONEditor code
mode loads the following Ace plugins:
The jsoneditor theme comes embedded with JSONEditor. The other two plugins (json and searchbox) must be available in the folder of the custom Ace editor, or already be loaded via a script tag.


|
Stone Mason
0.0.0
(A really bad) C++ Game Engine (that you should NOT use)
|
#include <gl_window.hpp>
Public Member Functions | |
| GLWindow (int width, int height, const char *title="StoneMason window") | |
| ~GLWindow () override | |
| void | flip () |
| GLWindow (const GLWindow &rhs)=delete | |
| GLWindow & | operator= (const GLWindow &rhs)=delete |
| GLWindow (GLWindow &&rhs) noexcept | |
| GLWindow & | operator= (GLWindow &&rhs) noexcept |
| Public Member Functions inherited from stms::GenericWindow | |
| virtual | ~GenericWindow () |
| bool | shouldClose () |
| glm::ivec2 | getSize () |
| GLFWwindow * | getRawPtr () |
Additional Inherited Members | |
| Protected Member Functions inherited from stms::GenericWindow | |
| GenericWindow ()=default | |
| Protected Attributes inherited from stms::GenericWindow | |
| GLFWwindow * | win = nullptr |
| stms::GLWindow::GLWindow | ( | int | width, |
| int | height, | ||
| const char * | title = "StoneMason window" |
||
| ) |
|
override |
|
delete |
|
noexcept |
|
inline |


My name is Supakorn Laohasongkram. I was born in Bangkok, Thailand. I am years old. Learning about how to become a better and happier person is my passion. Ever since college, I have always want to know is what life is all about, how to rightly live, and what is the solution for making the world a better place.
In my search to answer these questions in life, I began studying Philosophy. I traveled, backpacked, and lived in India, France, Japan and many other countries around the world. After college, I even ordained as a Theravada Buddhist monk for one full year to experience the simplicity of happiness and explore what is life all about.
Six years after ceaselessly searching, I have finally found the answer which satisfied my questions to life. And the answer is happiness.
Happiness is important to each one of us. But it also has a crucial role in defining our society. If happiness is to "take" rather than to "give" then there is no question why there is a huge disparity, inequality, and injustice in this world. Thus, happiness can and must be developed. So that not only will we be happier in our lives but at the same time make this world into a better place.
Over years of practice, I realize how valuable and transformative it is for one to be able to learn about happiness. I have no desire for money, fame or to prove any point. I simply know how to help and want to help. Thus, my commitment is to your happiness. My goal is to help everyone achieve True Happiness. Whether you are seeking for a greater happiness in life or in need of a helping hand. My promise is to be there to support you. This is the work I cannot not do. So make use of me. I am available for you 24/7. Do not hesitate to contact me here.
My goal for this website is to offer you truth. I am not telling you to believe me. In fact, I am telling you to not believe me. Why? Because what I am giving you is merely the path. But you have to walk it so that you could see for yourself if what I say is true and whether or not it actually helps and transforms your happiness and everything around you. That is all.
We learn True Happiness like we learn how to swim. The way to truth for True Happiness is not dialogic or is it a quantitative analysis. We do not learn how to swim by debating or arguing about it nor do we take a step outside of our swimming to measure or analyse to learn how to swim. The only way to learn happiness is put the practice of True Happiness to work and see for yourself its truth.
“Educating the mind without educating the heart is no education at all.” - Aristotle
My vision is to open a university.
Education teaches about the truth and nature of many things from smallest insect to vastness of our universe. Yet, it never teaches about the truth and nature of the students themselves.
The function of education today is merely to put power in the hands of the students without teaching them how to exercise it. As a result, we have opened up the world where the fortunate could use their fortune to take advantage of those who are less fortunate. Those who received the best education today are judged based on his or her ability to perform more than his or her reason or purpose to perform. Thus, graduating from top universities does not mean he or she will enter the world thinking about how to better it. Theodore Roosevelt once said:
"A man who has never gone to school may steal a freight car; but if he has a university education, he may steal the whole railroad."
Wealth will not stop people from their greed. And more power will not stop people from abusing power. Thus, giving students more power without teaching them how to exercise it is definitely not a good idea. What we need is a holistic approach to education where we do not merely ask the question of what and how. But why.
Why do we study at all? Is it for one's personal ends or is it for the betterment of this world? Students ought to build their "why" to this world as much as the "how" to this world. Because without being able to ask the "why" question, students are left astray in the abyss of not knowing why they were born. Why study? Why are we all here in this world? And what is the best way of living life, one that is beneficial for both ourselves and for this world?
By developing the knowledge outside as well as inside of ourselves, this university will grow students who are both capable and compassionate. By learning more about themselves, the students will be building their character, developing their happiness in life as well as discovering where their passion belong - something which schools today rarely taught. Academically, this university should be indepth and rigorous. It will drive its academic performance not by grade or exams but how well it can inspires the student to learn; or in other words, passion.
"Education is the kindling of a flame, not the filling of a vessel." - Socrates
The purpose of education is to help, not to judge or hinder. It's not teaching students how to memorize for exams. It is not to evaluate students through a single golden standardized test. It is not to judge the students and decides or limits who they are and what they can become. The focus of this school is simply to help the student to learn how to develop both their hearts and their minds. Many schools today are teaching our kids how to take well. Here, we teaches our children how give well. And that is exactly what this university will do.
With the right support and the right team, I truly believe that if this university comes to life, it will be the best university in the world. It would revolutionize the way education is and has been. It will help change and save many lives. Its students will graduate with the passion to serve and have a strong desire to improve themselves not only for themselves but for all. It will be the driving force which drives the world in the right direction.
I believe a better world is possible. If you are interested, want to support this ambitious cause, or join as part of the team, do not hesitate to contact. The change begins now!
Recommended readings:


image editor
none
blur
brightness
contrast
grayscale
hue-rotate
invert
opacity
saturate
sepia
Upload your Image


10.2 EDB*Loader
EDB*Loader is a high performance bulk data loader for EnterpriseDB. It provides an Oracle SQL*Loader compatible interface. EDB*Loader can read Oracle SQL*Loader control files and accepts a subset of its command line parameters.


Payment Processing Page
Your Invoice Bill
Name :
E-mail :
Address :
Place :
pincode :
Card No :
Purchasing Product
ITEM
PRICE
QUANTITY
Total
0
Home


This test environment will ensure that your browser meets minimum requirements and that your network configuration allows you to access all the services we run in the classroom. If the test fails to launch when you click the button, then please inform us of the issue by responding to the email you received or by directly emailing<EMAIL_ADDRESS>We use a tool that allows each student to perform classroom exercises by writing code in a graphical editor and enforcing it on a virtualized agent node. Read the tutorial.
We run a self-hosted Git server called Gitea. While it does not have very extensive end-user documentation, the experience is very close to that of GitHub. We suggest that if you want to practice your Git skills before class that you sign up for a GitHub account and then try out this tutorial.
We run several services that you will need to be able to access via web browser. You may need to ask your network administrator to add rules allowing access.
Some requirements are optional, or provide alternative connection means. These optional access rules include:
Any modern browser should work. In general, we recommend one of the following.
Probably not. Most modern browsers have a PDF reader built-in or use a platform standard reader. If that is not the case for you, then readers such as Adobe Acrobat Reader can be used free of charge.
Check the Zoom.us network requirements. Their support portal might also have other suggestions.
You can find official instructions in the Puppet Enterprise documentation.
Please let us know in the feedback form at the end of the tests. We may be able to help you.

In the quest for power efficiency and longer battery life, many browsers will suspend web pages when you've not actively working with them. This means that if the terminal is in a window or tab that you're not actively viewing, your browser might stop maintaining the connection.
The Puppetfactory classroom manager will attempt to restore the connection when you come back to the page, but if it's been a very long time it may not be able to do so. While logging back in is a minor annoyance, you will not lose any work. If you have to do so more than once or twice a day, please let your instructor know.


PEIZER, RICHARDS & ZIONTZ, P.S.
Specializing in Personal Injury Lawsuits
Attorneys
Practice
Offices
FAQs
Legal Links
Contact Us
Home
Legal Links
Washington State Government Information & Services
Seattle Municipal Court
King County District Court
FedWorld Information Network


Where real criminals gather
Sorry, but the page you are looking for has note been found. Try checking the URL for error, then hit the refresh button on your browser or try found something else in our app.


--- layout: post title: Handling S3 IncompleteBody error when using asset_sync gem date: 2015-01-26 07:00:08.000000000 -05:00 categories: - Ruby tags: - assets status: publish type: post published: true comments: true meta: _s2mail: 'yes' _edit_last: '1' author: login: amunda email<EMAIL_ADDRESS>display_name: Abdul Munda first_name: '' last_name: '' ---
I was recently trying to move the assets to S3 for a Rails project. I decided to use the asset_sync gem which uploads assets to S3 on the pre-compilation of the assets. Everything worked smoothly for a few files but failed shortly for large asset files. It failed with 400 Bad Request with the message saying "IncompleteBody".
{% highlight ruby %} rake aborted! Excon::Errors::BadRequest: Expected(200) <=< Actual(400 Bad Request) excon.error.response :body => "\nIncompleteBody
I took a look at the amazon S3 Error Responses page and it said that it happens when "You did not provide the number of bytes specified by the Content-Length HTTP header".
Generally, when a request is not sent with a 'Content-Length' header, it is usually because the request is sent as a chunked request. In a chunked request, the 'Content-Length' header is replaced with the 'Transfer-Encoding: chunked' header.
It appeared from the error that S3 wasn't able to handle the chunked request sent by Excon which is used by asset_sync gem internally. I did some digging and found out that Excon luckily provides a way to disable sending chunked requests. This can easily be done by setting 'nonblock' property to false. I added the following to my initializers:
{% highlight ruby %} if ENV["RAILS_GROUPS"] == 'assets' Excon.defaults[:nonblock] = false end {% endhighlight %}And ta-da assets started uploading properly.
I hope this helps someone who is struggling to upload large assets using asset_sync gem and getting a 400 Bad Request error with an "IncompleteBody" message.


This is the realtime web application with which you can see all operation data of Yamanote line. You can search where trains are, whether trains are under operation or not and how the delay of specific train is. We are making an effort to visualize a lot of information as possible in real-time. Enjoy Yamate!
All you have to do is only seeing. Current available data are listed below.
All data which we are using are provided by YRP Ubiquitous Networking Lab


propose a final project that integrates the range of units covered, answering:
what will it do?
who's done what beforehand?
what materials and components will be required?
where will they come from?
how much will it cost?
what parts and systems will be made?
what processes will be used?
what tasks need to be completed?
what questions need to be answered?
what is the schedule?
how will it be evaluated?
projects can be separate or joint, but need to show individual mastery
of the range of skills covered
where possible, you should make rather than buy the parts of your project
What will it do?
Makerbot will help student to understand different making and prototyping experience.
Student particularly work on science projects making models and stuff which explain the concept of the project and working behind it they are in need of some automation which they want to add.
But as soon they see arduino with lot of wires and connection they lose their confidence and feel that it's hard.
Makerbot will help them to learn Micro-controller, coding and Robotics which can help them to make stuffs.
By help of this they will easily learn and work on engineering science and different magnetism concepts.
who's done what beforehand?
Many different boards and design where available by students make something with it there are not that easy so student find its learning easy and good for prototyping so my try was to make something which is very easy for them and cost .
Materials are generally resources from Amazon and local electronics market I can get that easily as this is like it which is to be which is to be modified for them.
Total cost of the project would not exceed from 70$ which is 2000 Indian rupee.
Its Cost of single board would be near 30$ but with whole kit like motors it will be more.
Circuit Board milling and soldering t
Connectors
3D Printed Wheels
For making this day I like it a lot of different different processes is used to get the final get ready.
Its need to add more sensors when design for commercial Purpose. Double side PCB design is required.
what questions need to be answered?I can do a research to find the best material in correlation with the lowest price.
How will it be evaluated?
Projects can be separate or joint, but need to show individual mastery
of the range of skills covered
where possible, you should make rather than buy the parts of your project


JSCrypt is an Electron App based on the crypto-js and StatiCrypt.
JSCrypt uses open source AES-256 military grade encryption to encrypt user input with encryption key and embed it in a HTML file with a password prompt that can decrypted in-browser (client side).
Caution!


I grew up in a suburb outside New York City, went to college in Maryland a few miles outside of D.C. (Go Terps!), and now live in beautiful Madison, Wisconsin. When I’m not working at the Wisconsin Nurses Association or freelancing as a web developer, you can find me at barre class, doing yoga, watching sitcoms, learning about astronomy, playing piano, or laying in the park listening to music.
At the University of Maryland, I majored in Sociology and Spanish. I believe that studying social interactions on both micro and macro levels has been so important in understanding my place in the world, and opening myself up to new people and new experiences. Being able to also study Spanish was such a gift. I studied abroad for a semester in Seville, Spain in a language-intensive series of courses. It was amazing to learn about another culture both in the classroom and out, and estoy orgullo decir que todavía hablo Español con fluidez [I am proud to say that I'm still fluent in Spanish].
Even though I enjoyed my studies, when I graduated I still didn't know what type of career path I wanted. So, when a job with Epic Systems gave me the opportunity to move to Madison, a great city I had visited once to see one of my favorite bands, The Main Squeeze, I was excited to take it. About a year after beginning work there, I realized the long 60+ hour weeks and the constant plane travel were not for me, so I left the job to pursue a career with a better work-life balance.
I began working as the Director of Communications and Membership at the Wisconsin Nurses Association, a small non-profit where I knew I would be able to continue working with both people and technology, a marriage I enjoyed at my previous job. It is here that I taught myself HTML and CSS to better understand creating email templates and the back-end of our website. I enjoyed it so much I took classes to improve my skills and learn more skills such as JavaScript, Responsive Web Design, NodeJS, PHP, and working with WordPress and Git/GitHub.
Since then I have built many websites for clients and for myself, many of which you will find in the Work & Projects section below. It's been a journey, but I finally know that the career path I want to take is one that includes me being a Web Developer. It's a role that challenges me and excites me, lets me be creative while meticulously solving problems, and allows me to talk with people and make something that will make them smile. Not to mention the work-life balance of working remotely is fantastic! I can focus on my work, and still have time to fulfill my other joys like traveling to see my family in NY, watching the stars, learning new songs on the piano, and practicing yoga and meditation.
Overall, I am a happy person and am grateful for the life I lead and the people that are in it. I welcome new challenges and approach them sincerely. I also enjoy watching the NY Giants play football, funny TV shows like The Office and 30 Rock, being by the water, and playing Settlers of Catan with my friends.
Once I began learning code, I quickly fell in love. Making simple thoughts and designs a reality on the Internet feeds my creativity as well as my enjoyment in meticulously solving problems. Web pages have to be fun to look at, but also functional and easy to use.
I enjoy taking a website design, in any format--a photo, a word doc, even a doodle on paper--and transforming it to fit on the internet. The websites I build will always look just as good on cell phones as they do on a desktop, and across all popular browsers. I never want to leave anyone out of the website experience!
I've built websites using simple HTML & CSS, using JavaScript and jQuery, and some WordPress websites as well. I included a few of my favorites below for you to see.
I can help! Take a look at the packages sheet and shoot me an email to chat.


Release notes for Groovy 1.7
IDE Support
Before diving directly into the new features in Groovy 1.7, please let me mention the great progress made in terms of IDE support for Groovy (and also for Griffon, Gradle, Gant or Grails). All the major IDEs (Eclipse, IntelliJ IDEA, NetBeans) provide an excellent level of support for the language. Initially, the Eclipse support was the one lacking the most, but thanks to the hard work of the SpringSource Eclipse team, we now have a great environment for developing mixed Java / Groovy applications with features like cross-language refactoring, Groovy-specific code completion, and more.
New and Improved Eclipse pluginFor more information on the Eclipse support, please have a look at the Groovy Eclipse plugin home page, as well as the notes for the M1 release and M2 release.
New features
Anonymous Inner Classes and Nested Classes
Although oftentimes closures and maps coercion suffice, there are still areas where the lack of Anonymous Inner Classes (AIC) and Nested Classes (NC) can be problematic. That’s why we decided to eventually implement AIC and NC in Groovy 1.7.
Be CarefulThe implementation of AIC and NC follows the Java lead, but you should not take out the Java Language Spec and keep shaking the head about things that are different. The implementation done looks much like what we do for groovy.lang.Closure, with some benefits and some differences. Accessing private fields and methods for example can become a problem, but on the other hand local variables don’t have to be final.
Nested Static Classes
Here’s an example of Nested Static Classes:
class A {
static class B {}
}
new A.B()
The usage of static nested classes is the best supported one. If you absolutely need an inner class, you should make it a static one.
Anonymous Inner Classes
Some other examples, this time for Anonymous Inner Classes:
boolean called = false
Timer timer = new Timer()
timer.schedule(new TimerTask() {
void run() {
called = true
}
}, 0)
sleep 100
assert called
More informationIf you want to learn a bit more about the cases which are currently supported in 1.7, you can have a look at one of our unit tests covering this new feature.
Accessing the Outer Context from a Nested Class
If you are in a nested class Y and the surrounding class is X, then you can access the variable v of X in Java by X.this.v. Groovy does not support this syntax.
Creating Instances of Non-Static Inner Classes
In Java you can do this:
public class Y {
public class X {}
public X foo() {
return new X();
}
public static X createX(Y y) {
return y.new X();
}
}
It should be noted that the nested class X needs a reference to the
outer class instance of Y. For this Java will create a constructor that
takes Y as first parameter in X. This constructor is synthetic, so it
won’t appear in any code completion.
In case of new X(), like you have it in method foo(), then compiler
will then create new X(this) instead. In case of createX the compiler
will create new X(y). Groovy does not support this.
Instead Groovy supports giving the instance in like the compiler would do it. That means the code above has to be rewritten as
public class Y {
public class X {}
public X foo() {
return new X(this);
}
public static X createX(Y y) {
return new X(y);
}
}
CautionCaution though, Groovy supports calling methods with one parameter without giving an argument. The parameter will then have the value null. Basically the same rules apply to calling a constructor. There is a danger that you will write new X() instead of new X(this) for example. Since this might also be the regular way we have not yet found a good way to prevent this problem.
Annotations
Groovy’s support of annotations is identical to Java 5 annotations, but we felt that in some cases it would be interesting to be able to add annotations in other places than the usual places (types, fields, methods, parameters, etc.). For instance, in Java, it is impossible to add annotations on imports or packages. Groovy does go beyond and adds support for annotation on imports, packages and variable declarations. We’ll take a look at the usage of those extended annotations on Grape.
Grape
The Grape dependency system lets you request dependencies in your scripts, without having to deal with downloading, packaging, or specifying the classpath yourself. To use Grape, we had to use the @Grab annotation to ``grab'' a dependency from a repository (Maven’s central repository, for example). The problem was that annotation had to be attached to some allowed elements, ie. the places where annotations can be put in Java. Now, we can put annotations on imports:
@Grab(group='net.sf.json-lib', module='json-lib', version='2.3', classifier='jdk15')
import net.sf.json.groovy.*
assert new JsonSlurper().parseText(
new JsonGroovyBuilder().json {
book(title: "Groovy in Action", author:"Dierk König et al")
}.toString()
).book.title == 'Groovy in Action'
Another example with @Grab on variable declarations:
@Grab('net.sf.json-lib:json-lib:2.3:jdk15')
def builder = new net.sf.json.groovy.JsonGroovyBuilder()
def books = builder.books {
book(title: "Groovy in Action", author: "Dierk Koenig")
}
assert books.toString() == '''{"books":{"book":{"title":"Groovy in Action","author":"Dierk Koenig"}}}'''
RemarkPlease note on this one an improvement in the @Grab annotation: we provide a shorter version taking just a String as value parameter representing the dependency, in addition to the more verbose example in the previous example. You simply append the group, module, version and classifier together, joined by colons.
A Grape resolver was added, so you can specify a remote location where grapes are downloaded from:
@GrabResolver(name='restlet.org', root='http://maven.restlet.org')
@Grab(group='org.restlet', module='org.restlet', version='1.1.6')
import org.restlet.Restlet
// ...
Power Asserts
Groovy’s ``assert'' keyword has sometimes been criticized as it’s, in a way, limited, as it just checks that the expression it’s being passed is true or false. Unlike with testing frameworks such as JUnit/TestNG and the various additional assertion utilities, where you get nicer and more descriptive messages, Groovy’s assert would just tell you the expression was false, and would give the value of variables used in the expression, but nothing more. With Power Asserts, initially developed in the Spock Framework, the output of the assert is now much nicer and provides a visual representation of the value of each sub-expressions of the expression being asserted. For example:
assert new File('foo.bar') == new File('example.txt')
Will yield:
Caught: Assertion failed:
assert new File('foo.bar') == new File('example.txt')
| | |
foo.bar | example.txt
false
AST
With Groovy 1.6, we introduced AST Transformations, for letting developers do compile-time metaprogramming, by modifying the Abstract Syntax Tree before it is transformed into bytecode. In Groovy 1.6, several such transformations were added, especially ``local'' transformations triggered by annotations (such as @Delegate, @Singleton, @Bindable and friends). However powerful this feature is, writing AST transformation has always been a bit tedious. Groovy 1.7 features two new features which should help simplify the work of AST transformation writers: an AST viewer and an AST builder.
AST Viewer
The following screenshot shows a new window that can be launched from
the Groovy Swing Console. You can visualize the AST of a script you’re
working on in the console: for instance, writing the code you’d like to
create in your AST transformation. The AST viewer greatly help with
figuring out how Groovy builds its AST when compiling your Groovy
code.
AST Builder
Visualizing the AST is one thing, but we also need a mechanism to create and modify ASTs more easily. The introduction of the AST builder simplifies the authoring of AST transformations, by giving you three different approaches for working on the AST:
-
building from string
-
building from code
-
building from specification
Before the AST builder, one had to create and instantiate manually all the various AST nodes. Let’s see how those three forms help with this, for instance for creating a node representing a constant string.
Building from string
List<ASTNode> nodes = new AstBuilder().buildFromString(''' "Hello" ''')
Building from code
List<ASTNode> nodes = new AstBuilder().buildFromCode { "Hello" }
Building from specification
List<ASTNode> nodes = new AstBuilder().buildFromSpec {
block {
returnStatement {
constant "Hello"
}
}
}
For more informationPlease have a look at the documentation on the AST Builder. You’ll discover the advantages and inconveniences of the various forms, and why all three are needed depending on what you want to achieve with the AST.
Other minor enhancements
Ability to customize the Groovy Truth
In Groovy, booleans aren’t the sole things which can be evaluated to true or false, but for instance, null, empty strings or collections are evaluated to false or true if of length > 0 or non-empty. This notion of 'truth' was coined 'Groovy Truth' in the Groovy in Action book. With Groovy Truth, instead of doing frequent null checks, you could simply write:
def string = "more than one character"
if (string) { println "the String is neither null nor empty" }
Up until Groovy 1.7, only a small set of classes had a certain meaning with regards to how they were coerced to a boolean value, but now it is possible to provide a method for coercion to boolean in your own classes. For example, the following Predicate class offers the ability to coerce Predicate instances to true or false, thanks to the implementation of the boolean asBoolean() method:
class Predicate {
boolean value
boolean asBoolean() { value }
}
assert new Predicate(value: true)
assert !new Predicate(value: false)
Is is also possible to use categories or ExpandoMetaClass to inject an asBoolean() method, or to override an existing one (even one on the small set of classes with special Groovy truth behavior).
Dependency upgrades
Some of the dependencies of Groovy have been upgraded to newer versions.
For instance, Groovy now uses the latest ASM version, which is ``invokedynamic''-ready. So as we progress towards the inclusion of JSR-292 / invokedynamic, we’ll be ready and be using the latest version of ASM. We also use the latest version of Ivy which is used by the Grape dependency module.
Rewrite of the GroovyScriptEngine
The GroovyScriptEngine (which is also used by Groovlets) has been rewritten to solve various dependency issues it was suffering from, and the outcome of this is that it should also now be much faster overall.
The new logic uses additional phase operations to track dependencies. As a result the error-prone class loader technique to track them is gone now. These operations ensure that every script file will be tracked, its dependencies recorded during compilation and all transitive dependencies will be calculated. And only scripts will be recorded as dependency, no classes. The new GroovyScriptEngine also uses only one compilation ``process'' for script compilation which solves the problem of circular or mutual dependencies, that caused stack overflows in the past. As a result the new engine can reliably handle dependencies and should be much faster.
Groovy console preferences
A small annoyance, especially for developers using big LCD screens: the Groovy Console didn’t remember preferences of position of the separator between the coding area and output view, or the font size being used. This is now fixed, as the console remembers such settings.
New output window for the Groovy console
There is a new visualization option for the results of the execution of
your scripts in your Groovy Console. Instead of displaying the results
in the bottom output pane, it’s now possible to use an external window
for viewing those results. Run your script with CTRL-R or CMD-R, you
will see something like the following screenshot. You can then dismiss
the window by hitting Escape, CTRL-W (CMD-W on Macs) or Enter.
You will also notice the addition of line numbers in the gutter of the
editor area.
SQL batch updates and transactions
Batch updates
The Groovy Sql class now features batch updates, thanks to its new withBatch() method, taking a closure and a statement instance:
sql.withBatch { stmt ->
["Paul", "Jochen", "Guillaume"].each { name ->
stmt.addBatch "insert into PERSON (name) values ($name)"
}
}
Transactions
Similarly, there’s a withTransaction() method added to Sql, which works also with datasets:
def persons = sql.dataSet("person")
sql.withTransaction {
persons.add name: "Paul"
persons.add name: "Jochen"
persons.add name: "Guillaume"
}


{% extends "common-base.html" %} {% load custom_tags %} {% load humanize %} {% block title %}Enter Payment Information{% endblock %} {% block tryit %}{% endblock %} {% block right_content %} {% box 'chat' %}
Our team of experienced and friendly devs will respond almost as quickly as our search API.
{% endbox %} {% endblock %} {% block common_content %} {% include "includes/chosen_plan.html" %}


--- title: "Learning ggplot - Part 3 of 3 " author: "Ritoban Sen" date: 2021-08-08 categories: ["R"] tags: ["R Markdown", "plot", "regression"] ---
The default coordinate system used by ggplot2 is the cartesian coordinate system. However there are instances where modifications to the cartesian coordinate system becomes useful.
ggpl19 = ggplot( data = mpg, mapping = aes(x = class, y = hwy, colour = drv)) +
geom_boxplot(show.legend = T)
ggpl20 = ggplot( data = mpg, mapping = aes(x = class, y = hwy, colour = drv)) +
geom_boxplot(show.legend = F) +
coord_flip()
grid.arrange(ggpl19,ggpl20,ncol=2)
coord_flip() is used to switch the x and y axes. This is helpful to view horizontal boxplots or when the labellings of X axis are too long.
nz = map_data("nz")
ggplot(data = nz,
mapping = aes(long,lat,group = group)) +
geom_polygon(fill = "white", colour = "black")
ggplot(data = nz,
mapping = aes(long,lat,group = group)) +
geom_polygon(fill = "white", colour = "black") +
coord_quickmap()
coord_quickmap() sets the aspect ratio of spatial data properly.
ggplot(diamonds, aes(cut,fill = cut)) +
geom_bar(width = 1) +
coord_polar() +
labs(title = "(Coxcomb Chart)")
coord_polar() changes the cartesian coordinates to polar coordinates.
Coxcomb Charts can be formed by drawing a bar chart and changing the coordinates to polar coordinates.
Q. Turn a stacked bar chart into a pie chart using coord_polar.
ggpl23 = ggplot(diamonds,aes(factor(1), fill = clarity)) +
geom_bar(width = 1,show.legend = F) +
coord_polar(theta = "y") +
labs(title = "Pie Chart")
ggpl24 = ggplot(diamonds, aes(factor(1),fill = clarity)) +
geom_bar(width = 1) +
coord_polar() +
labs(title = "Bull's Eye Chart")
grid.arrange(ggpl23,ggpl24,ncol=2)
Q. What’s the difference between coord_quickmap() and coord_map()?
Useful Information:
coord_fixed()
ggplot( mpg , aes(cty,hwy)) +
geom_point() +
geom_abline() +
coord_fixed()
ggplot( mpg, aes(cty,hwy)) +
geom_point() +
geom_abline()
Here, coord_fixed() causes the geom_abline() to draw a line at a 45 degree angle. Useful for visual analysis.


Today's quick #summerofme was experimenting with some wipe-off markers (like these ones) and an Android blank.
Drawing on toy figurines is harder than it looks! But I think I captured my rosy cheeks. ;)
- Pearl


The rules are:
Ping Pong will count up to your number from 1 with the following exceptions
Made by: Austin Karuru
Github : austinkaruru


Thermostat
The current temperature is
20
+
-
Reset
Powersaving mode is
Power Saving Mode on
Power Saving Mode off


2017-08-01
last modified: 2018-10-18
== !
| This lesson makes use of many diagrams and extracts from the book entitled "Entreprise IoT" by Dirk Slama et al (2015), because this book is exceptionally clear and well written. I recommend that you read the full book to get a complete picture of the topic. |
The Internet of things (IoT) is the inter-networking of physical devices, vehicles (also referred to as "connected devices" and "smart devices"), buildings, and other items embedded with electronics, software, sensors, actuators, and network connectivity which enable these objects to collect and exchange data.
Some comments on this definition:
we are familiar with Internet used to transmit information from computer to computer (sending an email, visiting a web page…)
the expression "Internet of things" insists on a different kind of use: what if we could connect any object (not just computers or smartphones) to the Internet?
The idea to connect objects to the Internet is not new: professors connected a Coke Machine to Internet in the late 1970s or early 1980s, so that they could check from their computers if it was empty or not.[1]
Once we understand what is the "Internet of things", the meaning of "connected objects" is clear: these are the objects connected to this network.
What about "smart objects?".
This is a synonymous to connected objects, where "smart" insists that the object can have a richer set of functions thanks to being connected to the Internet. It can even improve its features (for example, a car driving faster), thanks to updates made to its software through the Internet.
Starting in the 2000s, we moved from small, fun experiments to the development of an entire industry based on this concept of connecting things to the Internet. With decreasing costs for creating connecting objects, and easier protocols to connect (like Wifi, bluetooth and others, which appeared in the late 1990s), connected objects started to become interesting playground for serious innovation.
The thermostat sends temperature measurements to your smartphone, and receives instructions from you (to decrease or increase the temperature).
A connected object can just broadcast some information without receiving anything.
If the object is sending data, it supposes it has a sensor to measure things around it, so that it can then send this measure.
Sensors are pieces of electronic equipment, often quite tiny. The list of sensors is immense and this is just a small sample:
Sending data can be done in several ways:
the object sends data at predetermined intervals, like these connected beehives built by emlyon students and now producing honey on the roof of the school. They send pictures / temperature measures every minute or so:
or the object sends a signal continuously but is received only when somebody walks by, for example when you walk next to it. In this case the object is called a beacon. It is used in stores to interact with shoppers:
In this case, the connected object can display some information that it receives from the network it is connected to.
This is the kind of objects we are going to build in this course: an object which receives data about air pollution, and shows it on a screen. Check the small screen in the middle of it!
Connected objects which receive data can do many things with it, not just showing stuff on screen. The connected object can move, compute things, make sound or light… everything is possible. → Robots? These are big connected objects! |
This is called a "swarm": when multiple objects can coordinate their actions by connecting with each other, instead of connected separately to a central point.
Connected objects can coordinate to move together and perform a common action (like moving a child!), or just exchange data.
What do connected objects bring to the table?
IoT bring new features to existing products:
→ example: a scale by Nokia, which tracks your weight but also pulsations.
→ scales existed before, the connected object adds features to it.
Iot create radically new products:
→ example: a wrist band, pdfwidth="50%"
→ Wristbands existed but only for esthetic reasons or for time keeping. Connected wristbands provide a new kind of utility which transforms the core function of wristbands (health and performance monitoring).
IoT create radically new products which in turn open up new ecosystems:
→ example: Amazon Echo
→ Amazon Echo is a new product, which opens up a series of potential broad innovations:
new communication channels
new distribution channels
new types of interfaces
Most manufacturers today hear very little about their products once they leave the factory. In fact, this was traditionally seen as the best possible outcome, the most likely alternative being a costly product recall.
With connected objects, information can flow at each stage of the manufacturing process and post sales as well:
An example where beacons are used in logistics to track shipping items:
Value for the organization can be created through different roads:
IoT facilitates predictive maintenance, decreases waste and increase speed by controlling and monitoring production processes more closely thanks to connected devices.
"The basic idea of servitization is that manufacturers move from a model based on selling assets toward a model in which they offer a service that utilizes those assets." (Slama et al. 2015)
Example: security at home.
without servitization: a company selling alarm devices for the house.
with servitization: a company selling a monthly subscription for a "security solution" (from intrusion detection to intervention), enabled by alarm devices.
The strategy of servitization existed before connected objects, but IoT expands the ways services can be "attached" to products, thanks to greater connectivity and data flows between these objects and the company’s headquarters.
Direct data monetization consists in selling data - the data is the main asset exchanged for money.
Indirect data monetization covers the cases where data enables a transaction, facilitates a partnership,… it is bartered without an explicit price. Its role is to catalyze an exchange. An advantage of indirect monetization is that is should not be taxable, as noted by Doug Laney from Gartner.
According to a leading consulting on the topic, IoT can be mapped in a series of overlapping domains:
Connected objects do not stand alone and "make a product" or "provide" a service in themselves. They must be integrated to a variety of devices and systems which, altogether, perform a function.
It is possible to draw a general schema of the relations of a connected object with the rest of entreprise systems:
This schema can be used to describe any system involving an IoT. Here, Slama et al (2015) pick the example of an Airbag which, if it is triggered, launches a call from an emergency system to the car driver to make sure everything is fine:
|
Find references for this lesson, and other lessons, here.
This course is made by Clement Levallois.
Discover my other courses in data / tech for business: https://www.clementlevallois.net
Or get in touch via Twitter: @seinecle


Apple issues firmware update for AirPods Pro
Users do not need to do anything to get the firmware installed.
by IANSApple AirPods Pro has gained the first firmware update since its release. The new version of the firmware is labeled 2B588 while the one that AirPods Pro shipped with was 2B584.
The minor revision number suggests that the firmware carries a small bug fix or a possible enhancement, Apple Insider reported recently.
Users do not need to do anything to get the firmware installed, as it will automatically be applied when the AirPods Pro are connected to an iPhone or iPad.
Also, there is no specific update mechanism available that could force an update to AirPods Pro, but users can check the firmware version number by going to the Settings app then tapping General, About, and AirPods Pro.
AirPods Pro is available India through Apple Authorised Resellers on Apple devices running iOS 13.2 or later, iPadOS 13.2 or later, watchOS 6.1 or later, tvOS 13.2 or later, or macOS Catalina 10.15.1 or later.
AirPods Pro can be purchased for Rs 24,900, while the standard AirPods with charging case is available for ₹14,900 and AirPods with the wireless charging case can be bought for ₹18,900
Customers can also buy a standalone wireless charging case for ₹7,500.


Type Function Library physics.* Return value Boolean Revision Current Public Release (2013.2076) Keywords bodies, physics, body, shape See also Physics Bodies
physics.removeBody()
Allows you to turn almost any Corona display object into a simulated physical object with one line of code, including the assignment of physical properties.
If no shape
information is specified, then the body boundaries will snap to the rectangular boundaries of the display object.
If a radius
value is specified, the body boundaries will be circular, centered at the middle of the display object used to create the physics body.
If a shape
table is specified, the body boundaries will follow the polygon provided by the shape. Note that the maximum number of sides per shape is eight (8), and all angles must be convex. Specifying a shape
table will override a radius
property, if both are specified in the same element. The shape coordinates must be defined in clockwise order. Finally, The first and last vertex must be different.
A body shape is simply a table of local x and y coordinate pairs, relative to the center of the display object.
A more complex body may be constructed by specifying multiple body elements and shapes. In cases where the overall shape of the object is concave, or the shape has more than eight sides, you can use multiple body elements to construct it. See the Physics Bodies guide for more information.
Each body element may have its own physical properties.
The body element index is reported as part of each collision event, so it's possible to detect which part of a complex body was involved in a collision.
When you turn a display object into a physics object, the physics engine "owns" the object and has its own rules about the object. Physics assumes that the reference point of the object is the center of the object.
You can scale the object up or down, but the physics engine still sees the object as it was before the changes.
You should not add physics bodies to objects created using display.newLine().
You should not attempt to add a physics body during a collision event. Instead, wait until the next application cycle.
For further information, see the Physics Bodies guide and the Limitations guide.
physics.addBody( object, [bodyType,] {density=d, friction=f, bounce=b [,filter=f]} )
physics.addBody( object, [bodyType,] {density=d, friction=f, bounce=b, radius=r [,filter=f]} )
physics.addBody( object, [bodyType,] {density=d, friction=f, bounce=b, shape=s [,filter=f]} )
physics.addBody( object, [bodyType,]
{density=d1, friction=f1, bounce=b1, shape=s1},
{density=d2, friction=f2, bounce=b2, shape=s2},
{density=d3, friction=f3, bounce=b3, shape=s3}
)
DisplayObject. The display object to add a physics body to.
String. The body type may be specified in an optional string parameter before the first body element. The possible types are "static"
, "dynamic"
and "kinematic"
. The default type is "dynamic"
if no value is specified. See object.bodyType for more information.
Number. Multiplied by the area of the body’s shape to determine mass. Based on a standard value of 1.0
for water. Lighter materials (such as wood) have a density below 1.0
, and heavier materials (such as stone) have a density greater than 1.0
. Default value is 1.0
.
Number. May be any non-negative value; a value of 0.0
means no friction and 1.0
means fairly strong friction. The default value is 0.3
.
Number. Determines how much of an object's velocity is returned after a collision. The default value is 0.2
.
Number. Radius of the bounding circle.
Array. Shape array containing the shape's vertices: { x1,y1, x2,y2, ..., xn,yn }
. For example pentagonShape = { 0,-37, 37,-10, 23,34, -23,34, -37,-10 }
.
The coordinates must be defined in clockwise order, and the resulting shape must be convex at all angle points. The physics engine assumes that the 0,0
point is the center of the object. A negative x will be to the left of object's center and a negative y will be top of object's center.
Table. Filter values. See Collision Detection for more information.
categoryBits = cb
where cb
is the category of object (generally only one bit set). Defaults to 0x0001
if not set.maskBits = mb
, where mb
is the categories that the shape would accept for collision. Defaults to 0xFFFF
groupIndex = gb
, where gb
specifies that a certain group of objects will never collide (negative) or always collide (positive). Defaults to 0
(disabled). If groupIndex
is set to non-zero, it overrides the maskBits
setting.local physics = require( "physics" )
physics.start()
local sky = display.newImage( "bkg_clouds.png" )
sky.x = 160; sky.y = 195
local ground = display.newImage( "ground.png" )
ground.x = 160; ground.y = 445
physics.addBody( ground, "static", { friction=0.5, bounce=0.3 } )
local crate = display.newImage( "crate.png" )
crate.x = 180; crate.y = -50; crate.rotation = 5
physics.addBody( crate, { density=3.0, friction=0.5, bounce=0.3 } )
local ball = display.newImage("ball.png")
physics.addBody( ball, { density = 1.0, friction = 0.3, bounce = 0.2, radius = 25 } )
local pentagon = display.newImage("pentagon.png")
pentagonShape = { 0,-37, 37,-10, 23,34, -23,34, -37,-10 }
physics.addBody( pentagon, { density=3.0, friction=0.8, bounce=0.3, shape=pentagonShape } )


This page serves as a one-stop-shop for all Innovation Hub policies, procedures, and information required for operations. New employees should make it your priority to learn what's on this page, and reference it whenever you have any questions. In your first week of work you will focus on:
installing and familiarizing yourself with the Critical Resources listed below,
learn about emergency preparedness in pblic places, and
continue learning the ropes through experience and referencing the content of this page.
Critical Resources
Homebase is used for viewing work schedules, clocking in and out, and swapping hours when emergencies arise. New employees will receive an email invitation to join Homebase. Be sure to install the Homebase app (from your app store. Enable notifications so that you can stay in touch with co-workers.
Basecamp is used for discussions, project management and as a central repository for Hub documents. New employees will receive an email invitation to join Basecamp. Be sure to install the Basecamp app from your app store and enable the notifications feature.
Our Mission: To foster a collaborative community founded on a culture of creativity and innovation that identifies issues, explores opportunities, designs solutions, and iterates to success using proven problem-solving methods, and the latest technologies.
Our Vision: Students from all disciplines combining their unique expertise and perspectives, under the guidance of experienced mentors in the University, community and industry, to create novel and effective solutions to the vexing, complex, and wicked problems of our day.
Our Values: We strongly believe that the healthiest, happiest, and most productive organizations embrace four essential values:
Our Scope: Our goal is to impact students during their entire time at FSU - from the day they first step onto campus, until graduation day. For this reason we have a strong focus on undergraduate students, while serving as a resource for the entire FSU campus community, with summer outreach to K-12 students, strong connections to the Tallahassee/Leon County innovation ecosystem, and partnerships with businesses and corporations.
[1.b] Overview
The Innovation Hub transcends the traditional, discipline-based organizational structure of universities by providing a central location, or hub, where students, faculty, and staff from all departments can collaborate and innovate.
The Hub provides students with access to collaborative workspace and the latest technologies. Innovation Hub staff and our Partner Departments provide training in Design Thinking, 3D and 2D Design, Virtual and Augmented Reality, 3D Printing, Laser Cutting, Circuitry, Coding, Web Design and Development, Blockchain, Artificial Intelligence, Internet of Things, Data Science and Analytics, App Development, Unmanned Aerial Systems, and much, much more. In addition to classes, workshops, and presentations, the Innovation Hub hosts meet-ups, hackathons, innovention weekends, design sprints, technology showcases, shark tanks, and other fun and engaging events.
[1.c] Design Thinking
Design Thinking is the core innovation framework used to spark innovation @ The Hub. Design Thinking, sometimes referred to as Human Centered Design (see video below), is an innovation framework for interdisciplinary groups, rooted in empathy for an issue or opportunity, strongly dependant on the benefits of diverse perspectives, with specially designed methods and tools for ideation, prototyping, and testing.
Depending on who you ask, Design Thinking has three to five stages. The process is essentially the same across all definitions, but the names of the stages vary slightly:
Company
Definition
Design Thinkers Academy
Empathize - (Re)frame - ideate - Prototype - Test
IBM
Observe - Reflect - Make
Ideo
Inspiration - Ideation - Implementation
Luma Institute
Looking - Understanding - Making
Stanford d.school
Empathize - Define - ideate - Prototype - Test
[1.d] Rooms
A popular aspect of The Hub is the wide variety of collaborative work spaces we offer for general use and for reservation. View The Hub floorplan and reservable room information on the Room Reservation page.
[1.e] CCI Helpdesk
The CCI Helpdesk, housed at the North end of the Innovation Hub, is the IT support department of the College of Communication and Information. The Helpdesk has partnered with the Innovation Hub to provide tech support for Innovation Hub visitors as needed.
[1.f] Equipment
One of the cornerstones of the Innovation Hub is the state-of-the-art equipment we provide to students.
Fablab: Thirty 3D Printers of different types and capabilities, Laser Cutter, Vinyl Cutter, Circuit Soldering Station, Arduino and Raspberry Pi boards and kits.
Materials Library for low fidelity prototyping in Design Thinking.
Design Workstations, whiteboards, markers, post-its, portable high-def televisions and projectors.
[1.g] Furnishing
The Innovation Hub is furnished with the latest innovative furniture from Steelcase. Much of the furniture is on wheels and nestable for easy movement and storage. Portable whiteboards, and markable Surfaces along with markers are provided for brainstorming. Hi-def televisions are in each meeting room and on portable stands that can be moved where they are needed and connected to through HDMI cables provided. A variety of spaces are provided to accomodate every need and group size. A pingpong table is provided for recreational breaks.
[1.h] Human Resources
There are several categories of Innovation Hub Staff:
Full-time Staff
The full-time staff manage the primary areas of the Innovation Hub
Ken Baldauf, Innovation Hub Director Rm 123, office:645.8649, cell:850.766.3754<EMAIL_ADDRESS>Supervises the other full-time staff, manages Innovation Hub finances, human resources, and works with the Innovation Hub Steering Committee to plot the direction of The Hub.
Ren Saludo,Assistant Director Design and New Tech Rm131, office:645-8618, cell:202.213.6667<EMAIL_ADDRESS>Serves as IT support for computers, networks, and classroom technologies, supervises VR lab and Design lab, assists in supervising graduate students and interns, and advises in areas of design and architecture.
Robby Nowell, Fablab Supervisor Rm 122 and Fablab, office:645-8622, cell:601.466.6224<EMAIL_ADDRESS>Supervises the Digital Fablab and its interns, supports Innovation Hub purchasing, and serves as advisor in areas of 3D design and fabrication technologies.
Grad Students
Our Grad Student Assistants work 20 hours a week and hold significant responsibility for managing The Hub. Grad students...
train and supervise our Interns and Volunteers,
manage operations at the Front Desk,
open and close The Hub each day,
share in the overall management of The Hub, participating in the implementation of OKR's (Objectives and Key Results) and leading organizational initiatives.
Undergrad Interns
Our interns are the backbone of our organization. Twenty best-in-class undergrad students are selected each semester to serve as interns. Our Interns
support general operations in The Hub,
serve as mentors to other students,
work to broaden and strengthen their own innovative skills and knowledge,
work on select initiatives to move The Hub forward,
provide valuable insight for new programs in The Hub.
Volunteers
Our volunteers provide a wide variety of services in The Hub based on their interests and the needs of The Hub.
Innovation Hub Steering Committee
The Innovation Hub Steering Committee is made up of representatives from all of the Hub Partner Departments. The committee serves to support The Hub and guide its growth and direction. Steering committee members are often active participants in Hub Programs.
[1.i] Educational Resources
The Innovation Hub staff and partners provide many educational resources including classes, workshops, one-on-one mentoring and advising, meetups, showcases, competitions, and peer mentoring.
2. Daily Operations
[2.a] Employee Dress and Conduct
All interns are provided with two Innovation Hub "Staff" shirts to wear during work hours. You may wear pants or shorts in good condition, sweaters or other long sleeve tops may be worn over the t-shirt if necessary striving to keep the Innovation Hub logo visible so that visitors can recognize you as an employee.
Anytime you wear the Hub t-shirt on the Hub premises, you are considered on-duty. If you just want to hang out in the Hub, you should wear some other top.
GAs are provided with name tags that they may wear instead of a staff tee.
Toeless footwear is prohibited in the Fablab.
All staff should maintain a tidy, professional appearance and behavior while on duty. Your focus should be on serving our visitors. Interns should report to our Grad Student Assistants for their work instructions, or full-time staff when GAs are not on duty.
[2.b] Hours of Operation
Fall Hours: Mon-Thu 8AM-9PM, Fri 8AM - 6PM, Sun Noon - 6PM, closed Saturdays
All Staff work hours are posted in Homebase. Use the Homebase app to Clock-in and Clock-out and to swap hours when absolutely necessary. All staff is asked to find replacements for hours they are unable to work. The Hub MUST have a minimum of three staff on duty at all times.
[2.d] Viewing Room Reservations and Tours
Each day should begin with a review of room reservations so that the rooms may be setup as needed. To view the day's reservations, start the computer at the front desk and in the browser open: https://fsu.libcal.com/reserve/hub_program_rooms:
from the drop down menu select first Innovation Hub Commons, and then Innovation Hub Tours to see the schedule for the day
Click on the link “Confirmed booking” below the calendar to see details of the booking(s) for the day.
If it is a big group (more than 10 people) two students can split the group and tour each of them starting from different end of the premises.
[2.e] Opening the Hub
Staff responsible for opening The Hub should arrive 30 minutes prior to the time we open.
Enter the Hub via card swipe at the loading dock entrance. Utilize the key in the lockbox to enter the break room.
Make sure you Clock In using the Homebase app
Turn on Lights at central pillar behind desk.
Walkthrough entire space to check door, equipment, and furniture.
Unlock all interior doors except for: Pitch Room, Media Studio, and Executive Conference Room. Don’t just open doors, make sure lock is unlocked.
Make sure there is no equipment missing or damaged.
Check for abnormalities like open windows.
Make sure all furniture is in place and the space is neat and clean.
Set up the Program Room for the first class of the day - seating for 40 students (see photo).
Turn on lamps in Innovation Lounge using the power strip switch.
Turn on and setup the VR console in Innovation Lounge.
Dismantle and any ugly Lego structures and pile bricks loosely for easy use.
Master key and allen wrench for stairwell entry doors are stored in a locker #1 (code: available from supervisor).
Unlock the Landis Green entry doors by stairwells with the allen wrench.
Check and confirm that exterior door to Pitch Room is locked.
Check and confirm that exterior door to Break Room is locked.
Move seating arrangement into lobby in a circular arrangement in front of pillar.
Setup Innovation Hub sidewalk sign outside.
Turn on lobby display panels using remote and run slideshow from USB drive.
Close disabled entry gate at turnstyles if open.
Start soft ambient music.
Unlock both gates and roll open to store in pillar when it is time to open.
Return Master Key and allen wrench to locker and lock it!
Prep for tours.
View tour reservations at https://fsu.libcal.com/spaces?lid=3929&gid=6598.
Prep for room reservations.
Check Basecamp Calendar
View room reservations and set up seating as specified.
Check for VoiceMail messages and return calls as necessary.
Check email sent to<EMAIL_ADDRESS>Start a demo 3D Print for display if possible.
[2.f] Front Desk Operations
Make sure to Clock In using the Homebase app.
#1 RULE: Do not leave the front desk unattended. Insure that a greeter is at the front desk at all times and attentive to every arrival and departure. If a guest needs a tour, assign it to a secondary staff person.
The person responsible for closing the hub should Clock Out 15 minutes after the time that the Hub closes.
It takes roughly 15 minutes to prepare the Hub for closing.
Check on tours and room reservations for the next day and add them to the calendar on Basecamp.
Walkthrough entire space to check doors, equipment and furniture.
Close and lock all interior doors.
Make sure there is no equipment missing or damaged.
Check for abnormalities like open windows.
Make sure all furniture is in place and the space is neat and clean.
Turn off lamps in Innovation Lounge using the powerstrip switch.
Turn off VR console in Innovation Lounge.
Dismantle and Lego structures and pile bricks loosely for easy use.
Master key and allen wrench for stairwell entry doors are stored in a locker #1 (code: available from supervisor).
Lock the Landis Green entry doors by stairwells with the allen wrench.
Check and confirm that exterior door to Pitch Room is locked.

Bring in Innovation Hub sidewalk sign from outside and store just inside security gates.
Turn off lobby display panels.
Roll out both security gates from storage in central pillar.
Roll out completely, remain inside gates.
Push floor pins into holes in floor on both both gates.
Latch and lock both gates triple checking that they cannot be pulled open.
Return Master Key and allen wrench to locker and lock it!
Make sure to Clock Out at the end of your shift.
Turn on Lights out central pillar behind desk.
Exit out loading dock exit returning the key to the lockbox.
Make sure break room exterior door is locked and secured.
Make sure loading dock door is locked and secured.
3. Policies
[3.a] Gaining Admission (Swiping In)
The Innovation Hub is open to anyone with an FSU card, and others by special permission of the supervisor on duty.
Everyone must swipe in and swipe out in order for us to maintain accurate records of who is using the Innovation Hub, and for maintaining a safe and secure environment.
A wide gate is provided to allow wheelchair access. The gate should not be used to allow multiple users through. Users without an FSU card should be swiped in with a Temp ID Card.
[3.b] Temp ID Cards
Temporary ID cards are used to swipe in legitimate visitors who don't have an FSU Card.
at the front desk you’ll find a small plastic box with drawers where we keep one generic FSU card.
When a student says he/she has forgotten/lost their FSU card we can still let them in by swiping that temporary card for them.
One temporary card - “Visitor FSU Card” is kept in one of the small containers on the desk.
Before we let them in we need to first verify that the person is affiliated with FSU:
Ask the person to present another ID that he/she may have (driver’s license, or state issue ID)
Make sure you are logged on as FSU student when you start your shift https://cas.fsu.edu/cas/login?service=https://www.my.fsu.edu/ (and do not forget to log off at the end of your shift)
When you are logged to the FSU portal you should be able to to search student directory: in the Search Box (upper right side of the screen) select “Student directory”
You can search by first name, last name or full name
Please take the name and the email and record it …(in the signup sheet called The Hub generic card, which is on the desktop of the computer at the front desk)
If that there is more than one person with the same name, ask them to identify the department. And in that case you would also record the name of the department.
[3.c] Visitor Conduct
It is our duty to keep our environment safe and comfortable for ALL guests. Sometimes this requires addressing issues of visitor conduct.
Examples of unacceptable behaviour of visitors in the Hub include:
Sleeping on the sofa or the floor
Arguing over Hub resources
Damaging any of the furniture or walls
Any behaviour that interferes with other visitors’ use of the Hub space and equipment, i.e. loud speech, smoke/vape, etc.
Ask the visitor to either stop any such activity you notice or leave the premises. In extreme situation please call FSU police (see emergency contacts)
[3.d] Food and Drink
Food and drinks are allowed in the Hub. Students are asked to clean up after themselves. No alcoholic beverages! No vaping!
[3.e] Visitor Dress Code
No shoes, no shirt, no Hub access.
[3.f] Pets
Pets in general are not allowed in the Hub. Only service and emotional support animals are allowed.
A service animal is individually trained to do specific work or perform tasks for the benefit of a person with a disability, including but not limited to physical, sensory, psychiatric, intellectual, or other mental disabilities.
Any animal providing emotional support, well-being, or comfort that eases one or more identified symptoms or effects of a disability. Emotional support animals may also be referred to as comfort or therapy animals. Unlike service animals, emotional support animals are not individually trained to perform specific work or tasks.
All service or emotional support animals must be kept under control by a harness or leash unless the person is unable to hold those, or such use would interfere with the service animal's performance of tasks. In such case, the service animal must be kept under control by voice, signals, or other effective means.
[3.g] Room Reservations
FSU students and departments can reserve many of the spaces in the Innovation Hub. Students can reserve Huddle Rooms and Phone Booths, organizations can reserve our larger spaces. Organization reservations go through an approval process. Reservations begin at our Reservation Page where instructions are provided as well as a link to the reservation form.
It may be necessary to view and confirm reservations to resolve any conflicts that may arise (see 2.d Viewing Room Reservations).
4. Procedures
[4.a] Communications
Homebase is used for viewing work schedules, clocking in and out, and swapping hours when emergencies arise.
Basecamp is used for discussions, project management and as a central repository for Hub documents.
<EMAIL_ADDRESS>- Innovation hub email addresses are provided to all Hub employees for work use. Your innovation.fsu.edu email is an alias for your regular fsu email and email sent to it will automatically be deposited in your regular FSU email inbox.
<EMAIL_ADDRESS>is the general email address for the Hub. All employees should have access to view email in this account:
Add Email mailbox to your device
Add Account (Exchange)
Enter your Exchange account information: Your @innovation.fsu.edu email address and your FSU password.
Use setting: Log in with my Exchange account credentials
Save and Exit
Check email on your shift
Delegate (forward) as needed internally to supervisor
Signature: Innovation Hub
Do not CC requestor on Email forward
CC your work email
Supervisor will use CC to know who forwarded email
Info account sends all emails as the Info account
Supervisor will respond to you or the requestor
Additional access to Innovation Hub accounts
Ask Supervisor if the communication means is available
Supervisor will login to the requested means for you
Supervisors see the Communications Spreadsheet for additional info
[4.b] Project Management
All Hub employees participate in OKR (Objective Key Results) initiatives/projects that combine to move us forward towards our Organizational Vision. Project leaders will utilize Basecamp and other online tools to coordinate communication and document sharing for each project.
[4.c] Emergencies
For emergencies phone FSU police, for security concerns phone Strozier Security.
FSU POLICE:<PHONE_NUMBER>
Strozier Security:<PHONE_NUMBER>
All staff receive emergency responsiveness training. Stay alert and aware of your surroundings while on duty. If problems arise, don't hesitate to phone one of the above numbers. Familiarize yourself with the emergency exits in the hub, and the location of fire extinguishers.
click to enlarge
5. Appendices
Appendix A: FSU Innovation Hub Tour
click to enlarge
Use the following organization and facts in your tours.
Lobby
Welcome to FSU’s new Innovation Hub - or The Hub for short!
The Hub is the result of a $2.5 million investment from the Provost.
Our Founding Partners are...
The School of Information
The College of Communication and Information
The Jim Moran School of Entrepreneurship
And FSU Libraries
Many other FSU departments have signed on as Academic Partners
(academic partners provide educational programs)
This is our Information Desk where our staff welcomes students and fields questions about the Hub.
Like FSU Libraries, anyone with an FSU Card can enter and use the Hub.
Mission and Focus
The Innovation Hub Mission is to foster a collaborative community founded on a culture of creativity and innovation that identifies issues, explores opportunities, designs solutions, and iterates to success using proven problem-solving methods, and the latest technologies.
In short our strategy is Design Thinking + New Technologies = Innovation.
Design Thinking
Design Thinking is an innovation framework. The stages of design thinking are included in the graphic art on the wall over the service counter; Empathy, Problem Framing, Ideation, Prototyping, and testing.
The Innovation Hub offers classes and workshops that teach students Design Thinking (ENT3607 Innovation by Design).
Collaborative Work Space
This collaborative workspace holds up to 120 people.
The furniture can be reconfigured to accommodate small group work, large lectures and presentations, workshops, showcases, or social events and receptions.
A projection screen drops down from the ceiling for presentations.
Innovation Lounge
Students can relax in the Innovation Lounge, a comfortable space for casual conversations. A VR gaming system allows students to take a break and have some fun.
Staff Offices
Staff offices line the inner wall of the colab space.
The Innovation hub employs...
4 full-time staff
3 half-time grad students
and 20 undergrad interns
Huddle Rooms and Conference Room
The Hub features to Huddle rooms for impromptu meetings
This one features a conference table that transforms into a ping-pong table
A traditional conference room is also available for more formal meetings and presentations.
The Huddle Rooms and most of the spaces in the Innovation Hub can be reserved for use by students and organizations.
Program Room
The program room is utilized for innovation-related class meetings, workshops and presentations.
It seats up to 40.
Design for America and Hallway Meeting Space
This space is reserved for our new Design for America Studio
Design for America is a national organization with over thirty top universities where students apply Design Thinking to solving local community issues.
You may have noticed these blue and gold square tiles embedded here and there in the woodwork. What do they remind you of? These symbolize post-it notes - a primary tool in Design Thinking.
Media Production Studio
This is a small studio for basic media production.
Here, students can create YouTube videos, or promotions for their inventions and startups.
A green screen allows for customizing the video background.
The on-the-air light lets those outside know not to disturb a production in process.
Quiet Space, Phone Booths, and Huddle Room
This quiet space provides students with a nice environment away from distractions for uninterrupted work.
Charging stations are available throughout the hub for cell phones and notebooks.
These Phone Booths allow students to take phone calls without bothering others.
They also support teleconferencing and small meetings
Pitch Room
The Pitch Room was designed as an informal meeting room where students can pitch their ideas and inventions and get candid feedback from their peers.
It's also used for Organizational Meetings, Brainstorming, Shark Tanks, and Movie Night
While walking back to front desk…
The Innovation Hub was designed to support a variety of group sizes from two or three, to a dozen in these huddle rooms, to 30 in our Pitch Room, 50 in our Program Room and 120 in the central area. All of the space can be reserved, including the patio in front of the building.
Open Design Lab and Design Support Desk
This area supports design and prototyping.
These workbenches can be used for creating prototypes from materials found in our Materials Library.
These high-end design workstations support 2D and 3D design for 3D printing or Virtual environments.
At the Design Support Desk students can get advice from our Design Consultants with expertise in a variety of areas...
Coding
3D Design
Entrepreneurship
Virtual Reality
3D Printing
Media Production
And Drone Aircraft
CCI HelpDesk
Students needing computing advice can can consult with the professionals in the CCI IT HelpDesk courtesy of the College of Communication and Information (CCI).
VR Lab
Our VR Lab has multiple Virtual Reality and Augmented Reality platforms...
Oculus Rift
HTC Vive
Mixed Realities Headset
Microsoft Hololens
Digital Fablab
Last but not least is our Digital Fablab
Students can submit 3D designs using the computers in the Design Lab or anywhere on the Internet and they will print on one of our 3D Printers here.
We provide training in 3D design and printing.
The Fablab also has 3D Scanners, a Laser Cutter, Vinyl Cutter, and a Circuits and Robotics work area.
Students can store their projects or backpacks in these lockers for safe keeping.
Argo tea Shop
Finally, our new Argo Tea shop provides a wide variety of beverages, sandwiches and salads. After all this walking around you may be ready for some refreshments!
Wrap up
Keep track of all that’s going on at the hub online at www.innovation.fsu.edu and on social media.
That concludes the tour, does anyone have any questions?
Appendix B: VR Policies and procedures
VR Policies
There are some games that do have guns and violence, these games are not recommended for play in the Inspiration Lounge. Due to the sensitivity of the Hub’s image and current cultural climate around guns, patrons are encouraged to play these experiences in the VR lab.
Time limit of 20 minutes on a VR Station when others are waiting to use.
Do not install software/games/experiences on any of the VR Sets. Place software requests with the VR Lab Supervisor.
Setting up VR for Patrons
Familiarize yourself with the equipment and the software/games prior to assisting others
Do not assume the patron knows how to navigate the systems
Approach the patron with a helpful and pleasant attitude
Ask the patron(s) if they are prone motion sickness
Notify them that virtual reality has been known to cause motion sickness.
Request that if they feel uncomfortable at all, they should remove the headset
Note: Lasting effects of motion sickness may occur after their VR experience
Note: Attempts to power through motion sickness may prolong the effects
Ask the patron which technology they would like to experience today
If the patron is indecisive, choose the one you are most familiar with
Ask the patron what they like to do
Propose an experience that is most similar to their response
Exploration: Google Earth
Interactive: Google Tilt Brush
Getting Started with the HTC Vive
Make sure the computer is powered on
Make sure the lighthouse LEDs are green
Choose the game they prefer or what you think is best
You can view the library by opening Steam. Click on Library to select a Virtual Reality option.
Have the patron wear and fit the headset
Ask them if it is too tight or loose. If either, there are straps on the sides and top that you can adjust accordingly.
Fitting the leashes for each hand, hand them the two controllers.
Show them where the triggers are. (Under the controllers)
If they are not within the center of the blue tape on the floor (VR Lab), ask them to move accordingly.
Once they begin the game, monitor for a few minutes and ask if they find everything fine.
If they want to change games, you can press ESC on the keyboard to pause the experience then press Exit on the window.
If this is not an option, press the Window Key and in the Windows Navigation Bar you can right click the experience app and exit.


| < Day Day Up > |
Hack 13 Find Things
Finding fles in Unix can be an exercise in frustration for a novice user. Here's how to soften the learning curve. Remember the first time you installed a Unix system? Once you successfully booted to a command prompt, I bet your first thought was, "Now what?" or possibly, "Okay, where is everything?" I'm also pretty sure your first foray into man find wasn't all that enlightening. How can you as an administrator make it easier for your users to find things? First, introduce them to the built-in commands. Then, add a few tricks of your own to soften the learning curve. 2.2.1 Finding Program PathsEvery user should become aware of the three w's: which, whereis, and whatis. (Personally, I'd like to see some why and when commands, but that's another story.) Use which to find the path to a program. Suppose you've just installed xmms and wonder where it went: % which xmms /usr/X11R6/bin/xmms Better yet, if you were finding out the pathname because you wanted to use it in a file, save yourself a step: % echo `which xmms` >> somefile Remember to use the backticks (`), often found on the far left of the keyboard on the same key as the tilde (~). If you instead use the single quote (') character, usually located on the right side of the keyboard on the same key as the double quote ("), your file will contain the echoed string which xmms instead of the desired path. The user's current shell will affect how which's switches work. Here is an example from the C shell: % which -a xmms -a: Command not found. /usr/X11R6/bin/xmms % which which which: shell built-in command. This is a matter of which which the user is using. Here, the user used the which which is built into the C shell and doesn't support the options used by the which utility. Where then is that which? Try the whereis command: % whereis -b which which: /usr/bin/which Here, I used -b to search only for the binary. Without any switches, whereis will display the binary, the manpage path, and the path to the original sources. If your users prefer to use the real which command instead of the shell version and if they are only interested in seeing binary paths, consider adding these lines to /usr/share/skel/dot.cshrc [Hack #9] : alias which /usr/bin/which -a alias whereis whereis -b The -a switch will list all binaries with that name, not just the first binary found. 2.2.2 Finding CommandsHow do you proceed when you know what it is that you want to do, but have no clue which commands are available to do it? I know I clung to the whatis command like a life preserver when I was first introduced to Unix. For example, when I needed to know how to set up PPP: % whatis ppp i4bisppp(4) - isdn4bsd synchronous PPP over ISDN B-channel network driver ng_ppp(4) - PPP protocol netgraph node type ppp(4) - point to point protocol network interface ppp(8) - Point to Point Protocol (a.k.a. user-ppp) pppctl(8) - PPP control program pppoed(8) - handle incoming PPP over Ethernet connections pppstats(8) - print PPP statistics On the days I had time to satisfy my curiosity, I tried this variation: % whatis "(1)" That will show all of the commands that have a manpage in section 1. If you're rusty on your manpage sections, whatis intro should refresh your memory. 2.2.3 Finding WordsThe previous commands are great for finding binaries and manpages, but what if you want to find a particular word in one of your own text files? That requires the notoriously user-unfriendly find command. Let's be realistic. Even with all of your Unix experience, you still have to dig into either the manpage or a good book whenever you need to find something. Can you really expect novice users to figure it out? To start with, the regular old invocation of find will find filenames, but not the words within those files. We need a judicious use of grep to accomplish that. Fortunately, find's -exec switch allows it to use other utilities, such as grep, without forking another process. Start off with a find command that looks like this: % find . -type f -exec grep "word" { } \; This invocation says to start in the current directory (.), look through files, not directories (-type f), while running the grep command (-exec grep) in order to search for the word word. Note that the syntax of the -exec switch always resembles: -exec command with_its_parameters { } \; What happens if I search the files in my home directory for the word alias? % find . -type f -exec grep "alias" { } \; alias h history 25 alias j jobs -l Antialiasing=true Antialiasing arguments=-sDEVICE=x11 -dTextAlphaBits=4 -dGraphicsAlphaBits=2 -dMaxBitmap=10000000 (proc-arg 0 "antialiasing" "Apply antialiasing (TRUE/FALSE)") (proc-arg 0 "antialiasing" "Apply antialiasing (TRUE/FALSE)") While it's nice to see that find successfully found the word alias in my home directory, there's one slight problem. I have no idea which file or files contained my search expression! However, adding /dev/null to that command will fix that: # find . -type f -exec grep "alias" /dev/null { } \; ./.cshrc:alias h history 25 ./.cshrc:alias j jobs -l ./.kde/share/config/kghostviewrc:Antialiasing=true ./.kde/share/config/kghostviewrc:Antialiasing arguments=-sDEVICE=x11 -dTextAlphaBits=4 -dGraphicsAlphaBits=2 -dMaxBitmap=10000000 ./.gimp-1.3/pluginrc: (proc-arg 0 "antialiasing" "Apply antialiasing (TRUE/FALSE)") ./.gimp-1.3/pluginrc: (proc-arg 0 "antialiasing" "Apply antialiasing (TRUE/FALSE)") Why did adding nothing, /dev/null, automagically cause the name of the file to appear next to the line that contains the search expression? Is it because Unix is truly amazing? After all, it does allow even the state of nothingness to be expressed as a filename. Actually, it works because grep will list the filename whenever it searches multiple files. When you just use { }, find will pass each filename it finds one at a time to grep. Since grep is searching only one filename, it assumes you already know the name of that file. When you use /dev/null { }, find actually passes grep two files, /dev/null along with whichever file find happens to be working on. Since grep is now comparing two files, it's nice enough to tell you which of the files contained the search string. We already know /dev/null won't contain anything, so we just convinced grep to give us the name of the other file. That's pretty handy. Now let's make it friendly. Here's a very simple script called fstring: % more ~/bin/fstring #!/bin/sh # script to find a string # replaces $1 with user's search string find . -type f -exec grep "$1" /dev/null { } \; That $1 is a positional parameter. This script expects the user to give one parameter: the word the user is searching for. When the script executes, the shell will replace "$1" with the user's search string. So, the script is meant to be run like this: % fstring
word_to_search If you're planning on using this script yourself, you'll probably remember to include a search string. If you want other users to benefit from the script, you may want to include an if statement to generate an error message if the user forgets the search string: #!/bin/sh # script to find a string # replaces $1 with user's search string # or gives error message if user forgets to include search string if test $1 then find . -type f -exec grep "$1" /dev/null { } \; else echo "Don't forget to include the word you would like to search for" exit 1 fi Don't forget to make your script executable with chmod +x and to place it in the user's path. /usr/local/bin is a good location for other users to benefit. 2.2.4 See Also
|
| < Day Day Up > |


Namespaces
| Namespace | Description |
|---|---|
| W | The root namespace for Tungsten. W is used because it is the symbol for Tungsten on the periodic table of elements. |
| W.Encryption | Functionality related to encryption |
| W.Logging | Functionality related to information and error logging |
| W.Threading | Functionality related to multi-threading |


Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages
libpqxx Namespace Members
b | c | f | i | l | n | o | q | r | s | t
Here is a list of all namespace members with links to the namespace documentation for each member:
- read_committed
: pqxx
- Result
: pqxx
- result_size_type
: pqxx
- RobustTransaction
: pqxx
Generated on Sat Jun 7 02:58:07 2003 for libpqxx by
1.3-rc3


GET /gemfire-api/v1/servers
Mechanism to obtain a list of all members in the distributed system that are running the REST API service.
Resource URL
http://<hostname_or_http-service-bind-address>:<http-service-port>/gemfire-api/v1/servers
Parameters
None.
Example Request
Request Payload: null
Request: GET /gemfire-api/v1/servers
Response Payload: application/json
Example Success Response
200 OK
Content-Length: <#-of-bytes>
Content-Type: application/json; charset=utf-8
[
"http://<HOST_NAME1>:<PORT1>",
"http://<HOST_NAME2>:<PORT2>",
"http://<HOST_NAME3>:<PORT3>",
"http://<HOST_NAME4>:<PORT4>"
]
Error Codes
| Status Code | Description |
|---|---|
| 500 INTERNAL SERVER ERROR | Returned if Geode throws an error while executing the request. |


find_program¶
A short-hand signature is:
find_program (<VAR> name1 [path1 path2 ...])
The general signature is:
find_program ( <VAR> name | NAMES name1 [name2 ...] [NAMES_PER_DIR] [HINTS path1 [path2 ... ENV var]] [PATHS path1 [path2 ... ENV var]] [PATH_SUFFIXES suffix1 [suffix2 ...]] [DOC "cache documentation string"] [NO_DEFAULT_PATH] [NO_PACKAGE_ROOT_PATH] [NO_CMAKE_PATH] [NO_CMAKE_ENVIRONMENT_PATH] [NO_SYSTEM_ENVIRONMENT_PATH] [NO_CMAKE_SYSTEM_PATH] [CMAKE_FIND_ROOT_PATH_BOTH | ONLY_CMAKE_FIND_ROOT_PATH | NO_CMAKE_FIND_ROOT_PATH] )
This command is used to find a program.
A cache entry named by <VAR>
is created to store the result
of this command.
If the program is found the result is stored in the variable
and the search will not be repeated unless the variable is cleared.
If nothing is found, the result will be
<VAR>-NOTFOUND
, and the search will be attempted again the
next time find_program is invoked with the same variable.
Options include:
NAMES
Specify one or more possible names for the program.
When using this to specify names with and without a version suffix, we recommend specifying the unversioned name first so that locally-built packages can be found before those provided by distributions.
HINTS
,PATHS
- Specify directories to search in addition to the default locations.
The
ENV var
sub-option reads paths from a system environment variable. PATH_SUFFIXES
- Specify additional subdirectories to check below each directory location otherwise considered.
DOC
- Specify the documentation string for the
<VAR>
cache entry.
If NO_DEFAULT_PATH
is specified, then no additional paths are
added to the search.
If NO_DEFAULT_PATH
is not specified, the search process is as follows:
- If called from within a find module loaded by
find_package(<PackageName>)
, search prefixes unique to the current package being found. Specifically look in the<PackageName>_ROOT
CMake variable and the<PackageName>_ROOT
environment variable. The package root variables are maintained as a stack so if called from nested find modules, root paths from the parent’s find module will be searched after paths from the current module, i.e.<CurrentPackage>_ROOT
,ENV{<CurrentPackage>_ROOT}
,<ParentPackage>_ROOT
,ENV{<ParentPackage>_ROOT}
, etc. This can be skipped ifNO_PACKAGE_ROOT_PATH
is passed. See policyCMP0074
.<prefix>/[s]bin
for each<prefix>
in the<PackageName>_ROOT
CMake variable and the<PackageName>_ROOT
environment variable if called from within a find module loaded byfind_package(<PackageName>)
- Search paths specified in cmake-specific cache variables.
These are intended to be used on the command line with a
-DVAR=value
. The values are interpreted as semicolon-separated lists. This can be skipped ifNO_CMAKE_PATH
is passed.<prefix>/[s]bin
for each<prefix>
inCMAKE_PREFIX_PATH
CMAKE_PROGRAM_PATH
CMAKE_APPBUNDLE_PATH
- Search paths specified in cmake-specific environment variables.
These are intended to be set in the user’s shell configuration,
and therefore use the host’s native path separator
(
;
on Windows and:
on UNIX). This can be skipped ifNO_CMAKE_ENVIRONMENT_PATH
is passed.<prefix>/[s]bin
for each<prefix>
inCMAKE_PREFIX_PATH
CMAKE_PROGRAM_PATH
CMAKE_APPBUNDLE_PATH
- Search the paths specified by the
HINTS
option. These should be paths computed by system introspection, such as a hint provided by the location of another item already found. Hard-coded guesses should be specified with thePATHS
option. - Search the standard system environment variables.
This can be skipped if
NO_SYSTEM_ENVIRONMENT_PATH
is an argument.PATH
- Search cmake variables defined in the Platform files
for the current system. This can be skipped if
NO_CMAKE_SYSTEM_PATH
is passed.<prefix>/[s]bin
for each<prefix>
inCMAKE_SYSTEM_PREFIX_PATH
CMAKE_SYSTEM_PROGRAM_PATH
CMAKE_SYSTEM_APPBUNDLE_PATH
- Search the paths specified by the PATHS option or in the short-hand version of the command. These are typically hard-coded guesses.
On macOS the CMAKE_FIND_FRAMEWORK
and
CMAKE_FIND_APPBUNDLE
variables determine the order of
preference between Apple-style and unix-style package components.
The CMake variable CMAKE_FIND_ROOT_PATH
specifies one or more
directories to be prepended to all other search directories. This
effectively “re-roots” the entire search under given locations.
Paths which are descendants of the CMAKE_STAGING_PREFIX
are excluded
from this re-rooting, because that variable is always a path on the host system.
By default the CMAKE_FIND_ROOT_PATH
is empty.
The CMAKE_SYSROOT
variable can also be used to specify exactly one
directory to use as a prefix. Setting CMAKE_SYSROOT
also has other
effects. See the documentation for that variable for more.
These variables are especially useful when cross-compiling to
point to the root directory of the target environment and CMake will
search there too. By default at first the directories listed in
CMAKE_FIND_ROOT_PATH
are searched, then the CMAKE_SYSROOT
directory is searched, and then the non-rooted directories will be
searched. The default behavior can be adjusted by setting
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
. This behavior can be manually
overridden on a per-call basis using options:
CMAKE_FIND_ROOT_PATH_BOTH
- Search in the order described above.
NO_CMAKE_FIND_ROOT_PATH
- Do not use the
CMAKE_FIND_ROOT_PATH
variable. ONLY_CMAKE_FIND_ROOT_PATH
- Search only the re-rooted directories and directories below
CMAKE_STAGING_PREFIX
.
The default search order is designed to be most-specific to
least-specific for common use cases.
Projects may override the order by simply calling the command
multiple times and using the NO_*
options:
find_program (<VAR> NAMES name PATHS paths... NO_DEFAULT_PATH) find_program (<VAR> NAMES name)
Once one of the calls succeeds the result variable will be set and stored in the cache so that no call will search again.
When more than one value is given to the NAMES
option this command by
default will consider one name at a time and search every directory
for it. The NAMES_PER_DIR
option tells this command to consider one
directory at a time and search for all names in it.


Charge rate is used in quote to determine the charge of a specific labour or task performed by a specific role with the charge rate.