--- inscription: http://techup.ch/1020/episode-14-metadata-in-the-cross-channel-ecosystem adresse-gmaps: http://goo.gl/maps/nYBIw adresse: "Hôtel Bristol\r\nRue du Mont-Blanc 10\r\n1201 Genève" datemeeting: 26 mars 2013 à 19h00 number: '14' event_date: '1395860400' speaker: Adam Ungstad slides: http://fr.slideshare.net/aungstad/uxromandie-final number: 14 speaker: Adam Ungstad layout: post status: publish published: true title: Metadata in the Cross-Channel Ecosystem author: display_name: Gilles login: gilles email<EMAIL_ADDRESS>url: '' author_login: gilles author_email<EMAIL_ADDRESS>excerpt: 26 mars 2013 - Consistency, Context and Interoperability Metadata wordpress_id: 429 wordpress_url: http://uxromandie.ch/?p=429 date: '2013-03-19 19:43:22 +0100' date_gmt: '2013-03-19 19:43:22 +0100' categories: - événements tags: - Conférence - Process - '2013' - Information Architecture comments: [] ---
Pour ce prochain rendez-vous d'UX Romandie nous vous donnons rendez-vous le 26 mars à l'Hotel Bristol à Genève pour une présentation de Adam Ungstad. Cette présentation est donnée en avant-première chez nous, avant le conférence IA Summit qui se déroule début Avril à Baltimore.
Metadata in the Cross-Channel Ecosystem: Consistency, Context and Interoperability Metadata enables consistency, context and interoperability in a cross-channel context by managing, describing and exchanging information objects.
This presentation explores 3 different types of metadata: administrative, descriptive, and structural, and their role in UX practices including content strategy, responsive design, rich snippets, and web forms.
We’ll then look at the cross-channel ecosystem, understanding media, channels, interactions and touchpoints. We’ll explore The Internet of Things, and furthermore the importance of information exchanges in cross-channel service design.
From there we learn about the nuts and bolts of an information exchange, including semantics, syntax and lexicon, and how these are documented in schema.
Then we’ll look at some of the common standards used to specify schema for information exchanges and semantic markup. Last but not least, we’ll explore how linked data and ontologies enable us to map shared mental models.
Adam Ungstad has been organizing, designing, and building usable structures of information for nearly 10 years. Adam has led projects spanning the Information Architecture spectrum, from User Experience Design initiatives to developing Enterprise Information Architecture standards.
He will eventually retire as a librarian. In 2012 Adam successfully wrote and published his first non-fiction book, Secret Lakes of Southern Vancouver Island.
Originally from western Canada, he is currently based in Geneva, Switzerland.


SFSU Software Engineering Project CSC 648-848, Spring 2019. For Demonstration Only
{% if current_user.user_id %} Hi {{ username }}! {% endif %}| Name | Distance | Price | Status | Location |
|---|---|---|---|---|
| Tiger Nixon | System Architect | Edinburgh | 61 | 2011/04/25 |
| Charde Marshall | Regional Director | San Francisco | 36 | 2008/10/16 |
| Haley Kennedy | Senior Marketing Designer | London | 43 | 2012/12/18 |
| Tatyana Fitzpatrick | Regional Director | London | 19 | 2010/03/17 |
| Michael Silva | Marketing Designer | London | 66 | 2012/11/27 |
| Paul Byrd | Chief Financial Officer (CFO) | New York | 64 | 2010/06/09 |
| Gloria Little | Systems Administrator | New York | 59 | 2009/04/10 |
| Bradley Greer | Software Engineer | London | 41 | 2012/10/13 |
| Dai Rios | Personnel Lead | Edinburgh | 35 | 2012/09/26 |
| Jenette Caldwell | Development Lead | New York | 30 | 2011/09/03 |
| Yuri Berry | Chief Marketing Officer (CMO) | New York | 40 | 2009/06/25 |
| Caesar Vance | Pre-Sales Support | New York | 21 | 2011/12/12 |
| Doris Wilder | Sales Assistant | Sidney | 23 | 2010/09/20 |
| Angelica Ramos | Chief Executive Officer (CEO) | London | 47 | 2009/10/09 |
| Gavin Joyce | Developer | Edinburgh | 42 | 2010/12/22 |


Welcome to my portfolio. I am currently a CIS major at Mansfield University of Pennsylania. I like to develop software, and I have set up this site to keep track of my projects.
Please check out my resume for more information on my skill sets. I am currently looking for job opportunities.
This HTML canvas side-scrolling game was written using vanilla JavaScript, AJAX, XML, PHP, and SQL. The user plays as a jet that avoids colliding with other jets. The game implements a full collision system, health system, projectile system, and uses multiple threads to keep all of the action moving. If the user makes it within the current top ten high scores, then the database is updated accordingly with the score. I even created the art assets for the game, made the sound effects, and wrote the music!
This project shows CRUD and sort operations that could be used in order to keep an inventory at a store. The program is written in Java.
This project was a final web site project for Advanced Web Site Design. The site is written using HTML, CSS, JavaScript, and XML.


Rikki-tikki-tavi
This is the story of the great war that Rikki-tikki-tavi fought single-handed, through the bath-rooms of the big bungalow in Segowlee cantonment. Darzee, the Tailorbird, helped him, and Chuchundra, the musk-rat, who never comes out into the middle of the floor, but always creeps round by the wall, gave him advice, but Rikki-tikki did the real fighting.


Introduce first your Original Height and Width. After that you choose if you would know the new height or new width and introduce your desired value
New Width:
New Height:


Welcome to QUno, an Uno-like card game.
A long time ago, in a galaxy not far away, I (mostly) taught myself to program while in college. I didn't care much for algorithms and data structures, but once I learned that I could make a window appear on the screen and have it do stuff like the other programs I was using, I was hooked. My sister loved to play Uno, and I missed playing with her when I went away to college. I also knew that when I started my adult life I would likely not be in my hometown where she lived, so there wouldn't be as many chances to play in the future. So, I decided to use my newfound programming skills to make a computer game so she could play Uno even if I wasn't there.
Prehistory: Versions 1, 2, and 3
Version 1 of this game was built circa 1996 and it ran on Microsoft Windows 3.1. I used Microsoft Visual C++ 1.52c. It sort of worked, but not really, because I didn't know what I was doing and the game would leak GDI resources until the system was exhausted. Programming for 16-bit operating systems was unforgiving; I had to create device contexts uphill both ways. I also had to target Windows 3.1 because I used the game as the final project in a C++ class I took, and I was the only student who wanted to build a graphical program, and the instructor wasn't quite sure what do (everyone else was using gcc and Unix) so he let submit it because he had on Windows 3.1 computer from the lab in his office.
Version 2 of this followed shortly after, circa 1997, and this version was just for me, so I targeted Microsoft Windows 95 and I used Microsoft Visual C++ 2.0. It was designed in the same style as the 16-bit version but updated for 32-bit and taking advantage of some things I learned along the way. This one worked much better! You could play a few games, but it still crashed every now and then. I worked on it nights and weekends during my summer internship; I think my roommate Dave wanted me to be more social that summer, and maybe I would have been if Dave was more fun.
Version 3 happened circa 1999. I was now a professional programmer, and my employer sent me to training to learn COM and ATL, so of course I used my new knowledge to rearchitect this game. I used Microsoft Visual C++ 6.0 and targeted the truly 32-bit operating systems of the time, such as Microsoft Windows 2000. This version was the first one to separate the game "engine" (essentially a data model and some game logic) from the user interface, and that is a pattern that continues to this day. The engine worked rather well--I implemented a Visual Basic test harness to drive the engine, and a simple HTML-based UI (remember when it was totally cool and no one saw any potential problems with calling native code from scripts in a web page?), but I never finished the UI I planned. This too would be a pattern that would continue for some time.
The code for the above has been published at QUnoArchives.
The Lost Years: Version 4
Fast forward n years. .NET now rules the Microsoft ecosystem. Windows Vista is a punchline, but with it comes Windows Presentation Foundation, which is a remarkably powerful and flexible user interface framework, that leapfrogs several generations of Windows UI technologies such as Win32, MFC, and Windows Forms. SourceForge is pioneering open-source development, and Microsoft copycats with CodePlex (RIP). The time has come for QUno to make it off my hard drive (an actual spinning metal disk, remember those?) and onto the cloud. (Was it The Cloud then? I can't remember.) So I start to build a .NET-based version of QUno, using C# with a user interface built using Windows Presentation Foundation. This is version 4.
Version 4 is a saga that lasts more than 10 years but less than 15. I build a solid game engine, which is still mostly in use today. On top that engine, I build a console application as a test harness; this is the first time you can QUno from a command prompt! (This console application will play a key role in the rebirth of QUno many years later.) I also build a UI based on WPF, and experiment with unit tests and XAML and M-V-VM and Expression Blend and many other fads of the day. At some point I get it sort of working with this new architecture, but I lose interest.
Until: Microsoft Build 2012, when Microsoft Windows 8 is introduced. This is the first version of Windows that includes the Windows Runtime, and the promise of building Windows applications to run on desktops and laptops and phones and tablets is exciting. And part of this power comes from XAML, which is now built into the Windows Runtime, and something I have some experience with. So I start refreshing the Windows Presentation Foundation version of QUno to use the modern Windows Runtime and target Windows 8 as well as Windows Phone (RIP). I get a good start, but over time I realize that the XAML platform in the Windows Runtime (and on the Phone) isn't exactly the same as the XAML I am used in WPF, so I hit many frustrations, and I lose interest.
With the death of CodePlex, I move the QUno code to "Visual Studio Online" which then turns into "Azure DevOps". Version 4 of QUno, including the projects for Windows Phone and Windows 8 "Metro", is still frozen in Carbonite there.
The Modern Era: Version 5
Fast forward a few more years, and now .NET is a cross-platform framework, in the form of .NET Core. It can run on Macs! It can run on Linux! (I know I know Mono has been around forever "running .NET on Linux" but come on...) So I decide to see how hard it would be to refresh the QUno command line application and class library for .NET Core so I can run it on my Mac. Turns out not hard! Like, at all. Bascially just a recompile. Oh and F# is available you say? Oh and now we have moved on from the disaster of Windows 8 and Windows 10 is actually pretty good again? Maybe my interest isn't dead just yet.
- The game engine has been reimplemented for .NET 5.
- There are two desktop applications, for Windows Forms and Windows Presentation Foundation, using the open source versions of those frameworks.
- There is a new implementation for Windows 10 and the Universal Windows Platform.
Aside from professional work, I had never published an app to any "app store" so I decided it was time, and I am pleased to say that, more than 20 years after the first line code was written, QUno is available in the Microsoft Store.
For documentation and support, visit the GitHub repository for this project.
What's Next
I'm not concerned if anyone every downloads it, or what the rating is (but if you do choose to rate it, please be kind, I tried to be straight with what you are getting). I've worked on this most of my adult life to keep my mind sharp and to remember my sister.
The journey of QUno will continue with new native implementations.
© 2021 Roger Deetz. All rights reserved. • Privacy Policy


24 January 2001
Disease Outbreak Reported
As of 23 January, the Ugandan Ministry of Health has reported the following:
Gulu district: There have been no new cases since 14 January 2001 (see previous report). The cumulative total number of cases remains at 396 cases and 150 deaths.
Masindi district: No new cases have been reported since 19 December 2000. The cumulative total number of cases remains at 27 cases and 19 deaths.
WHO recommends no special restrictions on travel or trade to or from Uganda.


Proximity
Motion relative to an
Asteroid
The Poincaré surfaces of section
To build the Poincaré surfaces of section in the potential of Apophis in the body-fixed frame, we use the mechanical energy of an orbits around our target as presented in the folwing:
$$H = \frac{1}{2}(\dot{x}^2+\dot{y}^2+\dot{z}^2) - \frac{1}{2} \omega^{2}(x^2 + y^2) - U \\$$
where: \(x,y,x\) and \(\dot{x},\dot{y},\dot{x}\) are the location and velocity of the particle in the body-fixed frame of reference. \(U\) is the gravitational potential of the asteroid calculated considering its polyhedral shape.
The equatorial prograde motion of a massless particle around Apophis is determined numerically with the Runge-Kutta 7/8 integrator with variable step size, optimized for the accuracy of \(10^{-12}\), covering a period of 1000 days. However, this does not necessarily ensure that the nature of all orbits remains unchanged in time, because some orbits can become chaotic as time goes on. We distributed our initial conditions in the y-axis, with \(x_{0} = z_{0} = \dot{y}_{0} = \dot{z}_{0} = 0\) and \(\dot{x}_{0}\) was computed according to the equation of the mechanical energy. We variy \(y_{0}\) between 0.5 and 10 km from the asteroid centre with an interval of 0.1 km.
We classified the orbit types into (i) bounded motion: the test body stays inside the system’s disc with a radius chosen to be 10 times greater than Apophis Hill sphere (34 km); (ii) escape motion: the distance from the central body becomes greater than 400 km; (iii) collision: a collision with the central body occurs when the particle crosse the limit of the polyhedral shape of Apophis
Surfaces of section:
Mechanical energy:
Perturbations :


| About Dailyrotten |
|
Feedback
If you like this page, hate it, or would like to suggest changes,
<EMAIL_ADDRESS>is listening. This page
is experimental and somewhat different from what we usually offer, so please
do send your feedback.
Adding Stories
If you are a rotten newshound and you would like to suggest a story,
visit our submit page to
send us the URL. Stories that are accepted will have your name credited.
Viewership
On the first full day this page went live, 100,000 people visited this Rotten
News page. Of course that was the day after the WTC attacks, so that number is
somewhat distorted. Right now this page gets between 50,000 and 75,000 people
every day.
Linking
We encourage everyone to link to this page; if you like it, others probably
will as well.
Other Rotten
Rotten
Gaping Maw
Celebrity Morgue
Mugshots
Rotten Store
Shockumentary
Rate My Poo
Rate My Kitten
Rate My Finger
Penny Postcards
Phallic
Dr. Sputnik
Boners
Dead Pool
NNDB
Home
Make Dailyrotten your start page
|
|
|
February 17, 2003
It's a girl bird!
Omaha World-Herald | Submitted by: Col. Klink
"The Red Robin mascot approached their table. The 17-year-old girl inside the bulky costume stood 4-foot-7. Chosen for her petite size, as well as her sparkling personality, the high school senior had donned the suit during many work shifts... A member of Sigerson's party jokingly asked McPherson if the mascot was a girl bird or a boy bird. He moved his hand over the mascot's chest, touching one of the girl's breasts.It's a girl bird, he announced."
|
|
Read article...
|
|
Darwin: drunk downs battery acid
News 24 South Africa | Submitted by: Eris Kaos
"A Cambodian man is in a hospital after drinking battery acid given to him by his wife, reported the Khmer language newspaper Koh Santipheap on Wednesday... The husband reportedly replied that he could drink any kind of water and if she did not give it to him, he would kick her until she died. His wife then fetched acid from a nearby battery and presented him with a full glass."
|
|
Read article...
|
|
One hundred year old runaway
AZ Central | Submitted by: wingnut
"At age 100, Whitney ran away to Mott (ND) from Oregon... A few weeks back, some men in town came to see how he was getting on. They checked out his apartment, left and returned with a recliner, table and chairs, a chest of drawers and pictures for his walls."We figured a 100-year-old guy shouldn't have an empty old apartment," Doris Schatz delivers meals to Whitney and picks him up Sunday mornings to take him to church. "I'm satisfied here," he said."
|
|
Read article...
|
|
Strange, violent and unwanted, even in hospital
Times Colonist | Submitted by: Gorg
"Jaw wired shut and a tracheotomy tube dangling from his throat, the homeless guy in the hospital pyjamas and slippers was looking pretty rough when the cab dropped him off at Streetlink shelter Monday night... He'd broken his back, arm and leg a month earlier when he'd driven a stolen car into a tree while fleeing police. He had been in hospital at Victoria General since the collision."
|
|
Read article...
|
|
X-Ray'd girls gone wild!
Ottawa Citizen | Submitted by: Gorg
"Voyeurs take note: a portable, cheap camera that can see through objects and clothing may be available for sale to common folk in as little as five years, say British-based space researchers... The camera, built by a European Space Agency-funded team working at a lab in central England, could one day be used to find skin cancer or hidden weapons, reveal wounds beneath animal fur or bandages, spot forged works of art, even pierce through fog." Article contains unappetizing photo.
|
|
Read article...
|
|
Birthday party carnage
New Zealand TV One | Submitted by: jacko
"One teenager is dead and a dozen others injured after a car drove through a group of partygoers near Whangarei on Saturday night... One of the partygoers described the scene as being like a butchers shop with plenty of blood and broken limbs."
|
|
Read article...
|
|
Misleading the public
The Memory Hole | Submitted by: SeMeN SPeRmS
"Upon careful scrutiny of the audio message from bin Laden (and broadcast at 3pm EST on the Arabic News Network Al-Jazeerah), it appears the Bush administration may have been so desperate to pin anything on Saddam and bin Laden that they did not wait to actually hear the contents of the message, nor provide adequate and reliable translation."
|
|
Read article...
|
|
Alien abductees show real symptoms
BBC | Submitted by: Ann Onymous
Man, that anal probe is still hurting: "People who claim to have been kidnapped by aliens have a tendency to believe in fantasies and suffer disturbing experiences in their sleep, scientists have found. But the researchers say 'abductees' also believe in their experiences so deeply that they display real stress symptoms similar to those of traumatised battlefield veterans."
|
|
Read article...
|
|
New York gangster's sperm saga ends
Wire Services | Submitted by: UncleGum
"A saga over the frozen sperm of a reputed New York mobster who smuggled it out of prison to impregnate his wife has come to an end with its destruction, a prosecutor said this week... Antonino Parlavecchio was one of several inmates at Allenwood prison in northern Pennsylvania indicted for bribing guards to traffic the sperm, Assistant U.S. Attorney Wayne Samuelson said Thursday."
|
|
Read article...
|
|
Brotheltainment
Sydney Morning Herald | Submitted by: wingnut
"Tomorrow, however, the sex-as-entertainment theory goes up another level altogether with the opening of the Sydney brothel Stiletto. Journalists used to sit outside brothels waiting for police to bust illegal immigration rackets; at Stiletto they're invited inside for a tour showcasing its lavish entry (believe it or not, the door handles are shaped like sperm)... Negotiations are continuing with Pamela Anderson to be an opening-night guest, as well as the walking car wreck.. Anna Nicole Smith."
|
|
Read article...
|
|
In event of terrorist attack, we keep your kids!
Washington Post | Submitted by: pete the anarchist
"School administrators in the Washington area yesterday stepped up preparations for possible terrorism, and most school districts told parents that they would be prevented, or strongly discouraged, from picking up their children in the event of a biological or chemical attack."
|
|
Read article...
|
|
Was Michael Jackson framed?
GQ | Submitted by: mackensie
"The sole allegations leveled against Jackson, then, remain those made by one youth, and only after the boy had been give a potent hypnotic drug, leaving him susceptible to the power of suggestion... "I found the case suspicious," says Dr. Underwager, the Minneapolis psychiatrist, "precisely because the only evidence came from one boy. That would be highly unlikely. Actual pedophiles have an average of 240 victims in their lifetime. It's a progressive disorder. They're never satisfied."
|
|
Read article...
|
|
Eleven dead pitbulls found dumped in creek
WKMG-TV 6 Orlando | Submitted by: Rio
"Eleven dead pit bulls that investigators believe had been used for fighting were found in a Mobile County creek, authorities said. Two men fishing Thursday night in Pierce Creek found the dogs, which had been shot in the head and stuffed inside garbage bags, said Shane McBryde, spokesman for the Mobile County Sheriff's Department. "This is the first time, in my experience, that we've had this many animals dumped in one spot," Barbara Drummond, a spokeswoman for the County Commission said. "It's definitely one of the most horrific things that has happened."
|
|
Read article...
|
|
RNC exporting American jobs to India
Business Standard | Submitted by: A. P. Palled
"HCL eServe, the business process outsourcing arm of the Shiv Nadar-promoted HCL Technologies, has bagged a project to undertake a fund-raising campaign for the US Republican Party over the telephone... These operators are required to call up people in the US seeking their support for President George W Bush and a donation for the Republican cause."
|
|
Read article...
|
|
Human organ in the fruit punch II
AZ Central | Submitted by: Crazy Quagga
A sideways kind of follow-up of a previous story; last time, it was a "penis", this time an "eyeball". But the true culprit was the same. "The object was cut in half and a portion of the soft green inner surface was examined... The material was examined at 100x magnification on a microscope slide. Many mycelia were noted. The object appears to be a mass of mold."
|
|
Read article...
|
|
Soccer referee chases players with axe
Sun | Submitted by: JOPY - 666
"A referee threatened players with an AXE after they abused him for disallowing a goal... Another player called him a fairy and he went completely berserk. He ran off the pitch and returned a few moments later stripped to the waist and waving a long axe round his head. "He looked mental. Everyone ran to the far corners of the ground to get away from him.  Then the ref got in his car and drove off."
|
|
Read article...
|
|
Middle schoolers suspended for sex in class
KNBC-TV 4 Los Angeles | Submitted by: News Junkie
"Kennedy Middle School in St. Clair Shores, Mich., is conducting an investigation into the inappropriate behavior of two of its students... Officials say two eighth-grade students were caught having sex under a science lab table in the back of the classroom last week."
|
|
Read article...
|
|
Alert elevation based on a lie
Capitol Hill Blue | Submitted by: Bushmaster
"We've wondering just how much egg we have on our face," says one unhappy White House source. "Right now, the worst thing that could occur for the administration's credibility is that nothing happens this weekend. I know that sounds terrible but we've got a lot riding on this." Now, why would anyone wish an attack on America? Admittedly it is an unnamed source.
|
|
Read article...
|
|
Drunk soldiers lay waste to cops at closing time
BBC | Submitted by: jo666py
"Some of the police officers escaped virtually naked after removing their torn uniforms in a bit to hide their identity from the jeering crowd that had gathered and was cheering the bizarre fight between elements of the forces of law and order."
|
|
Read article...
|
|
|
|
|


The user interface (UI) is the point of human-computer interaction and communication in a device. This can include display screens, keyboards,and a mouse.
500+ Students Enrolled
4.4 (325) Ratings
What You'll Learn
Animate the canvas in world space using in game interactions, making floating damage indicators.
Prepare UI for different resolutions and to target multiple platforms.
Craft reusable UI elements such as Modal Dialog windows and Character Dialogue windows.
Create responsive designs for multiple screen types.
Write Editor Scripts to automate master styles and extend the UI.
Use Unity 5.6’s new VideoPlayer component.
Course Content
Introduction
What is Mean Stack
What is JSON
JSON Syntax
Creating a JSON document
What is Node
Installing Node
What is Npm
Updating npm
Basic npm commands
Global Objects
Synchronous vs Asynchronous
Installing visual studio code
What is MongoDB
Download and Install MongoDB on Windows
Modifying environment variables
Creating a storage directory for MongoDB
Installing MongoDB on Macs
Starting and stopping MongoDB server
MongoDB Data types
MongoDB vs RDBMS
Introduction to web technologies
Introduction to web applications
What is FULL, MEAN, MERN Stack
Editors
Introduction
Layers in web application
Tags, attributes
Programming
Audio, Video, Graphics
Introduction
Selectors and types of selectors
Font, text, border, images
Properties
Class rules
Layouts with CSS
Absolute, relative, fixed positioning
Float, clear
Introduction
Programming languages
Uses of JavaScript
Keywords, operators
Browser objects, JavaScript objects
Dialogs
Events
Basic programming
Functions
Let, const keywords
Nested functions, Closures
Anonymous functions
Function expressions
Hoisting in JavaScript
animations
Validations
AJAX
Introduction
Types of DOM
Uses
Properties and methods
programming
Introduction to JavaScript libraries
Advantages
Functions and Methods
Selectors, custom selectors
Validations
DOM
Animations
AJAX
Introduction
Responsive design
Classes
Containers
Colors, jumbotran, navbar
Forms, buttons, cards, modals
Carousel, images
XML
JSON
JSON Data structures
Difference between XML and JSON
Understand the JavaScript and technical concepts behind NodeJS
Structure a Node application inmodules
Understand and use the EventEmitter
Understand Buffers, Streams, andPipes
Build a Web Server in Node and understand how it reallyworks
Use npm and manage nodepackages
Build a web application and API more easily usingExpress
Connect to a SQL or Mongo database inNode
Understand how the MEAN stackworks
In this chapter we will learn creating web server, handling GET, POST,PUT and Delete requests and listening to certain port numbers and handling routing with basic web server.
Creating webserver
Handling httprequests
Sendingrequests
In this module, we will work with files, reading, writing, updating files, and the concept of chunks, buffers, and uploading files synchronously and asynchronously.
Fs.readFile
Writing aFile
Writing a fileasynchronously
Opening afile
Deleting afile
Other IOOperations
In this chapter you will learn how to debug node js application. Debugging is a process of tracing the bugs and performance issues to optimize your code.
Core Node JSdebugger
Debugging with VisualStudio
In this chapter you work with the events in Node JS, and the significance of the events, writing your own events because Node is event driven framework.
EventEmitterclass
Returning eventemitter
Inheringevents
In this chapter you will learn how to use express framework to create web applications. Express is the most popular framework to build efficient web applications with minimum coding.


Bacon ipsum dolor sit amet prosciutto hamburger kielbasa jowl brisket doner shoulder ham hock. Tail jowl filet mignon shankle, capicola doner turkey andouille flank prosciutto strip steak cow tri-tip boudin. Tenderloin bacon filet mignon, frankfurter doner shoulder cow brisket ball tip meatball tri-tip beef ribs ham hock pastrami. Leberkas flank pastrami tail turducken bresaola fatback pork belly boudin spare ribs chuck sirloin beef. Ham hock meatloaf salami drumstick bresaola frankfurter shankle shoulder. Tenderloin rump capicola cow, pork beef ribs drumstick sirloin short ribs ball tip doner strip steak tri-tip turducken.
Pork loin leberkas bresaola, ball tip salami jowl frankfurter tail pork chop ground round. Turkey turducken beef, doner strip steak shankle ground round sirloin meatloaf pork spare ribs meatball beef ribs sausage. Pork loin shank tail drumstick. Tail short ribs sausage chuck shank tongue ribeye. Shankle flank chuck meatloaf swine ham hock.


Simply close this popup and click on the role you wish to add more shifts to (see image below as an example).
Just click on the button below to add an entirely new role to the rota.


Nintendo Switch
Release date: July 17, 2020
A brand new Paper Mario game is en route, much to the surprise of series' fans. Paper Mario: The Origami King is a pun-packed adventure in a papercraft world, where our heroes Mario and Luigi are accompanied by a new companion called Olivia. The hype is unreal!


--- layout: program color: fill-midnight ---
We will have lightning talks on all three conference days. Talks on Saturday and Sunday have been proposed in advance.
There is no fix order of the talks in a lightning talk session in advance. If you want to listen to a lightning talk, please join the audience before the session begins.
Space for semi-spontaneous lightning talks is available on Monday. If you have something interesting to share with everyone, please come to the welcome desk and ask our volunteers to add you to the list. Lightning talks are lightning short—five minutes only and will be recorded on video.
Five minutes are too short for you? We have a spare room available as bookable space for self-organised sessions. Please come to the welcome desk for reservation and to get your session announced.
Back to program


--- layout: default --- Sindre Sorhus Full-Time Open-Sourcerer & Aspiring Rebel I make lots of modules, CLI tools, and apps. Mostly Swift & Node.js. Writings Code Tweets Huge thanks to all my amazing supporters! Special thanks to: Latest writing My main focus right now is AVA, macOS development, and maintaining all my open-source projects. Latest repos ¯\_(ツ)_/¯ Apps {% for app in site.apps reversed %} {% comment %} This mess is needed because we don't know the extension of the thumbnail upfront... {% endcomment %} {% for file in site.static_files %} {% assign path = '/assets/' | append: app.slug | append: '/thumbnail' %} {% if file.path contains path %} {% endif %} {% endfor %} {{ app.title }} {% if app.is_prerelease %} Prerelease {% elsif forloop.first %} New! {% endif %} {{ app.type }} {{ app.subtitle }} {% endfor %}
I make lots of modules, CLI tools, and apps. Mostly Swift & Node.js.
Writings Code Tweets
{{ app.subtitle }}


We are Paragon Group
We Create
Conference and event planning, branding, production and management is equivalent to creating art.
Our creative attitude, combined with our human touch and passion for knowledge, leads to memorable masterpieces, filled with imagination, creativity and fun.
We Empower
Successful conferences evoke opportunities for personal and professional growth.
After defining our clients' precise needs, our team embarks on an extraordinary process of empowerment.
The end result is an event like no other, accomplishing diverse goals – client branding, enhanced professional reputation, specific and continuous audience participation, increased revenue – and much more.
We Inspire
What makes a work of art truly awe-inspiring?
How does one spark inspiration?
We use imagination and vision to create conferences that reflect quality and professionalism, providing participants with a lasting impression.


Lisbon Workshop: Encouraging open data usage by commercial developers
Call For Participation
The open data movement, and the PSI Directive, are promoted as being good for government transparency, government efficiency and economic growth. In this, the second Share-PSI 2.0 workshop, we want to focus on that last point. Commissioner Neelie Kroes famously said that data is the new oil. There are claims that PSI is worth many billions of Euros to industry and that developers are itching to get their hands on the data, unleashing a tidal wave of creativity.
Really?
Let's look at some examples in public sector open data portals. A popular use of open data across Europe follows from the Bathing Water Quality Directive. Spain has Balnearios de España, produced by the State Agency for Management of Innovation and Technology Tourism SA (SEGITTUR). The UK has its official Bathing Water Quality explorer and a mobile app produced by a firm of architects (Arup) called Beach Selecta. France has its official bathing water quality site that allows you to explore French bathing water quality but the data is not published separately and therefore is not used in applications such as Vamos a la Playa.
All these bathing water quality applications are free to use and, with the exception of Beach Selecta, created by the relevant ministry. These are a few simple examples of government efficiently providing information to citizens, certainly, but there's no economic stimulation here (except for the ministries' contractors). Hackathons, such as Flood Hack are often organised to stimulate creativity around newly opened data sets and they are certainly effective at doing that – but do they lead to commercial success? Well, in the case of events like Denmark's AFSNIT, the prizes are substantial (100,000 DKK is over €13,000) but finding examples of profitable exploitation of open data can be hard.
Notable examples include DataMarket, the Transport API and Xpresslegal. Sites like Open Data Forum.info list a lot of applications but many of these, like the bathing water examples, are not commercial. So what is the reality of the commercial services built on (free) open data that the PSI Directive foresees? Companies like Skobbler, Cloudmade, ENAiKOON and Naviki all make commercial use of a single open data source: Open Street Map, but are they and the ones presented in these 60 second video pitches from the Open Data Institute the tip of the iceberg or the exceptions to the rule? What happens to all the other open data?
Workshop Aims
Hosted by the Portuguese Agency for Public Services Reform, AMA, the Lisbon workshop provides an opportunity for a wide variety of stakeholders to come together to discuss and build the relationship between the public and private sectors in the context of Europe's revised PSI Directive.
From the public sector we look forward to examples of successful, and perhaps less successful, attempts to engage with small and big enterprise who have (re)used public sector data in their business model, and commercial developers who (re)use open data in their products.
From the private sector we're seeking case studies of commercially successful use of public sector data and to identify the most pressing demands and the barriers to greater commercial use of public sector data.
By considering both sides we aim to offer pragmatic advice on how to achieve a productive and prosperous supply and demand relationship.
Workshop Style
The majority of the two days of the workshop will be devoted to small groups meeting to discuss particular themes. Session leaders are asked to facilitate a discussion, not give a presentation. See the Sunlight Foundation's Tips & Tricks page/video for more. In addition to the planned sessions, there will also be an opportunity to propose ad hoc discussions on the day (bar camp sessions).
The style will therefore be highly interactive discussions where participants can talk about ideas and possible solutions to common problems. Up to 5 sessions will be running at any one time.
In addition, there will be two plenary sessions that will include a small number of presentations of high quality work and some keynote talks from:
Indicative list only
- Miguel Poiares Maduro, Cabinet Office Minister for Regional Development;
- Robert Madelin, Director General of the European Commission DG CONNECT;
- Steve Adler, IBM, co-chair of the W3C Data on the Web Best Practices Working Group.
LAPSI Track
LAPSI 2.0, the European Thematic Network on Legal Aspects of Public Sector Information, is the perfect complement to Share-PSI 2.0. Where Share-PSI 2.0 focusses on technical and practical measures to implement the revised PSI Directive, LAPSI focusses on the legal aspects. Over several interactive sessions, the LAPSI partners will facilitate discussions based on the project's outcomes, in particular:
- licence interoperability;
- licensing guidelines;
- good practices on institutional embedding and enforcement;
- the PSI toolbox, a guide through the labyrinth of the regulatory framework for PSI;
- access and data protecion;
all of which are essential if PSI is to be exploited commercially.
Participation
Since publication of this call for participation, many proposals for sessions and plenary talks have been received and reviewed by the programme committee. The agenda is now stable and general registration is open. Participation is free.
Anyone present at the workshop may propose a bar camp session. Ideas can be submitted at any time before or during the workshop. There's no Programme Committee review - people vote with their feet on the day!
Topics include, but are not limited to:
- successful commercial exploitation of public sector data;
- barriers to commercial exploitation of public sector information;
- experiences of commercial/public sector interaction;
- expectations met and unexpected outcomes of working with open data in a commercial environment.
Submission guidelines
Papers should be submitted in a non-proprietary format (HTML, PDF, ePub etc.) via e-mail to<EMAIL_ADDRESS>If you already subscribe to any W3C mailing lists you'll be able to post to that address, if not, please send your submission to Phil Archer. Please include an abstract of the paper in your e-mail. Note that the archive for this e-mail address is visible to Share-PSI partners and W3C Team only.
Submissions by more than one author are welcome; however only the coordinating author (as indicated in the submission) of the selected paper will be invited to take part in the Share-PSI workshop. Additional authors will be able to attend the workshop only if space allows. All selected contributions and associated slides will be published in the Share-PSI 2.0 Web site after the announcement of results under a ccBy licence.
Call for collocation
The Share-PSI 2.0 partners encourage other groups to propose sessions and perhaps hold face to face meetings in Lisbon during that first week of December 2014.
As well as LAPSI, the LIDER project is planning to run some sessions where they'll discuss their work on creating a Linguistic Linked Data cloud that can support content analytics tasks of unstructured multilingual cross-media content.
The Lisbon workshop, with its highly interactive format across multiple tracks, plus high profile speakers, is a perfect place to boost your project's dissemination activities.
Venue
The venue for the workshop is the National Laboratory for Civil Engineering (LNEC), Av Do Brasil 101 1700-066 Lisboa, Portugal. Practical information is provided on the wiki.
Questions? Please contact Phil Archer, Share-PSI 2.0 coordinator and W3C Data Activity Lead.


{{businessInfo.BusinessName}}
PAYEE
Name:
{{receiptData.customerName}}
Method Of Payment:
{{receiptData.paymentMethod}}
Unit:
{{receiptData.invoiceData.department}}
RECEIPT
Number:
{{receiptData.invoiceData.number}}
Transaction Status:
{{receiptData.transactionStatus}}
Amount Paid
{{receiptData.amountPaid}}
ITEM CODE
QTY
AMOUNT
{{item.BillingTypeItemName}}
{{item.BillingTransactionItemQuantity}}
{{item.BillingTransactionItemPrice}}
Total
{{receiptData.invoiceData.totalAmount}}
Receipt Generated On: {{today()}}.
Printed By: {{currentStaffInfo.StaffFullName}}
POWERED BY
emmetblue.ng


apollo.dataadapter.chadoxml
Class ChadoTransactionXMLWriter
java.lang.Object
apollo.dataadapter.TransactionOutputAdapter
apollo.dataadapter.chadoxml.ChadoTransactionXMLWriter
public class ChadoTransactionXMLWriter
- extends TransactionOutputAdapter
This class is used to write Transaction objects to Chado transaction XML.
- Author:
- wgm
|
Field Summary |
protected static org.apache.log4j.Logger |
logger
|
|
Method Summary |
protected void |
commitTransformedTransactions(java.util.List chadoTransactions)
A subclass to this class should implement this method to provide its own behaviors. |
void |
setTarget(java.lang.Object target)
Override the super class method to check the type of the target |
void |
setTransformer(TransactionTransformer transformer)
Need to add some information from config file. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
logger
protected static final org.apache.log4j.Logger logger
ChadoTransactionXMLWriter
public ChadoTransactionXMLWriter()
- Default constructor
setTarget
public void setTarget(java.lang.Object target)
- Override the super class method to check the type of the target
- Overrides:
setTarget
in class TransactionOutputAdapter
- Parameters:
target
- the file target. It must be a file name. This is the file name for game xml.
So it should be converted to chado transaction xml file extension.
commitTransformedTransactions
protected void commitTransformedTransactions(java.util.List chadoTransactions)
throws java.lang.Exception
- Description copied from class:
TransactionOutputAdapter
- A subclass to this class should implement this method to provide its own behaviors.
- Specified by:
commitTransformedTransactions
in class TransactionOutputAdapter
- Parameters:
chadoTransactions
- a list of Transaction objects transformed by transactions.
These are no longer apollo.editor.Transactions, but transactions that are specific
to the data adapter (eg ChadoTransactions)
I would argue this should be a HASA just like the transaction transformer. so
the transaction output adapter is just a generic object that gets a transformer &
a writer and just calls both - its the old HASA vs ISA i guess.
- Throws:
java.lang.Exception
setTransformer
public void setTransformer(TransactionTransformer transformer)
- Need to add some information from config file.
- Overrides:
setTransformer
in class TransactionOutputAdapter


The great Oracle at Dodona welcomes you What would you like to ask the Oracle?
The Oracle listens for the leaves rustling in the wind before responding...
What else would you like to ask the Oracle?


Benjamin Kirby Tennyson
Benjamin Kirby "Ben" Tennyson was a normal ten-year-old kid until he found the Omnitrix, a powerful watch-like device that allowed him to turn into ten different aliens. Though initially immature and clumsy, Ben grew to be a true hero. By the time he was sixteen, he had become famous in not only his hometown of Bellwood but on Earth and beyond. Ben has also been deputized by the Plumbers and gained more aliens as time progressed.
Ben's physical appearance has changed throughout the series from a ten-year-old to a sixteen-year-old. However, he retains some recurring characteristics. He has shaggy brown hair, green eyes, pale skin, and he's quite skinny for his age, though he shows a lot of muscle definition due to being athletic.


Eleven percent (11%) of the DB2 9 Fundamentals certification exam (Exam 730) is designed to test your knowledge of the mechanisms DB2 9 uses to allow multiple users and applications to interact with a database simultaneously without negatively affecting data consistency. The questions that make up this portion of the exam are intended to evaluate the following:
Your ability to identify the appropriate isolation level to use for a given situation
Your ability to identify the characteristics of locks
Your ability to list objects for which locks can be acquired
Your ability to identify factors that can influence locking
This chapter is designed to introduce you to the concept of data consistency and to isolation levels and locks-the mechanisms DB2 uses to maintain data consistency in both single- and multi-user database environments.


about the staff @ rotten dot com
An archive of disturbing illustration
By popular demand, we're posting a staff photo.
[
return to rotten.com
]


record
class.
Serialization methods include writeObject()
, readObject()
, readObjectNoData()
, writeExternal()
, and
readExternal()
and the field serialPersistentFields
.
These members are not used for the serialization or deserialization of records and therefore unnecessary.
Examples:
record R1() implements Serializable {
// The field is ignored during record serialization
@Serial
private static final ObjectStreamField[] serialPersistentFields = new ObjectStreamField[0];
// The method is ignored during record serialization
@Serial
private void writeObject(ObjectOutputStream out) throws IOException {
}
}
record R2() implements Externalizable {
// The method is ignored during record serialization
@Override
public void writeExternal(ObjectOutput out) throws IOException {
}
// The method is ignored during record serialization
@Override
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
}
}
This inspection only reports if the language level of the project or module is 14 or higher.
New in 2020.3


macro [window_type] [key [value]]
where key is the name of a valid key (see below), and value is a magic command-line command. If present, window_type must be one of the four window types accepted by the specialopen command: layout, color, netlist, and wind3d. If omitted, the layout window is assumed by default, unless the command has been called from inside a window (using the colon or semicolon escape to the command-line), in which case that window type is assumed.
The macro command translates keystrokes typed into a layout window into magic command-line commands. When the key key is pressed in a layout window, the command stored in value is executed relative to that layout window. The default bindings are specified in the system .magic file, read at startup. These macros may be arbitrarily rebound using the macro command.A key macro may be unbound from a command by passing an empty string ("") for the value.
key is any valid name for a keyboard keypress event. In its simplest form, this may just be the name of the key, such as "g" or "X". The space bar key must be quoted in double-quotes; most other characters may be unquoted. Control characters may be specified by the two-character combination of the carat ("^") key followed by a capital letter, such as "^Z". The use of embedded control characters is deprecated, as it is incompatible with Tcl syntax.
key may also be specified as any valid X11 name for a key as defined in the include file keysymdef.h on UNIX systems. This allows specification of function keys such as "XK_F8" or keypad keys such as "XK_KP_Right".
Buttons are treated just like keys for the purpose of defining macros. While the official names for buttons in keysymdef.h are "XK_Pointer_Button_1", etc., the macro command accepts the abbreviated forms Button1, and so forth.
Finally, key modifiers may be prepended to the key name. Valid key modifiers are Shift_, Control_, Alt_, and Meta_, and may be coupled in any combination. Mouse buttons may also be combined with key modifiers, so, for example, Shift_Button1 is a legal, unique binding.
macro is implemented as a built-in window command in magic.
imacro
| Return to command index |
Last updated: November 10, 2004 at 10:34am


Master of Computer Science Dalhousie University Halifax, NS, Canada2012.09 to 2014.08 Thesis: Scalable Real-time OLAP Systems for the Cloud
Bachelor of Computer Science Harbin Institute of Technology Harbin, China2008.09 to 2012.07 A Massive Log Data Storage and Searching System.


If you work from your own photograph, it's important that you work from a good photograph. It is always preferable to work from life as it does not require that you take a good photo, process it correctly, and make a quality print from it. Life always has perfect color. When taking photographs and making prints, you must know what you are doing or the colors and values will be completely wrong. On this page I will provide as much information as possible to help you photograph, process, print, and laminate a good photo of your subject to paint from, but for many people this is very difficult — and in some cases, it can be expensive.
Before you can determine what size canvas to use, you must set up your still life and decide what to paint. There should be at least three objects in your still life so that you can get the most out of this course and my teaching. Stay away from strong, perfect patterns when choosing subjects for this course — especially patterns that have bright and dark areas in the pattern together. Here are some examples of patterns you should avoid.
On the other hand, there are many items that I see students avoid because they think the items would be too difficult to paint. In fact, things like glass, brass, transparent fabrics, and many other items that seem like they would be difficult to paint are actually very straightforward. Here are some examples of objects that would be relatively easy to paint.
If you work from your own photograph, it's important that you work from a good photograph. It is always preferable to work from life as it does not require that you take a good photo, process it correctly, and make a quality print from it. Life always has perfect color. When taking photographs and making prints, you must know what you are doing or the colors and values will be completely wrong. On this page I will provide as much information as possible to help you photograph, process, print, and laminate a good photo of your subject to paint from, but for many people this is very difficult — and in some cases, it can be expensive.
Take the time to set up a nice still life that you really like — don't settle for something mediocre. If it takes you a few days and 25 attempts to settle on something you're happy with, it will be worth it! Watch this video where I give lots of advice on setting up a still life.
Because you will be working from a photograph instead of working from life, you don't need to build a shadow box like in the video. You can set up a still life on your kitchen counter or wherever you like the light. I would recommend using natural window-light instead of artificial lights. Move your still-life table around your home or studio and explore how the natural light changes. You could even set a table by a window, in a doorway, or an open garage. Or just go out and find your still life already set up — in your pantry, in an antique store window, on your dresser, etc.
A kitchen counter or dining room table is a great place to set up a still life if the light is good. Be sure to make note of how the light changes throughout the day.
You are not required to use a quality photograph to paint from for this course, but do consider the following before deciding what photo you will use.
Ideally an artist wants their source photograph to look like the real thing. That means that the colors and values should be the same in your photo as they are in real life. Unfortunately this is almost never the case. Except for very rare exceptions, all photos taken with modern cameras set to automatic are overexposed and oversaturated.
The degree to which this is true is easier to demonstrate than it is to explain with words. In the photo below I have taken great care in how I photographed the subject, how I processed the image (with Photoshop), and how I printed the image so that the colors and values in the final print closely match those you would see in life.
That's how it should look. However, if you use the automatic mode on your camera, as I did in the photo below…
Although not required for the course, the photo you work from should be enlarged so that objects in the photograph are the same size as they will be when you paint them. That means if you're going to paint a vase four inches wide, the vase in your photo should be four inches wide as well.
This is very helpful and makes it much easier to draw and paint accurately — although it does mean you will likely be working from multiple prints (if your painting is larger than the size of one print).
As you try different setups, be sure to take many, many photos, and then afterwards go through them all and choose your favorite one to paint.
Click here for a simplified guide on how to take photographs to paint from.
If you are an experienced photographer or if you want to get the best possible results, then I highly recommend using our Advanced Photography Guide instead.
Always use glossy photo paper, never satin or matte. Glossy photos have darker blacks than photos with a satin or matte finish.
Because you will be checking your paint colors directly on the photo, you will also need to laminate your print. Be sure to use a crystal clear laminate. Whatever you use or wherever you go to have your photos laminated, do a quick test first: take two copies of a photo and only laminate one of them. Check that the blacks in the photo remain black and do not become "milky". The laminated photo should be indistinguishable from the photo that has not been laminated.
It is essential that the photo you work from be positioned right next to your canvas. You should not be looking up or down at your photo, nor should you be having to turn your head more than necessary.
Here is a video where I demonstrate a super easy one you could make yourself, or you can have someone make it for you. The cost of materials is very small.


--- ---
|
TGUI
v0.7-dev
|
List box widget. More...
#include <ListBox.hpp>
Public Types | |
| typedef std::shared_ptr< ListBox > | Ptr |
| Shared widget pointer. | |
| typedef std::shared_ptr< const ListBox > | ConstPtr |
| Shared constant widget pointer. | |
| Public Types inherited from tgui::Widget | |
| typedef std::shared_ptr< Widget > | Ptr |
| Shared widget pointer. | |
| typedef std::shared_ptr< const Widget > | ConstPtr |
| Shared constant widget pointer. | |
Public Member Functions | |
| ListBox (const ListBox ©) | |
| Copy constructor. More... | |
| ListBox & | operator= (const ListBox &right) |
| Overload of assignment operator. More... | |
| std::shared_ptr< ListBoxRenderer > | getRenderer () const |
| Returns the renderer, which gives access to functions that determine how the widget is displayed. More... | |
| virtual void | setPosition (const Layout2d &position) override |
| Set the position of the widget. More... | |
| void | setSize (const Layout2d &size) override |
| Changes the size of the list box. More... | |
| virtual sf::Vector2f | getFullSize () const override |
| Returns the full size of the list box. More... | |
| virtual void | setFont (const Font &font) override |
| Changes the font of the text in the widget. More... | |
| bool | addItem (const sf::String &itemName, const sf::String &id="") |
| Adds an item to the list. More... | |
| bool | setSelectedItem (const sf::String &itemName) |
| Selects an item in the list box. More... | |
| bool | setSelectedItemById (const sf::String &id) |
| Selects an item in the list box. More... | |
| bool | setSelectedItemByIndex (std::size_t index) |
| Selects an item in the list box. More... | |
| void | deselectItem () |
| Deselects the selected item. | |
| bool | removeItem (const sf::String &itemName) |
| Removes the item from the list with the given name. More... | |
| bool | removeItemById (const sf::String &id) |
| Removes the item that were added with the given id. More... | |
| bool | removeItemByIndex (std::size_t index) |
| Removes the item from the list box. More... | |
| void | removeAllItems () |
| Removes all items from the list. | |
| sf::String | getItemById (const sf::String &id) const |
| Returns the item name of the item with the given id. More... | |
| sf::String | getSelectedItem () const |
| Returns the currently selected item. More... | |
| sf::String | getSelectedItemId () const |
| Get the id of the selected item. More... | |
| int | getSelectedItemIndex () const |
| Get the index of the selected item. More... | |
| bool | changeItem (const sf::String &originalValue, const sf::String &newValue) |
| Changes an item with name originalValue to newValue. More... | |
| bool | changeItemById (const sf::String &id, const sf::String &newValue) |
| Changes the name of an item with the given id to newValue. More... | |
| bool | changeItemByIndex (std::size_t index, const sf::String &newValue) |
| Changes the name of an item at the given index to newValue. More... | |
| std::size_t | getItemCount () |
| Returns the amount of items in the list box. More... | |
| std::vector< sf::String > | getItems () |
| Return a copy of the items in the list box. More... | |
| const std::vector< sf::String > & | getItemIds () |
| Return a copy of the item ids in the list box. More... | |
| void | setScrollbar (Scrollbar::Ptr scrollbar) |
| Changes the scrollbar of the list box. More... | |
| Scrollbar::Ptr | getScrollbar () const |
| Access the scrollbar of the list box. More... | |
| void | setItemHeight (unsigned int itemHeight) |
| Changes the height of the items in the list box. More... | |
| unsigned int | getItemHeight () const |
| Returns the height of the items in the list box. More... | |
| void | setTextSize (unsigned int textSize) |
| Changes the text size of the items. More... | |
| unsigned int | getTextSize () const |
| Returns the text size of the items. More... | |
| void | setMaximumItems (std::size_t maximumItems=0) |
| Changes the maximum items that the list box can contain. More... | |
| std::size_t | getMaximumItems () const |
| Returns the maximum items that the list box can contain. More... | |
| void | setAutoScroll (bool autoScroll) |
| Changes whether the list box scrolls to the bottom when a new item is added. More... | |
| bool | getAutoScroll () const |
| Returns the maximum items that the list box can contain. More... | |
| virtual void | setOpacity (float opacity) override |
| Changes the opacity of the widget. More... | |
| virtual sf::Vector2f | getWidgetOffset () const override |
| Returns the distance between the position where the widget is drawn and where the widget is placed. More... | |
| Public Member Functions inherited from tgui::Widget | |
| Widget () | |
| Default constructor. | |
| Widget (const Widget ©) | |
| Copy constructor. More... | |
| ~Widget () | |
| Destructor. | |
| Widget & | operator= (const Widget &right) |
| Overload of assignment operator. More... | |
| std::shared_ptr< WidgetRenderer > | getRenderer () const |
| Returns the renderer, which gives access to functions that determine how the widget is displayed. More... | |
| virtual sf::Vector2f | getAbsolutePosition () const |
| Get the absolute position of the widget instead of the relative position to its parent. More... | |
| virtual void | show () |
| Shows the widget. More... | |
| virtual void | showWithEffect (ShowAnimationType type, sf::Time duration) |
| Shows the widget by introducing it with an animation. More... | |
| virtual void | hide () |
| Hides the widget. More... | |
| virtual void | hideWithEffect (ShowAnimationType type, sf::Time duration) |
| Hides the widget by making it leave with an animation. More... | |
| bool | isVisible () const |
| Returns true when the widget is visible. More... | |
| virtual void | enable () |
| Enables the widget. More... | |
| virtual void | disable (bool blockMouseEvents=true) |
| Disables the widget. More... | |
| bool | isEnabled () const |
| Returns true when the widget is enabled. More... | |
| virtual void | focus () |
| Focus the widget. More... | |
| virtual void | unfocus () |
| Unfocus the widget. More... | |
| bool | isFocused () const |
| Returns true when the widget is focused and false otherwise. More... | |
| const std::string & | getWidgetType () const |
| Returns the type of the widget. More... | |
| Container * | getParent () const |
| Returns a pointer to the parent widget. More... | |
| float | getOpacity () const |
| Returns the opacity of the widget. More... | |
| virtual void | moveToFront () |
| Places the widget before all other widgets. | |
| virtual void | moveToBack () |
| Places the widget behind all other widgets. | |
| void | setToolTip (Widget::Ptr toolTip) |
| Sets the tool tip that should be displayed when hovering over the widget. More... | |
| Widget::Ptr | getToolTip () |
| Returns the tool tip that is displayed when hovering over the widget. More... | |
| std::shared_ptr< sf::Font > | getFont () const |
| Returns the font associated with the widget (if any) More... | |
| void | detachTheme () |
| Detach the theme from the widget. More... | |
| std::shared_ptr< BaseTheme > | getTheme () const |
| Returns the theme to which the widget is currently connected. More... | |
| std::string | getPrimaryLoadingParameter () const |
| Returns the primary parameter that was passed to the loader to load this widget. More... | |
| std::string | getSecondaryLoadingParameter () const |
| Returns the secondary parameter that was passed to the loader to load this widget. More... | |
| Public Member Functions inherited from tgui::Transformable | |
| virtual | ~Transformable ()=default |
| Virtual destructor. | |
| void | setPosition (const Layout &x, const Layout &y) |
| set the position of the widget More... | |
| sf::Vector2f | getPosition () const |
| get the position of the widget More... | |
| void | move (const Layout2d &offset) |
| Move the widget by a given offset. More... | |
| void | move (const Layout &x, const Layout &y) |
| Move the widget by a given offset. More... | |
| void | setSize (const Layout &width, const Layout &height) |
| Changes the size of the widget. More... | |
| virtual sf::Vector2f | getSize () const |
| Returns the size of the widget. More... | |
| void | scale (const Layout2d &factors) |
| Scale the widget. More... | |
| void | scale (const Layout &x, const Layout &y) |
| Scale the widget. More... | |
| Public Member Functions inherited from tgui::SignalWidgetBase | |
| SignalWidgetBase ()=default | |
| Default constructor. | |
| SignalWidgetBase (const SignalWidgetBase ©) | |
| Copy constructor. More... | |
| SignalWidgetBase & | operator= (const SignalWidgetBase &right) |
| Overload of assignment operator. More... | |
| template<typename Func , typename... Args> | |
| unsigned int | connect (const std::string &signalNames, Func func, Args...args) |
| Connects a signal handler function to one or more signals. More... | |
| template<typename Func , typename... Args> | |
| unsigned int | connectEx (const std::string &signalName, Func func, Args...args) |
| Connects a signal handler function to one or more signals. More... | |
| void | disconnect (unsigned int id) |
| Disconnects a connection. More... | |
| void | disconnectAll (const std::string &signalName) |
| Disconnect all connections from a certain signal. More... | |
| void | disconnectAll () |
| Disconnect all connections from a all signals. | |
Static Public Member Functions | |
| static ListBox::Ptr | create () |
| Creates a new list box widget. More... | |
| static ListBox::Ptr | copy (ListBox::ConstPtr listBox) |
| Makes a copy of another list box. More... | |
Protected Member Functions | |
| virtual void | reload (const std::string &primary="", const std::string &secondary="", bool force=false) override |
| Reload the widget. More... | |
| virtual Widget::Ptr | clone () const override |
| Makes a copy of the widget if you don't know its exact type. More... | |
| Protected Member Functions inherited from tgui::Widget | |
| void | attachTheme (std::shared_ptr< BaseTheme > theme) |
| Attach a theme to the widget. More... | |
List box widget.
Signals:
| tgui::ListBox::ListBox | ( | const ListBox & | copy | ) |
Copy constructor.
| copy | Instance to copy |
| bool tgui::ListBox::addItem | ( | const sf::String & | itemName, |
| const sf::String & | id = "" |
||
| ) |
Adds an item to the list.
| itemName | The name of the item you want to add (this is the text that will be displayed inside the list box) |
| id | Optional unique id given to this item for the purpose to later identifying this item. |
| bool tgui::ListBox::changeItem | ( | const sf::String & | originalValue, |
| const sf::String & | newValue | ||
| ) |
Changes an item with name originalValue to newValue.
| originalValue | The name of the item which you want to change |
| newValue | The new name for that item |
In case the names are not unique, only the first item with that name will be changed.
| bool tgui::ListBox::changeItemById | ( | const sf::String & | id, |
| const sf::String & | newValue | ||
| ) |
Changes the name of an item with the given id to newValue.
| id | The unique id of the item which you want to change |
| newValue | The new name for that item |
In case the id is not unique, only the first item with that id will be changed.
| bool tgui::ListBox::changeItemByIndex | ( | std::size_t | index, |
| const sf::String & | newValue | ||
| ) |
Changes the name of an item at the given index to newValue.
| index | The index of the item which you want to change |
| newValue | The new name for that item |
|
inlineoverrideprotectedvirtual |
Makes a copy of the widget if you don't know its exact type.
This function should only be used when you don't know the type of the widget. If you know what kind of widget you are copying, you should use the copy function.
Implements tgui::Widget.
|
static |
Makes a copy of another list box.
| listBox | The other list box |
|
static |
Creates a new list box widget.
|
inline |
Returns the maximum items that the list box can contain.
|
overridevirtual |
Returns the full size of the list box.
The size returned by this function includes the borders.
Reimplemented from tgui::Transformable.
| sf::String tgui::ListBox::getItemById | ( | const sf::String & | id | ) | const |
Returns the item name of the item with the given id.
| id | The id of the item that was given to it when it was added |
In case the id is not unique, the first item with that id will be returned.
|
inline |
Returns the amount of items in the list box.
| unsigned int tgui::ListBox::getItemHeight | ( | ) | const |
Returns the height of the items in the list box.
| const std::vector<sf::String>& tgui::ListBox::getItemIds | ( | ) |
Return a copy of the item ids in the list box.
Items that were not given an id simply have an empty string as id.
| std::vector<sf::String> tgui::ListBox::getItems | ( | ) |
Return a copy of the items in the list box.
|
inline |
Returns the maximum items that the list box can contain.
|
inline |
Returns the renderer, which gives access to functions that determine how the widget is displayed.
| Scrollbar::Ptr tgui::ListBox::getScrollbar | ( | ) | const |
Access the scrollbar of the list box.
You should not change the scrollbar yourself
| sf::String tgui::ListBox::getSelectedItem | ( | ) | const |
Returns the currently selected item.
| sf::String tgui::ListBox::getSelectedItemId | ( | ) | const |
Get the id of the selected item.
| int tgui::ListBox::getSelectedItemIndex | ( | ) | const |
Get the index of the selected item.
| unsigned int tgui::ListBox::getTextSize | ( | ) | const |
Returns the text size of the items.
|
overridevirtual |
Returns the distance between the position where the widget is drawn and where the widget is placed.
This is basically the width and height of the optional borders drawn around widgets.
Reimplemented from tgui::Widget.
Overload of assignment operator.
| right | Instance to assign |
|
overrideprotectedvirtual |
Reload the widget.
| primary | Primary parameter for the loader |
| secondary | Secondary parameter for the loader |
| force | Try to only change the looks of the widget and not alter the widget itself when false |
| Exception | when the connected theme could not create the widget |
When primary is an empty string the built-in white theme will be used.
Reimplemented from tgui::Widget.
| bool tgui::ListBox::removeItem | ( | const sf::String & | itemName | ) |
Removes the item from the list with the given name.
| itemName | The item to remove |
In case the names are not unique, only the first item with that name will be removed.
| bool tgui::ListBox::removeItemById | ( | const sf::String & | id | ) |
Removes the item that were added with the given id.
| id | Id that was given to the addItem function. |
In case the id is not unique, only the first item with that id will be removed.
| bool tgui::ListBox::removeItemByIndex | ( | std::size_t | index | ) |
Removes the item from the list box.
| index | Index of the item in the list box |
| void tgui::ListBox::setAutoScroll | ( | bool | autoScroll | ) |
Changes whether the list box scrolls to the bottom when a new item is added.
| autoScroll | Should list box scroll to the bottom when new items are added? |
Auto scrolling is enabled by default.
|
overridevirtual |
Changes the font of the text in the widget.
| font | The new font. |
When you don't call this function then the font from the parent widget will be used.
Reimplemented from tgui::Widget.
| void tgui::ListBox::setItemHeight | ( | unsigned int | itemHeight | ) |
Changes the height of the items in the list box.
| itemHeight | The size of a single item in the list |
| void tgui::ListBox::setMaximumItems | ( | std::size_t | maximumItems = 0 | ) |
Changes the maximum items that the list box can contain.
| maximumItems | The maximum items inside the list box. When the maximum is set to 0 then the limit will be disabled. |
If no scrollbar was loaded then there is always a limitation because there will be a limited space for the items.
|
overridevirtual |
Changes the opacity of the widget.
| opacity | The opacity of the widget. 0 means completely transparent, while 1 (default) means fully opaque. |
Reimplemented from tgui::Widget.
|
overridevirtual |
Set the position of the widget.
This function completely overwrites the previous position. See the move function to apply an offset based on the previous position instead. The default position of a transformable widget is (0, 0).
| position | New position |
Reimplemented from tgui::Widget.
| void tgui::ListBox::setScrollbar | ( | Scrollbar::Ptr | scrollbar | ) |
Changes the scrollbar of the list box.
| scrollbar | The new scrollbar to use in the list box |
Pass a nullptr to remove the scrollbar. Note that when removing the scrollbar while there are too many items to fit in the list box then the excess items will be removed.
The scrollbar should have no parent and you should not change it yourself. The function is meant to be used like this:
| bool tgui::ListBox::setSelectedItem | ( | const sf::String & | itemName | ) |
Selects an item in the list box.
| itemName | The item you want to select |
In case the names are not unique, the first item with that name will be selected.
| bool tgui::ListBox::setSelectedItemById | ( | const sf::String & | id | ) |
Selects an item in the list box.
| id | Unique id passed to addItem |
In case the id would not be unique, the first item with that id will be selected.
| bool tgui::ListBox::setSelectedItemByIndex | ( | std::size_t | index | ) |
Selects an item in the list box.
| index | Index of the item in the list box |
|
overridevirtual |
Changes the size of the list box.
| size | The new size of the list box |
Reimplemented from tgui::Widget.
| void tgui::ListBox::setTextSize | ( | unsigned int | textSize | ) |
Changes the text size of the items.
| textSize | The size size of the text |
This will not change the height that each item has. By default (or when passing 0 to this function) the text will be auto-sized to nicely fit inside this item height.


The following are some ideas I had for new Emoncms features:
Ability to put data on dashboard without Log to Feed It would be nice if we could put an "input" on a dashboard, for data that doesn't need to be logged or saved. The only purpose would be for visualization. It could work in a couple of different ways:
1. Have something like a special virtual feed, mapped to an input (not a feed) only for the only purpose of putting the data on a dashboard.
2. Give the option for feeds that do not insert data after the first, and only row, in the table. The data is simply overwritten. That would fulfill the desire to put input data on a dashboard, without building up a big table of data that I don't care to save. Wouldn't that just be a change from insert to update?
Improve Button Widget Improve on the button widget, such that a press could send a MQTT message, or modify it as demonstrated by joyrider3774 in this post: http://openenergymonitor.org/emon/node/11728
Improve LED Widget Provide for setting the LED color, and improve the LED graphic (it looks too much like the button widget). Maybe just make it smaller?
Provide a Reports Module Provide a way to generate simple custom reports. For example, a report of kWh used from December 7, 2015 until January 9, 2016. The report could have daily kWh and a grand total, as well as daily and total cost. Allow for entering date ranges, feeds, what to total and what to multiply. A built-in reporting module would be very useful.
Thanks for consideration and comments. Tom
Re: Emoncms Feature Requests
I agree something like a "log to variable" process would be a great addition. no distinction between inputs or feeds, just a holding place for a current value, updated each time the input processes.
I have many unwanted feeds that are just holding the result of a process calculation so I can use +-x/ feed later somewhere else or to just display the current value, no persistence is needed.
There are currently 2 ways to perform complex processing, either do each smaller part of the sum once and save as a feed so it can e reused or you sometimes you can repeat the processing multiple times for slightly different results. The first taks up diskspace and the second add a significant amount of wok for the user to set up and ongoing processor time each time the input is updated.
There was a big discussion on this subject sometime ago and the use of "virtual feeds" that were basically the same as normal feeds but not persisted, this transformed into the current "virtual feeds" that may work for your purpose, they only "process the feed data" when the dashoard is loaded so unfortunatly they do not work for process calculations nor could you get the current value via a api.
Paul


Thermodynamic Calculator
Made by Jonas Jørgensen
Reagents
Add reagent
Remove reagent
Products
Add product
Remove product
Calculate
WORK IN PROGRESS
Usage
Coefficient
Formula/Name
Chemical state
If the correct chemical cannot be found, input these values manually.
H
⦵
S
⦵
G
⦵
Suggestions
H
⦵
S
⦵
G
⦵