Books of:
Paul Jones
Title:
XML at Work
Title:
HTML Scripts
Title:
Javascript
Paul Jones has received no awards yet


Whoami
Information Technology Engineer with many years of experience in maintenance and deployment of hardware and software as well as software development. Dedicated developer with a passion for coding and problem solving. Currently focused on mastering JavaScript and TypeScript skills, both in the front-end and back-end. Strongly committed to writing clean, maintainable code and providing great user experience. Keen interest in the best UI/UX practices and broadening knowledge around this area.
Technical skills
Programming
- TypeScript/JavaScript
- Angular
- Node
- RxJS
- NgRx
- PNPM/NPM/Yarn
- HTML5
- CSS3/SCSS/TailwindCSS
- RestAPI
- GraphQL
Version Control Systems
- Git
- GitHub
- BitBucket
Databases
- MongoDB
- PostgreSQL
- MySQL
Systems
- Linux
- Windows
- Mac OS
Services
- WWW servers
- Docker
- Prisma
- Active Directory
- LDAP
- DNS
- DHCP
- sharing network resources (samba, nfs, scp, ftp)


| < Day Day Up > |
Using Report WritersReport writers are development tools you can use to generate professional reports from multiple data sources. You can consider a report writer as a specialized type of 4GL. Like 4GLs, they raise the level of abstraction by using fewer statements to produce reports than 3GLs do. They differ from true 4GLs in that they commonly are designed for one purpose: the generation of formatted reports. For example, a report writer can often generate a report with a single command, whereas a 3GL must read data, format the data, program control breaks, format headers and footers, and then write the report record. IBM's Query Management Facility (QMF) and Computer Associates' Report Facility are examples of mainframe-based report writers for DB2. PC-based report writers also are quite popular. They require a gateway setup as discussed earlier. Examples of this type of tool include Seagate's Crystal Reports, Business Objects, and Cognos Powerplay; IBM also offers a version of QMF for Windows. Report Writer Application GuidelinesWhen using report writers to build DB2 applications be sure to consider the following guidelines. Follow Previous GuidelinesThe rules for fourth-generation languages also apply to report writers. Refer to the "4GL Application Guidelines" presented previously in this chapter. Likewise, many popular report writers work in a client/server environment instead of completely on the mainframe. For example, the user interface runs on a workstation but accesses data from DB2 tables on the mainframe. When you're using a report writer in a client/server environment, refer to the "Client/Server Guidelines" presented previously in this chapter for guidance. Learn the Report Writer CapabilitiesUse the capabilities of the report writer to format your output. Most report writers have formatting codes to guide how each column is to be displayed on the final report. For example, if you are using a report writer that supports displaying numeric data with leading zeroes, use that capability instead of storing the numeric data in a character column and forcing the leading zeroes to be stored. |
| < Day Day Up > |


Hello everyone, I would like to recommend this place this week. This shop has been in Shenzhen for many years. It specializes in cooking chicken.
大家好，这周我要推荐这里，这家店在深圳很多年了，一家专门做鸡肉煲的地方！
When you come to the door of the store, you need to go to the next staircase. The wall of the staircase depicts the history of the store.
来到店门口要下一层楼梯，楼梯的墙上画了这家店铺的历史。
This day we came at noon. We came earlier and there were not many guests. The environment here is comfortable. I came here with my friends.
 Soon we had a pot of pepper soup.
这天我们是中午来的，来的比较早，客人还不多。这里环境舒适，我和朋友一起来到这里。
The waiter poured all the chicken into the pan, while it was still cooking, we went to mix some sauce.
服务员把鸡肉全部倒了进去锅里，趁还在煮的时候，我们去调了一些酱料。
The pepper chicken soup here is made into milky white, especially delicious soup. We drank several bowls.
这里的胡椒鸡汤，煮成奶白色的，特别好喝的汤。我们喝了好几碗。
Here comes our bacon and hot pot rice, which contains sausage, bacon and spareribs. Cook chu in casserole
我们的腊肉煲仔饭来了，里面有腊肠，腊肉，排骨。煲仔煮出来的饭特别好吃。
There is a discount for the two of us for this meal, which cost us 14 dollars in total. The price here is well worth it.
我们这一餐还有折扣，一共就花了14美金。在这里的价格是优惠了。
Restaurant Information
fuxinji 福鑫记
East Gate, Luohu, Shenzhen, Guangdong, China, 518006
This post participated in the Tasteem contest Your weekly choice
What is Tasteem?
This page is synchronized from the post: Pepper and chicken casserole 胡椒猪肚鸡


 To your surprise, the person outside is no one other than Spongebob Squarepants, with snail Gary in tow! Spongebob humbly asks if you would be willing to watch Gary for him while he goes on a week-long jellyfishing trip. Of course, you gladly fulfill Spongebob's request. After a couple hours during which he explains to you all of the intricacies of snail care, Spongebob bids his Garebear farewell and hops on the next bus to Jellyfish Fields. It's a shame that you weren't paying attention! Hopefully Gary will tell you what he needs.
After observing Gary for a few hours, you figure out that his behavior is determined by a finite state machine. You manage to create a list of all his possible states:
Hungry, tired, sad, in trouble, bored, reading, exercising, happy, angry, on a walk, getting treat, bathing, sleeping, eating
You can now create a diagram linking these states:
As a house snail, Gary is used to being left alone sometimes, and so he exhibits a sequence of semirandom behaviors throughout the day. He will try to entertain himself and express physical needs due to hunger and fatigue. When interacted with, this will automatically set his state in response to the stimuli. There are certain states that can only be reached by human interaction, which each lead back into Gary's natural state flow. For instance, you found that he tends to get tired from walks, and baths make him sad! Other times, however, his behavior is less deterministic.
All of the possible states that Gary can reach and stimuli that he can respond to are organized in the "states" and "stimuli" global arrays of virtual-pet.js
. To add a new state, just abide by the following format. New corresponding images should be placed in assets/pet-pics/
.
{
name: "happy", // System name of state
desc: "Gary is feeling happy.", // How it's described to user
img: "gary-happy.jpeg", // Path to corresponding pic
next: [ // Possible states reached from this one
"bored",
"read",
"wheel"
]
},
To add a new stimulus, follow this format:
{
name: "pet", // System name
desc: "Pet", // Action available to user
effects: [ // List of possible states caused
"happy",
"angry"
]
},
The program will automatically generate an HTML button for each stimulus.
Gary's behavior changes are a stochastic process. At any given state, Gary will either respond to a user stimulus, or else change his state automatically according to idleUpdate()
. Gary is granted the opportunity to change state after a sleep time of some number of milliseconds specified by the TICK
constant. If Gary is left alone, then at every tick, he has a probability to remain in his current state specified by the STATE_RETAIN
constant. If state retention does not occur, then Gary has an equal chance to transition to any of the other states which may be reached from his current one. If Gary instead receives a stimulus from the user prior to his next update, then his state will be set according to the stimulus, and his idle update timer will be reset. See the code for this state machine in virtual-pet.js
.


More...
|
| | Builder (TBelongsToAssociation component) |
| |
| virtual TBuilder | ForeignKey (string foreignKey) |
| | The name of the foreign key on the owner model that links it to the associated model. Defaults to the lowercased name of the associated model plus "_id", e.g. an association with a model called Product would set up a product_id foreign key. More...
|
| |
| virtual TBuilder | GetterName (string getterName) |
| | The name of the getter function that will be added to the local model's prototype. Defaults to 'get' + the name of the foreign model, e.g. getCategory More...
|
| |
| virtual TBuilder | SetterName (string setterName) |
| | The name of the setter function that will be added to the local model's prototype. Defaults to 'set' + the name of the foreign model, e.g. setCategory More...
|
| |
| | Builder () |
| |
| | Builder (BelongsToAssociation component) |
| |
| | Builder (BelongsToAssociation.Config config) |
| |
| | Builder (TAbstractAssociation component) |
| |
| virtual TBuilder | AssociationKey (string associationKey) |
| | The name of the property in the data to read the association from. Defaults to the name of the associated model. More...
|
| |
| virtual TBuilder | PrimaryKey (string primaryKey) |
| | The name of the primary key on the associated model. In general this will be the Ext.data.Model.idProperty of the Model. Defaults to 'id' More...
|
| |
| virtual TBuilder | Model (string model) |
| | The string name of the model that is being associated with. Required More...
|
| |
| virtual TBuilder | Reader (Action< ReaderCollection > action) |
| | A special reader to read associated data More...
|
| |
◆ Builder() [1/4]
◆ Builder() [2/4]
◆ Builder() [3/4]
◆ Builder() [4/4]
◆ ForeignKey()
The name of the foreign key on the owner model that links it to the associated model. Defaults to the lowercased name of the associated model plus "_id", e.g. an association with a model called Product would set up a product_id foreign key.
◆ GetterName()
The name of the getter function that will be added to the local model's prototype. Defaults to 'get' + the name of the foreign model, e.g. getCategory
◆ operator Builder()
◆ SetterName()
The name of the setter function that will be added to the local model's prototype. Defaults to 'set' + the name of the foreign model, e.g. setCategory
The documentation for this class was generated from the following file:
- Factory/Builder/BelongsToAssociationBuilder.cs


End-to-end encryption with your branding: We develop individualized versions of the Cryptomator apps for you.
Secure your server applications, synchronization clients, and other systems with Cryptomator technology: Our libraries can be integrated into many applications.
Based on Cryptomator's encryption scheme, we develop custom applications and systems for you.
Cryptomator's libraries are dual-licensed under the AGPLv3 for FOSS projects as well as a commercial license derived from the LGPL for independent software vendors and resellers. If you want to use these libraries in applications that are not licensed under the AGPL, feel free to contact us.
Use CryptoLib for encrypting and decrypting data according to Cryptomator's encryption scheme.
Use CryptoFS for encrypting and decrypting data according to Cryptomator's encryption scheme.
java.nio.file.spi.FileSystemProvider
according to JSR-203 using the CryptoLib libraryAdd a WebDAV server to your Java application.
java.nio.file.Path
) available via WebDAVLaunch and mount a WebDAV server from within your Java application.
Provide a FUSE drive from within your Java application.
java.nio.file.Path
) available via FUSEProvide a Dokany drive from within your java application.
java.nio.file.Path
) available via Dokany


 The people who were waiting for early adopters to prove out the language are flocking in droves to see why great companies like Google, Bit.ly, Heroku, Iron.io, SoundCloud, dotCloud and Canonical are putting their weight behind Go. The time is right to start building a well-organized community behind the programming language.
GopherCon is the inaugural event for an annual conference devoted exclusively to the Go programming language.
Gopher Academy
Gopher Academy's mission is to foster a community of Go developers by providing education, training, and events.
Founded in 2012 by long time Gophers Brian Ketelsen and Erik St. Martin, Gopher Academy exists because we believe in the Go programming language. More importantly, we see the opportunity to help shape a community that is inclusive, welcoming, helpful, and vibrant.
Our first contribution to the Go community was the Gopher Academy Job Board where job postings are free, as long as they are Go jobs!
Connect with us
Join our mailing list


Operator Precedence
Multiplication has precedence over addition.
But parenthesis has precedence over multiplication.


Expansions inside ${..} need to be quoted separately, otherwise they will match as a pattern.
relative_path() {
printf '%s\n' "${2#$1}"
}
# Results in "/tmp/King_Kong_[1933]/extras/trailer.mkv" because the prefix fails to match
relative_path "/tmp/King_Kong_[1933]/" "/tmp/King_Kong_[1933]/extras/trailer.mkv"
# Results in "cover.jpg" even though the prefix is different
relative_path "/tmp/King_Kong_[1933]/" "/tmp/King_Kong_3/cover.jpg"
relative_path() {
printf '%s\n' "${2#"$1"}"
}
# Results in "extras/trailer.mkv" as expected
relative_path "/tmp/King_Kong_[1933]/" "/tmp/King_Kong_[1933]/extras/trailer.mkv"
# Results in "/tmp/King_Kong_3/cover.jpg" as expected
relative_path "/tmp/King_Kong_[1933]/" "/tmp/King_Kong_3/cover.jpg"
When using expansions in a parameter expansion prefix/suffix expression, the expansion needs to be quoted separately or it will match as a pattern. The quotes around the outer parameter expansion does not protect against this.
This means that any variable that contains e.g. brackets, asterisks or question marks may not match as expected. In the example, [1933]
was interpreted as a pattern character range and would therefore match /tmp/King_Kong_3/
but not /tmp/King_Kong_[1933]/
as was the intention.
If you wanted to treat the string as a pattern, such as suffix=".*"; file="${var%$suffix}";
then you can [[ignore]] this suggestion.


| |
|
|
| |
Follow
the Short NBA Season Online by CMPnet
The 1999 NBA will be hardly
recognizable when it finally debuts, with a shortened season and
a major reshuffling of players. NetGuide helps you stay on top of
it.
PC
Game Collecting Tips by CNET
Don't throw out that old game! CNET Gamecenter.com tells you how
to start and maintain a collection of rare and classic computer
games.
Future
Windows by ZDNet
PC Computing got their hands on the version we'll all be
using sooner than you think. Is it the Windows you've been waiting
for?
New
Microsoft Content Brought to You
Links to Microsoft's Home
Advisor, Expedia, and CarPoint can now be found on Compaq's
Secure Web Shopping page with useful information on finding homes
and loans nationwide, travel, finding your dream car, and more.
|
|
|
|
Browse for web events happening in real time, in the categories that interest you most. Once you've found what you're looking for, OnNow makes it super easy for you to get there.
ShockRave
Trivia 2nd Edition
Fun questions on movies, music, and daily life. Remember, the more points
you get, the higher your score.
Get Linked Up!
Use your Presario to link to your friends, chat
with colleagues, and
network with people who share your profession, skills, and interests.
Home
Networking
What exactly is a Home Network? The answer is here, along with how one
works, and how you can get one in your home.
|


ngx-planet
is a powerful and easy micro front-end library only for angular.
This is live demo for planet which contains portal, app1, app2.
Github Repository
https://github.com/worktile/ngx-planet
appRootContext.name: {{ appRootContext.name }}
To App1's Dashboard
To App2's Dashboard
portal 特有样式: font-size： 20px
同名样式: color： blue， font-size:12px


Condenser
Condenser mics have a thin conductive diaphragm that sits close to a metal backplate. This configuration works like a capacitor wherein sound pressure vibrates the diaphragm which in turn changes the capacitance to produce the audio signal. Since they use capacitance instead of actual moving coils, fidelity and sound quality is improved, making these mics ideal for precision recording in the studio.
Note that this method of sound capture requires power, so you'll need a mixer or direct box with phantom power (except in cases where batteries are used). Whatever instrument you are trying to record, condenser mics will get the job done so long as the sound pressure levels aren't too high. Just remember to handle them with care as they are not as sturdy as dynamic mics.
Dynamic
If you're looking for something reliable and versatile, then you ought to start with dynamic mics. Thanks to their moving coil magnetic diaphragm, these mics reliably capture sound and can do so even at high sound pressure levels.
As such, you can use them for miking loud sound sources like bass and guitar amplifiers, and even drum kits without worrying about unwanted distortion or damage. Finally, they are not just for high SPL (Sound Pressure Level) applications because they work quite well in quieter settings.
Ribbon
While these mics are no longer as popular, Ribbon mics were once very successful particularly in the radio industry. The light metal ribbon used in these mics allows it to pickup the velocity of the air and not just air displacement. This allows for improved sensitivity to higher frequencies, capturing higher notes without the harshness while retaining a warm vintage voicing.
These days, interest for Ribbon mics have returned, especially since modern production ribbon mics are now sturdier and more reliable than their old counterparts, making them viable for live multi-instrument recording on venues where noise level is manageable. You can also use them for recording if you're looking for vintage vibe, or you can set it up in combination with dynamic or condenser mics for a more open sounding track.


Blaze
business
About Us
phone
Contact Us
forum
FAQs
person
My Account
face
My Profile
vpn_key
Change Password
star_half
Rate App
share
Share It
exit_to_app
Logout
Right Panel
Right panel content goes here
menu
menu
Blaze
notifications
more_vert
Privacy Policy
Terms & Conditions
Navigation
Component Page
Default Route (404)


PreloadJS can load a variety of media. In this example, click each example to load its related item. Once the item is loaded, it will display (image, svg), play (sound), apply to the document (css), or display an alert (script). Note that when loading images, sounds, css, scripts, or svg locally, you need to ensure that PreloadJS uses tag loading to avoid cross-origin errors. Other media types will not load locally.


Your empire has been reset, for the reason given below:
%s
We've created a new one for you and you can now rebuild!
If you're unsure where to go from here, you might want to take a look at the Getting Stared guide again. Otherwise, feel free to jump right in!
Click “Start” to get back into it!


Have you ever searched for an STA timetable on your phone, only to be redirected back to a click march for the link Google already gave you?
Me too!
So I figured I would build a simple timetable viewer for STA routes. And now here you are.
Don't get me wrong. The STA is awesome. (Ira, where are you my man?) I was just looking for something they don't have. Yet.
If you run into any problems or have an idea, please open an issue on GitHub.
Thanks for checking out my project.
sean
This website is not affiliated with the Spokane Transit Authority. At all.
The information shown here is based on publicly available Google Transit Feed Specification data provided by the STA on the GTFS Exchange website.
These timetables show regular routes only, and do not account for detours or other rider alerts.
If you need to quickly look up a timetable then you're in the right place. But under no circumstances should you base any life-altering decisions on what you find here.
For the latest and most accurate information, you should really visit the Spokane Transit Authority.
This is Sean's idea. Fork it on GitHub.


Organisations must report to AUSTRAC if they send or receive IFTIs and are one of the following:
Authorised deposit-taking institutions (ADI)
Registered providers of designated remittance services
Entities that sit between an institution that orders IFTIs and one that receives IFTIs
Reports must be submitted within 10 business days after the transaction is sent or received.
IFTI reports contain:
your organisation's details
the transfer instruction
parties involved in the transaction
the remittance service providers of the originating and destination countries
any additional information relating to the instruction
There are two types of IFTI reports: one for outward-bound/inward- bound IFTIs and one for designated remittance arrangements.


In July-August 2014, members of MappingDC worked with about 20 students ages 12-18 in Washington, DC to map out Georgia Avenue, a major commercial corridor in a largely lower-income part of town. The idea was to collect data on businesses so local groups and citizens can use it, while at the same time teaching the kids new skills and getting them engaged in their community while seeing it from a new viewpoint through geography and mapping. By the end, the students added almost 300 businesses to OpenStreetMap along the street and learned about geography and mapping.
The project is part of the city’s Summer Youth Program, where young people work with local nonprofits on their projects that benefit the community. The nonprofit in this case is MOMIE’s TLC, which teaches minority students about local history, social justice, entrepreneurship, business skills and such. Part of their summer curriculum is to work with two local nonprofits, the Georgia Avenue Business Association (GABA) and the Georgia Avenue Community Development Task Force, on a biennial business survey, where they track what businesses exist and what local residents want, then have community meetings to discuss the survey and the mapping data that was collected. Previously the survey and data was just on the Task Force’s website, so it wasn’t very easy for people to find or use it – we figured, why not put this data they’re already collecting in a place where it’s more accessible and anybody around the world can use, while at the same time getting local kids involved – OpenStreetMap!
Buildings for many of the areas around Georgia Avenue were missing, so Tasking Manager was used to help subdivide the area, and help volunteers target the missing buildings. Volunteers helped add buildings along the avenue and elsewhere in the area, so we had a good base for the students to use. Andrew and Steven met with the Youth Ambassadors and organizers and gave a presentation on OpenStreetMap, with a brief demo of the system. They were excited to use it. Then came the actual business information. The nonprofits developed forms for the students to use, and they went out to collect that data. Having done this multiple times in the past, the nonprofits had good forms and steps worked out already. (Along the way, the students also spoke with business owners about entrepreneurship and business skills, and refined an “elevator speech,” as part of their curriculum.) The students also collected some info on the building structures and facades, which the businesses can use to apply for “Great Streets” revitalization grants from the city government. For the data entry into OSM, Andrew, Steven, Brandon and Richard met with the students at a community center to help them enter the data they collected back into OpenStreetMap. After some compuer struggles (more on that below) we got the students logins and they started to add the data they had collected.
The students mapped at least 268 places, including local businesses, restaurants, fire stations, offices, salons, etc. We expect there are more now the project is done. About 7 students were registered on OpenStreetMap. One student even started mapping mailboxes on the street on her own, outside of the project. We are thinking about more interaction in the future with them, like other community mapping sessions. The data was also used to create a poster-sized map for a meeting of the Georgia Avenue Community Development Task Force, where local residents will discuss business and development needs. The Youth Ambassadors presented on their project and received a standing ovation, and the maps were printed and used in community conversations during the meeting.


We are a new startup based in the Bay Area the East Bay to be exact. We are a medicinal Cannabis company. Our goal is to provide an alternative medicine for many common Ailments such as muscle pain, joint pain, rashes, burns, psoriasis,sprains, RLS,fibromyalgia ect... We also make Tinctures and Edibles for such things as Insomnia, Migrains, Depression, Anxiety, Stress, ect...... We us only organic non GMO ingredients. Our Goal is to provide a healthier alternative to big Pharma drugs with all of the negative side effect enviromental issue from manufacturing and the high prices that most of the medications have attached to them


"Lets make this idiomatic Ruby by removing all the whitespace and putting it all on one line." 😂 #rubyconf
11/12/2016, 11:40:30 AM
Favs: 3
Retweets: 0
link--- layout: tweet ---
"Lets make this idiomatic Ruby by removing all the whitespace and putting it all on one line." 😂 #rubyconf
11/12/2016, 11:40:30 AM
Favs: 3
Retweets: 0
link


Open Liberty is a lightweight open framework for building fast and efficient cloud-native Java microservices. Find out more at openliberty.io.
The Eclipse MicroProfile project is an open community with the aim of optimizing enterprise Java for a microservices architecture. MicroProfile evolves with guidance from the community.
If you want to share your thoughts, you can post straight to the MicroProfile Google group.
For more information about the features used in this application, see the Open Liberty documentation:


Home
Specialists
Services
Clinics
Login
Register
First Name
Last Name
Password
Confirm Password
Have an Account already ?
Login


[{{ error }}]
[{{ message }}]
{{ form.submit(class="submit") }}
Don't have an account ? Sign Up
Forgot your password ? Reset


Utilizing unicode built-in font variants it's possible to create formatted text without any markup.
This allows to include formatted texts to browser native tooltips which do not support any formatting.
Bold — test me! |
Italic — test me! |
Bold Italic — test me! |
|
|
|
|
You can combine those to format text in a better way.


--- title: Additional code keywords: fastai sidebar: home_sidebar nb_path: "nbs/additional_code.ipynb" ---
The GUI code in alphapept/gui
is not covered by notebooks. The reason for this is that a key feature of streamlit
is that code changes can be directly displayed in the browser application. streamlit
watches the *.py
-files and automatically updates accordingly. Having an intermediate notebook that first needs to be run before the code changes are propagated would limit the coding experience with having live feedback of code changes.
Regardless of that, complex algorithmic code that requires more documentation should always reside in the notebooks.
The central entry point of the GUI is webui.py
. When the AlphaPept webpage launches, the user can choose from a list of options in the sidebar (e.g. Start, Status and New experiment).
The options that are displayed are all elements in the sidebar dictionary in webui.py
. In order to add a new page, simply import your page as a module and add it to the dictionary.
The files test_ci.py
and test_gpu_.py
are part of the continous integration pipeline. As indicated in the contributing
-page they can be run on a local machines.
{% include note.html content='Unless you are a core developer, there should not be the need to add integration tests. Feel free to create a PR in case.' %}
The sandbox folder contains multiple sample notebooks that show how AlphaPept can be interfaced. Furthermore, the underlying notebooks for the paper figures are present.
The folder /figures
contains the output of the figure notebooks, which are indicated with a P
. These rely on a helper file named test_files.py
.
The folder /timings
contains timing documents from different machines. They were created running timing_test.py.
Some notebooks create/download files, which are stored in /temp
settings_template.yaml
. This can be used to screen to parameters and check their influence on performance.test_helper.py
file.The installer-folder has contains a batch script to freeze the current installation and create a one-click installer. In order to create the installer, we use the tool Inno Setup.


Robert Thurnher
from datetime import date
print(date.today())
2017-05-29
Visual Analytics (VA), "the science of analytical reasoning facilitated by interactive visual interfaces" [Thomas and Cook, 2005], [Loukides, 2010]:
... generally denotes the cumbersome task of making data useful for analysis.
How can we support data wrangling with VA techniques?
[Kandel et al., 2011]
from IPython.core.display import Image, display
display(Image('../thesis/figures/state-of-the-art/data-wrangler.png', width=600))
from IPython.core.display import Image, display
display(Image('../thesis/figures/state-of-the-art/google-refine.png', width=600))
[Khan, 2015]
from IPython.core.display import Image, display
display(Image('../thesis/figures/state-of-the-art/kibana-timelion.png', width=600))
from IPython.core.display import Image, display
display(Image('../thesis/figures/state-of-the-art/jupyter-notebooks.png', width=500))
| DataWrangler | OpenRefine | Timelion | Jupyter | |
|---|---|---|---|---|
| Time-Oriented | No | Yes | Focus | Supported |
| Charting | Little | Some | Extensive | Extensive |
| Approach | Spreadsheet | Spreadsheet | CLI + DSL | CLI + REPL |
| DataWrangler | OpenRefine | Timelion | Jupyter | TempMunger | |
|---|---|---|---|---|---|
| Time-Oriented | No | Yes | Focus | Supported | Focus |
| Charting | Little | Some | Extensive | Extensive | Focus |
| Approach | Spreadsheet | Spreadsheet | CLI + DSL | CLI + REPL | Dashboard |
Iterative design, implementation, and evaluation of a software prototype
Nested model by [Munzner, 2009], including following steps:
[Miksch and Aigner, 2014]
from IPython.core.display import Image, display
display(Image('../thesis/figures/introduction/cvast-triangle.png', width=400))
from IPython.core.display import Image, display
display(Image('../thesis/figures/design/mockup-6.png', width=800))
from IPython.core.display import Image, display
display(Image('../thesis/figures/implementation/screenshot-charts-page.png', width=550))
from IPython.core.display import Image, display
display(Image('../thesis/figures/architecture/system-overview.png', width=350))
from IPython.core.display import Image, display
display(Image('../thesis/figures/architecture/backend-components.png', width=400))
from IPython.core.display import Image, display
display(Image('../thesis/figures/architecture/backend-components.png', width=400))
That is, shared by both parts of the study:
Our approach and prototype proved to be generally useful and viable.
... mainly relating to incompleteness of supported transformation operations and visualizations.
ordered by frequency descending:
again, ordered by frequency descending:
Which data transformations are best supported by analytical methods and for which transformations is visual support beneficial?
How do concrete data wrangling workflow processes look like and how can these processes be supported by VA methods?
Instead of fiddling around with the data manually,
applying hand-crafted scripts, mainly tapping in the dark:
→ Clear overview plus transformation suggestions are conveniently presented and at the fingertips.
What data wrangling tasks need to be tackled in particular when dealing with time-oriented data and how can we support them with VA methods?
How can we support data wrangling with VA techniques?
→ Requiring special attention and oversight.
These are tasks where fully automated approaches fall short, comparatively.
→ Human empowered through VA techniques can, still, perform better.
The sweet spot is most probably located somewhere in between:
Augmenting an interactive interface
driven by powerful visualizations
with semi-automatic suggestions,
reasonably.


import json
from ibmcloud_python_sdk.config import params
from ibmcloud_python_sdk.utils.common import query_wrapper as qw
from ibmcloud_python_sdk.power import get_power_headers as headers
from ibmcloud_python_sdk.utils.common import resource_not_found
from ibmcloud_python_sdk.utils.common import resource_deleted
from ibmcloud_python_sdk.power import instance
from ibmcloud_python_sdk.utils.common import check_args
[docs]class Pvm():
def __init__(self):
self.cfg = params()
self.instance = instance.Instance()
[docs] def get_pvms(self, instance):
"""Retrieve Power Virtual Instance list for specific cloud instance
:param instance: Cloud instance ID
:type instance: str
:return: PVM list
:rtype: list
"""
try:
# Check if cloud instance exists and retrieve information
ci_info = self.instance.get_instance(instance)
if "errors" in ci_info:
return ci_info
# Connect to api endpoint for cloud-instances
path = ("/pcloud/v1/cloud-instances/{}/pvm-instances".format(
ci_info["name"]))
# Return data
return qw("power", "GET", path, headers())["data"]
except Exception as error:
print("Error fetching Power Virtual Instance list for cloud"
" instance {}. {}".format(instance, error))
[docs] def get_pvm(self, instance, pvm):
"""Retrieve specific Power Virtual Instance by name or by ID
:param instance: Cloud instance ID
:type instance: str
:param pvm: Power Virtual Instance name or ID
:type pvm: str
:return: PVM information
:rtype: dict
"""
by_name = self.get_pvm_by_name(instance, pvm)
if "errors" in by_name:
for key_name in by_name["errors"]:
if key_name["code"] == "not_found":
by_id = self.get_pvm_by_id(instance, pvm)
if "errors" in by_id:
return by_id
return by_id
else:
return by_name
else:
return by_name
[docs] def get_pvm_by_id(self, instance, id):
"""Retrieve specific Power Virtual Instance by ID
:param instance: Cloud instance ID
:type instance: str
:param id: Power Virtual Instance ID
:type id: str
:return: PVM information
:rtype: dict
"""
try:
# Check if cloud instance exists and retrieve information
ci_info = self.instance.get_instance(instance)
if "errors" in ci_info:
return ci_info
# Connect to api endpoint for cloud-instances
path = ("/pcloud/v1/cloud-instances/{}/pvm-instances/{}".format(
ci_info["name"], id))
# Return data
return qw("power", "GET", path, headers())["data"]
except Exception as error:
print("Error fetching Power Virtual Instance with ID {} for cloud"
" instance {}. {}".format(id, instance, error))
[docs] def get_pvm_by_name(self, instance, name):
"""Retrieve specific Power Virtual Instance by name
:param instance: Cloud instance ID
:type instance: str
:param name: Power Virtual Instance name
:type name: str
:return: PVM information
:rtype: dict
"""
try:
# Check if cloud instance exists and retrieve information
ci_info = self.instance.get_instance(instance)
if "errors" in ci_info:
return ci_info
# Retrieve pvms
data = self.get_pvms(ci_info["name"])
if "errors" in data:
return data
# Loop over pvms until filter match
for pvm in data['pvmInstances']:
if pvm["serverName"] == name:
# Return data
return pvm
# Return error if no pvm is found
return resource_not_found()
except Exception as error:
print("Error fetching Power Virtual Instance with name {} for"
" cloud instance {}. {}".format(name, instance, error))
[docs] def get_pvm_networks(self, instance, pvm):
"""Retrieve networks list for Power Virtual Instance
:param instance: Cloud instance ID
:type instance: str
:param pvm: Power Virtual Instance name or ID
:type pvm: str
:return: PVM network list
:rtype: list
"""
try:
# Check if cloud instance exists and retrieve information
ci_info = self.instance.get_instance(instance)
if "errors" in ci_info:
return ci_info
# Check if pvm exists and retrieve information
pvm_info = self.get_pvm(instance, pvm)
if "errors" in pvm_info:
return pvm_info
# Connect to api endpoint for cloud-instances
path = ("/pcloud/v1/cloud-instances/{}/pvm-instances/{}"
"/networks".format(ci_info["name"],
pvm_info["pvmInstanceID"]))
# Return data
return qw("power", "GET", path, headers())["data"]
except Exception as error:
print("Error fetching network list for Power Virtual Instance list"
" for cloud instance {}. {}".format(instance, error))
[docs] def get_pvm_network(self, instance, pvm, network):
"""Retrieve specific network from Power Virtual Instance by name or by ID
:param instance: Cloud instance ID
:type instance: str
:param pvm: Power Virtual Instance name or ID
:type pvm: str
:param network: Network name or ID
:type network: str
:return: PVM network information
:rtype: dict
"""
by_name = self.get_pvm_network_by_name(instance, pvm, network)
if "errors" in by_name:
for key_name in by_name["errors"]:
if key_name["code"] == "not_found":
by_id = self.get_pvm_network_by_id(instance, pvm, network)
if "errors" in by_id:
return by_id
return by_id
else:
return by_name
else:
return by_name
[docs] def get_pvm_network_by_id(self, instance, pvm, id):
"""Retrieve specific network from Power Virtual Instance by ID
:param instance: Cloud instance ID
:type instance: str
:param pvm: Power Virtual Instance name or ID
:type pvm: str
:param id: Network ID
:type id: str
:return: PVM network information
:rtype: dict
"""
try:
# Check if cloud instance exists and retrieve information
ci_info = self.instance.get_instance(instance)
if "errors" in ci_info:
return ci_info
# Check if pvm exists and retrieve information
pvm_info = self.get_pvm(instance, pvm)
if "errors" in pvm_info:
return pvm_info
# Connect to api endpoint for cloud-instances
path = ("/pcloud/v1/cloud-instances/{}/pvm-instances/{}"
"/networks/{}".format(ci_info["name"],
pvm_info["pvmInstanceID"],
id))
# Return data
return qw("power", "GET", path, headers())["data"]
except Exception as error:
print("Error fetching network with ID {} from Power Virtual"
" Instance {} for cloud instance {}. {}".format(
id, pvm, instance, error))
[docs] def get_pvm_network_by_name(self, instance, pvm, name):
"""Retrieve specific Power Virtual Instance by name
:param instance: Cloud instance ID
:type instance: str
:param pvm: Power Virtual Instance name or ID
:type pvm: str
:param name: Network name
:type name: str
:return: PVM network information
:rtype: dict
"""
try:
# Check if cloud instance exists and retrieve information
ci_info = self.instance.get_instance(instance)
if "errors" in ci_info:
return ci_info
# Check if pvm exists and retrieve information
pvm_info = self.get_pvm(instance, pvm)
if "errors" in pvm_info:
return pvm_info
# Retrieve networks
data = self.get_pvm_networks(ci_info["name"],
pvm_info["pvmInstanceID"])
if "errors" in data:
return data
# Loop over network until filter match
for network in data['networks']:
if network["networkName"] == name:
# Return data
return network
# Return error if no network is found
return resource_not_found()
except Exception as error:
print("Error fetching network with name {} from Power Virtual"
" Instance {} for cloud instance {}. {}".format(
name, pvm, instance, error))
[docs] def delete_pvm(self, instance, pvm):
"""Delete Power Virtual Instance
:param instance: Cloud instance ID
:type instance: str
:param pvm: Power Virtual Instance name or ID
:type pvm: str
:return: Deletion status
:rtype: dict
"""
try:
ci_info = self.instance.get_instance(instance)
if "errors" in ci_info:
return ci_info
# Check if pvm exists and retrieve information
pvm_info = self.get_pvm(instance, pvm)
if "errors" in pvm_info:
return pvm_info
# Connect to api endpoint for cloud-instances
path = ("/pcloud/v1/cloud-instances/{}/pvm-instances/{}".format(
ci_info["name"], pvm_info["pvmInstanceID"]))
data = qw("power", "DELETE", path, headers())
# Return data
if data["response"].status != 200:
return data["data"]
# Return status
return resource_deleted()
except Exception as error:
print("Error deleting Power Virtual Instance {} from cloud"
" instance {}. {}".format(pvm, instance, error))
[docs] def delete_pvm_network(self, instance, pvm, network):
"""Delete Power Virtual Instance network
:param instance: Cloud instance ID
:type instance: str
:param pvm: Power Virtual Instance name or ID
:type pvm: str
:param network: Network name or ID
:type network: str
:return: Deletion status
:rtype: dict
"""
try:
ci_info = self.instance.get_instance(instance)
if "errors" in ci_info:
return ci_info
# Check if pvm exists and retrieve information
pvm_info = self.get_pvm(instance, pvm)
if "errors" in pvm_info:
return pvm_info
net_info = self.get_pvm_network(ci_info["name"],
pvm_info["pvmInstanceID"],
network)
if "errors" in net_info:
return net_info
path = ("/pcloud/v1/cloud-instances/{}/pvm-instances/{}"
"/networks/{}".format(ci_info["name"],
pvm_info["pvmInstanceID"],
net_info["networkID"]))
data = qw("power", "DELETE", path, headers())
# Return data
if data["response"].status != 200:
return data["data"]
# Return status
return resource_deleted()
except Exception as error:
print("Error deleting network {} from Power Virtual Instance {}"
" for cloud instance {}. {}".format(
network, pvm, instance, error))


ARLATEX(1) User Commands ARLATEX(1) NAME arlatex - archive a number of ancillary LaTeX files into a master .tex file SYNOPSIS arlatex [--outfile=filename.tex] --document=filename.tex filename ... arlatex --version arlatex --help DESCRIPTION arlatex is an archiving program like shar, tar, zip, etc. Unlike those other archivers, however, arlatex is designed specifically for use with LaTeX. arlatex takes the name of a master .tex file and a number of ancillary files used by that master file (e.g., .tex, .sty, .cls, and .eps files). From these, arlatex outputs a single file that, when it's run through latex, both regenerates the ancillary files and compiles the document into a .dvi file. arlatex has a few advantages over other archiving programs: · The .tex files produced by arlatex are in a plain-text format. They are therefore perfectly portable and trivial to e-mail to colleagues. · arlatex needs only LaTeX to run. There is no dependence on any external tools. · There is no explicit extraction step. As the generated document is run through latex, it extracts the ancillary files and builds the document in the same step. The user running latex may not even notice that additional files are being produced. arlatex works by writing a number of "\begin{filecontents*}" ... "\end{filecontents*}" blocks to the output file, followed by the contents of the master file. (In fact, any LaTeX comments at the beginning of the master file are hoisted to the top of the generated file. This enables the author to draw attention, if so desired, to the fact that ancillary files will be generated.) The "filecontents*" environment, part of standard LaTeX2e, writes its contents verbatim to a specified file. OPTIONS --version Output the arlatex script's version number. --help Output brief arlatex usage information. --document=.tex file Specify the master document. The output from arlatex is this file with all of the other files named on the command line prepended to it. Note that "--document" is a mandatory parameter; arlatex will abort with an error message if "--document" is not specified. --outfile=.tex file Specify the output file. The output file looks just like the master document, but with a number of "filecontents*" environments preceding the "\documentclass" line. If "--outfile" is not specified, output will be written to the standard output device. EXAMPLES Suppose you have a paper called paper.tex that loads a custom package with "\usepackage{mypackage}". You want to submit the paper to a conference, but you want to be absolutely certain that mypackage.sty doesn't get lost as your paper is shuttled from person to person. Here's how arlatex can be of use: arlatex --document=paper.tex mypackage.sty --outfile=paper-submit.tex When paper-submit.tex is processed with latex, it builds just like the original paper.tex, except that it additionally creates a mypackage.sty in the current directory: This is TeX, Version 3.14159 (Web2C 7.3.1) (paper-submit.tex LaTeX2e <1999/12/01> patch level 1 Babel <v3.6Z> and hyphenation patterns for american, french, german, ngerman, italian, nohyphenation, loaded. LaTeX Warning: Writing file `./mypackage.sty'. (/usr/share/texmf/tex/latex/base/article.cls Document Class: article 1999/09/10 v1.4a Standard LaTeX document class (/usr/share/texmf/tex/latex/base/size12.clo)) (mypackage.sty) . . . As another example, here's how you could bundle together all of the files needed to build a large document for longevity: arlatex --document=thesis.tex abstract.tex introduction.tex background.tex approach.tex experiments.tex relatedwork.tex conclusions.tex before.eps after.eps fast.eps slow.eps podunkUthesis.cls --outfile=thesis-all.tex As the number of files to archive together increases it becomes more cumbersome to run arlatex manually. Fortunately, using arlatex with bundledoc is straightforward. bundledoc finds all of the files needed to build the document, and arlatex combines them into a single file. The following are examples of the "bundle:" line you might use in a bundledoc configuration file: Unix: bundle: (arlatex --document=$BDBASE.tex $BDINPUTS \ --outfile=$BDBASE-all.tex) Windows: bundle: arlatex --document=%BDBASE%.tex %BDINPUTS% \ --outfile=%BDBASE%-all.tex See the bundledoc documentation for more information. CAVEATS arlatex makes use of LaTeX2e's "filecontents*" environment. "filecontents*" refuses to overwrite an existing file. However, it also refuses to create a file that exists anywhere that LaTeX can find it. That is, if the user running latex on an arlatex-generated .tex file already has a /usr/share/texmf/tex/latex/whatever/whatever.sty file then "filecontents*" will refuse to create a whatever.sty file, even in a different directory. SEE ALSO bundledoc(1), latex(1), shar(1), tar(1), zip(1) AUTHOR Scott Pakin<EMAIL_ADDRESS>v1.02 2011-05-01 ARLATEX(1)


Project abbreviations:
One project abbreviation per line.
JIRA URL
Enter the address that you use to access your JIRA instance.


Travel To Norway
Attractions in norway are amazing blah blah blah,you know you gonna love it blah blah blah, the people are very nice to you blah blah blah, i can type so fast that i cant blieve i type this fast blah blha blah,today is a wonderful place for struct mode typedef student .d blah b lha blha...,tommrowo is tuesday.
Travel To Norway
if the day is friday than you will have a lot of opportunities to evalutate your possibilites of getting into norways university ,but still the chances are not high you are required to have high education for the following reasons you never know what to expect when you visit different places .


| Group | Percent | Total | Actions |
|---|---|---|---|
| Results found |
99.54%
|
299044 | Not detected |
| Browser names |
98.36%
|
295502 | Detected Not detected |
| Rendering engines |
95.78%
|
287760 | Detected Not detected |
| Operating systems |
98.33%
|
295396 | Detected Not detected |
| Device brands |
79.18%
|
237890 | Detected Not detected |
| Device models |
18.49%
|
55556 | Detected Not detected |
| Device types |
98.4%
|
295623 | Detected Not detected |
| Is mobile |
99.54%
|
299044 | Not detected |
| Is bot |
99.54%
|
Detected Not detected | |
| Bot names |
0%
|
Detected Not detected | |
| Bot types |
0%
|
Detected Not detected |


James Bomotti
Home
About Me
Blog
Technical
Cultural
Projects
Contact Me
GitHub
LinkedIn
Twitter
Google+
Facebook
Instagram
E-Mail
Attack!
Heal
Play Again!
Hack'n'Slash
Kill or be killed!
Player
Enemy
Health
100
100
Mana
100
100


|
Computer
Miscellaneous
|
Computer
Command Menu
|
Planet
Command Menu
|
Computer
Displays
<C>
View Ship Catalog
This tool lets you
view the specifications for all the available ships in the game.
You can get a list of the ships and choose whichever one strikes your fancy.
The display will show the following information -
Basic Hold Cost
Main Drive Cost
Computer Cost
Ship Hull Cost
Base Cost
Minimum and Maximum
Holds
Maximum Fighters
Maximum Shields
Number of Moves per
Day
Maximum Number of
Mines
Maximum Number of
Genesis Torpedoes
Offensive Odds for
Combat
Maximum Number of
Marker Beacons
TransWarp Drive Capability
Long Range Scanner
Capability
Planet Scanner Capability
In addition to all
this information, there is a brief narrative about the capabilities and
shortcomings of each model.
<D>
Scan Daily Log
This will re-display
the Daily Journal that you see when you enter the game.
<E>
Evil Trader Class
This is a display
of the titles to which you can aspire if you are of negative alignment.
It shows the levels, titles and the number of experience points needed
to attain that level.
<G>
Good Trader Class
This is a display
of the titles to which you can aspire if you are of positive alignment.
It shows the levels, titles and the number of experience points needed
to attain that level.
<H>
Alien Trader Ranks
You will encounter
traders from other galaxies as you make your way through the universe.
You can interact with these creatures the same as you do with the Traders
native to your 1000 sectors. Of course, aliens are either good or
bad. Their alignment (good or evil) can make a big difference in
how you want to associate (or not associate) with them. When you
use this selection, your computer will tell you everything you need to
know.
<J>
Planetary Specs
The use of this display
is very similar to that of the Ship Catalog. A ? will show you a
list of all the planet types. Choose the one you would like to know
more about and the display will produce a picture and a brief description
of the planet. It will also detail some of the pros and cons of that
planet type.
<L>
List Trader Rank
This choice will show
you all the players in the game in order of experience. Your prompt
will ask if you would like the list to show the Titles of the players or
their Values in Experience points. Each trader will be displayed
with his or her title or value, the number of the Corporation to which
he/she belongs, and the type of ship currently being used.
<Y>
Personal Planets
If you have planets
that you want to keep as personal, you can view them using this option
just as you can view Corporate Planets using the <L>
option in the Corporation Menu.
<Z>
Active Ship Scan
This display will
show a list of all your ships, the ship number, location, ship type, fighters
& shields and the number of hops to get to it.
|
Computer
Miscellaneous
|
Exit
Help
|
Planet
Command Menu
|


{%extends 'base.html'%} {% load bootstrap4 %} {%block content%}
Please feel free to view others' projects, rate, comment, and add projects of your own as well.
{% for project in projects %}{{project.description}}
{{rating.critic}} {{rating.text}} posted on {{rating.pub_date}}
{% endif %} {% endfor %}


Microservice Onlineshop
Microservice Online shop
Articles
Basket
Checkout
Microservice Onlineshop - Your basket!


{% extends 'pageWrapper.html' %} {% import "macros.html" as macros %} {% block head %}
Single Player Race Rom: No spoiler or multidata exists, parts of the rom are encrypted and rooms cannot be created.
{% endif %}| Seed: | {{ seed.id|suuid }} |
| Created: | |
| Spoiler: | Download |
| Players: |
|
| Rooms: |
{% call macros.list_rooms(rooms) %}
|
| Patches: |
|


On Chrome on Android, tap the screen to start playing video stream.
Show Pinball image to camera to display a colorful object on top of it. Tap the screen to rotate the object.
← Back to examples


We detected database anomalies in your plans data on api ${api.name}
(id ${api.id}
), and fixed it.
See the details in related documentation
Those plans have been closed :
<#list closedPlans as plan>
- Plan ${plan.name}
(id ${api.id}
)
#list>
Those plans have been created :
<#list createdPlans as plan>
- Plan ${plan.name}
(id ${plan.id}
)
#list>


Welcome to my Final Project page, where I will be documenting the process. For our Final Project, we have to Design, Fabricate, Intergrate and lastly Present our project. The Project Requirements are as follows:
3D component using 3D printing (irregular structures, containers)
Integrate:
Smart controller using a microcontroller - Arduino Uno (test) -> Nano (final)
Input sensor (s) to read-in data
Output actuators or displays
Write the control program
Power the system (but cannnot use USB, 5V input socket)
Present:
Create a SINGLE .png slide (1920x1080) showing our final product (consisting of Project title, Your name, student id, class, EP1000, Features, Construction details)
Create a 1-minute video on how your project works and upload to Youtube/ Github
5-minute presentation to describe your project
The Process
Firstly, I had a rough idea of what I wanna do:
Initial idea: (sketch)
I wanted to make a motion sensing key holder, when everyone is at home with their keys slot in, it will light up beautifully. Each time a family member comes home, a "Welcome Home" sign will also light up. This holder can add as a nice decoration near the door area, and will also encourage people to come home. There would be like a weight detector/ magnet to close the circuit, and trigger the output. However I feel i should not be too ambitious at the start as this is my first project integrating so many elements. Furthermore, there was also no existing codes I could refer to online.
Final idea: (sketch)
After the inclass lessons, i felt that design and making a 3D illusion mood lamp fitted with motion sensors was not a bad idea too, and consulted Mr Rodney of my idea. He then gave me reccomendations on how to proceed. One concern was the PIR sensor as it is quite weird protruding out, as well as getting the code to work. I then decided to replace it with a touch switch instead as it has the same fuctions too - changing the moods of the lamp.
List the digital fabrication techniques you will use
Write up a Bill-of-materials
EP1000 Digital Fabrication Fundamentals
Module Project
Group: 1
Adm No: P2027863
Name: Chou Wei Zhi
Project Title: Dragon Mood Lamp
What does it do?
It serves as a night light / a simple decoration on your study table.
It lights up when the user touches the touch switch, it cycles through the 7 colours of the rainbow,
and there is an automatic rainbow cycler at the end.
What are its features?
The plexiglass/ clear acrylic gives it an illusion that the object that lights up on the surface is in 3D
a simple touch switch allows user to change moods according to how they are feeling.
Integration
Techniques
Description
CAD Design, Graphics
Graphics and design on the acrylic face, case to house the Nano, parametric wooden box
Laser cutting
Clear acrylic, parametric wooden box, supports for the acrylic
3D Printing
Nano case, touch switch case
Micro-controller
Arduino UNO/ Nano compatible
Input devices
Touch switch
Output devices
6 units WS2812 RGB Neo Pixels Strip
Bill of Materials
Qty
Item Description
Approx. Cost
1
Arduino Nano with USB cable
$3
1
Clear Acrylic for Graphics of the Lamp
Fablab
6 pcs
WS2812 RGB Neo Pixels Strip
$1.20
1
Touch switch
$0.10
1
5V DC Female Power Jack
$5
1
Mini Breadboard
$0.30
10-15
Multi-core flexible wires
$0.20
Then, I went to look up designs on Pinterest, and decided on this dragon.
Dragons in Chinese culture symbolize great power, good luck and strength, as well as a rain deity that fosters harmony. During the days of Imperial China, the Emperor of China usually used the dragon as a symbol of his imperial strength and power. Today dragons decorate roofs and gates of temples, both as guardians and to symbolize the dragon's power of clarity. Choosing this as a design element for a desk mood lamp can foster good energy, and clarity of mind to be productive.
Image trace> 3 Colours > Expand, so the rastor image becomes a vector
3) File print to pdf
Do a file> print instead of a save as to pdf
4) Print out to A4
Printed out on A4 to gauge the dimentions of the mood lamp, and the supports below
Coding:
#define:
I modified the code from the button cycler, #define the BUTTON_PIN, PIXEL_PIN, and my PIXEL_COUNT. Although i have 6 pcs of neopixels, but i like to use 12 as the rainbow cycler effects are nicer and smoother ;D
Debounce button:
pinMode(BUTTON_PIN, INPUT_PULLUP). If new state is low, and old state is high, there is a short delay of (20)
Colour picker:
This tool was helpful for me when picking colors:
LED colors are build up out of 3 numbers: red, green and blue (RGB).
Each number is a byte so it each has a range of 256 values (Decimal: 0 … 255, Hexadecimal: 00 … FF).
Usage:
Click the input box and a popup will show a color picker. Choose your color, and the hexadecimal value will appear.
To use this in your Arduino Sketch:
The first 2 characters represent RED,
the second set of two characters is for GREEN and
the last 2 characters represent BLUE.
Add ‘0x‘ in front of each of these hex values when using them (‘0x’ designates a hexadecimal value).
Example:
This purple is B700FE.
The hexadecimal values: red is B7, green is 00 and blue is FE.
As the Arduino can work straight away with hexadecimal number, you will need to type “0x” in front of it – so it can see the difference between regular decimal number and these hexadecimal numbers.
So for example a NeoPixel strip.Color() call would look something like this:
strip.Color( 0xB7, 0x00, 0xFE );
Note: LED colors might be slightly off – after all they are not calibrated.
Modified the colours:
After testing out the strandtest under Files > Examples > Adafruit NeoPixel > strandtest, as well as the buttoncycler, I didnt want the colours to be that vibrant as this is a mood lamp, and just wanted a more mellow colour tone with a lighter saturation, hence i searched up how to modify it. Also, some codes like 'theaterChase' and 'theaterChaseRainbow' were bright flashing lights which didnt suit the mood lamp, so i removed it totally.
I have 9 cases, so after the #9th case, it restarts from case 0 which is - colorWipe(strip.Color( 0, 0, 0), 50); // Black/off
1) Cut out
2) Red
3) Orange
4) Yellow
5) Green
6) Blue
7) Indigo
8) Violet
Rainbow Cycler:
Here is the code for the rainbow cycler. The coolest part of the lightshow. The hue of first pixel runs 3 complete loops through the color wheel. Color wheel has a range of 65536 but it's OK if we roll over, so just count from 0 to 3*65536. Adding 256 to firstPixelHue each time means we'll make 3*65536/256 = 768 passes through this outer loop...
strip.ColorHSV() can take 1 or 3 arguments: a hue (0 to 65535) or optionally add saturation and value (brightness) (each 0 to 255). Here we're using just the single-argument hue variant. The result is passed through strip.gamma32() to provide 'truer' colors before assigning to each pixel.
In short, i think its each pixel reached its maximum hue at 65535, or maximum brightness at 255, before assigning the same hue and brightness to the next pixel.
Laser Cutting
After programming the colours, its time to prepare the laser cut files. The vector file of the dragon is to engrave and cut on a 5mm clear acrylic sheet, and the 5mm parametric box is to be laser cut entirely. Below is steps on how i prepared the files for laser cutting.
Wooden Parametric box:
You can get the combined .dxf file to laser cut here
Laser cut settings:
Process type: Vector
Speed: 20%
Power: 85%
Frequency: 20%
Beizers : On
Cycles : 1
Thickness: 5.2mm
Supports:
Here are the dimentions and thought process behind it. The first layer is for the 6 units of neopixels to go through, 2nd later is where the acrylic piece rest on the wooden support, and layers 3-6 are just duplicated and stacked ontop of each other to support the acrylic piece up.
Laser cut settings:
Process type: Vector
Speed: 8%
Power: 95%
Frequency: 40%
Beizers : On
Cycles : 1
Thickness: 5mm
Acrylic Dragon:
1) Export to .dxf file from AI
Then I open AutoCAD and create polylines to trace around the dragon. As drawing in polyline is creating one continuos line, we can easily highlight this polyline later on and select hairline to laser cut.
2) Trace the outline to laser cut
One tip I learned was to off the snap tool, if not it will take reference points to the illustration, also off the orthomode, as it draws perpendicular lines. We are having a organic shape here.
3) Scale down the drawing
I measured the width of the drawing, it was currently at a weird scale of ~311mm. I drew a 110mm line and scale it down from there.
4) Designing the slot
I went with the rectangular one as the weight distribution is more equal, even though the V-shaped one will look more natural witht the design.
5) Measure overall dimentions and choose acrylic sheet
Measure and gauge carefully, if not you will waste the trip to the laser cutter, or worse you realise while its printing! Red > Cut , Black lines > engraving
6) Settings
Here is the print settings i used for the cutting and engraving the dragon on 5mm acrylic sheet.  For red (cut): Speed: 5%, Power:85%, Frequency: 85%. Cycles:1 and the thickness is 5mm.
7) Finished cutting and engraving
Some parts were very thin, sharp and fragile ( the hairs ) and it actually broke when i was carrying it home.
8) Done with laser cutting the acrylic and parametric box!
Looks kinda sturdy, however the 'circulation' may not be enough for the wires, as well as a breadboard and the microcontroller...
3D printing the Nano case
In this section, I will document the parts i 3d printed - which were the Nano casing, as well as a simple touch switch case.
Nano Casing:
This is a Arduino Nano case with completely accessible pins credits to a user @nspohrer on < https://www.thingiverse.com/> His folder consists of 5 files which has different clearances. One bottom piece, and 4 other versions of top pieces.
For example NANOCASE-top-0.05.stl is for an interference fit with 0.05 mm overlap. The file with +0.05 has a positive clearance of 0.05 mm.
I printed the bottom case normally (which is a nice fit!) , and the top one I used the NANOCASE-top-0.05.stl file, which to my dismay - doesnt fit. (I printed both top and bottom at the same time, but on different ULtimakers, which both could have different tolerances. Black one is the bottom piece, white one is the top piece. My friends adviced me to print the top piece on the same machine as the bottom piece, since it worked, and lowered the wall thickness, to test out again.)
Oops part 2:
It still couldnt fit, and was almost the same as the 1st print. Soo, lesson was over, and i decided to bring both home to see what i can do about it.
Sanding:
The top pieces actually had this clearance(?) that was preventing it from closing. Hence i decided to sand that down to match the level of rest of the brim (?)
It Works:
Now it can close fully and contain the nano properly. One thing still is that it is loose and need to be secured temporarily with masking tape or bluetack.
The Assembly
Here is a assembly video i did, showing the proccess of me applying wood glue, as well as all purpose ahesive glue, which dreis quickly.
However, the process of getting everything to work was not a smooth one. Here are some issues that I faced along the way.
Space constraints:
Theres is actually no way to use this box, hence i have to design for another one. The supports in the middle are 7mm in width, that accounts for most of the space taken up. The Nano, breadboard, and jumper wires have insufficient space. Its either i redeisgn the supports for the acrylic to be thinner in width, or i redesign the parabox. (Anyway its parametric, hence i chose the latter, its easier to edit the dimentions, however the slot wasnt parametric, other than that its fine.)
New para box:
Previosuly the dimentions were 150mm(L) x 70mm(W) x 50mm(H), I added 50mm each to both the length and width, the height remains at 50mm.
NeoPixels
I also had problems wih my neopixels. This was when everything was still going well, where i learned how to solder, as well as use the heat strip to keep the wires together to minimise excessive strain on each wire.
They broke
I think the ball of solder was probably to out of proportion too, as well as me going to and fro from home and school may have strained the wires and eventually. (multi strand wires may also be more fragile after they are heated before already??)
Not working
After i went to sch to resolder and even changed the wires, I did a test run, but it didnt light up, although my touch switch as seen in the pic - was still working. Aites i guess its just my luck
Troubleshoot
I troubleshoot with like 4 other neopixels, 2 worked and 2 did not. There was one with a 6 unit one which worked, hence i just used it. (my efforts from taking the new neopixels and soldering and resoldering them were in vain haha)
Test assembly
This will be the rough layout of all my electronics
Test assembly1 video
3D Print Touch Switch Case:
The Initial Plan
This wa my initial planning of just reverse engineering to laser cut this hole and flush the touch switch on the surface of the box. However I decided to design and 3d print a touch switch, which adds on to the user experience, celebrating the action of the user changing the colours.
The Design
It will be a simple circle surrounding the touch switch, which will be flushed to the touch switch case. It will be infront of the dragon, on the top piece of the box. I will then drill 3 holes on the top piece to allow for the 3 wires running from the touch switch to connect to the bread board, as well as the nano digital input pins.
Touch switch test1 video
Touch switch test2 video (after gluing onto top piece)


We got tables!
- empower innovative infrastructures
- maximize global ROI
- architect dot-com functionalities
- redefine interactive initiatives
- enable user-centric ROI
- productize next-generation applications
- productize proactive applications
- revolutionize granular technologies
- facilitate wireless architectures
- orchestrate 24/365 action-items
- redefine e-business web-readiness
- exploit robust e-markets
- syndicate B2C interfaces


Changelog¶
COLMAP 3.4 (01/29/2018)¶
- Unified command-line interface: The functionality of previous executables have
been merged into the
src/exe/colmap.cc
executable. The GUI can now be started using the commandcolmap gui
and other commands are available ascolmap [command]
. For example, the feature extractor is now available ascolmap feature_extractor [args]
while all command-line arguments stay the same as before. This should result in much faster project compile times and smaller disk space usage of the program. More details about the new interface are documented at https://colmap.github.io/cli.html - More complete depth and normal maps with larger patch sizes
- Faster dense stereo computation by skipping rows/columns in patch match, improved random sampling in patch match, and faster bilateral NCC
- Better high DPI screen support for the graphical user interface
- Improved model viewer under Windows, which now requires Qt 5.4
- Save computed two-view geometries in database
- Images (keypoint/matches visualization, depth and normal maps) can now be saved from the graphical user interface
- Support for PMVS format without sparse bundler file
- Faster covariant feature detection
- Many more bug fixes and improvements
COLMAP 3.3 (11/21/2017)¶
- Add DSP (Domain Size Pooling) SIFT implementation. DSP-SIFT outperforms standard SIFT in most cases, as shown in “Comparative Evaluation of Hand-Crafted and Learned Local Features”, Schoenberger et al., CVPR 2017
- Improved parameters dense reconstruction of smaller models
- Improved compile times due to various code optimizations
- Add option to specify camera model in automatic reconstruction
- Add new model orientation alignment based on upright image assumption
- Improved numerical stability for generalized absolute pose solver
- Support for image range specification in PMVS dense reconstruction format
- Support for older Python versions in automatic build script
- Fix OpenCV Fisheye camera model to exactly match OpenCV specifications
COLMAP 3.2 (9/2/2017)¶
- Fully automatic cross-platform build script (Windows, Mac, Linux)
- Add multi-GPU feature extraction if multiple CUDA devices are available
- Configurable dimension and data type for vocabulary tree implementation
- Add new sequential matching mode for image sequences with high frame-rate
- Add generalized relative pose solver for multi-camera systems
- Add sparse least absolute deviation solver
- Add CPU/GPU options to automatic reconstruction tool
- Add continuous integration system under Windows, Mac, Linux through Github
- Many more bug fixes and improvements
COLMAP 3.1 (6/15/2017)¶
- Add fast spatial verification to image retrieval module
- Add binary file format for sparse models by default. Old text format still fully compatible and possible conversion in GUI and CLI
- Add cross-platform little endian binary file reading and writing
- Faster and less memory hungry stereo fusion by computing consistency on demand and possible limitation of image size in fusion
- Simpler geometric stereo processing interface. Now geometric stereo output can be computed using a single pass
- Faster and multi-architecture CUDA compilation
- Add medium quality option in automatic reconstructor
- Many more bug fixes and improvements
COLMAP 3.0 (5/22/2017)¶
- Add automatic end-to-end reconstruction tool that automatically performs sparse and dense reconstruction on a given set of images
- Add multi-GPU dense stereo if multiple CUDA devices are available
- Add multi-GPU feature matching if multiple CUDA devices are available
- Add Manhattan-world / gravity alignment using line detection
- Add CUDA-based feature extraction useful for usage on clusters
- Add CPU-based feature matching for machines without GPU
- Add new THIN_PRISM_FISHEYE camera model with tangential/radial correction
- Add binary to triangulate existing/empty sparse reconstruction
- Add binary to print summary statistics about sparse reconstruction
- Add transitive feature matching to transitively complete match graph
- Improved scalability of dense reconstruction by using caching
- More stable GPU-based feature matching with informative warnings
- Faster vocabulary tree matching using dynamic scheduling in FLANN
- Faster spatial feature matching using linear index instead of kd-tree
- More stable camera undistortion using numerical Newton iteration
- Improved option parsing with some backwards incompatible option renaming
- Faster compile times by optimizing includes and CUDA flags
- More stable view selection for small baseline scenario in dense reconstruction
- Many more bug fixes and improvements
COLMAP 2.1 (12/7/2016)¶
- Support to only index and match specific images in vocabulary tree matching
- Support to perform image retrieval using vocabulary tree
- Several bug fixes and improvements for multi-view stereo module
- Improved Structure-from-Motion initialization strategy
- Support to only reconstruct the scene using specific images in the database
- Add support to merge two models using overlapping registered images
- Add support to geo-register/align models using known camera locations
- Support to only extract specific images in feature extraction module
- Support for snapshot model export during reconstruction
- Skip already undistorted images if they exist in output directory
- Support to limit the number of features in image retrieval for improved speed
- Miscellaneous bug fixes and improvements
COLMAP 2.0 (9/8/2016)¶
- Implementation of dense reconstruction pipeline
- Improved feature matching performance
- New bundle adjuster for rigidly mounted multi-camera systems
- New generalized absolute pose solver for multi-camera systems
- New executable to extract colors from all images
- Boost can now be linked in shared and static mode
- Various bug fixes and performance improvements
COLMAP 1.1 (5/19/2016)¶
- Implementation of state-of-the-art image retrieval system using Hamming embedding for vocabulary tree matching. This should lead to much improved matching results as compared to the previous implementation.
- Guided matching as an optional functionality.
- New demo datasets for download.
- Automatically switch to PBA if supported by the project.
- Implementation of EPNP solver for local pose optimization in RANSAC.
- Add option to extract upright SIFT features.
- Saving JPEGs in superb quality by default in export.
- Add option to clear matches and inlier matches in the project.
- New fisheye camera models, including the FOV camera model used by Google Project Tango (Thomas Schoeps).
- Extended documentation based on user feedback.
- Fixed typo in documentation (Thomas Schoeps).
COLMAP 1.0 (4/4/2016)¶
- Initial release of COLMAP.


Date:
Area:
PRODUCT 1
Prev
Curr
Next
Product:
Goal:
Promotional Activity:
Promotional Tool:
PRODUCT 2
Product:
General Activities:
Promotional Activity:
Promotional Tool:
Reset
Submit
Copy
Paste
For Developers Only
md_id
md_name
psr_id
userid
visit_number
frequency
selected_month
unplanned
NEWCALL
submitted
pre_call
current_month
has_pre_call


Spain court agrees to extradite Venezuelan ex-intelligence chief to USA: EFE
by ReutersMADRID (Reuters) - Spain's High Court has agreed to extradite former Venezuelan intelligence chief Hugo Carvajal to the United States, reversing a previous ruling to deny the extradition request, EFE news agency reported on Friday, citing judicial sources.
Carvajal's lawyer told Reuters she had not been notified of any court decision.
The former general was arrested by Spanish police in April at the request of U.S. authorities, but Spain's High Court then ruled in September that he should be released and his extradition request denied.
Carvajal, an ally of Venezuela's late Socialist leader Hugo Chavez, is wanted by U.S. authorities for alleged drug trafficking.
He has previously denied accusations that he collaborated with the Revolutionary Armed Forces of Colombia to help smuggle cocaine into the United States.
(Reporting by Nathan Allen; Editing by Peter Graff)


Current Work: Lightning Capital
I created a momentum based trading algorithm that I am building out into a full stack trading bot for Lightning Capital, a hedgefund for blockchain related assets.
Lightning CapitalI am a software engineer with a penchant for cool design, blockchain, and data science. I love trying to make cool stuff with/for people.
I created a momentum based trading algorithm that I am building out into a full stack trading bot for Lightning Capital, a hedgefund for blockchain related assets.
Lightning CapitalCome with me on my (mis) adventures through the digital world. Program Obscura is a GoHugo based blog where I write about technology, reflections on technology or my adventures with building new things.
Program ObscuraI love reading books. I think I have a problem because I just keep buying new books. My room is half library half server. Anyway checkout out my bookstand project. It's a virtual bookshelf that I am slowly building into something more.
BookstandYou've read this far so here's some more about me: I really love learning, building, and experimenting with new things in technology. Creating things is such a cathartic experience. After experimentation, I learn best current practices to lead to long term, scalable and maintainable projects. Are you happy I didn't use many buzzwords?
GithubAnd if you care to know about my life outside development: I love to teach; I love to go to museums and art galleries; I'm a foodie; I do film photography; I'm a comicbook nerd; I love to watch The Expanse, Westworld and just got into Game of Thrones. Hopefully, I don't bore you.
PS: If you're wondering about B17Z: My real name is Bienvenido Rodriguez and there are 17 letters between the B and Z and B17Z looks like "Bits", a computer science term. Heh.


7 Mixed Design ANOVA
Required Packages
library(tidyverse) # Loads several very helpful 'tidy' packages
library(furniture) # Nice tables (by our own Tyson Barrett)
library(afex) # needed for ANOVA, emmeans is loaded automatically.
library(multcomp) # for advanced control for multiple testing/Type 1 error
7.1 Tutorial - Fitting Mixed Design ANOVA Models with afex::aov_4()
The aov_4()
function from the afex
package fits ANOVA models (oneway, two-way, repeated measures, and mixed design). It needs at least two arguments:
formula:
continuous_var ~ group_var + (RM_var|id_var)
one observation per subject for each level of theRMvar
, so eachid_var
has multiple lines for each subject, each subject can only belong to exactly one group./dataset:
data = .
we use the period to signify that the datset is being piped from above
Here is an outline of what your syntax should look like when you fit and save a Mixed ANOVA. Of course you will replace the dataset name and the variable names, as well as the name you are saving it as.
NOTE: The aov_4()
function works on data in LONG format only. Each observation needs to be on its one line or row with seperate variables for the group membership (categorical factor or fct
) and the continuous measurement (numberic or dbl
).
# RM ANOVA: fit and save
aov_name <- data_name %>%
afex::aov_4(continuous_var ~ group_var + (RM_var|id_var),
data = .)
7.2 Words Recalled Data Example (Chapter 16, section A)
7.2.1 Data Prep
I input the data as a tribble
which saves it as a data.frame
and then cleaned up a few of the important variables.
d <- tibble::tribble(
~ID, ~depression, ~word_type, ~words_recalled,
1, 0, 1, 20,
2, 0, 1, 16,
3, 0, 1, 8,
4, 1, 1, 17,
5, 1, 1, 15,
6, 1, 1, 10,
1, 0, 2, 21,
2, 0, 2, 18,
3, 0, 2, 7,
4, 1, 2, 15,
5, 1, 2, 10,
6, 1, 2, 4,
1, 0, 3, 17,
2, 0, 3, 11,
3, 0, 3, 4,
4, 1, 3, 18,
5, 1, 3, 13,
6, 1, 3, 10) %>%
mutate(depression = factor(depression,
labels = c("Not Depressed",
"Depressed"))) %>%
mutate(word_type = factor(word_type,
labels = c("Neutral", "Positive", "Negative")))
d
# A tibble: 18 x 4
ID depression word_type words_recalled
<dbl> <fct> <fct> <dbl>
1 1 Not Depressed Neutral 20
2 2 Not Depressed Neutral 16
3 3 Not Depressed Neutral 8
4 4 Depressed Neutral 17
5 5 Depressed Neutral 15
6 6 Depressed Neutral 10
7 1 Not Depressed Positive 21
8 2 Not Depressed Positive 18
9 3 Not Depressed Positive 7
10 4 Depressed Positive 15
11 5 Depressed Positive 10
12 6 Depressed Positive 4
13 1 Not Depressed Negative 17
14 2 Not Depressed Negative 11
15 3 Not Depressed Negative 4
16 4 Depressed Negative 18
17 5 Depressed Negative 13
18 6 Depressed Negative 10
7.2.2 One-Way RM ANOVA
First, let’s ignore the depression variable and just look at the repeated measures. We do this by using afex::aov_4()
and then the summary()
functions as shown below.
oneway <- d %>%
afex::aov_4(words_recalled ~ 1 + (word_type|ID),
data = .)
summary(oneway)
Univariate Type III Repeated-Measures ANOVA Assuming Sphericity
Sum Sq num Df Error SS den Df F value Pr(>F)
(Intercept) 3042.00 1 381.33 5 39.8864 0.001466 **
word_type 16.33 2 68.33 10 1.1951 0.342453
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Mauchly Tests for Sphericity
Test statistic p-value
word_type 0.2134 0.045538
Greenhouse-Geisser and Huynh-Feldt Corrections
for Departure from Sphericity
GG eps Pr(>F[GG])
word_type 0.55972 0.3282
HF eps Pr(>F[HF])
word_type 0.6077293 0.3309148
Here, we see a number of pieces of information, including the sums of squares, F-statistic, and p-value. The p-value suggests that there is not an effect of word_type
here (p = .342).
Let’s plot this using a spaghetti plot.
d %>%
ggplot(aes(word_type, words_recalled, group = ID)) +
geom_line() +
geom_point()
But we wonder if depression has an effect on the number of words recalled, and it may interact with word_type. Let’s see what that looks like.
d %>%
ggplot(aes(word_type, words_recalled, group = ID,
color = depression,
shape = depression,
linetype = depression)) +
geom_line() +
geom_point() +
facet_wrap(~depression)
Definitely looks like the effect of word_type depends on whether the individual has depression or not. To add a between subjects factor to a repeated measures ANOVA, we are now doing mixed ANOVA (both between and within subjects factors).
7.2.3 Mixed ANOVA
To run a mixed ANOVA, use afex::aov_4()
and then the summary()
functions again but this type with the between subjects factor included.
mixed_anova <- d %>%
afex::aov_4(words_recalled ~ depression + (word_type|ID),
data = .)
summary(mixed_anova)
Univariate Type III Repeated-Measures ANOVA Assuming Sphericity
Sum Sq num Df Error SS den Df F value Pr(>F)
(Intercept) 3042.00 1 375.78 4 32.3808 0.0047104 **
depression 5.56 1 375.78 4 0.0591 0.8198275
word_type 16.33 2 11.56 8 5.6538 0.0294740 *
depression:word_type 56.78 2 11.56 8 19.6538 0.0008178 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Mauchly Tests for Sphericity
Test statistic p-value
word_type 0.81657 0.73788
depression:word_type 0.81657 0.73788
Greenhouse-Geisser and Huynh-Feldt Corrections
for Departure from Sphericity
GG eps Pr(>F[GG])
word_type 0.845 0.03934 *
depression:word_type 0.845 0.00183 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
HF eps Pr(>F[HF])
word_type 1.396104 0.0294739587
depression:word_type 1.396104 0.0008177732
The output provides us with a clear significant interaction shown in the first table. Our previous plot helps illustrate what this interaction is telling us about the patterns. However, it is often useful to show what the groups are doing, not the individuals (especially if your sample size is larger than 20). To do that, we can use:
mixed_anova %>%
emmeans::emmip(depression ~ word_type)
From this, we can tell that there is very little difference with neutral words, but large differences for positive and negative words. Specifically, depressed individuals struggle much more at recalling positive words than non-depressed individuals and depressed individuals do better at recalling negative words than non-depressed individuals.
7.3 Conclusion
Overall, this is a good approach to using mixed ANOVA:
- Look at the repeated measures first, and then,
- Include any potentially important between-subjects factors.


TWAIN Cloud
(beta)
Home
Documentation
Profile
Sign In with social providers:
Sign in with Google
Sign in with Facebook
Sign Out
Scanners
Refresh
Delete
Name
Description
ID


JinAh Kim is an alumna of the University of Pennsylvania, with a B.S. in Economics and a B.A. in Philosophy. She was the head editor of ACF Regionals 2020. ACF representative Caroline Mao spoke with her about her editing and writing involvement.
CM: How did you get into writing?
JK: Because I went to Penn, we did Penn Bowl every year, so it was a big flagship set for the entire club that I participated in. A friend of mine on the team, Jaimie [Carlson] and I — we would write pretty much all the lit each year for Penn Bowl, so I got a lot of practice doing that.
It was really fun! It was helpful having this big project that we were working on with our club members. It was good for learning a lot of things, and also for getting my foot in the door, because I think a lot of people don’t necessarily turn to writing or think of themselves as writers if there isn’t a set that their friends are involved in, or if they don’t go to a school that’s previously produced housewrites.
CM: Can you give us a brief overview of your writing career and what writing projects you’ve worked on?
JK: I worked on Penn Bowl 2015, 2016, and 2017 in major capacities. I edited philosophy for 2018, and did some minor editing work for 2019. I helped edit Stevenson Memorial Tournament, which was interesting. It was a set largely written by high schoolers; they did a pretty good job. And I worked on ACF Nationals [2019], subject editing for British and European literature, and philosophy. This year, I head edited ACF Regionals.
There’s a balance between wanting to have your own distinctive flavor and also wanting to use the submissions that people submit.
CM: Congrats on head editing ACF Regionals! What did you like about head editing, and how is it different from your previous projects?
JK: It was really different in that it was much more logistical, and it was also harder in that a lot of the stuff I had to manage myself. There were people I could turn to for advice—the other ACF officers and previous Regionals editors were really helpful in that regard—but when people had questions or if we got packets submitted and we needed to edit them, these were all things I had to do myself.
There’s a balance between wanting to have your own distinctive flavor and also wanting to use the submissions that people submit. People submitted really interesting submissions that wouldn’t have occurred to the editors otherwise, so that was pretty cool. It was also fun to look at the submissions and see really strong submissions you wouldn’t necessarily have expected because it didn’t come from really famous players.
CM: Did you have a particular vision for Regionals?
JK: Overall my vision was that I wanted it to ask about a lot of interesting things. There’s a conflict sometimes with being difficulty controlled and being interesting. I wanted things to be on clues and topics and works and events that were all interesting but still relevant and notable to people who are engaged within those disciplines. Rather than having a random hard thing as a hard clue, it would be something that is a little less famous within the quizbowl canon but is still well-known to the people who study that particular discipline.
In general, it would be try to get involved in things you’re not necessarily sure that you’re ready for.
CM: Do you have any advice for other head editors, on ACF tournaments or in general?
JK: In general, it would be try to get involved in things you’re not necessarily sure that you’re ready for. I definitely didn’t really feel like I was qualified to head edit when I first started. Lean on the people you know who are able to support you. I got really good resources and support from the other people around me, and then I just got to get closer to get closer to a whole bunch of new people while doing that, which is really nice.
CM: Has the way you involved yourself in quizbowl changed after graduating?
JK: In some ways, I’ve actually gotten more engaged with the community after graduating, and it’s interesting because I’ve also gotten more engaged with schools and circuits outside of the Mid-Atlantic region, and a lot of them are really very different in terms of the number of teams that will typically attend a tournament, or how far you have to drive to attend a tournament. So it’s fun seeing the different trends and changes happening since I graduated, and seeing a little more of the quizbowl world outside of 4-5 hours within Philadelphia.
I’ve gotten more involved with the online quizbowl spaces, and I’ve also been moderating tournaments a lot. Typically I still moderate within the same geographic area, but I get to see a lot more teams play than I normally would if I were just a player. It’s also interesting being on the other side of the buzzer. You really look at questions differently when you’ve been writing and playing and watching people play the questions that you’ve written.
A lot of the focus on the outreach focuses on geographic diversity and making sure quizbowl’s represented in different places across the country and that’s really laudable, but there are also more discussions that could be had about increasing other types — gender, or racial, or socioeconomic diversity within quizbowl, that isn’t just tied to “how can we get new teams involved?”
CM: Do you have any upcoming plans or projects related to quizbowl in the future that you’re excited for?
JK: I’m working on, or helping out with the next iteration of Scattergories, which I’m really excited about. I think it’ll be a fun set. Scattergories is also interesting because though there are subdistributional concerns, you can just write it on things you find interesting. Unlike other sets, you don’t have to be like, “I need to find this 1800s American poetry thing I can use as a tossup.”
CM: What’s a favorite memory from your playing career?
JK: For Nats one year, when Jaimie and I were getting dressed in the morning, I was playing a podcast episode to pass the time and it happened to be about Frank Lloyd Wright’s Usonian houses. Then later that day, while we were playing nats, it mentioned a clue that we had heard in the podcast. We both made a bunch of “oh no what is this called” flailing motions until we got it, which I think confused Eric since neither of us were really architecture players.
CM: General thoughts on the community or anything else you have strong opinions on?
JK: One thing would be when that I first started playing quizbowl, I thought it was a very insular community in a way that was off-putting. And now that I’m more within the community, I still think it’s pretty insular, but it’s definitely less insular than it was when I started playing.
There’s been a lot of outreach for welcoming people into the game and creating new resources for newer players or newer teams. I think that’s a positive sign, but there are ways it could continue to be made more inclusive. There’s been some headway in outreach to marginalized communities. There’s been a greater push for representation in question content. I think there’s more people involved with playing and writing, but I don’t think the progress there is as strong as it could have been.
A lot of the focus on the outreach focuses on geographic diversity and making sure quizbowl’s represented in different places across the country and that’s really laudable, but there are also more discussions that could be had about increasing other types—gender, or racial, or socioeconomic diversity within quizbowl, that isn’t just tied to “how can we get new teams involved?” I think a lot of progress has been made on that front, but there’s still a lot left to go.


{% extends 'partials/base.html' %} {% from "macros/json.html" import jsonify %} {#{% set frame_count = replay.api_game.frames %}#} {% if replay != None %} {%- block description %} {{ replay.teamsize }}s: {{ replay.name }} - {{ replay.team0score }}:{{ replay.team1score }} on {{ replay.map }} at {{ replay.match_date }} {% endblock description %} {% endif %} {%- block title %} {%- if replay != None %}{{ replay.name }} - {{ replay.team0score }}:{{ replay.team1score }}{% else %} Loading... {% endif %} {% endblock title %} {% block imports %} {% include "partials/imports/viewer.html" %} {% include "partials/imports/graph.html" %} {% include "partials/imports/require.html" %} {% endblock imports %} {% block body %} {% if replay == None %}
We are currently parsing your replay... please wait a minute.
In the meantime, you can download the
.replay
file


October 15, 2020 ♥
This is My First Article
We want to see more charts not a hill to die on technologically savvy or UI win-win-win programmatically. Anti-pattern we need distributors to evangelize the new line to local markets technologically savvy, yet define the underlying principles that drive decisions and strategy for your design language so productize organic growth, for we need to button up our approach.
 Forcing function upstream selling. Drink the Kool-aid organic growth, so highlights , or accountable talk for mobile friendly innovation is hot right now. Organic growth accountable talk we need to socialize the comms with the wider stakeholder community make it a priority or Bob called an all-hands this afternoon all hands on deck, or driving the initiative forward.
We don't want to boil the ocean are we in agreeance, but sea change, but out of the loop, so not enough bandwidth, so quarterly sales are at an all-time low make it more corporate please. Usabiltiy we need a recap by eod, cob or whatever comes first but Bob called an all-hands this afternoon, or price point on this journey nor but what's the real problem we're trying to solve here?. Optimize the fireball let's put a pin in that turn the crank cannibalize


People
faculty, postdocs, and students in the lab, and collaborators
Faculty
Postdocs
Graduate Students
Undergraduate Students
Former Students
- Graham Adachi-Kriege
- Emi Baylor
- Yves Blain-Montesano
- Amy Bruno
- Seara Chen
- Arlie Coles
- Nathan Drezner
- Emily Goodwin
- Jiayi (Gemma) Huang
- Bing'er Jiang
- Emily Kellison-Linn
- Michael McAuliffe
- Emily Mulhall
- Elias Stengel-Eskin
- James Tanner
- Benji Taubenblatt
- Gregory Theos
- Maya Watt
- Vanna Willerton
- Wilfred Yau
External Collaborators
Other Collaborators
- Adam Albright
- Leon Bergen
- Matthew Carlson
- Meghan Clayards
- Richard Futrell
- Joshua Hartshorne
- Yoonjung Kang
- Roni Katzir
- Joseph Keshet
- James Kirby
- Roger Levy
- Tal Linzen
- Martina Martinović
- Samuel Mehr
- Emily Morgan
- Tamara Rathcke
- Jason Riggle
- Derek Ruths
- Kenny Smith
- Alessandro Sordoni
- Jane Stuart-Smith
- Michael Wagner
- Tae-Jin Yoon
- Alan Yu


[gecode-users] How to use Gecode binaries from within MSVC's IDE
Filip Konvička
filip.konvicka at logis.cz
Mon Aug 25 17:03:05 CEST 2008
Hi Christian,
> The IDE defines the macros UNICODE and _UNICODE: when compiling with these
> macros set, things crash.
strange - I'm using UNICODE all the time without problems.
IMHO it does only one thing: all Windows headers switch to the Unicode
APIs (and TCHAR is defined as wchar_t etc.) You can also use
wmain(int,wchar_t*[]) instead of main(int,char*[]) for programs.
What you might be interested in is putting this at the very start of
your 'main' (I even do this before main in some static initializers...):
#ifdef WIN32
setlocale(LC_ALL, ".OCP");
#else
setlocale(LC_ALL, "");
#endif
(for console applications). This makes the iostream libraries use the
correct locale for translating console IO to/from wchar_t properly.
I'm still wondering what crashes are you experiencing??
Cheers,
Filip
More information about the gecode-users
mailing list


AMAs: Taylor and Billy Porter adorably react to Shawn and Camila's almost-kiss
When Shawn Mendes and Camila Cabello almost kissed at the end of their American Music Awards performance last night, Taylor Swift and Billy Porter couldn’t contain their excitement.
And honestly, same.
The loved up couple were singing their hit-duet Señorita and things were certainly heating up on stage.
But at the end – much like their VMA performance a couple of months ago – they lean in and look like they’re about to kiss… then they don’t.
Advertisement Advertisement
It’s a real rollercoaster of emotions and it looked like we weren’t the only ones feeling it.
Just as Shawn and Camila look like they’re about to lock lips, the camera cuts to Taylor, 29, and Billy, 50, who are in peak fangirl mode in the audience.
Taylor held onto Billy’s shoulder in anticipation, as Billy raised his hand to his mouth in shock.
The reaction from the unlikely duo caused a flurry of discussion on social media.
One fan tweeted: ‘Can I just say Taylor Swift and Billy Porter watching the AMA performance of “Señorita” is meeeee’.
While another tweeted: ‘I am loving Taylor Swift and Billy Porter’s reactions’.
And another demanded: ‘I need gifs of Billy Porter and Taylor Swift’.
Iconic.
During last night’s awards show, Taylor broke Michael Jackson’s record of the most ever wins at the American Music Awards.
She took home six awards last night, making her total 29 – beating Michael’s 24.
Advertisement Advertisement
The young singer was honoured with the prestigious artist of the decade and artist of the year accolades, as well as favourite artist – adult contemporary, favourite album – pop/rock for Lover, favourite music video for You Need To Calm Down, and favourite female artist – pop/rock.
While accepting one of her awards, she said: ‘The last year of my life has had some of the most amazing times and also some of the hardest things I’ve gone through in my life and not a lot of them are things that haven’t been public.
‘And I wanted to thank you so much for being the thing that has been a constant in my life.’
Got a showbiz story?
If you've got a celebrity story, video or pictures get in touch with the Metro.co.uk entertainment team by emailing us<EMAIL_ADDRESS>calling 020 3615 2145 or by visiting our Submit Stuff page - we'd love to hear from you.


Can you provide more detail?
Do not include personal or financial information like your National Insurance number or credit card details.
You can enter up to 200 characters


More...
|
| | Builder (TMenuConfig component) |
| |
| virtual TBuilder | Side (Direction side) |
| | The side to put the menu on. More...
|
| |
| virtual TBuilder | Cover (bool? cover) |
| | True to cover the viewport content. Defaults to true. Note: The cover and reveal animation configs are mutually exclusive. Include only one animation config or omit both to default to cover. More...
|
| |
| virtual TBuilder | Reveal (bool? reveal) |
| | True to push the menu alongside the viewport content. Defaults to false. Note: The cover and reveal animation configs are mutually exclusive. Include only one animation config or omit both to default to cover.  More...
|
| |
| virtual TBuilder | CustomConfig (Action< ConfigItemCollection > action) |
| | Collection of custom js config More...
|
| |
◆ Builder() [1/4]
◆ Builder() [2/4]
◆ Builder() [3/4]
◆ Builder() [4/4]
◆ Cover()
True to cover the viewport content. Defaults to true. Note: The cover and reveal animation configs are mutually exclusive. Include only one animation config or omit both to default to cover.
◆ operator Builder()
◆ Reveal()
True to push the menu alongside the viewport content. Defaults to false. Note: The cover and reveal animation configs are mutually exclusive. Include only one animation config or omit both to default to cover.
◆ Side()
The side to put the menu on.
The documentation for this class was generated from the following file:
- Factory/Builder/MenuConfigBuilder.cs


{{ post.date | date_to_long_string }}
{{ post.title }}
{{ post.excerpt }}
Read More
--- layout: default ---
Welcome to my little corner of the Internet. This site itself is a work in progress (#iaintsorry) because I eventually want to stop paying Squarespace for hosting my current website. But, as always, baby steps.
Looking for my weekly newsletter?