How would the administrative divisions of Mexico look like if each state was formed by all the territory that is closer to it that to any other state?
The Voronoi Diagram was built from the centroids of the mexican states
I had to follow a lot of tutorials to build this map:


CrimPapers
Articles published on 1 June 2018
On 1 June 2018, 8 new articles were published in 8 journals.
Adaptation and Psychometric Properties of the Ispcan Child Abuse Screening Tool For Use in Trials (icast-Trial) Among South African Adolescents and Their Primary Caregivers
‘c’ Is For Commercial Collaboration: Enterprise and Structure in the ‘middle Market’ of Counterfeit Alcohol Distribution
Baseline Autonomic Nervous System Activity in Female Children and Adolescents With Conduct Disorder: Psychophysiological Findings From the Femnat-Cd Study
A Mixed Methods Comparison of Gang and Race Motivated Violent Incident Involvement in A Youth Correctional Setting by Daniel Scott
Note: although this article was published on 4 April 2018, the publisher only added it to the journal RSS feed on 1 June 2018, which is why it is shown in the list of articles for that date.
Police Evaluations of Intimate Partner Violence in Heterosexual and Same-Sex Relationships: Do Experience and Training Play A Role?
Testing the Causal Hypothesis That Repeated Bullying Victimization Leads to Lower Levels of Educational Attainment: A Sibling-Comparison Analysis by Eric J. Connolly, Nicholas Kavish, Eric M. Cooke
Unmaking A Murderer: Behaviour Sequence Analysis of False Confessions by David A. Keatley, Abbie Marono, David D. Clarke
Disentangling the Impact of Female Victimization Across Racial and Ethnic Lines by Deena A. Isom Scott


fatal: destination path 'cv' already exists and is not an empty directory. /content/cv /content/cv/challenge File ‘bvlc_alexnet.npy’ already there; not retrieving. Requirement already satisfied: easydict in /usr/local/lib/python3.6/dist-packages (1.9)


---
layout: default
---
Particl Project
Status Report
For general overview of Particl Project's goals visit Project Roadmap
Updated 28 September 2018
Recently completed
- Particl Marketplace (alpha, testnet)
- Settings API for Marketplace
- Bug fixes and UI improvements
- Escrow process refactor and enhancements
- Expiry times on listings
-
Improved message processing
- Message throttling/cache
- Reprocess failed messages and recover from errors
-
Automated system testing
- Blackbox tests running on Market code base
-
Design and Layout
- Various UI/UX improvements
Waiting for review
- Particl Desktop (v1.3, mainnet)
- Stability improvements
- Running on <IP_ADDRESS> Particl Core
- Particl Marketplace (alpha, testnet)
- Automated testing - Integration testing
-
Finalising voting and Proposals (Governance 1.0)
- Consensus on the removal of products - Market governance
-
Settings page
- GUI Settings
- Market Settings
- Staking pool statistics
- Third-party integrations
In development
-
Particl Marketplace (alpha, testnet)
- Code refactoring
- Adding weights behind the votes on Governance (Listing removal)
- Proposals to be time based instead of block based
- Votes to be time based instead of block based
- Multi-Wallet implementation
- Updating testing documentation
-
Automated Testing
- End to End testing
- Unit Testing
- Regression Testing
-
Settings page
-
Message processing improvements
- Removing action messages
- Reprocess failed messages
-
Design and Layout
- Adding a Support and Help menu to the GUI
- UX design and layout to support Private Marketplaces on the GUI
- RingCT Implementation
-
Third Party Integration
-
Particl Core
Upcoming features
- Particl Marketplace (beta)
- Private Markets
- Private listings
- Deposit Negotiations
- Marketplace versioning for messages and listings
- Inventory Management
- Software Development Kit (SDK)
{% include particl-desktop.html %}


Version Control, Git and GitHub
- a brief overview
June 15, 2015
The benefits of version control
Version control is a system to keep track of edits and changes to a project. You can save different versions of your work and it helps you to follow and reproduce changes to a project, a file or your code. It allows team work and collaboration as multiple people can be working on the same project without entering into conflicts, because their work can be tracked and time-stamped and a controlled version can be created.
How git helps to keep track of changes
Git runs locally on the computer and serves as a version control system. By bundling changes into save points, so called commits, you can easily track different versions and changes to your project. If necessary, the project can be reverted back to any of these commits.
Why GitHub?
GitHub is an online hub, where the code or work files can be pushed/uploaded to. This allows you to work remotely or collaborate on a project with many people. When commits are being pushed to GitHub, these changes to the project can be accessed and tracked also remotely.


BIENVENIDOS AL MEJOR SITIO DE INTERNET
ever.
Homepage!
My First Website!
More TCK angst
Some content was here. But then it
mysteriously
disappeared.
Meow


Product
Foreign designs
Traditional designs
Customized designs
Services
Training
Events
Wedding costume


Subscribe to our newsletter for the latest F2K give aways, meta reports, decklist and news articles.
Receive updates and special offers from F2K
Privacy policy


--- layout: post title: Disabling Second Level Retries for specific exceptions date: 2012-09-26 08:18:41.000000000 +02:00 categories: - In depth - NServiceBus tags: [] status: publish type: post published: true meta: _edit_last: '1' dsq_thread_id: '859764592' author: login: andreas.ohlund email<EMAIL_ADDRESS>display_name: Andreas Öhlund first_name: Andreas last_name: "Öhlund" ---
NServiceBus supports two different types of retries, first level retries (FLR) that happens immediately by bouncing the message back to the top of the input queue and Second Level Retries (SLR) that happens after a configurable amount of time.
In short the FLR aims to solve any transient exceptions like deadlocks while SLR solves more semi-transient ones like the database being down. Usually this all this works out of the box without you doing any thing but in some scenarios you might want to skip the SLR for exceptions where you know that that there is no chance of success.
I usually suggest to avoid tweeking the retries as long as you can since exceptions in production that isn't solvable through retries should be rare. To achieve this we should always design our messages to have "no good reason to fail" we can refine that to "no good business reason to fail". If messages have no business reason to fail the only failures you'll get is infrastructure failures which is very likely to be solvable through retries. I usually classify my messages into events and "other messages" (commands + request/response) and when looking at those a event should definitely never have a business reason to fail since a event is something important that has happened in the business so it's not like we can roll it back.
If we follow the guidelines above fiddling with the retries is most likely a case of premature optimization.
Kijana has posted a lot of good insights regarding this over at the NServiceBus group.
All that said the purist approach is always, well a purist approach:)
While messages that have no business reason to fail is always achievable in theory, practically it's not always applicable to every real life situation so lets talk about a few scenarious where you might wan't to get more control of what gets retried.
If you have messages that can fail for a business reason excessive retries can cause issues with:
Enough talk, here's how to do it.
SLR allows users to supply a custom retry policy. A custom retry policy gives you the ability to control the delay between retries for a given message. In this case we'll combine this with the fact that if you specify the delay to be TimeSpan.MinValue NServiceBus will interpret this as "don't do any more retries". When creating a custom retry policy we get access to the TransportMessage that failed and fortunately NServiceBus will add headers to that message that contains the exception details. Those headers are:
So to create a custom policy that supresses SLR if the exception type is of the type MyBusinessException the only thing you have to do is this:
{% gist 3781308 %}
As you can see we just look at the headers and return TimeSpan.MinValue to abort the SLR. If you have other requirements just modify the policy to look at any of the other headers listed above.
Hope this helps!


{% extends "workshop_step.html" %} {% block step_content %}
This is were it all comes together. In this step we'll configure Travis to automatically run tests, post coverage reports to the tools and make a deployment on Heroku.
The first thing to do is to sign up on Travis CI if you don't have an account yet. Luckily, Travis CI provides OAuth integration with GitHub, just as Codecov from a previous step.
The homepage of Travis CI has a huge green button that just invites you to click on it ;)
After signing up on Travis, the application will sync with your repositories, and then give you an overview on your account of all the repositories it found.
By default Travis will not do anything with the repositories it finds. In order to activate Travis CI for your repository, you just need to toggle the correct switch.
Now that Travis is enabled for your repository, it's time to start preparing for the actual configuration of Travis.
In the previous step you copied the Heroku application key. Given that this key allows access to your Heroku account, we don't want to put this in plain sight inside the Travis configuration file. Luckily Travis CI provides an option to encrypt sensitive values.
You should now get (depending on your favourite framework) get one of the next Travis toolboxes, so you can encrypt the Heroku Application key for safe usage in the config file:
gem install travis travis encrypt {app_key}
pip install travis-encrypt travis-encrypt {github_username} ci_workshop
Now that we have secured the Heroku application key, we can create our Travis configuration.
Travis has quite extensive documentation for many languages, including python. We want to make a configuration that ticks the next checkmarks:
If the travis.yml was added to the repository, you should now see that Travis starts building whenever you make a new commit.
{% endblock %}


--- show_header: true permalink: / --- {% assign sorted_hacks = site.hacks | where:"upcoming",true | sort:"date" | reverse %} {% assign next_hack = sorted_hacks | first %} {% assign start_time = next_hack.date | slice:0,10 | append:"T08:30Z" %}
An online event where you can meet friends and work on something new
{% else %}
There's nothing lined up! ☹
{% endif %}


Javascript's popularity!
Sunday, May 11 2014
Hello, dear reader! It's time for our next installment, trying to understand why the heck people love to use this strange language for web development, JavaScript (JS). Well, if we're totally candid, a lot of people maintain a steady love/hate relationship with JS, but why sweat the details? I mean, it's a way more friendly language than Java or C++ (if you want to be proven correct, try looking up those languages' "Hello World" programs some time versus JavaScript's cute `console.log("Hello World")'), but still what gives? The fact of the matter is that JS is pretty much the language for web development, but to understand why, we have to go back to the beginning. Of Creation. Of Everything. Web-browser related that is, dummy ;)
Alright, so Javascript has pretty much been here since we started using web browsers (read: 1995), and for those of us who vaguely remember the bloody battles over which web browsers were the best in the 90s, let me remind you. There were bloody battles over which web browser was the best. Anyway, Javascript tried to appease everyone. It was at first used for fun little things like leaving a trail of where your mouse had been within the browser. Pretty, but not particularly useful. But that was all going to change when something called AJAX came onto the scene.
AJAX stands for Asynchronous JavaScript and XML. Without going into to much detail, it basically lets your web page be dynamic without having to load a completely new website. If you're having trouble understanding what that means, just think about the handy autocomplete function that we now all take for granted on the main page of Google. Basically, google doesn't load a completely new web page when it tries to suggest what you're actually trying to type into the search box. It uses AJAX (and importantly, JAVASCRIPT) to accomplish the dynamic nature of the web page.
Also, I think it merits mentioning that people have been constantly revamping JS to make it better and easier to use. Usually, we devs call this "creating additional libraries for the language" or some variation on that theme. I just want to mention one cross-platform library called JQuery that was introduced in 2006 and basically addressed a lot of the issues that a lot of people had with JS when used for stuff like AJAX. So a lot more people stopped kvetching and starting hacking. And it was good.
So, overall, you might be thinking that JavaScript can do some cool stuff, but like, whatever, you've seen more impressive things in life. It's not like it's the whole package or anything, right? I mean, if you wanted to write something more complicated that just a silly web page that has so flashy things that it can do dynamically, you need to learn a COMPLETELY new language like Ruby, Python, or PHP, right?! Actually, funny you should mention it. JavaScript can do that, too.
Thanks to a [relatively] new development in *ahem* development, there's this nifty thing called `node.js'. This `node.js' business basically allows you to write the more complicated parts to a web app that make it functional beyond a pretty picture (known to developers as a back-end) as well as give it all the cool flair that you think all slick web-sites should embody nowaday with their new-fangled sliding transitions and all that other higgery-majiggery (known to developers as higgery-majiggery**). Basically, it makes it so that you can use Javascipt for EVERYTHING.
There are a lot of other benefits to Javascript, but in all, I guess I could sum up Javascript's popularity pretty simply:
- 1) It's been around since forever, so most people are used to using it/familiar with it.
- 2) It's way more friendly than a lot of other languages that are sometimes used for the same purposes *ahem*ugly Java applets*ahem*
- 3) It is capable of nifty front-end stuff, thanks to AJAX (and I didn't mention HTML5, but that too)
- and 4) Finally, it's capable of handling back-end stuffs, thanks to node.js.
So basically, JS is the web-dev language of choice. It's versatile, [relatively] easy to use, and can be really smart if you give it the chance.  Or something like that.
oh. Credit where credit is due. Thank you Wikipedia, W3 Schools, and Dan North.
**just kidding. It's called the front-end. Not as fun, but I guess it makes more sense, given the fact that the other side is the 'back-end', right?


Horoscope: Daily Career And Business Horoscope | November 21, 2019
by Sherwin D'CunhaHoroscope
Horoscope: Your career and business prediction for November 21 will tell you a lot about your day ahead and help you plan it accordingly. Read on to know more.
Written By Sherwin D'Cunha | Mumbai | Updated On: November 20, 2019 21:16 IST
Astrology is a phenomenon that studies the positions of planets and based on that, it predicts what one can expect from a particular day. Here is a look at how your day is going to unfold today in terms of career and business. Read the overview of your sign's prediction for career and business for November 21, 2019.
Daily Career and Business Horoscope
Aries
Today will be a good day to start budgeting. You have been overspending on a lot of things. You might want to consider keeping your finances in check rather than having things awry, financially. Things look good at your job front. If you remain patient, new opportunities might turn up.
Taurus
Today is going to be a good day for you in terms of finance and money flow. Try to communicate with new influencers for business exposure. Job searches and salary negotiations should go more smoothly. Try aiming high and work hard to achieve them.
Read Horoscope: Predictions About Career And Business For November 19
Gemini
Now seems like the perfect time to move forward on the money front by focusing on developing your career into more than just a simple job. Try to work in the sector you want to. Doing that will keep you satisfied and keep the money flowing in and out. Cancer
You will be highly encouraged to earn more money, and put in extra hours of work. Even though everything seems good, it is likely that you might get worked up about your finances. It is natural considering your nature to question everything.
Leo
Your work progress might turn out to be moderate. But this doesn’t mean that you are not growing. Don’t keep on expecting too much from your work right now.
Virgo
Take an extra step towards improving your weak points. Consider attending seminars and workshops to get a better understanding of role at your workplace. Try to know how you can give more to this place you are working at.
Read Horoscope: Daily Career And Business Horoscope- November 18, 2019
Libra
There will be an increase in your expenses but it won't be a major problem for your budget. So it is important if you start planning wisely before itself to avoid any risk. Stars are in your favour. They will help you achieve your monetary goals.
Scorpio
Your professional career may experience some growth and progress at the current phase. You will surely get what you deserve for all the hard work and efforts. New challenges from your colleagues and bosses are just a stepping stone to a breakthrough.
Sagittarius
You are already an expert at meeting new people and communicating. It is suggested that you take up some con-calls and pitching ideas today. It is a great day to discuss ideas with your boss and colleagues.
Read Daily Horoscope: Career And Business Horoscope For November 17
Capricorn
Your career graph is seemingly doing well. You have seen a fair bit of challenges and now it is time for you to sit back and relax for a while. Your projects will need some amount of attention.
Aquarius
Take help from your superiors. A good solution for the ongoing problem can be looking back at past mistakes. Try to make better decisions after taking into consideration all the past experiences.
Pisces
It is important to deviate from personal problems and start focusing on your work. If there is some amount of stress pulling you down, it is always suggested to take a break from it. This will be the best way to move ahead.
Read Horoscope: Daily Career And Business Horoscope- November 15, 2019


Before you can backup/restore data to the cloud, you must first register your device.
Once registered, you will be able to import data from the cloud to this device immediately.
Later, when your registration has been approved, you will be able to export changes you make on this device to the cloud.


Error and return codes.
| Member Name | Description |
|---|---|
| BadSeek | There was an error trying to set the smart card file object pointer. (SCARD_E_BAD_SEEK) |
| Cancelled | The action was cancelled by an ISCardContext.Cancel request. (SCARD_E_CANCELLED) |
| CancelledByUser | The user pressed "Cancel" on a Smart Card Selection Dialog. (SCARD_W_CANCELLED_BY_USER) |
| CannotDispose | The system could not dispose of the media in the requested manner. (SCARD_E_CANT_DISPOSE) |
| CardNotAuthenticated | No PIN was presented to the smart card. (SCARD_W_CARD_NOT_AUTHENTICATED) |
| CardUnsupported | The smart card does not meet minimal requirements for support. (SCARD_E_CARD_UNSUPPORTED) |
| CertificateUnavailable | The requested certificate could not be obtained. (SCARD_E_CERTIFICATE_UNAVAILABLE) |
| CHVBlocked | The card cannot be accessed because the maximum number of PIN entry attempts has been reached. (SCARD_W_CHV_BLOCKED) |
| CommunicationDataLost | A communications error with the smart card has been detected. (SCARD_E_COMM_DATA_LOST) |
| CommunicationError | An internal communications error has been detected. (SCARD_F_COMM_ERROR) |
| DirectoryNotFound | The identified directory does not exist in the smart card. (SCARD_E_DIR_NOT_FOUND) |
| DuplicateReader | The reader driver did not produce a unique reader name. (SCARD_E_DUPLICATE_READER) |
| Eof | The end of the smart card file has been reached. (SCARD_W_EOF) |
| FileNotFound | The identified file does not exist in the smart card. (SCARD_E_FILE_NOT_FOUND) |
| ICCCreateOrder | The requested order of object creation is not supported. (SCARD_E_ICC_CREATEORDER) |
| ICCInstallation | No primary provider can be found for the smart card. (SCARD_E_ICC_INSTALLATION) |
| InsertedCard | The smart card has been inserted. (Obsolete) |
| InsufficientBuffer | The data buffer to receive returned data is too small for the returned data. (SCARD_E_INSUFFICIENT_BUFFER) |
| InternalError | An internal consistency check failed. (SCARD_F_INTERNAL_ERROR) |
| InvalidAtr | An ATR obtained from the registry is not a valid ATR string. (SCARD_E_INVALID_ATR) |
| InvalidCHV | The supplied PIN is incorrect. (SCARD_E_INVALID_CHV) |
| InvalidHandle | The supplied handle was invalid. (SCARD_E_INVALID_HANDLE) |
| InvalidParameter | One or more of the supplied parameters could not be properly interpreted. (SCARD_E_INVALID_PARAMETER) |
| InvalidTarget | Registry startup information is missing or invalid. (SCARD_E_INVALID_TARGET) |
| InvalidValue | One or more of the supplied parameters values could not be properly interpreted. (SCARD_E_INVALID_VALUE) |
| NoAccess | Access is denied to this file. (SCARD_E_NO_ACCESS) |
| NoDir | The supplied path does not represent a smart card directory. (SCARD_E_NO_DIR) |
| NoFile | The supplied path does not represent a smart card file. (SCARD_E_NO_FILE) |
| NoKeyContainer | The requested key container does not exist on the smart card. (SCARD_E_NO_KEY_CONTAINER) |
| NoMemory | Not enough memory available to complete this command. (SCARD_E_NO_MEMORY) |
| NoReadersAvailable | Cannot find a smart card reader. (SCARD_E_NO_READERS_AVAILABLE) |
| NoService | The Smart card resource manager is not running. (SCARD_E_NO_SERVICE) |
| NoSmartcard | The operation requires a Smart Card, but no Smart Card is currently in the device. (SCARD_E_NO_SMARTCARD) |
| NoSuchCertificate | The requested certificate does not exist. (SCARD_E_NO_SUCH_CERTIFICATE) |
| NotReady | The reader or smart card is not ready to accept commands. (SCARD_E_NOT_READY) |
| NotTransacted | An attempt was made to end a non-existent transaction. (SCARD_E_NOT_TRANSACTED) |
| PciTooSmall | The PCI Receive buffer was too small. (SCARD_E_PCI_TOO_SMALL) |
| ProtocolMismatch | The requested protocols are incompatible with the protocol currently in use with the smart card. (SCARD_E_PROTO_MISMATCH) |
| ReaderUnavailable | The specified reader is not currently available for use. (SCARD_E_READER_UNAVAILABLE) |
| ReaderUnsupported | The reader driver does not meet minimal requirements for support. (SCARD_E_READER_UNSUPPORTED) |
| RemovedCard | The smart card has been removed, so further communication is not possible. (SCARD_W_REMOVED_CARD) |
| ResetCard | The smart card has been reset, so any shared state information is invalid. (SCARD_W_RESET_CARD) |
| SecurityViolation | Access was denied because of a security violation. (SCARD_W_SECURITY_VIOLATION) |
| ServerTooBusy | The Smart Card Resource Manager is too busy to complete this operation. (SCARD_E_SERVER_TOO_BUSY) |
| ServiceStopped | The Smart card resource manager has shut down. (SCARD_E_SERVICE_STOPPED) |
| SharingViolation | The smart card cannot be accessed because of other connections outstanding. (SCARD_E_SHARING_VIOLATION) |
| Shutdown | The operation has been aborted to allow the server application to exit. (SCARD_P_SHUTDOWN) |
| Success | No error. (SCARD_S_SUCCESS) |
| SystemCancelled | The action was cancelled by the system, presumably to log off or shut down. (SCARD_E_SYSTEM_CANCELLED) |
| Timeout | The user-specified timeout value has expired. (SCARD_E_TIMEOUT) |
| Unexpected | An unexpected card error has occurred. (SCARD_E_UNEXPECTED) |
| UnknownCard | The specified smart card name is not recognized. (SCARD_E_UNKNOWN_CARD) |
| UnknownError | An internal error has been detected, but the source is unknown. (SCARD_F_UNKNOWN_ERROR) |
| UnknownReader | The specified reader name is not recognized. (SCARD_E_UNKNOWN_READER) |
| UnknownResMng | An unrecognized error code was returned from a layered component. (SCARD_E_UNKNOWN_RES_MNG) |
| UnpoweredCard | Power has been removed from the smart card, so that further communication is not possible. (SCARD_W_UNPOWERED_CARD) |
| UnresponsiveCard | The smart card is not responding to a reset. (SCARD_W_UNRESPONSIVE_CARD) |
| UnsupportedCard | The reader cannot communicate with the card, due to ATR string configuration conflicts. (SCARD_W_UNSUPPORTED_CARD) |
| UnsupportedFeature | Feature not supported. (SCARD_E_UNSUPPORTED_FEATURE) |
| WaitedTooLong | An internal consistency timer has expired. (SCARD_F_WAITED_TOO_LONG) |
| WriteTooMany | The smart card does not have enough memory to store the information. (SCARD_E_WRITE_TOO_MANY) |
| WrongCHV | The card cannot be accessed because the wrong PIN was presented. (SCARD_W_WRONG_CHV) |


Or perhaps it is. Anyway, it's not here unfortunately. My best guess? Try to go back or simply go to the homepage.


Substance (the Procedural Materials engine in Unity) makes use of two forms of caching, and to manage memory and disk usage when using procedural materials it is important to understand how they both behave.
Susbtance allows you to generate dynamic textures (textures that can obey a set of parameters) from a small amount of data. However, in order to generate the textures from the binary data and the parameter values, Substance needs to allocate some memory to store intermediate bitmaps when ‘recompositing’ the desired output textures.
The amount of memory Substance is allowed to use during the texture generation is controlled by ProceduralMaterial.cacheSize.
Once a Procedural Material’s textures have been generated, and according to the current value of cacheSize, the Substance engine can keep some of the intermediate results in memory, in order to speed up subsequent texture computations if the user changes the value of one or several parameters later on.
Once this is done, ProceduralMaterial.ClearCache() forces the Substance engine to release the memory it kept allocated, and to release the storage used to store the data of the input bitmaps if any.
So, the quickest way to lower the memory consumption of the Substance engine once the textures have been computed is as follows:
procMat.cacheSize = ProceduralCacheSize.None;
procMat.ClearCache();
This function can be called per-material, and it’s safe to think of it as such. However under the hood, Substance may optimize space by reusing shared parts of materials (for example if a basic noise pattern is used by two different materials). In addition, depending on the order in which assets are serialized during the build process and loaded at runtime, or even on the performance of the machine the game/app runs on, the merging of assets is not deterministic. Therefore if you are trying to closely track the amount of memory used by each material, this information may help explain if you are seeing unpredictable results.
In order not to pay the texture generation time each time the game/app starts, it is possible to set up the Procedural Material in the editor to use a caching load behaviour.
This option gives you control over when the textures are generated for the first time (either once the asset is loaded for the first time, or the first time the user triggers the texture computation via a script call), how the generated texures are cached, and whether the substance data is kept in memory to allow modification and regeneration at runtime.
The options available are:
| Option Name | Description |
|---|---|
| Do nothing | Do not generate the textures. RebuildTextures() or RebuildTexturesImmediately() must be called to generate the textures. |
| Do nothing and cache | Do not generate the textures. RebuildTextures() or RebuildTexturesImmediately() must be called to generate the textures. After the textures have been generrated for the first time, they are cached to disk/flash to speed up subsequent game/application startups. |
| Build on level load | Generate the textures when loading to favor application’s size (default on supported platforms). |
| Build on level load and cache | Generate the textures when loading and cache them to disk/flash to speed up subsequent game/application startups. |
| Bake and keep Substance | Bake the textures to speed up loading and keep the Procedural Material data so that it can still be tweaked and regenerated later on. |
| Bake and discard Substance | Bake the textures to speed up loading and discard the Procedural Material data (default on unsupported platforms). |
When the generated textures are cached on-device, the next time the game/app cold starts, the textures are directly loaded from disk, and this is almost as fast as loading regular bitmaps. This means no time is spent generating textures at all, except for the first time the app is run.
The cached data can be cleared using Caching.CleanCache(). This is the same cache space as is used for any download assetbundle data, so calling CleanCache
will clear cached Procedural Material data and downloaded Asset Bundle data.


Turn up your volume!
Now playing
Hold
spacebar
to load a new track.
Release
spacebar
to play.
Loading


These tests are for determining the numbers of physical packages, physical cores, and logical processors from the data returned by /proc/cpuinfo on Linux hosts. Each text file in this directory is the output of /proc/cpuinfo on various machines.
The names of all test files should be of the form
Apack_Bcore_Clogical.txt
where A
,
B
, and C
are integers or the character
X
. For example, a single quad-core processor without
hyperthreading would correspond to 1pack_4core_4logical.txt
,
while two 6-core processors with hyperthreading would correspond to
2pack_12core_24logical.txt
, and would be pretty sweet.
Using A
, B
, and C
from above, code
processing the text in these files should produce the following expected
values:
| property | value |
|---|---|
| # physical packages | A |
| # physical cores | B |
| # logical processors | C |
(Obviously, the processing code should do this with no knowledge of the filenames.)
If any of A
, B
, or C
are the
character X
instead of an integer, then processing code
should not return a value (return null
, return
nil
, raise an exception… whatever makes most sense for your
agent).
There is a malformed.txt file which is a random file that does not adhere
to any /proc/cpuinfo format. The expected result is null
for
packages, cores and processors.


| 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
|
|
|
March 13, 2003
Why does actor Don Johnson have $8 BILLION
Sky News | Submitted by: AnnePage
"Former Miami Vice star Don Johnson is being investigated on suspicion of being involved in an international money-laundering ring. The star of the cult '80s cop show was stopped by police as he drove into Germany from Switzerland with $8B of share certificates, cheques, credit notes and bonds crammed into a suitcase. The 53 year old was stopped at a roadblock near the Swiss border and questioned by officers."
|
|
Read article...
|
|
Mel Gibson's parents wear tinfoil hats
ABC TV affiliates | Submitted by: Hasamimasho
"The actor's father, Hutton Gibson, told The New York Times he flatly rejected that the terrorist group led by Usama bin Laden had any role in the attacks on the World Trade Center and the Pentagon Sept. 11... He and the actor's mother, Joye Gibson, also told The Times that the Holocaust was a fabrication manufactured to hide an arrangement between Adolf Hitler and "financiers" to move Jews out of Germany to the Middle East to fight Arabs."
|
|
Read article...
|
|
Antiwar protesters trash 9/11 memorial
Whittier Daily News | Submitted by: Rockpile
"Antiwar protesters burned and ripped up flags, flowers and patriotic signs at a Sept. 11 memorial that residents erected on a fence along Whittier Boulevard days after the terrorist attacks in 2001 and have maintained ever since."
|
|
Read article...
|
|
Two War-on-Drugs copters downed by gunfire
Newsday | Submitted by: Dirty Sammy
"The helicopters, manned by drug investigators and an official from the Federal Investigative Agency, had just lifted off to fumigate poppy plants Monday when they were hit by high-powered weapons fired by unidentified assailants, the Attorney General's office said in a news release."
|
|
Read article...
|
|
How NOT to smuggle drugs
Cincinnati Enquirer | Submitted by: buffaloBill
"The 24 bundles of marijuana, each the size of a large bed pillow, wouldn't all fit in the trunk, police said. Some were packed in the rear seat with a blanket over the top...Salinas was driving a 2002 red Ford Escort ZX2...going 78 mph in a 55 mph zone." The article then mentions another recent, and equally stupid, would-be smuggler: "An Ohio State Highway Patrol trooper stopped a Dodge Caravan on Interstate 74 in Hamilton County for following a car too closely and found 894 pounds of marijuana in plain view in the back." Dude!
|
|
Read article...
|
|
Indian Parliament screams for four hours
Wire Services | Submitted by: jo666py
Well now here's a real WTF: "Upset by a budget proposal to raise the price of fertilizer, lawmakers in India's lower house of parliament shouted their opposition for four hours on Tuesday. The tactic was so effective the finance minister withdrew the plan."
|
|
Read article...
|
|
Pentagon under influence of certifiable nuts
New York Times | Submitted by: Mr. Picky Pants
We could not make this shit up even if we tried: It appears that the crazy Fundamental Christians (like there are any other kind) are not staying in the insane asylums where they belong, but are being allowed to actively guide the U.S. military in the "War on Terror". The New York Times reports on its editorial page that the author of the "Bible Code II: The Countdown" actually was allowed to brief top pentagon officials on the hocus-pocus his book is based on in an attempt to find Osama Bin Laden. Tarot cards next?
|
|
Read article... and
This article...
|
|
Diddle child, get 30 days
Dayton Daily News | Submitted by: Idle Hands
"A 68 year old Oregonia man was sentenced Wednesday to 30 days in the Warren County Jail for sexual conduct with an 8-year-old relative, after her parents complained about the plea bargain. "We not only desire, but require justice for our daughter," the girl's mother said. "This is a felony offender." After listening to the mother, Warren County Common Pleas Judge Neal Bronson issued maximum six-month sentences and $1,000 fines on each charge for Donald Perry, but suspended all but 30 days of his jail term." If he'd smoked pot during the diddling, how many years would have been added to the sentence?
|
|
Read article...
|
|
Mass monkey escape
New Orleans Times-Picayune | Submitted by: dogawful
Maybe not as exciting as "The Hot Zone" or as amusing as a Curious George in The Big Easy, but two dozen rhesus monkeys did manage to escape from the Regional Primate Center: "Students and staff at nearby Northlake Christian School reported seeing several monkeys in the trees Tuesday afternoon. But as nightfall approached, the monkeys had returned to the ground, an indication that they were probably getting hungry and were ready to eat, Tulane workers said."
|
|
Read article...
|
|
Texas set to celebrate its Big 300th
Newsday | Submitted by: Dirty Sammy
"In the 22 years since convicted killer Delma Banks arrived on death row in Texas, he's seen 299 prisoners taken away for execution. Barring a U.S. Supreme Court reprieve, he'll become No. 300... The former judges say problems with lawyers and witnesses in Banks' trial led to a wrongful conviction."
|
|
Read article...
|
|
Activities include nature hikes, campfires, etc.
Wire Services | Submitted by: Dirty Sammy
"Saddam Hussein has opened a training camp for Arab volunteers willing to carry out suicide bombings against U.S. forces in case they invade Iraq, Arab media and Iraqi dissidents said Tuesday... scores of Arab volunteers have gone to a special camp run by the Iraqi intelligence service near the town of al-Khalis, 40 miles northeast of Baghdad."
|
|
Read article...
|
|
Leaving prison in style
Australian Broadcasting | Submitted by: Squeak, the Human Chew Toy
"A gang has used rocket launchers and heavy weapons to blow open the outer doors of a French prison and free their friend in a spectacular jailbreak... "What worries us is that the accomplices are not afraid to use weapons of war any more," a prison union official commented after a breakout earlier this month on Borgo, Corsica."
|
|
Read article...
|
|
Stones tour censored in China
CNN | Submitted by: Lydia
"The Chinese government has ordered the Rolling Stones to ax four of their best-known hits from their landmark mainland shows next month, a concert organizer has said Wednesday." Among the banned songs: Brown Sugar, Honky Tonk Woman, Beast of Burden, and Let's Spend the Night Together.
|
|
Read article...
|
|
California schools sell out America
Fox News | Submitted by: Boat6float
"Two school districts in California have encouraged families to adopt a "don't tell" policy with their children to avoid a federal law that requires schools to notify military recruiters about students reaching enlistment age... "We are complying with the law, but we are also making clear to our parents that... they have the opportunity to opt out of it, to choose not to have private information provided to the military."
|
|
Read article...
|
|
Use an accordian go to prison?
Cincinnati Enquirer | Submitted by: buffaloBill
"Village Council ruled Monday night that street performances by a 16-year-old accordion player do not disturb the peace." The complaints weren't so much about his music presence but the fact his music was "tacky." In any event the world is safe for democracy once again.
|
|
Read article...
|
|
|
|
|


ADDICTED TO LOVE A film review by Marty Mapes Copyright 1997 Marty Mapes
**1/2 (out of 4) Romantic comedies are often hard to differentiate. You might think that a great romantic comedy would need something special to set it apart -- a great gimmick that works well on film, funny scenes, and great chemistry. Of these attributes, Addicted to Love only lacks great chemistry.
Goes to show how important that attribute is.
Sam the astronomer (Matthew Broderick) tries to keep his girlfriend Linda (Kelly Preston) from leaving their small hometown for New York City. But she feels constricted by small town life and leaves anyway. Sam waits for Linda to come back, but she doesn't return. Instead she sends him a "Dear John" letter.
Sam doesn't take being dumped lightly, so he sets off for New York in search of Linda.
He finds her with her new boyfriend and he watches them through the window. He discovers that the apartment across the street is abandoned so he makes a nest.
In an inspired moment of great filmmaking, Sam "paints" Linda on the wall. The projected image from the camera obscura is muted because the wall is brown. Sam starts painting the wall silvery white, following Linda's virtual image around her apartment. Each time she moves, Sam follows, leaving a trail of reflected light where he goes.
Maggie (Meg Ryan) moves into Sam's nest without telling him who she is or what she's doing. Turns out that Maggie's ex-boyfriend (Anton, played by Tcheky Karyo) is seeing Sam's ex-girlfriend. Maggie has chosen Sam's nest as the best place to bug and monitor Anton's apartment.
Between Sam's and Maggie's equipment, they have picture and sound: a live-action movie of their ex-significant others.
Though Sam's motives are pathetic and Maggie's are spiteful, they find they have a common goal -- breaking up Anton and Linda -- Sam, so he can reunite with Linda, and Maggie, so she can revel in her revenge.
Most of their schemes are funny, and the movie is full of great lines. One scene has Maggie and Sam watching Anton and Linda with the sound off, while Maggie and Sam supply running comedy a la Mystery Science Theater 3000.
If you've seen the previews (or if you know the genre) you already know how it inevitably must end. Actually, the movie ends much more kindly and humanely than it could have, but really there are no surprises.
Overall, the movie was enjoyable, and it's hard to fault it for anything in particular. Mostly, the problem is that Sam and Maggie lack chemistry. Most of the time, they don't need it, but eventually, it becomes important. (It's hard to imagine Broderick having "chemistry" with anyone.)
But even with everything this movie did right, it just doesn't add up to greatness.
P.S. you might be glad to know the title song never played over the movie. Frankly, the title seems like an afterthought. But a rose by any other name . . . .
Check out more current movie reviews at http://www.indra.com/~mmapes/
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


--- layout: post status: publish published: true title: Creating Multi-Part Messages in BizTalk author: display_name: Tomas Restrepo login: tomasr email<EMAIL_ADDRESS>url: http://winterdom.com/ author_login: tomasr author_email<EMAIL_ADDRESS>author_url: http://winterdom.com/ wordpress_id: 728 wordpress_url: http://winterdom.com/2008/04/creatingmultipartmessagesinbiztalk date: '2008-04-30 20:35:20 +0000' date_gmt: '2008-04-30 20:35:20 +0000' categories: - BizTalk tags: [] comments: [] ---
Last year I wrote an entry about adding arbitrary binary attachments to a Multi-Part message in BizTalk 2006 using a helper C# component. That entry has been fairly popular (as far as BizTalk posts go, which is not usually much!), and I occasionally get questions about it.
The sample uses a bit of clever code to insert arbitrary attachments into an existing XLANGMessage instance during construction. However, it's not very clear that this is actually a supported scenario and so there's always a chance it might get you into trouble.
I recently thought of another way, possibly much better supported to accomplish the same in BizTalk 2006, though with a little performance hit: Use the Invoke Pipelines feature in BizTalk 2006 Orchestrations.
Basically, the idea would be to create a custom pipeline component (depending on what you need it could be a regular encoding/pre-assemble or an assembler component), generate a new multi-part message in it, and return that to the orchestration.
I haven't tried it yet, but I think it should work.


The USgas package provides an overview of demand for natural gas in the US in a time-series format. That includes the following datasets:
us_total
- The US annual natural gas consumption by state-level between 1997 and 2019, and aggregate level between 1949 and 2019us_monthly
- The monthly demand for natural gas in the US between 2001 and 2020us_residential
- The US monthly natural gas residential consumption by state and aggregate level between 1989 and 2020Data source: The US Energy Information Administration API
The us_total
provides an annual overview on the US total demand for natural gas by state and aggregated level. The dataset includes the following fields:
year
- An integer, the year of the observationstate
- A character, the US state (or aggregate level) indicatory
- A numeric, the corresponding yearly total natural gas consumption in a million cubic feet by state/USdata("us_total") head(us_total) #> year state y #> 1 1997 Alabama 324158 #> 2 1998 Alabama 329134 #> 3 1999 Alabama 337270 #> 4 2000 Alabama 353614 #> 5 2001 Alabama 332693 #> 6 2002 Alabama 379343
The dataset includes the state level and the US aggregate level (labeled under U.S.
):
unique(us_total$state) #> [1] "Alabama" "Alaska" #> [3] "Arizona" "Arkansas" #> [5] "California" "Colorado" #> [7] "Connecticut" "Delaware" #> [9] "District of Columbia" "Federal Offshore -- Gulf of Mexico" #> [11] "Florida" "Georgia" #> [13] "Hawaii" "Idaho" #> [15] "Illinois" "Indiana" #> [17] "Iowa" "Kansas" #> [19] "Kentucky" "Louisiana" #> [21] "Maine" "Maryland" #> [23] "Massachusetts" "Michigan" #> [25] "Minnesota" "Mississippi" #> [27] "Missouri" "Montana" #> [29] "Nebraska" "Nevada" #> [31] "New Hampshire" "New Jersey" #> [33] "New Mexico" "New York" #> [35] "North Carolina" "North Dakota" #> [37] "Ohio" "Oklahoma" #> [39] "Oregon" "Pennsylvania" #> [41] "Rhode Island" "South Carolina" #> [43] "South Dakota" "Tennessee" #> [45] "Texas" "U.S." #> [47] "Utah" "Vermont" #> [49] "Virginia" "Washington" #> [51] "West Virginia" "Wisconsin" #> [53] "Wyoming"
In the example below, we will subset the US aggregate level view:
us_agg <- us_total[which(us_total$state == "U.S."),] us_agg <- us_agg[order(us_agg$year), ] head(us_agg) #> year state y #> 1034 1949 U.S. 4971152 #> 1035 1950 U.S. 5766542 #> 1036 1951 U.S. 6810162 #> 1037 1952 U.S. 7294320 #> 1038 1953 U.S. 7639270 #> 1039 1954 U.S. 8048504
We can plot it with the plot
function. We will add some customiztion to the plot:
at_x <- seq(from = 1950, to = 2020, by = 10) at_y <- pretty(us_agg$y)[c(3, 5, 7)] plot(us_agg$year, us_agg$y, col = "#1f77b4", type = "l", frame.plot = FALSE, axes = FALSE, panel.first = abline(h = at_y, col = "grey80"), main = "US Total Natural Gas Consumption", xlab = "Source: https://www.eia.gov/", ylab = "Million Cubic Feet") mtext(side =1, text = format(at_x, digits=0, nsmall=0), at = at_x, col = "grey20", line = 1, cex = 0.8) mtext(side =2, text = format(at_y, scientific = FALSE), at = at_y, col = "grey20", line = 1, cex = 0.8)
Similarly, we can subset a couple of states and visualize them. For example, let’s visualize the annual consumption in New England states. We will start by subsetting the corresponding states in New England, transform the data.frame
to wide format, and reorder by date:
ne <- c("Connecticut", "Maine", "Massachusetts", "New Hampshire", "Rhode Island", "Vermont") ne_gas <- us_total[which(us_total$state %in% ne),] ne_wide <- reshape(ne_gas, v.names = "y", idvar = "year", timevar = "state", direction = "wide") ne_wide <- ne_wide[order(ne_wide$year), ] names(ne_wide) <- c("year",ne)
Set the y and x axis ticks:
Use the plot
to plot the states natural gas consumption:
# plot the first series plot(ne_wide$year, ne_wide$Connecticut, type = "l", col = "#073b4c", frame.plot = FALSE, axes = FALSE, panel.first = abline(h = c(at_y), col = "grey80"), main = "New England Annual Natural Gas Consumption by State", cex.main = 1.2, font.main = 1, col.main = "black", xlab = "Source: https://www.eia.gov/", font.axis = 1, cex.lab= 1, ylab = "Million Cubic Feet", ylim = c(min(ne_gas$y, na.rm = TRUE), max(ne_gas$y, na.rm = TRUE)), xlim = c(min(ne_gas$year), max(ne_gas$year) + 3)) # Add the 5 other series lines(ne_wide$year, ne_wide$Maine, col = "#1f77b4") lines(ne_wide$year, ne_wide$Massachusetts, col = "#118ab2") lines(ne_wide$year, ne_wide$`New Hampshire`, col = "#06d6a0") lines(ne_wide$year, ne_wide$`Rhode Island`, col = "#ffd166") lines(ne_wide$year, ne_wide$Vermont, col = "#ef476f") # Add the y and x axis ticks mtext(side =1, text = format(at_x, digits=0, nsmall=0), at = at_x, col = "grey20", line = 1, cex = 0.8) mtext(side =2, text = format(at_y, scientific = FALSE), at = at_y, col = "grey20", line = 1, cex = 0.8) # Add text text(max(ne_wide$year) + 2, tail(ne_wide$Connecticut,1), "Connecticut", col = "#073b4c", cex = 0.7) text(max(ne_wide$year) + 2, tail(ne_wide$Maine,1) * 0.95, "Maine", col = "#1f77b4", cex = 0.7) text(max(ne_wide$year) + 2, tail(ne_wide$Massachusetts,1), "Massachusetts", col = "#118ab2", cex = 0.7) text(max(ne_wide$year) + 2, tail(ne_wide$`New Hampshire`,1) * 1.1, "New Hampshire", col = "#06d6a0", cex = 0.7) text(max(ne_wide$year) + 2, tail(ne_wide$`Rhode Island`,1) * 1.05, "Rhode Island", col = "#ffd166", cex = 0.7) text(max(ne_wide$year) + 2, tail(ne_wide$Vermont,1), "Vermont", col = "#ef476f", cex = 0.7)
The us_monthly
dataset provides a monthly time series, representing the demand for natural gas in the US between 2001 and 2020:
data("us_monthly") head(us_monthly) #> date y #> 1 2001-01-01 2676998 #> 2 2001-02-01 2309464 #> 3 2001-03-01 2246633 #> 4 2001-04-01 1807170 #> 5 2001-05-01 1522382 #> 6 2001-06-01 1444378
We will use the plot
function to visualize the series:
at_x <- seq.Date(from = as.Date("2000-01-01"), to = as.Date("2020-01-01"), by = "5 years") at_y <- pretty(us_monthly$y)[c(2, 4, 6)] plot(us_monthly$date, us_monthly$y, col = "#1f77b4", type = "l", frame.plot = FALSE, axes = FALSE, panel.first = abline(h = at_y, col = "grey80"), main = "US Total Natural Gas Consumption", xlab = "Source: https://www.eia.gov/", ylab = "Million Cubic Feet") mtext(side =1, text = format(at_x, format = "%Y"), at = at_x, col = "grey20", line = 1, cex = 0.8) mtext(side =2, text = format(at_y, scientific = FALSE), at = at_y, col = "grey20", line = 1, cex = 0.8)
The us_residentail
dataset provides a monthly overview on the residential consumption of natural gas in the US by state and aggregate levels:
data("us_residential") head(us_residential) #> date state y #> 1 1989-01-01 Alabama 7406 #> 2 1989-02-01 Alabama 7044 #> 3 1989-03-01 Alabama 7392 #> 4 1989-04-01 Alabama 4722 #> 5 1989-05-01 Alabama 2856 #> 6 1989-06-01 Alabama 1709
The dataset contains information about the residential consumption on all US states:
unique(us_residential$state) #> [1] "Alabama" "Alaska" "Arizona" #> [4] "Arkansas" "California" "Colorado" #> [7] "Connecticut" "Delaware" "District of Columbia" #> [10] "Florida" "Georgia" "Hawaii" #> [13] "Idaho" "Illinois" "Indiana" #> [16] "Iowa" "Kansas" "Kentucky" #> [19] "Louisiana" "Maine" "Maryland" #> [22] "Massachusetts" "Michigan" "Minnesota" #> [25] "Mississippi" "Missouri" "Montana" #> [28] "Nebraska" "Nevada" "New Hampshire" #> [31] "New Jersey" "New Mexico" "New York" #> [34] "North Carolina" "North Dakota" "Ohio" #> [37] "Oklahoma" "Oregon" "Pennsylvania" #> [40] "Rhode Island" "South Carolina" "South Dakota" #> [43] "Tennessee" "Texas" "U.S." #> [46] "Utah" "Vermont" "Virginia" #> [49] "Washington" "West Virginia" "Wisconsin" #> [52] "Wyoming"
Similarly, we can plot the monthly consumption on natural gas in the West Cost states:
wc_gas <- us_residential[which(us_residential$state %in% c("Alaska", "California", "Oregon", "Washington")),] # Reshape to wide wc_wide <- reshape(wc_gas, v.names = "y", idvar = "date", timevar = "state", direction = "wide") names(wc_wide) <- c("date","Alaska", "California", "Oregon", "Washington") # Reorder the data wc_wide <- wc_wide[order(wc_wide$date), ] # Set the plot y and x axis ticks at_x <- seq.Date(from = as.Date("1990-01-01"), to = as.Date("2020-01-01"), length.out = 4) at_y <- pretty(wc_gas$y)[c(2, 4, 6)] # plot the first series plot(wc_wide$date, wc_wide$Alaska, type = "l", frame.plot = FALSE, axes = FALSE, panel.first = abline(h = c(at_y), col = "grey80"), main = "West Cost Natural Gas Residential Consumption", cex.main = 1.2, font.main = 1, col.main = "black", xlab = "Source: https://www.eia.gov/", font.axis = 1, cex.lab= 1, ylab = "Million Cubic Feet", ylim = c(min(wc_gas$y, na.rm = TRUE), max(wc_gas$y, na.rm = TRUE))) # Add the 3 other series lines(wc_wide$date, wc_wide$California, col = "#1f77b4") lines(wc_wide$date, wc_wide$Oregon, col = "#457b9d") lines(wc_wide$date, wc_wide$Washington, col = "#ef476f") # Add the y and x axis ticks mtext(side =1, text = format(at_x, format = "%Y %b"), at = at_x, col = "grey20", line = 1, cex = 0.8) mtext(side =2, text = format(at_y, scientific = FALSE), at = at_y, col = "grey20", line = 1, cex = 0.8) text(tail(wc_wide$date, 10)[1], max(wc_gas$y, na.rm = TRUE), "California", col = "#1f77b4", cex = 0.6) text(tail(wc_wide$date, 10)[1], max(wc_gas$y, na.rm = TRUE) - 5000, "Washington", col = "#ef476f", cex = 0.6) text(tail(wc_wide$date, 10)[1], max(wc_gas$y, na.rm = TRUE) - 10000, "Oregon", col = "#457b9d", cex = 0.6) text(tail(wc_wide$date, 10)[1], max(wc_gas$y, na.rm = TRUE) - 15000, "Alaska", col = "black", cex = 0.6)


QtBluetooth¶
The QtBluetooth
module contains classes to support
connectivity between Bluetooth enabled devices. Bluetooth is a short-range
(less than 100 meters) wireless technology. It has a reasonably high data
transfer rate of 2.1 Mbit/s, which makes it ideal for transferring data
between devices. Bluetooth connectivity is based on basic device
management, such as scanning for devices, gathering information about them,
and exchanging data between them.


- HTML5
- CSS3
- Javascript/jQuery
- Sass/less/Styles
- SEO
- Schema.org/Structured Data
- Front-End Design
- Front-End Development
- Interaction Design
- Responsive Web Design
- MongoDB
- ExpressJS
- AngularJS
- Node.js
- MeteorJS
- Polymer
- GruntJS
- Git/Github
- AJAX/JSON
- MySQL
- Git/SVN
- User Experience (UX)
- User Interface (UI)
- Product Design
- Packaging Design
- Graphic Design
- Accessibility
- Mobile First


Description
This is an example of a Pivot Grid and a Pivot Grid Designer. You can use the pivot grid designer
to select which fields will be displayed on rows and columns. You can also select different value fields
and choose an aggregation function. Simply drag and drop fields in the respective area and the pivot grid's
content will update automatically. You can also click on the menu of each columns, rows, filters or values item
and select additional options like text alignment, number formatting and numbers alignment.


regex = re.compile(glob_to_regex(pattern))
for path in paths:
if regex.match(path) and not excluded(path):
return True
return False
def matches_filespec(path, spec):
def globs_matches(paths, patterns, exclude_patterns):
path_globs = PathGlobs(include=patterns, exclude=exclude_patterns)
return Native().match_path_globs(path_globs, paths)
def matches_filespec(path, spec):
return any_matches_filespec([path], spec)


Execute Disable
The processor can classify areas in memory by where application code can execute and where it cannot.


c:\gdg\algiers>
Programming is the process of creating a set of instructions that tell a computer how to perform a task.
Programming can be done using a variety of computer "languages," such as SQL, Java, Python, and C++.
DescriptionWeb development is the work involved in developing a web site for the Internet or an intranet, blah blah blaah...
Basic programming constructs like variables, loops, iterators, string, integers, booleans, arrays, hashes, methods, and user input were covered
function addNumbers(arrayOfNumbers) {
let initialValue = 0;
for(let i = 0; i < arrayOfNumbers.length; i++) {
initialValue = initialValue + arrayOfNumbers[i];
}
return initialValue;
}
let result = addNumbers([1, 3, 4, 5, 6, 99945, -324, 44]);
console.log(result);
JavaScript is the programming language of HTML and the Web
JavaScript is easy* to learn
<!DOCTYPE html>

<title>IWD Website</title>

This is a Heading

This is a paragraph.

CSS describes how HTML elements are to be displayed on screen
body {
background-color: blue;
}
p {
color: pink;
}
VS Code / Sublime text
<!DOCTYPE> : Defines the document type
: Defines an HTML document
: Defines information about the document
<title>: Defines a title for the document
: Defines the document's body

 to
: Defines HTML headings

: Defines a paragraph

: Inserts a single line break

: Defines a thematic change in the content
: Defines a comment

: Define a table
 - Defines a header for a document or a section
 - Defines a container for navigation links

 - Defines a section in a document

 - Defines an independent self-contained article
 - Defines content aside from the content (like a sidebar)
 - Defines a footer for a document or a section
border-radius: 20px;
color: red;
background-color: green;
We've learned
c:\gdg\algiers>


petsc-3.8.0 2017-09-26
ALL: lib
CFLAGS =
FFLAGS =
CPPFLAGS =
EXAMPLESC = googledriveupload.c urlshorten.c googleobtainrefreshtoken.c boxobtainrefreshtoken.c boxupload.c
MANSEC = Sys
LIBBASE = libpetscsys
DIRS =
LOCDIR = src/sys/webclient/examples/tutorials
include ${PETSC_DIR}/lib/petsc/conf/variables
include ${PETSC_DIR}/lib/petsc/conf/rules
urlshorten: urlshorten.o chkopts
${CLINKER} -o urlshorten urlshorten.o ${PETSC_SYS_LIB}
${RM} -f urlshorten.o
googleobtainrefreshtoken: googleobtainrefreshtoken.o chkopts
${CLINKER} -o googleobtainrefreshtoken googleobtainrefreshtoken.o ${PETSC_SYS_LIB}
${RM} -f googleobtainrefreshtoken.o
googledriveupload: googledriveupload.o chkopts
${CLINKER} -o googledriveupload googledriveupload.o ${PETSC_SYS_LIB}
${RM} -f googledriveupload.o
boxobtainrefreshtoken: boxobtainrefreshtoken.o chkopts
${CLINKER} -o boxobtainrefreshtoken boxobtainrefreshtoken.o ${PETSC_SYS_LIB}
${RM} -f boxobtainrefreshtoken.o
boxupload: boxupload.o chkopts
${CLINKER} -o boxupload boxupload.o ${PETSC_SYS_LIB}
${RM} -f boxupload.o
globusobtaintransfers: globusobtaintransfers.o chkopts
${CLINKER} -o globusobtaintransfers globusobtaintransfers.o ${PETSC_SYS_LIB}
${RM} -f globusobtaintransfers.o
# the next two files don't exist in the repository; did I forget to git add them when I wrote them?
globusobtainaccesstoken: globusobtainaccesstoken.o chkopts
${CLINKER} -o globusobtainaccesstoken globusobtainaccesstoken.o ${PETSC_SYS_LIB}
${RM} -f globusobtainaccesstoken.o
globusupload: globusupload.o chkopts
${CLINKER} -o globusupload globusupload.o ${PETSC_SYS_LIB}
${RM} -f globusupload.o
runurlshorten:
-@${MPIEXEC} -n 1 ./urlshorten > urlshorten_1.tmp 2>&1; \
if (${DIFF} output/urlshorten_1.out urlshorten_1.tmp) then true; \
else printf "${PWD}\nPossible problem with urlshorten_1, diffs above\n=========================================\n"; fi; \
${RM} -f urlshorten_1.tmp
# we need a test for -textbelt but I don't want to hardwire Matt's cellphone number in the repository
# we need to run this test regularly but I don't want to hardwire Matt's Google refresh token in the repository
rungoogledriveupload:
-@${MPIEXEC} -n 1 ./googledriveupload -google_refresh_token XXX
# We currently have no tests for the Globus file management
TESTEXAMPLES_C = urlshorten.PETSc runurlshorten urlshorten.rm googleobtainrefreshtoken.PETSc googleobtainrefreshtoken.rm \
googledriveupload.PETSc googledriveupload.rm
TESTEXAMPLES_SAWS = boxobtainrefreshtoken.PETSc boxobtainrefreshtoken.rm \
boxupload.PETSc boxupload.rm
include ${PETSC_DIR}/lib/petsc/conf/test


Freeblades Freeband Builder
Freeband Base Value: {{freebandBaseValue}}
Freeband Total Value: {{freebandTotalValue}}
Break Value: {{breakValue}}
Hero Total: {{completeHeroCount}}
Follower Total: {{completeFollowerCount}}
Scouting Points: {{scoutingPoints}}
Start by selecting the values in the menu so that you can begin building your freeband.
Faction - required
Choose from any of the currently available factions
Limit - required
The maximum size of the freeband based on the total value of the models picked.
Alternate Leader
Enables the alternate leader rule by which additional models can be promoted to leader and leader models can be demoted to regular models.
A full description on Freeband construction rules can be found in the Living Rulebook (v18-2) starting on page 87.


{{totalPrice}} VND/night
Hotel/location :
{{bookingrequest.hotel.hotelName}}
Room type :
Service package :
Stay :
{{bookingrequest.time.checkin}} -> {{bookingrequest.time.checkout}} [{{totalTime}} nights]
Number of guests :
Golfer : {{bookingrequest.adult.golfer.qty}} | Non-Golfer : {{bookingrequest.adult.nongolfer.qty}} Adult : {{bookingrequest.adult.adult.qty}} | Childrens : {{bookingrequest.adult.children.qty}}
Number of room
{{totalRoom}}
Addition details :
TOTAL
{{totalPrice}}
SUCCESSFULLY BOOKED ORDER ID # {{bookingrequest.orderCode}}
-
You can proceed the payment via Bank transfer or one of these methods dưới đây
-
Dai Minh Travel will contact you (email or mobile phone) within 30 minutes (Monday – Sunday 08AM – 23PM) to reconfirm services & payment due date.
-
You ONLY make payment (in cash at home / at DM Office, Bank transfer) after the Reconfirmation is officially acknowledged by Dai Minh Travel.
-
In case of, Immediate Reconfirmation requested by yourself, should you kindly contact Dai Minh Travel Hotline:
- 0243-562-3777 (778)
- 19001542
PAYMENTS METHOD
{{bank.selectedBank.bankCode}}Dai Minh Trading, Service and Tourism Company Limited' Bank account
Beneficial :
{{bank.selectedBank.bankOwner}}
(Dai Minh Trading, Service and Tourism Company Limited)


Electronics
In this unit, we did soldering and electronics. I had very few probles with this unit.
Back to Index


NEXT
.discovery
Sorry! Something broke
Click
here
to go home
{{ error }}
{{ trace }}
Copyright ©2015 - All rights reserved - NEXT.discovery


|
| TabsRenderer * | getSharedRenderer () |
| | Returns the renderer, which gives access to functions that determine how the widget is displayed. More...
|
| |
| TabsRenderer * | getRenderer () |
| | Returns the renderer, which gives access to functions that determine how the widget is displayed. More...
|
| |
| void | setSize (const Layout2d &size) override |
| | Changes the area used by the tabs. More...
|
| |
| void | setEnabled (bool enabled) override |
| | Enables or disables the widget. More...
|
| |
| void | setAutoSize (bool autoSize) |
| | Changes whether the tabs are auto-sized or not. More...
|
| |
| bool | getAutoSize () const |
| | Returns whether the tabs are auto-sized or not. More...
|
| |
| std::size_t | add (const String &text, bool select=true) |
| | Adds a new tab. More...
|
| |
| void | insert (std::size_t index, const String &text, bool select=true) |
| | Inserts a new tab somewhere between the other tabs. More...
|
| |
| String | getText (std::size_t index) const |
| | Gets the text of one of the tabs. More...
|
| |
| bool | changeText (std::size_t index, const String &text) |
| | Changes the text of one of the tabs. More...
|
| |
| bool | select (const String &text) |
| | Selects the tab with a given text. More...
|
| |
| bool | select (std::size_t index) |
| | Selects the tab with a given index. More...
|
| |
|
void | deselect () |
| | Deselects the selected tab.
|
| |
| bool | remove (const String &text) |
| | Removes a tab with a given text. More...
|
| |
| bool | remove (std::size_t index) |
| | Removes a tab with a given index. More...
|
| |
|
void | removeAll () |
| | Removes all tabs.
|
| |
| String | getSelected () const |
| | Gets the text that is drawn on the currently selected tab. More...
|
| |
| int | getSelectedIndex () const |
| | Gets the index of the currently selected tab. More...
|
| |
| void | setTabVisible (std::size_t index, bool visible) |
| | Changes whether a tab is visible. More...
|
| |
| bool | getTabVisible (std::size_t index) const |
| | Returns whether the tab is shown or hidden. More...
|
| |
| void | setTabEnabled (std::size_t index, bool enabled) |
| | Changes whether a tab is enabled. More...
|
| |
| bool | getTabEnabled (std::size_t index) const |
| | Returns whether the tab is enabled or disabled. More...
|
| |
| void | setTextSize (unsigned int size) override |
| | Changes the character size of the text. More...
|
| |
| void | setTabHeight (float height) |
| | Changes the height of the tabs. More...
|
| |
| void | setMaximumTabWidth (float maximumWidth) |
| | Changes the maximum tab width of the tabs. More...
|
| |
| float | getMaximumTabWidth () const |
| | Returns the maximum tab width of the tabs. More...
|
| |
| void | setMinimumTabWidth (float minimumWidth) |
| | Changes the minimum tab width of the tabs. More...
|
| |
| float | getMinimumTabWidth () const |
| | Returns the minimum tab width of the tabs. More...
|
| |
| std::size_t | getTabsCount () const |
| | Returns the amount of tabs. More...
|
| |
| bool | isMouseOnWidget (Vector2f pos) const override |
| | Returns whether the mouse position (which is relative to the parent widget) lies on top of the widget. More...
|
| |
| void | draw (BackendRenderTargetBase &target, RenderStates states) const override |
| | Draw the widget to a render target. More...
|
| |
| virtual void | setSize (const Layout2d &size) |
| | Changes the size of the widget. More...
|
| |
| void | setSize (Layout width, Layout height) |
| | Changes the size of the widget. More...
|
| |
|
| Widget (const Widget &) |
| | Copy constructor.
|
| |
|
| Widget (Widget &&) |
| | Move constructor.
|
| |
|
virtual | ~Widget () |
| | Destructor.
|
| |
|
Widget & | operator= (const Widget &) |
| | Overload of copy assignment operator.
|
| |
|
Widget & | operator= (Widget &&) |
| | Move assignment.
|
| |
| void | setRenderer (std::shared_ptr< RendererData > rendererData) |
| | Sets a new renderer for the widget. The renderer determines how the widget looks. More...
|
| |
| WidgetRenderer * | getSharedRenderer () |
| | Returns the renderer, which gives access to functions that determine how the widget is displayed. More...
|
| |
| WidgetRenderer * | getRenderer () |
| | Returns the renderer, which gives access to functions that determine how the widget is displayed. More...
|
| |
| virtual void | setPosition (const Layout2d &position) |
| | sets the position of the widget More...
|
| |
| void | setPosition (Layout x, Layout y) |
| | Sets the position of the widget. More...
|
| |
| Vector2f | getPosition () const |
| | Gets the position of the widget. More...
|
| |
| void | setSize (Layout width, Layout height) |
| | Changes the size of the widget. More...
|
| |
| void | setWidth (Layout width) |
| | Changes the width of the widget. More...
|
| |
| void | setHeight (Layout height) |
| | Changes the height of the widget. More...
|
| |
| Vector2f | getSize () const |
| | Returns the size of the widget. More...
|
| |
| virtual Vector2f | getFullSize () const |
| | Returns the entire size that the widget is using. More...
|
| |
| virtual Vector2f | getAbsolutePosition () const |
| | Get the absolute position of the top-left point of the widget instead of the relative position to its parent. More...
|
| |
| virtual Vector2f | getWidgetOffset () const |
| | Returns the distance between the position where the widget is drawn and where the widget is placed. More...
|
| |
| void | setOrigin (float x, float y) |
| | Sets the origin point on which the position, scale and rotation is based. More...
|
| |
| void | setOrigin (Vector2f origin) |
| | Sets the origin point on which the position, scale and rotation is based. More...
|
| |
| Vector2f | getOrigin () const |
| | Returns the relative origin point on which the position, scale and rotation is based. More...
|
| |
| void | setScale (Vector2f scaleFactors) |
| | Sets the scaling to be applied to the widget. More...
|
| |
| void | setScale (Vector2f scaleFactors, Vector2f origin) |
| | Sets the scaling to be applied to the widget. More...
|
| |
| void | setScale (float scaleFactor) |
| | Sets the scaling to be applied to the widget. More...
|
| |
| void | setScale (float scaleFactor, Vector2f origin) |
| | Sets the scaling to be applied to the widget. More...
|
| |
| Vector2f | getScale () const |
| | Returns the scaling to be applied to the widget. More...
|
| |
| Vector2f | getScaleOrigin () const |
| | Returns the origin used for scaling. More...
|
| |
| void | setRotation (float angle) |
| | Sets the rotation to be applied to the widget. More...
|
| |
| void | setRotation (float angle, Vector2f origin) |
| | Sets the rotation to be applied to the widget. More...
|
| |
| float | getRotation () const |
| | Returns the rotation to be applied to the widget. More...
|
| |
| Vector2f | getRotationOrigin () const |
| | Returns the origin used for rotations. More...
|
| |
| void | showWithEffect (ShowAnimationType type, Duration duration) |
| | Shows the widget by introducing it with an animation. More...
|
| |
| void | hideWithEffect (ShowAnimationType type, Duration duration) |
| | Hides the widget by making it leave with an animation. More...
|
| |
| virtual void | setVisible (bool visible) |
| | Shows or hides a widget. More...
|
| |
| bool | isVisible () const |
| | Returns true when the widget is visible. More...
|
| |
| bool | isEnabled () const |
| | Returns true when the widget is enabled. More...
|
| |
| virtual void | setFocused (bool focused) |
| | Focus or unfocus the widget. More...
|
| |
| bool | isFocused () const |
| | Returns true when the widget is focused and false otherwise. More...
|
| |
| const String & | getWidgetType () const |
| | Returns the type of the widget. More...
|
| |
| Container * | getParent () const |
| | Returns a pointer to the parent widget. More...
|
| |
| GuiBase * | getParentGui () const |
| | Returns a pointer to the gui to which this widget belongs. More...
|
| |
| bool | isAnimationPlaying () const |
| | Returns whether there is an active animation (started with showWithEffect or hideWithEffect) More...
|
| |
| void | moveToFront () |
| | Places the widget before all other widgets. More...
|
| |
| void | moveToBack () |
| | Places the widget behind all other widgets. More...
|
| |
| void | setUserData (Any userData) |
| | Stores some data into the widget. More...
|
| |
| template<typename T > |
| T | getUserData () const |
| | Returns data stored in the widget. More...
|
| |
| void | setInheritedFont (const Font &font) |
| | Sets the font of the widget that is used when no font is set in the renderer. More...
|
| |
| const Font & | getInheritedFont () const |
| | Returns the font of the widget that is used when no font is set in the renderer. More...
|
| |
| void | setInheritedOpacity (float opacity) |
| | Sets the opacity of the widget that will be multiplied with the opacity set in the renderer. More...
|
| |
| float | getInheritedOpacity () const |
| | Returns the opacity of the widget that is multiplied with the opacity set in the renderer. More...
|
| |
| virtual unsigned int | getTextSize () const |
| | Returns the character size of text in this widget. More...
|
| |
| void | setToolTip (Widget::Ptr toolTip) |
| | Sets the tool tip that should be displayed when hovering over the widget. More...
|
| |
| Widget::Ptr | getToolTip () const |
| | Returns the tool tip that is displayed when hovering over the widget. More...
|
| |
| void | setWidgetName (const String &name) |
| | Changes the name of a widget. More...
|
| |
| String | getWidgetName () const |
| | Returns the name of a widget. More...
|
| |
| void | setMouseCursor (Cursor::Type cursor) |
| | Changes which mouse cursor is shown when hovering over the widget. More...
|
| |
| Cursor::Type | getMouseCursor () const |
| | Returns which mouse cursor is shown when hovering over the widget. More...
|
| |
| void | setFocusable (bool focusable) |
| | Changes whether a widget could be focused. More...
|
| |
| bool | isFocusable () const |
| | Returns whether a widget could be focused. More...
|
| |
| virtual bool | canGainFocus () const |
| | Returns whether the widget can currently gain focus. More...
|
| |
| bool | isContainer () const |
| | Returns whether the widget is a container widget or not. More...
|
| |
| bool | isDraggableWidget () const |
| | Returns whether the widget has something to drag (e.g. slider or scrollbar thumbs) More...
|
| |
| bool | isMouseDown () const |
| | Returns whether the left mouse button has been pressed on top of the widget. More...
|
| |
|
template<typename WidgetType > |
| std::shared_ptr< const WidgetType > | cast () const |
| | Downcast const widget.
|
| |
|
template<typename WidgetType > |
| std::shared_ptr< WidgetType > | cast () |
| | Downcast widget.
|
| |
Tabs widget.
If you are looking for something that allow holds multiple panels, displayed one panel at a time then check out the TabContainer class.


Whenever I ask Kin what kind of cookies he'd like me to bake, he reminds me of how he ranks his favorites: peanut butter are okay; chocolate chips are good; better are my molasses cookies; and the best are oatmeal.
I found a pretty good oatmeal cookie recipe online a while ago. (Jump to the Recipes) It makes a soft cookie — a necessity — but it's just too sweet for me. Kin loves it, and to be honest, when I bake cookies they're really to fit his taste-buds. But after trying the miso-peanut butter cookies a few weeks ago, I thought I'd see if I could make a batch of oatmeal cookies that were less sweet, with the umami that miso adds.
I feel quite validated about using miso in my baking, incidentally, particularly after Crystelle, a contestant in this season's Great British Bake Off incorporated it into a couple of her caramel contributions this past week. "It's like salted caramel," she explained to the skeptical judges. "YES!" I shouted at the television. (She won Baker of the Week too, I might add.)
I probably should have just modified my go-to oatmeal cookie recipe to make it "healthier," but instead I googled the whole "healthy oatmeal cookie" thing and opted to try one with far less sugar. And as I've never actually baked this recipe before without miso, it's hard to judge fully how the addition of that ingredient affected the texture and taste.
Soft Oatmeal Cookies
This is based on the recipe that appears on the Sugar Spun Run blog.
Prep time: 40 minutes · Cooking time: 10 minutes · Servings: 34 · Calories: 116
Ingredients:
- 1 cup unsalted butter, softened
- 1 cup brown sugar
- 1/2 cup granulated sugar
- 2 eggs
- 1 1/2 tsp vanilla extract
- 1 3/4 cup all-purpose flour
- 2 tsp cornstarch
- 1 tsp baking soda
- 3/4 tsp salt
- 3/4 tsp cinnamon
- 3 cups old-fashioned rolled oats
Instructions:
- Using a stand mixer, cream the butter and sugars.
- Add eggs, one at a time, beating until combined. Then add in the vanilla extract.
- In a separate bowl, whisk together flour, cornstarch, baking soda, salt, and cinnamon.
- Gradually add flour mixture to butter mixture until completely combined.
- Stir in oats.
- Chill dough in refrigerator for 30 minutes.
- Preheat oven to 375 and line cookies sheets with parchment paper.
- Drop cookie dough by rounded 2 tablespoon-fulls onto the parchment paper -- about a dozen per sheet. (These will spread slightly.)
- Bake for 10 minutes. They will look underbaked, but will finish cooking on the cookie sheet as they cool.
- Allow cookies to cool completely on cookie sheet.
Not-So-Sweet Miso Oatmeal Cookies
This is based on the recipe that appears on the Well Plated website.
Prep time: 40 minutes · Cooking time: 10 minutes · Servings: 24 · Calories: 73
Ingredients:
- 1 1/4 cup quick oats
- 1 cup white whole wheat flour
- 1/2 tsp salt
- 1/4 cup unsweetened applesauce
- 3 tablespoons unsalted butter, melted
- 2 tbs white miso
- 1 egg
- 1 tsp vanilla extract
- 7 tbs honey
Instructions:
- In a large bowl, whisk together the oats, flour, baking powder, cinnamon, and salt.
- In a medium bowl, combine the applesauce, melted butter, miso, egg, vanilla, and honey. Whisk until blended.
- Pour the wet mixture into the dry mixture and stir just until combined. The dough will be very wet and sticky. Refrigerate for at least 30 minutes.
- Preheat oven to 350.
- Line two cookie sheets with parchment paper.
- Drop 1.5 tablespoon size balls of dough onto cookie sheet - one dozen will fit per sheet.
- Bake for 9 to 10 minutes.
- Cool on the cookie sheet for 2 minutes before transferring to a wire rack to cool completely.
Some Baking and Tasting Notes
The "healthy" cookies were smaller, and as such, it's a bit silly to make too much out of a calorie comparison. That word "healthy" is a tricky one in any baked good.  "Healthy" though? Hmm.
I used one tablespoon less honey and one tablespoon less butter than the original recipe, adding in two tablespoons of miso. Other than that, I followed the recipe to a tee. But I wish I'd used old fashioned rolled oats rather than the quick oats that the original suggested. That made them very soft and almost cake-like, and I think the texture that old fashioned oats provides is much better, much... well... oatier. Interestingly, these cookies stayed soft for a long time - is that a result of the fermentation from the miso? I don't know. The peanut butter-miso cookies held their softness as well. (I'm not sure how I'd find the answer here.)
All-in-all, I think I'll stick with making the first recipe when baking oatmeal cookies for Kin. But my experimentation with miso - in cookies and otherwise - will continue...


Filters are contained in the filter-container
directive.
Each directive has an internally defined Clear option which would appear when a filter is set. The clear-tooltip
attribute can be set to a string which will be displayed as tooltip for the clear button.
Filter Containers contain filters defined by the filter
directive. Each filter should have a name
.
Each filter has a set of options to filter data. Filter options are contained in the filter-option
directive.
Filter Options should have the following attributes:


Landing Page
Special Projects
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.
Alexis Eichelberger / Staff Writer
Hilarie Burhans and her husband joke that they spent their whole lives trying not to have a restaurant.
Burhans grew up all over the world, cultivating a passion for food. As a child, she spent time in Pakistan and Ethiopia. When she lived in New Mexico, she worked in small restaurants and as a private chef in Washington, D.C. She even spent several years teaching culinary arts at Hocking College.
When her son opened a hookah cafe in Athens, she made the 11 by 15 foot kitchen her own, cooking lunches of hummus and baba ganoush on a countertop convection oven. But when the statewide ban against smoking in indoor places passed in 2006, Burhans had to make a business decision: food or tobacco.
Food was the easy choice. So about 10 years ago, Burhans moved her operation to a bigger and better location at 21 W. Washington St. and opened Restaurant Salaam. The eatery serves“Mediterranean dishes with a global twist” and prioritizes sustainability in as many business practices as possible, making it this year’s Post Pick for Most Sustainable Business.
“I make a million small decisions, and I try to make them in a sustainable direction,” Burhans said.
Burhans has kept sustainability in mind since the beginning stages of running her restaurant. As Salaam has increased its business, it has implemented more sustainable practices. That included replacing plastic to-go containers with recyclable foil and swapping soup and coffee cups for compostable alternatives. Most recently, Salaam replaced every light bulb in its well-lit, thoughtfully decorated establishment with LED bulbs.
“All of those things cost a little more, but I think they’re important,” Burhans said.
“Restaurants, especially in this town, we have to kind of stick together.”– Hilarie Burhans
Salaam works hard to put sustainable dishes on customers’ plates, too. Burhans said the restaurant purchases much of its produce from local grower Green Edge Gardens, the Athens Farmers Market and the Chesterhill Produce Auction during the growing season. Its dairy products come from Snowville Creamery, and eggs are locally sourced as well. Burhans herself carefully tracks the quality of seafood she purchases on a mobile app, ensuring it follows the Monterey Bay Aquarium’s guide for sustainable seafood.
“You don’t even have a choice to know as a consumer where that fish is coming from,” Burhans said. “But someone who’s purchasing wholesale, I can make my fish buyers tell me. I can find out.”
Burhans said Salaam’s next step toward sustainability is to begin a composting program. Logistically, composting can be difficult in a busy kitchen where fruit flies are attracted to food scraps, but Burhans hopes to work out the kinks and begin composting soon.
“It’s crazy not to,” she said.
Burhans praised other Athens businesses, particularly Casa Nueva, for its continued efforts to operate in sustainable ways. In some ways, she said, there are other businesses doing an even better job at working toward sustainability than Salaam.
But she doesn’t think sustainability should be a contest among small businesses. Restaurants should work together to be more environmentally friendly in any way they can, whether it be through recycling or using locally sourced food.
“Restaurants, especially in this town, we have to kind of stick together,” Burhans said. “We help each other and that certainly includes any information sharing that we can do.”
Zoe Graham, a server at Salaam, has worked at the restaurant for more than three years and appreciates its use of local food in the many delectable dishes it serves.
“It’s a really delicious home-cooked meal that you know where the ingredients are from,” she said.
Although there is always more to be done, Graham said Salaam’s implementation of sustainable practices on an everyday level is not only important, but a good example of how individuals can act and eat sustainably in their own lives.
“We’re all part of this community,” she said. “We’re all trying to live long and to show too that if a business can do it, you can do it.”
Photo by: Hannah Ruhoff / Staff Photographer
Development by: Taylor Johnston / Digital Production Editor
Landing Page
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.


Work or school, or personal Microsoft account
Keep me signed in
Sign in
Back
Can't access your account?


Right now Steam, Epic, GOG, PS4 and Xbox have an achievement system. Will itch.io add an achievement system? Gamerzilla is not tied to any store. With enough support game developers will consider Gamerzilla achievements a needed feature. Additionally this is the only system that all open source games can use.
Initialization code is simply calling GamerzillaStart and GamerzillaConnect. GamerzillaConnect is only needed to upload results. Achievements can be displayed locally without connecting.
GamerzillaStart(true, "save/"); GamerzillaConnect("http://hubzilla.instance/", "username", "password");
There will need to be a thread periodically calling GamerzillaServerProcess to get information from games and relay it to the Gamerzilla server (if connected). To avoid manually configuring the Gamerzilla short name with each game, it is good to install a callback for activity. The callback provides the Gamerzilla short name and the game name so that you can automatically match up the information.
To get achievement information, you call the GamerzillaGetGame function to get the game ID. With the game ID, you can get the number of achievements, which have been achieved, and details of the achievements. GameHub support for Gamerzilla has been submitted to the project if you need an example implementation. Feel free to email<EMAIL_ADDRESS>if you have any problems.