We use an Integrated solid waste management which involves using a combination of techniques and programs to manage waste and have a tailor made integrated waste management systems to fit the specific local needs of the area we are serving.
We sanitizing Buildings and residential places. We have the capacity and the equipment. We are here for you
A clean office and building enables a safer and healthier working environment which translated to increased traffic inflow of your clients to your premises. We have also worked very closely with clients to tailor make our cleaning programmes to ensure that key contact areas are continuously monitored to help prevent the spread of any viruses and disease-causing bacteria.
We provide you with incineration services for your non-hazardous and hazardous waste. our state-of-the-art facility has the ability to incinerate 65,000 more tons of waste per year that’s better for the environment and our customers.
We hale institutions and organizations to get the best service and equipment to effect the same. We engage professionals who are well vast in sanitary bins to allow perfect bin fitting in maximizing the space in women washroom cubicles.
While your washroom may look clean, achieving the levels of hygiene expected can demand specialist equipment and skill that may be outside the responsibility of your everyday cleaning staff.


Quality Crafted and Made to Last
Our flagship store is located in Hermitage, a small town in Hickory County in the Missouri Ozarks. Hermitage may not seem a likely location to start a mercantile empire, but that’s not what the founder set out to do. Time runs a little slower in South Central Missouri, where the routines from decades past are still preferred. Here, quality craftsmanship and fixtures that are made to last and be handed down through generations are appreciated more than mass production. We try to gather together these products and make them available to you. If you are in Missouri, this store is worth the drive.
Serving Central and Northern Michigan, the Mt. Pleasant location can supply your lake house, summer cottage, cabin with the quality furnishings you are looking for. If coming from the north, take Highway 127 to East Packard Street. We are conveniently located near a Home Depot, Tractor Supply, and Bob Evans, and across the street from the Soaring Eagle Waterpark and Hotel. Come make a day of it, or better yet, enjoy the weekend in the Mt. Pleasant area.
At the gateway to the Hill Country and covenant to Austin, the Leander store carries many of the same items as our other stores, but also has item unique to a warmer climate. However, items from our catalog can be made available for in-store pickup without a shipping charge. From Austin, take 183A to Hero Way, the store is up the frontage road on the right.


@blog.label
Thank you. Your mood blog has been created.
(we have created it with timezone @blog.timezone)
Login link
Instead of using login or email we give you a link.
This link is unique and gives access to your blog.
After yu create the blog please save your link in some convenient place e.g. in your browser.
After yu create the blog please save your link in some convenient place e.g. in your browser.
<EMAIL_ADDRESS>How can I save my login link ?
Before you proceed to your blog please save your login link. You can do this by:
- sending an email with it to yourself
- bookmarking the link in your browser
- saving the link in delicious, evernote, heapnote or any other Internet service


I'm graduate of Suncoast Developers Guild and have a bachelor's degree in Business Management from Wilmington University. I'm looking to take web development skills and build them in a Junior Developer position. I have a strong background in customer service and work great within a team. I’ve succeeded in leading teams to achieve goals in previous leadership roles and thrive in fast pace environments.
Oversee day to day operations and ensure employees adhere to company policies, while delivering excellent customer service.
Reviewed high volume of new credit card applications, interpret commercial and consumer reports, and related information to render a sound credit decision.
Oversaw day to day operation of the most profitable location in the company. Ensured company goals were being achieved and policies were being followed.
GPA: 3.0
This was my final project for Suncoast Developers Guild. Happy Hour allows users to see happy hour specials for bars near their current location or by city. Users can login or sign up to add a bar to the map.
(Users need to allow browser to use their current location. Search for St Pete or Tampa as the majority of the bars in the database are located there.)
Project on Github
This project is a "TV guide" site. I used an API to display a list of top rated tv shows. I also generated a random show to be the "featured show", this is re-randomized on every page load. There is a show details page that uses the API to get details of each show.
Project on Github
This was a group project. The objective was to build a full stack web application that mimicked the site Stack OverFlow. (Stack OverFlow is a site where users can ask/answer questions about web development.)
Project on GithubDeveloped an online drink menu with a corresponding QR code for a local bar in downtown St Pete. Strictly formatted for mobile use.
Project on Github


Exhibit is a lightweight structured data publishing framework that lets you create web pages with support for sorting, filtering, and rich visualizations by writing only HTML and optionally some CSS and Javascript code.
It's like Google Maps and Timeline, but for structured data normally published through database-backed web sites. Exhibit essentially removes the need for a database or a server side web application. Its Javascript-based engine makes it easy for everyone who has a little bit of knowledge of HTML and small data sets to share them with the world and let people easily interact with them.
Check out these diverse sample exhibits:
Remember: there is no database, no web application behind these examples.
|
in a table, on maps and time lines |
MIT-related Nobel Prize Winners as thumbnails, in a table, on a time line |
|
in a table |
Topher's Breakfast Cereal Characters as thumbnails and on a time line |
There are more examples on our wiki.
"No Database, No Web Application" means that you can create your own exhibits using just a text editor. Don't let those sophisticated features scare you. It's quite easy to make exhibits. We even let you copy data straight out of a boring spreadsheet and convert it into an exhibit automatically.
Here are:
Also, don't miss:
Exhibit consists of a bunch of Javascript files that you include in your web page. At load time, this Javascript code reads in one or more JSON data files that you link from within your web page and constructs a database implemented in Javascript right inside the browser of whoever visits your web page. It then dynamically re-constructs the web page as the visitor sorts and filters through the data. As the visitor interacts with the web page, only the web browser is responsible for providing the interaction; the web server is no longer needed.
So, where's the database, again? The data is stored in JSON files, and the database is implemented in Javascript and running inside the web browser.
The advantages of Exhibit are as follows:We also provide a complementary service called Babel that lets you convert data from various sources, including tab-separated values (copied straight from spreadsheets) and Bibtex files, into formats that Exhibit understands.
Of course, Exhibit currently only scales to a few hundreds of items, but maybe that's all you need. Furthermore, we are working on optimizing Exhibit and on ways for you to smoothly transit over to server-side solutions as your data sets grow.
Don't let companies and institutions be the only ones who can publish nice visualizations and browsable data collections to the Web. You can do the same with the data you care about!
... is all on our wiki.
Actually, there is nothing to download—you didn't have to download Google Maps, did you?! Exhibit is also a Web API. All you need is reference its Javascript. Nothing to download; nothing to install. Welcome to a new era of software development.
But if you absolutely have to download something just to feel better about it, or if you have extra disk space to waste, sure, here's how to download Exhibit's source code.
Exhibit is open source software and is licensed under the BSD license. Basically, it's FREE.
This software is developed from the research in the Haystack group and the User Interface Design group at MIT CSAIL, and maintained by the SIMILE project.
The development team for this software includes:
This software is partially sponsored by The Andrew W. Mellon Foundation.
Exhibit has been inspired by many people and many projects, including Tim Berners-Lee's Tabulator.


{{$ctrl.selected.title}}
12 Mar, 2018
{{$ctrl.selected.description}}
Eiichiro Oda assigned to Nami. 18 Feb, 2018
Eiichiro Oda added to Development. 18 Feb, 2018
Eiichiro Oda created task. 18 Feb, 2018
added 26 Feb, 2018


Gibber
This exercise makes music with Gibber. Gibber is a Javascript library for algorithmic music composition/performance (making music with algorithms. More information can be found at http://charlie-roberts.com/gibber/p5-gibber/
The code blocks are sequentially ordered. To make music, do the following.
- Load p5. Click the gear icon above the editor pane and check the p5 checkbox. Now click the gear icon again and make sure Common Library is also checked.
- Get the performance block. This block imports Gibber and creates a performance loop. To make music, enter the code that defines the music in the text entry box and hit submit. This method lets you change music without restarting the program, which is essential for live performance.
- Each of the following blocks describes an instrument. The instrument may have effects that are defined below it. You can also kill the instrument, which is useful if you want to change a rhythm. If you kill an instrument that hasn't been played yet, you will get an error.
- The way to make music is to drag these blocks to the editor area, switch to text editor mode, and copy (select and ctrl-c) and paste the code into the text entry box and press submit. Edit the code as needed in the editor before copy/pasting.
- Have fun!


Basic Tron Game
Basic Tron game I made in AP Computer Science. Written in java it uses the JPanel to create a window. Downloadable here as a .jar file.
Basic Tron game I made in AP Computer Science. Written in java it uses the JPanel to create a window. Downloadable here as a .jar file.
Long term project where I am using a HTML canvas to render a game programmed in Javascript
Originally made with one player and rectangle sprites I modified the original project assigned in AP Computer Science.
Simple math programs to get the job done quicker with less fatiguing repitition.
Build A Metagame (BAM) is a Pokemon fakedex focused on creating a new competative pokemon metagame. We have our own forum and Pokedex and will be on Pokemon Showdown or Pokebattle Soon.


Ham, pea and spelt risotto recipe
by Angela HartnettThis recipe requires a little bit of preparation, but once done it’s very simple and any excess can be frozen for a later date.
Prep time: 15 minutes, plus overnight soaking time | Cooking time: 2 hours 20 minutes
SERVES
Four
INGREDIENTS
For the ham hock:
- 1 ham hock
- 1 carrot
- 1 stick of celery
- 1 onion, halved
- 1 bay leaf
- 1 sprig of thyme
For the risotto:
- 2 tbsp olive oil
- 30g butter
- 1 small onion, finely chopped
- 1 garlic clove, crushed then chopped
- 300g pearled spelt
- 125ml white wine
- 1 litre ham stock, reserved from cooking the hock
- 50g frozen peas
- 50g Wensleydale, grated
METHOD
- Soak the ham hock overnight in cold water in the fridge.
- The next day, rinse off and place in a pan covered with fresh cold water. Bring to the boil. Skim off any scum that rises to the surface then add the carrot, celery, onion, bay leaf and thyme.
- Leave to simmer for about one-and-a-half hours until you can pick the hock up and the ham falls away from it.
- When cooked, reserve the stock and pick all the meat away from the bone. Cover the meat with a touch of stock and store both meat and reserved stock in the fridge.
- To make the risotto, heat the oil and butter in a pan and cook the onion and garlic until soft and translucent.
- Add the spelt and cook for two to three minutes, then add the wine to deglaze the pan.
- Cook until the wine disappears then start to add the ham stock a ladleful at a time. Wait until the liquid has disappeared before adding more, and stir regularly. It should take about 35 minutes to cook.
- About 20 minutes into the cooking time, add 200g of the shredded ham. To finish, stir through the peas and the wensleydale and serve immediately.


| 1 |
Introduction: Accounting Scandals, Business Valuation and Market Efficiency |
|
| 2 |
The Basics of Company Valuation: DCF Foundations Setting the Stage for Using Accounting Information |
|
| 3 |
Cash Flow Analysis: Is Cash King? |
|
| 4 |
Using Accounting Earnings for Valuation - Why Earnings and Not Cash Flow? |
Submit group names and select company for Project |
| 5 |
Comparative Analysis: What Do Analysts Do? |
|
| 6 |
Turbo Accounting I - A Review of How to Read a Financial Statement |
Homework #1 Due |
| 7 |
How Companies Cook the Books |
|
| 8 |
Detecting Earnings Management: Applied Analysis |
|
| 9 |
1) Quiz #1 - In Class
2) Final Guidance/Overview on Part 1 of Project |
Optional Review Session scheduled day before Quiz |
|
You must e-mail Part 1 of your team's report to me and to the due diligence team by 5:00 pm the day after class 9. |
| 10 |
Analyst Team Presentations and Due Diligence Response by Matched Teams |
"Cash Flow Projections and Earnings Quality" |
| 11 |
Analyst Team Presentations and Due Diligence Response by Matched Teams |
"Cash Flow Projections and Earnings Quality" |
| 12 |
Risk Assessment: Do Financial Statements Capture Risk? |
|
| 13 |
Risk I: Cost of Capital: Is CAPM Dead? |
|
| 14 |
Risk and Accounting Trading Strategies: Do Investors Understand Accounting? |
|
| 15 |
Risk II: Accounting #'s in Contracts: Ratio Analysis and Bankruptcy Detection |
|
| 16 |
Mergers and Acquisitions: Impairment of Goodwill, Writedowns, Private Firm Valuation |
Homework #2 Due |
| 17 |
Employee Stock Options and Valuation: Should Options be Expensed? Understanding the current debate |
|
| 18 |
1) Quiz #2 - In Class
2) Final Guidance/Overview on Part 2 of Project |
Optional Review Session scheduled day before Quiz |
| 19 |
Off Balance Sheet Activities - Deconstructing the Enron Debacle and Beyond |
|
| 20 |
Pension Plans - The Next Accounting Disaster? |
|
| 21 |
International Financial Analysis |
|
| 22 |
Hot Topics in Accounting and Valuation: + Capstone |
Homework #3 Due |
|
You must e-mail your team's complete report (Part 1 and Part 2) to me and to the due diligence team by 5:00 pm the day after class 23. |
| 23 |
Analyst Team Presentations and Due Diligence Response by Matched Teams |
"Company Valuation and Risk Assessment" |
| 24 |
Analyst Team Presentations and Due Diligence Response by Matched Teams |
"Company Valuation and Risk Assessment" |


22. GeoMesa NiFi Bundle¶
NiFi manages large batches and streams of files and data. GeoMesa-NiFi allows you to ingest data into GeoMesa straight from NiFi by leveraging custom processors.
22.1. Installation¶
22.1.1. Build and Install the Processors¶
Clone the project from GitHub. Pick a reasonable directory on your machine, and run:
$ git clone https://github.com/geomesa/geomesa-nifi.git
$ cd geomesa-nifi
To build the project, run
$ mvn clean install
To install the GeoMesa processors you will need to copy the
geomesa-nifi-nar file from
geomesa-nifi/geomesa-nifi-nar/target/geomesa-nifi-nar-$VERSION.nar
into the lib/
directory of your NiFi installation.
22.1.2. Install the SFTs and Converters¶
The GeoMesa processors need access to SimpleFeatureTypes
and converters in order
to ingest data. There are two ways of providing these to the processors.
We can enter the SFT specification string and converter specification
string directly in a processor or we can provide these to the processors
by placing the SFTs and converters in a file named reference.conf
and then putting that file on the classpath. This can be achieved by
wrapping this file in a JAR and placing it in the lib/
directory of
the NiFi installation. For example you can wrap the reference.conf
file in a JAR with this command.
$ jar cvf data-formats.jar reference.conf
To validate everything is correct, run this command. Your results should be similar.
$ jar tvf data-formats.jar
0 Mon Mar 20 18:18:36 EDT 2017 META-INF/
69 Mon Mar 20 18:18:36 EDT 2017 META-INF/MANIFEST.MF
28473 Mon Mar 20 14:49:54 EDT 2017 reference.conf
22.2. Processors¶
GeoMesa NiFi contains several processors:
| Processor | Description |
|---|---|
PutGeoMesaAccumulo |
Ingest data into a GeoMesa Accumulo datastore with a GeoMesa converter or from geoavro |
PutGeoMesaHBase |
Ingest data into a GeoMesa HBase datastore with a GeoMesa converter or from geoavro |
PutGeoMesaFileSystem |
Ingest data into a GeoMesa File System datastore with a GeoMesa converter or from geoavro |
PutGeoMesaKafka |
Ingest data into a GeoMesa Kafka datastore with a GeoMesa converter or from geoavro |
PutGeoTools |
Ingest data into an arbitrary GeoTools datastore using a GeoMesa converter or avro |
ConvertToGeoAvro |
Use a GeoMesa converter to create geoavro |
22.2.1. Input Configuration¶
Most of the processors accept similar configuration parameters for specifying the input source. Each datastore-specific processor also has additional parameters for connecting to the datastore, detailed in the following sections.
| Property | Description |
|---|---|
| Mode | Converter or Avro file ingest mode switch. |
| SftName | Name of the SFT on the classpath to use. This property overrides SftSpec. |
| ConverterName | Name of converter on the classpath to use. This property overrides ConverterSpec. |
| FeatureNameOverride | Override the feature name on ingest. |
| SftSpec | SFT specification String. Overwritten by SftName if SftName is valid. |
| ConverterSpec | Converter specification string. Overwritten by ConverterName if ConverterName is valid. |
22.2.2. PutGeoMesaAccumulo¶
The PutGeoMesaAccumulo
processor is used for ingesting data into an Accumulo-backed GeoMesa datastore. To use
this processor, first add it to the workspace and open the properties tab of its configuration. For a description
of the connection properties, see Accumulo Data Store Parameters.
<IP_ADDRESS>. GeoMesa Configuration Service¶
The PutGeoMesaAccumulo
plugin supports NiFi Controller
Services
to manage common configurations. This allows the user to specify a
single location to store the Accumulo connection parameters. This allows
you to add new PutGeoMesaAccumulo processors without having to enter duplicate
data.
To add the GeomesaConfigControllerService
access the
Contoller Settings
from NiFi global menu and navigate to the
ControllerServices
tab and click the +
to add a new service.
Search for the GeomesaConfigControllerService
and click add. Edit
the new service and enter the appropriate values for the properties
listed.
To use this feature, after configuring the service, select the
appropriate Geomesa Config Controller Service from the drop down of the
GeoMesa Configuration Service
property. When a controller service is
selected, the standard connection parameters (i.e. zookeeper, instance ID, etc)
are not required or used.
22.2.3. PutGeoMesaHBase¶
The PutGeoMesaHBase
processor is used for ingesting data into an HBase-backed GeoMesa datastore. To use
this processor, first add it to the workspace and open the properties tab of its configuration. For a description
of the connection properties, see HBase Data Store Parameters.
22.2.4. PutGeoMesaFileSystem¶
The PutGeoMesaFileSystem
processor is used for ingesting data into a file system-backed GeoMesa datastore. To use
this processor, first add it to the workspace and open the properties tab of its configuration. For a description
of the connection properties, see FileSystem Data Store Parameters.
22.2.5. PutGeoMesaKafka¶
The PutGeoMesaKafka
processor is used for ingesting data into a
Kafka-backed GeoMesa datastore. This processor supports Kafka 0.9
and newer. To use this processor first add it to the workspace and open
the properties tab of its configuration. For a description
of the connection properties, see Kafka Data Store Parameters.
22.2.6. PutGeoTools¶
The PutGeoTools
processor is used for ingesting data into any GeoTools
compatible datastore. To use this processor first add it to the
workspace and open the properties tab of its configuration.
| Property | Description |
|---|---|
| DataStoreName | Name of the datastore to ingest data into. |
This processor also accepts dynamic parameters that may be needed for the specific datastore that you’re trying to access.
22.2.7. ConvertToGeoAvro¶
The ConvertToGeoAvro
processor leverages GeoMesa’s internal
converter framework to convert features into Avro and pass them along as
a flow to be used by other processors in NiFi. To use this processor
first add it to the workspace and open the properties tab of its
configuration.
| Property | Description |
|---|---|
| OutputFormat | Only Avro is supported at this time. |
22.3. NiFi User Notes¶
NiFi allows you to ingest data into GeoMesa from every source GeoMesa supports and more. Some of these sources can be tricky to setup and configure. Here we detail some of the problems we’ve encountered and how to resolve them.
22.3.1. GetHDFS Processor with Azure Integration¶
It is possible to use the Hadoop Azure
Support
to access Azure Blob Storage using HDFS. You can leverage this
capability to have the GetHDFS processor pull data directly from the
Azure Blob store. However, due to how the GetHDFS processor was written,
the fs.defaultFS
configuration property is always used when
accessing wasb://
URIs. This means that the wasb://
container
you want the GetHDFS processor to connect to must be hard coded in the
HDFS core-site.xml
config. This causes two problems. Firstly, it
implies that we can only connect to one container in one account on
Azure. Secondly, it causes problems when using NiFi on a server that is
also running GeoMesa-Accumulo as the fs.defaultFS
property needs to
be set to the proper HDFS master NameNode.
There are two ways to circumvent this problem. You can maintain a
core-site.xml
file for each container you want to access but this is
not easily scalable or maintainable in the long run. The better option
is to leave the default fs.defaultFS
value in the HDFS
core-site.xml
file. We can then leverage the
Hadoop Configuration Resources
property in the GetHDFS processor.
Normally you would set the Hadoop Configuration Resources
property
to the location of the core-site.xml
and the hdfs-site.xml
files. Instead we are going to create an additional file and include it
last in the path so that it overwrites the value of the fs.defaultFS
when the configuration object is built. To do this simply create a new
xml file with an appropriate name (we suggest the name of the
container). Insert the fs.defaultFS
property into the file and set
the value.
<configuration>
<property>
<name>fs.defaultFS</name>
<EMAIL_ADDRESS></property>
</configuration>
22.4. Reference¶
For more information on setting up or using NiFi see the Apache NiFi User Guide


Multiple fire trucks appeared on the scene when the flames engulfed all floors of the Claremont Hotel.
The fire department said no one had been injured and that all guests and employees had been counted.
Local council officials added that the evacuated guests were taken to the town hall for assistance.
It was not clear what caused the fire.


{{#each things as thing}} this only exists... ...to increase test coverage {{/each}} {{#each things as thing}}{{soDoesThis}}{{/each}} {{#each things as thing}} andThis {{/each}}


SceneJS
- Oculus Rift effect with pick-fly-orbit camera
click on something to fly to that point
drag mouse to orbit it, mouse wheel to zoom in and out


You've come to the right place! Here we allow you to encrypt, decrypt, compress and decompress your files.
Scroll Down
© Crypto.IO 2021


Issue: HASH-TABLE-REHASH-SIZE-INTEGERReference: Draft 8.81, p.19-3
Category: CLARIFICATION/CHANGE
Edit History: Version 1, 06/16/91, Kim Barrett
Version 2, 09/26/91, Steve Haflich, add Franz current practice
Version 3, 01/10/91, Steve Haflich, Lucid & Chestnut
current practice
Problem Description:
The semantics for the :REHASH-SIZE argument to MAKE-HASH-TABLE are unclear.
The description in the draft says it can be
"an integer greater than zero, which is the number of entries to add, or it
can be a floating-point number greater than 1, which is the ratio of the
new size to the old size."
When the :REHASH-SIZE argument is an integer, it is unclear whether it is
expected to be scaled as the size is increased or if it is supposed to
indicate an expected additional number of entries to add.
At issue is whether a programmer can use the type of value provided for the
:REHASH-SIZE argument to give the implementation a hint as to the expected
growth rate for the table, with an integer indicating an additive growth rate
and a float indicating a multiplicative growth rate.
Proposal:
Specify that if the :REHASH-SIZE argument is an integer then the
implementation may assume that the expected growth rate for the table is
additive, and that if the argument is a float then it may assume that the
expected growth rate is multiplicative.
Clarify that the value of the :REHASH-SIZE argument does not constrain the
implementation to use any particular method for computing the new size when
the hash table is enlarged. The actual method for computing the new size is
implementation dependent and the :REHASH-SIZE argument only provides hints
from the programmer to the implementation.
Editorial Impact:
An isolated change to MAKE-HASH-TABLE and HASH-TABLE-REHASH-SIZE.
Rationale:
Provides a means for the programmer to reliably provide to the implementor a
particular piece of information about the programmer's intent, without
constraining the implementor to any particular implementation technique.
Current Practice:
Symbolics Genera and IIM appear to use the :SIZE and integral :REHASH-SIZE
arguments to produce a ratio which is then used as the effective rehash size
in the same way as if a float with the same value had been specified for the
:REHASH-SIZE.
Lucid, Franz, and Chestnut conform to the interpretation of
:REHASH-SIZE here suggested.
Discussion:
Pitman:
Only the application programmer knows whether new elements are expected to
arrive in an additive or multiplicative way. All the implementation knows at
the time growth needs to occur is that there isn't room. It can't tell how
many extra elements are coming. And just because the computation on the size
is allowed to be slightly fuzzy, that doesn't mean it doesn't matter whether
the input to that computation should be allowed to be fuzzy.
Control of memory growth is a frequently cited reason for preferring C over
Lisp. In some places, fixing the problems that underlie this is virtually a
research topic because no one can even figure out what they'd want to write
down in order to advise the program about what to do. Controlled growth as
in vector-push-extend or hash-table-rehash-size is not in that camp. To the
extent that we have a linguistic facilities begging for the opportunity to be
properly expressive, I see no reason to be vague--even if we're going to let
implementations do something a little different than what was asked for, we
should still define the language in such a way that the implementation at
least knows what was asked for. Both of the possible values (integers and
floats) are potentially meaningful in distinct ways, and trivial to
implement, so why blur their intent?


api/make.js
import 'colors';
import fs from 'fs-promise';
import path from 'path';
import asyncOra from '../util/ora-handler';
import electronHostArch from '../util/electron-host-arch';
import getForgeConfig from '../util/forge-config';
import readPackageJSON from '../util/read-package-json';
import requireSearch from '../util/require-search';
import resolveDir from '../util/resolve-dir';
import packager from './package';
/**
* @typedef {Object} MakeOptions
* @property {string} [dir=process.cwd()] The path to the app from which distributables are generated
* @property {boolean} [interactive=false] Whether to use sensible defaults or prompt the user visually
* @property {boolean} [skipPackage=false] Whether to skip the pre-make packaging step
* @property {Array<string>} [overrideTargets] An array of make targets to override your forge config
* @property {string} [arch=host architecture] The target architecture
* @property {string} [platform=process.platform] The target platform. NOTE: This is limited to be the current platform at the moment
*/
/**
* Make distributables for an Electron application.
*
* @param {MakeOptions} providedOptions - Options for the make method
* @return {Promise} Will resolve when the make process is complete
*/
export default async (providedOptions = {}) => {
// eslint-disable-next-line prefer-const, no-unused-vars
let { dir, interactive, skipPackage, overrideTargets, arch, platform } = Object.assign({
dir: process.cwd(),
interactive: false,
skipPackage: false,
arch: electronHostArch(),
platform: process.platform,
}, providedOptions);
asyncOra.interactive = interactive;
let forgeConfig;
await asyncOra('Resolving Forge Config', async () => {
dir = await resolveDir(dir);
if (!dir) {
// eslint-disable-next-line no-throw-literal
throw 'Failed to locate makeable Electron application';
}
forgeConfig = await getForgeConfig(dir);
});
if (platform && platform !== process.platform && !(process.platform === 'darwin' && platform === 'mas')) {
console.error('You can not "make" for a platform other than your systems platform'.red);
process.exit(1);
}
if (!skipPackage) {
console.info('We need to package your application before we can make it'.green);
await packager({
dir,
interactive,
arch,
platform,
});
} else {
console.warn('WARNING: Skipping the packaging step, this could result in an out of date build'.red);
}
const declaredArch = arch;
const declaredPlatform = platform;
let targets = forgeConfig.make_targets[declaredPlatform];
if (overrideTargets) {
targets = overrideTargets;
}
console.info('Making for the following targets:', `${targets.join(', ')}`.cyan);
let targetArchs = [declaredArch];
if (declaredArch === 'all') {
switch (process.platform) {
case 'darwin':
targetArchs = ['x64'];
break;
case 'linux':
targetArchs = ['ia32', 'x64', 'armv7l'];
break;
case 'win32':
default:
targetArchs = ['ia32', 'x64'];
break;
}
}
const packageJSON = await readPackageJSON(dir);
const appName = packageJSON.productName || packageJSON.name;
const outputs = [];
for (const targetArch of targetArchs) {
const packageDir = path.resolve(dir, `out/${appName}-${declaredPlatform}-${targetArch}`);
if (!(await fs.exists(packageDir))) {
throw new Error(`Couldn't find packaged app at: ${packageDir}`);
}
for (const target of targets) {
// eslint-disable-next-line no-loop-func
await asyncOra(`Making for target: ${target.cyan} - On platform: ${declaredPlatform.cyan} - For arch: ${targetArch.cyan}`, async () => {
const maker = requireSearch(path.resolve(__dirname, '..'), [
`./makers/${process.platform}/${target}.js`,
`./makers/generic/${target}.js`,
`electron-forge-maker-${target}`,
]);
if (!maker) {
// eslint-disable-next-line no-throw-literal
throw `Could not find a build target with the name: ${target} for the platform: ${declaredPlatform}`;
}
try {
outputs.push(await (maker.default || maker)(packageDir, appName, targetArch, forgeConfig, packageJSON));
} catch (err) {
if (err) {
// eslint-disable-next-line no-throw-literal
throw {
message: `An error occured while making for target: ${target}`,
stack: `${err.message}\n${err.stack}`,
};
} else {
throw new Error(`An unknown error occured while making for target: ${target}`);
}
}
});
}
}
return outputs;
};


Interface UserRepository
-
- All Superinterfaces:
org.springframework.data.repository.CrudRepository<User,java.lang.Long>
,org.springframework.data.repository.Repository<User,java.lang.Long>
public interface UserRepository extends org.springframework.data.repository.CrudRepository<User,java.lang.Long>
The CRUD repository connecting User to the rest of the application
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description JustTheCount
checkUserRolesCombo(long userid, long roleid)
Counts the number of user role combinations for the given userid and roleid.void
deleteUserRoles(long userid, long roleid)
Deletes the given user, role combinationUser
findByUsername(java.lang.String username)
Find a user based off over usernamejava.util.List<User>
findByUsernameContainingIgnoreCase(java.lang.String name)
Find all users whose name contains a given substring ignoring casejava.util.List<UserNameCountEmails>
getCountUserEmails()
Custom Query finding the users and the count of their emails.void
insertUserRoles(java.lang.String uname, long userid, long roleid)
Inserts the new user role combination
-
-
-
Method Detail
-
findByUsername
User findByUsername(java.lang.String username)
Find a user based off over username- Parameters:
username
- the name (String) of user you seek- Returns:
- the first user object with the name you seek
-
findByUsernameContainingIgnoreCase
java.util.List<User> findByUsernameContainingIgnoreCase(java.lang.String name)
Find all users whose name contains a given substring ignoring case- Parameters:
name
- the substring of the names (String) you seek- Returns:
- List of users whose name contain the given substring ignoring case
-
getCountUserEmails
@Query(value="SELECT u.username as usernamerpt, count(ue.useremailid) as countemails FROM users u JOIN useremails ue ON u.userid = ue.userid GROUP BY u.username", nativeQuery=true) java.util.List<UserNameCountEmails> getCountUserEmails()
Custom Query finding the users and the count of their emails. nativeQuery is set to true. This means the query will be using the actual database names of these. A preference of mine. native queries are using faster can lose portability to other databases if care is not taken in naming conventions- Returns:
- List (element type is the interface UserNameCountEmails) containing usernames and the number of emails they have - not counting the primary email
-
checkUserRolesCombo
@Query(value="SELECT COUNT(*) as count FROM userroles WHERE userid = :userid AND roleid = :roleid", nativeQuery=true) JustTheCount checkUserRolesCombo(long userid, long roleid)
Counts the number of user role combinations for the given userid and roleid. Answer should be only 0 or 1.- Parameters:
userid
- The userid of the user of the user role combination to checkroleid
- The roleid of the role of the user role combination to check- Returns:
- A single number, a count
-
deleteUserRoles
@Transactional @Modifying @Query("DELETE FROM UserRoles WHERE userid = :userid AND roleid = :roleid") void deleteUserRoles(long userid, long roleid)
Deletes the given user, role combination- Parameters:
userid
- The user id of the user of this user role combinationroleid
- The role id of the role of this user role combination
-
insertUserRoles
@Transactional @Modifying @Query(value="INSERT INTO userroles(userid, roleid, created_by, created_date, last_modified_by, last_modified_date) VALUES (:userid, :roleid, :uname, CURRENT_TIMESTAMP, :uname, CURRENT_TIMESTAMP)", nativeQuery=true) void insertUserRoles(java.lang.String uname, long userid, long roleid)
Inserts the new user role combination- Parameters:
uname
- The username (String) of the user adding the recorduserid
- The user id of the user of this user role combinationroleid
- The role id of the role of this user role combination
-
-


This is Words and Buttons Online — a collection of interactive #tutorials, #demos, and #quizzes about #mathematics, #algorithms and #programming.
This is kind of a sequel to Outperforming LAPACK with C metaprogramming. The tricks described there were effective but rather ugly, and not quite scalable. What I propose here is the same idea (making compiler produce reducible deterministic code against its best judgment) but implemented in C++ template metaprogramming.
I will also show a quick win you can gain with this type of code, and point out a thing that may stand in a way. The solution I propose solves a linear system of 5 equations 10 times faster than LAPACK does.
C++ supports functions with integer templates which work in a remarkably straightforward way. The compiler creates an instance of a function for every template's value it knows the function should be instantiated for. This means that you can't simply make a recursive template function even with the most explicit exit condition, because the compiler does not resolve conditions on early stages. If you make a usual factorial function into an integer template and, for instance, run it as factorial<3>(), the compiler would have to create factorial<3>(), and factorial<2>(), and factorial<1>(), and factorial<0>(), and factorial<-1>(), and so on. I'm not sure if it stops eventually due to integer overflow, and I'm not even willing to know.
The trick here is to patch a recursive call to do an extra instantiation with the exit condition for the case of that very extra condition. Factorial of 1 should call a factorial of 1 (not 0) in the dead branch, and the compiler will have to stop spawning instantiations, since it already has a factorial of 1. This might seem like a thing that would prevent inlining by creating natural recursion, but the instantiation would be eliminated from the dead branch eventually, so the inlining would remain possible.
|
The trick is as simple, as it is effective. Static computation is a byproduct here, the important thing is — we can make the compiler unroll any kind of recursion with no limitations on depth and branching. Well, no limitations except for the compilation time, of course.
Just like before I propose a recursive solution that is expected to unroll and reduce itself in the compile time. The input data is explicitly made volatile to prevent static computation.
#include <array> #include <iostream> namespace linear_equations { namespace semi_static { template <int I, int J, int K, int N> inline static double aij( const std::array<std::array<double, N>, N>& a) { if(K == N) return a[I][J]; return aij<I, J, K+(K<N), N>(a) * aij<K, K, K+(K<N), N>(a) - aij<I, K, K+(K<N), N>(a) * aij<K, J, K+(K<N), N>(a); } template <int I, int K, int N> inline static double bi( const std::array<std::array<double, N>, N>& a, const std::array<double, N>& b) { if(K == N) return b[I]; return aij<K, K, K+(K<N), N>(a) * bi<I, K+(K<N), N>(a, b) - aij<I, K, K+(K<N), N>(a) * bi<K, K+(K<N), N>(a, b); } template <int J, int I, int N> inline static void d_for( double& d, const std::array<std::array<double, N>, N>& a, std::array<double, N>& x) { if(J < I) { d -= aij<I, J, I+(J<I), N>(a) * x[J]; d_for<J+(J<I), I, N>(d, a, x); } } template <int I, int N> inline static double di( const std::array<std::array<double, N>, N>& a, const std::array<double, N>& b, std::array<double, N>& x) { double d = bi<I, I+1, N>(a, b); d_for<0, I, N>(d, a, x); return d; } template <int I, int N> inline static void x_for( const std::array<std::array<double, N>, N>& a, const std::array<double, N>& b, std::array<double, N>& x) { if(I < N) { double d = di<I, N>(a, b, x); double aiji = aij<I, I, I+1, N>(a); x[I] = d / aiji; x_for<I+(I<N), N>(a, b, x); } } template <int N> inline static void solve( const std::array<std::array<double, N>, N>& a, const std::array<double, N>& b, std::array<double, N>& x) { x_for<0, N>(a, b, x); } } } int main() { auto sum_x = std::array<double, 5> {0., 0., 0., 0., 0.}; for(auto i = 0u; i < 1000 * 1000; ++i){ auto v_a = std::array<std::array<volatile double, 5>, 5>{{ { 6.80, -6.05, -0.45, 8.32, -9.67}, {-2.11, -3.30, 2.58, 2.71, -5.14}, { 5.66, 5.36, -2.70, 4.35, -7.26}, { 5.97, -4.44, 0.27, -7.17, 6.08}, { 8.23, 1.08, 9.04, 2.14, -6.87} }}; auto v_b = std::array<volatile double, 5> {4.02, 6.19, -8.22, -7.57, -3.03}; const auto a = std::array<std::array<double, 5>, 5>{{ {v_a[0][0], v_a[0][1], v_a[0][2], v_a[0][3], v_a[0][4]}, {v_a[1][0], v_a[1][1], v_a[1][2], v_a[1][3], v_a[1][4]}, {v_a[2][0], v_a[2][1], v_a[2][2], v_a[2][3], v_a[2][4]}, {v_a[3][0], v_a[3][1], v_a[3][2], v_a[3][3], v_a[3][4]}, {v_a[4][0], v_a[4][1], v_a[4][2], v_a[4][3], v_a[4][4]} }}; const auto b = std::array<double, 5> {v_b[0], v_b[1], v_b[2], v_b[3], v_b[4]}; auto x = std::array<double, 5> {}; linear_equations::semi_static::solve<5>(a, b, x); for(auto j = 0u; j < 5; ++j) sum_x[j] += x[j]; } std::cout << sum_x[0] << ' ' << sum_x[1] << ' ' << sum_x[2] << ' ' << sum_x[3] << ' ' << sum_x[4] << '\n'; return 0; } |
Unlike the C solution, this is completely scalable. It doesn't require macros or case misuse. The downside is, it runs twice as long when being built with inlines off.
1. In C++ inline specifier doesn't necessary specify inlining. It's up to the compiler and the build parameters to decide. In our case we know we will eventually benefit from it, so it might be a good idea to demand inlining explicitly. GCC has a special attribute __attribute__((always_inline)) for it.
Generally it is ok to let the compiler decide, as excessive inlining may be bad for instruction cache usage, but it all depends on the code and the hardware.
2. The code we will get after the inlining will mostly consist of arithmetic operations. There will be little memory access, no branching and no stack operations. This type of code may benefit drastically from superscalarization. Modern processors have the capabilities of processing several values as one big superscalar, and the more recent the model, the larger the superscalars are.
The compiler always has some target platform in mind. Usually, the default one is a little conservative to make sure your binary will run on other machines. This means that unless you select it explicitly, the compiler would only use the benefits of 10 years old processor.
For GCC you can select the target architecture with -march option. My choice for the evening will be -march=native since the only purpose of the binary it will build is to run on my machine a couple of times.
I want to measure several solutions. The one with inlines prohibited by the compiler option, and the same one rebuilt for the native architecture. Then a pair with forced inlines both with default and native architectures. Then the solution with a triangular matrix to make sure we still may benefit from partial constantness with this approach. These numbers then should be compared to the LAPACK and the recursive solutions from the C piece.
The numbers will seem more precise than before, but let it not deceive you, we still have quite an error in our measurements. It's just that the difference between the most and the least effective solutions is so great, we can't really put the numbers on the same scale. The whole runtime of the most efficient version fits in the error of the least efficient one.
Anyway, the numbers are as follows.
I should point out that the whole point of the experiment is not to show that LAPACK is somehow bad or obsolete. It is to show that knowing how the compiler works, you can make it make the most efficient code for you.
On 5 equations LAPACK's LU decomposition roughly matches the Cramer's rule in complexity, but on higher numbers the complexity of the latter will get overwhelming really fast. You can make the compiler make you an unrolled UV decomposition as well, but then the pivoting will get in a way, so you wouldn't avoid branching. Long story short, if you want linear algebra, you should better stick with well established libraries. Such as LAPACK or Eigen.
But if you want performance, you should know your compiler.
The “unroll recursion” trick may be extremely effective in the right context. In the wrong context it may be as well harmful. We can make the compiler produce code 30 times more effective that the original recursive solution, but we may just as easy lose 2 times if the compiler fails to unroll recursive functions.
Superscalarization does wonders for the unrolled code. Without inlines there is only 10% speedup, but for the fully unrolled code it is a fair 2x. But even with that 10% gain it is still something worth consideration. If your code runs in a cloud or on your own server, or in some other form of predictable environment, you might consider rebuilding it for the native architecture for a cheap speedup.
The unrolled code is a subject of extremely efficient constant propagation. The computation on triangular matrix was another 10% speedup for no cost at all. You too can benefit from specializing the code to do your specific task without any additional effort.
All the measurements conducted on Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz, the code is compiled with g++ 5.4.0 -std=c++11 -O2. The source code for the benchmark is available on Github.
| Index #programming #demos | ← there's more. |
+
So You Think You Know C (free book) + Geometry for Programmers (paid book) + Github & RSS |


Selected: {{vm.selected}}
Encrypted Password: {{vm.requested_password_disp}}
Decrypted Password: {{vm.decrypted_password}}
Password Operations
Account Operations
{{vm.password_alert}}
User Settings
{{vm.password_alert}}
Retrieve Password
{{vm.password_alert}}
Edit Password
{{vm.password_alert}}
Delete Password
Are you sure you want to delete this password?
You will not be able to recover the password afterward.
Account Operations
{{vm.password_alert}}
User Settings
{{vm.password_alert}}
Retrieve Password
{{vm.password_alert}}
Edit Password
{{vm.password_alert}}
Delete Password
Are you sure you want to delete this password? You will not be able to recover the password afterward.


Back pain is a common reason for absence from work and for seeking medical treatment. It can be
uncomfortable and debilitating.
It can result from injury, activity and some medical conditions. Back pain can affect people of any age, for
different reasons. As people get older, the chance of developing
lower back pain increases, due to factors such as previous occupation and
degenerative disk disease.
Lower back pain may be linked to the bony lumbar spine, discs between the vertebrae, ligaments around the
spine and discs, spinal cord and nerves, lower back muscles, abdominal and pelvic internal organs, and the
skin around the lumbar area.
Pain in the upper back may be due to disorders of the aorta, tumors in the chest, and spine inflammation.
Causes
Problems with the spine such as osteoporosis can lead to back pain.
The human back is composed of a complex structure of muscles, ligaments, tendons, disks, and bones, which
work together to support the body and enable us to move around.
The segments of the spine are cushioned with cartilage-like pads called disks.
Problems with any of these components can lead to back pain. In some cases of back pain, its cause remains
unclear.
Damage can result from strain, medical conditions, and poor posture, among others.
Strain
Back pain commonly stems from strain, tension, or injury.
strained muscles or ligaments
a muscle spasm
muscle tension
damaged disks
injuries, fractures, or falls
Activities that can lead to strains or spasms include:
lifting something improperly
lifting something that is too heavy
making an abrupt and awkward movement
Structural problems
A number of structural problems may also result in back pain.
Ruptured disks: Each vertebra in the spine is cushioned by disks. If the disk ruptures there will
be more pressure on a nerve, resulting in back pain.
Bulging disks: In much the same way as ruptured disks, a bulging disk can result in more pressure
on a nerve.
Sciatica: A sharp and shooting pain travels through the buttock and down the back of the leg,
caused by a bulging or herniated disk pressing on a nerve.
Arthritis: Osteoarthritis can cause problems with the joints in the hips, lower back, and other
places. In some cases, the space around the spinal cord narrows. This is known as spinal stenosis.
Abnormal curvature of the spine: If the spine curves in an unusual way, back pain can result. An
example is scoliosis, in which the spine curves to the side.
Osteoporosis: Bones, including the vertebrae of the spine, become brittle and porous, making
compression fractures more likely.
Kidney problems: Kidney stones or kidney infection can cause back pain.
Movement and posture
Adopting a very hunched sitting position when using computers can result in increased back and shoulder
problems over time.
Back pain can also result from some everyday activities or poor posture.
Examples include:
twisting
coughing or sneezing
muscle tension
over-stretching
bending awkwardly or for long periods
pushing, pulling, lifting, or carrying something
standing or sitting for long periods
straining the neck forward, such as when driving or using a computer
long driving sessions without a break, even when not hunched
sleeping on a mattress that does not support the body and keep the spine straight
Other causes
Some medical conditions can lead to back pain.
Cauda equina syndrome: The cauda equine is a bundle of spinal nerve roots that arise from the
lower end of the spinal cord. Symptoms include a dull pain in the lower back and upper buttocks, as well
as numbness in the buttocks, genitalia, and thighs. There are sometimes bowel and bladder function
disturbances.
Cancer of the spine: A tumor on the spine may press against a nerve, resulting in back pain.
Infection of the spine: A fever and a tender, warm area on the back could be due to an infection
of the spine.
Other infections: Pelvic inflammatory disease, bladder, or kidney infections may also lead to
back pain.
Sleep disorders: Individuals with sleep disorders are more likely to experience back pain,
compared with others.
Shingles: An infection that can affect the nerves may lead to back pain. This depends on which
nerves are affected.
Symptoms
The main symptom of back pain is an ache or pain anywhere in the back, and sometimes all the way down to the
buttocks and legs.
Some back issues can cause pain in other parts of the body, depending on the nerves affected.
The pain often goes away without treatment, but if it occurs with any of the following people should see
their doctor:
weight loss
fever
inflammation or swelling on the back
persistent back pain, where lying down or resting does not help
pain down the legs
pain that reaches below the knees
a recent injury, blow or trauma to the back
urinary incontinence
difficulty urinating
fecal incontinence, or loss of control over bowel movements
numbness around the genitals
numbness around the anus
numbness around the buttocks
Prevention
Steps to lower the risk of developing back pain consist mainly of addressing some of the risk factors.
Exercise: Regular exercise helps build strength and control body weight. Guided, low-impact aerobic
activities can boost heart health without straining or jerking the back. Before starting any exercise
program, talk to a health care professional.
There are two main types of exercise that people can do to reduce the risk of back pain:
Core-strengthening exercises work the abdominal and back muscles, helping to strengthen muscles that
protect the back.
Flexibility training aims at improving core flexibility, including the spine, hips, and upper legs.
Diet: Make sure your diet includes enough calcium and vitamin D, as these are needed for
bone health. A healthful diet also helps control body weight.
Smoking: A significantly higher percentage of smokers have back pain incidences compared to
non-smokers of the same age, height, and weight.
Body weight: The weight people carry and where they carry it affects the risk of developing back pain.
The difference in back pain risk between obese and normal-weight individuals is considerable. People who
carry their weight in the abdominal area versus the buttocks and hip area are also at greater risk.
Posture when standing: Make sure you have a neutral pelvic position. Stand upright, head facing
forward, back straight, and balance your weight evenly on both feet.
Posture when sitting: A good seat for working should have good back support, arm rests and a swivel
base. When sitting, try to keep your knees and hips level and keep your feet flat on the floor, or use a
footstool. You should ideally be able to sit upright with support in the small of your back. If you are
using a keyboard, make sure your elbows are at right-angles and that your forearms are horizontal.
Lifting: When lifting things, use your legs to do the lifting, rather than your back.
Keep your back as straight as you can, keeping your feet apart with one leg slightly forward so you can
maintain balance. Bend only at the knees, hold the weight close to your body, and straighten the legs while
changing the position of your back as little as possible.
Bending your back initially is unavoidable, but when you bend your back try not to stoop, and be sure to
tighten your stomach muscles so that your pelvis is pulled in. Most important, do not straighten your legs
before lifting, or you will be using your back for most of the work.
Do not lift and twist at the same time: If something is particularly heavy, see if you can lift it
with someone else.
Moving things: It is better for your back to push things across the floor, using your leg strength,
rather than pulling them.
Shoes: Flat shoes place less of a strain on the back.
Driving: It is important to have proper support for your back. Make sure the wing mirrors are properly
positioned so you do not need to twist.  If you are on a
long journey, have plenty of breaks. Get out of the car and walk around.
Bed: You should have a mattress that keeps your spine straight, while at the same time supporting the
weight of your shoulders and buttocks. Use a pillow, but not one that forces your neck into a steep angle.
YOGA ASANAS FOR PREVENTING BACKPAIN
Tadasana
What is Tadasana?
Tadasana serves to be the foundation for follow-up poses. In Sanskrit, ‘Tada’ means ‘mountain’ and
‘asana’ means ‘pose’. Hence the name, ‘Mountain Pose’. It is an ideal pose for those with weak back
muscles and rounded backs as it can help restore the body’s natural alignment. Children are often
suggested to practise this asana and it can help in increasing the height. This asana can also help
improve posture. Let’s take a look at the benefits of practising this asana.
Steps to practice Tadasana
Stand on a yoga mat; your feet should be slightly apart.
Your hands should be alongside your body.
Inhale deeply and slowly raise your arms upwards then interlock your fingers.
Raise your heels and stand on your toes. Your toes should be fanned out a little.
Feel your body stretching. Look up.
Place your body weight on your toes and stretch out your shoulders, arms, and chest up.
Hold this pose for a few moments.
Exhale and return to the starting position.
Benefits of Tadasana
Improves Your Posture
May Help Increases Height
Boosts Mental Awareness
Improves Breathing
Promotes Weight Loss
Boosts Energy Levels
Improves Your Mood
Provides Relief From Sciatica
Precautions to Take While Doing Tadasana
If you have never performed this asana before, you must practise it with caution. Here are some
precautions you will need to take while practising this asana.
Don’t do this pose if you suffer from insomnia.
If you experience a headache, stop immediately.
If you take any blood thinning medications or have low blood pressure, avoid doing this pose without
consulting a doctor.
Ardha Matsyendrasana (Half Spinal Twist)
Ardha Matsyendrasana also known as Vakrasana is seated spinal twist and falls into the category of
intermediate yoga poses yet its simpler variation can be practiced by beginners as well. Half Spinal
Twist also acknowledged as Half Lord of the Fishes Pose is one of those yoga poses that have quite
complex steps. Its new practitioners often end up getting confused while following the steps. Before
you practice, ensure you are aware of the steps very well. It has several variations out of which we
have selected two to be mentioned in this article today. So let’s get to know them after splitting
the Sanskrit name Ardha Matsyendrasana and revealing the meaning of each word.
How to do Ardha Matsyendrasana (Half Spinal Twist)
Starting Position: Sit straight, keeping the legs outstretched in front of the body.
Bend the right leg over the left leg, placing the right foot on the outside of the left knee, keep the
toes of right foot face forward.
Bend the left leg, bringing the left foot near the right buttock. keep left foot’s outside edge in
contact with the floor.
Position the legs first:
There is a space between your chest and right knee. Pass the left arm through that space bringing the
left hand close to the right foot.
Grab a firm hold of the right foot with the left hand bringing the right knee closer to left armpit. Try
to keep the spine erect.
Make the twist
Slowly twist the trunk to the right along with moving the neck.
Wrap the right arm around the waist placing the fingers on the left inner thigh.
Use the left arm pressing it against the right leg to move the trunk as far as you can comfortably.
Gaze straight over the right shoulder at a fixed point. Relax the body taking deep and slow breaths.
To return, reverse the movements one by one. Repeat on the opposite side.
Practice once on both the sides by interchanging the position of arms and legs.
Benefits of Ardha Matsyendrasana (Half Spinal Twist)
Tones the spinal nerves, stretches back muscles and contracts the abdomen at the same time.
Gives relief in lumbago and reduces muscle spasms and cramps.
Beneficial for people suffering from asthma or other respiratory diseases.
Massages and improves the functioning of abdominal organs, especially toning the liver, pancreas
and the kidneys.
Alleviates digestive and gastric problems. Stimulates appetite.
Regulates adrenaline in the body by balancing the secretions of the adrenal
Useful in getting rid of obesity as the regular practice of this asana removes excess body fat.
Precautions & Contraindications
Perform the Half Spinal Twist after practicing forward and backward bending yoga pose.
Neither twist the torso all of a sudden nor overstretch it as that way you may strain the muscles.
Practice Half Spinal Twist in the presence of a competent yoga trainer if you suffer from a hernia,
heart disease, ulcer or
Avoid practicing Ardha Matsyendrasana in case of sciatica or slipped disc.
This pose is not recommended to be practiced by pregnant women.
Bhujangasana (Cobra Pose)
Bhujangasana widely known as Cobra Pose is a backward bending pose. The Sanskrit name Bhujangasana is
derived from two words. ‘Bhujanga’ stands for serpent while ‘asana’ means posture. The final
position of Bhujangasana resembles a cobra with its hood raised and hence the name. It is an
excellent pose for strengthening the spine along with many other benefits such as alleviating
constipation, stimulating appetite, and massaging abdominal organs.
Steps to practice Bhujangasana (Cobra Pose)
Lie flat on your stomach keeping your legs straight, feet together, heels slightly touching each other
and toes pointing.
Rest the palm of your hands by the side of your chest, your arms must be close to your body with elbows
pointing outward.
Rest your forehead on the floor and relax your body.
Inhale and raise your forehead, neck and then shoulders. Using your back muscles raise your chest, now
use the strength of your arms to raise your trunk. Look upward breathing normally. This is the final
position.
In the final position, your navel should not raise more than 3cm; with your pubic bones touching the
floor. Hold this position for 20-25 seconds.
To come back to starting position first exhale and then slowly lower your navel, chest, shoulders, neck,
and forehead. Relax and take deep breaths.
Practice this asana 3-5 times, practicing before or after a forward bending pose such as Paschimottanasana
(seated forward bend) will give you maximum benefits. With regular practice, you will be able to straighten
your arms, arching the spine to a greater extent.
Bhujangasana (Cobra Pose) Benefits
Being the 7th posture of Suryanamaskar, it has several benefits such as:
Strengthens the spine, keeps it strong, healthy, and flexible.
Gives a good stretch to your neck, shoulder, chest, lungs, and abdomen.
Enhances the functioning of abdominal organs such as kidney and liver.
Beneficial in menstrual and other disorders of the female reproductive system.
Useful for people suffering from back pain, slipped disc, sciatica and cervical spondylitis.
Precautions for Bhujangasana (Cobra Pose)
Arch your spine as much as you can but don’t apply force. Some people are naturally flexible while
some are not and a lot of us have very stiff muscles. Never rush! Give your body the time it needs
to gain strength and flexibility.
Take very little support of your arms, use your back muscles to hold the weight of your upper body
in the pose that is how your spine is going to get stronger.
Your feet might raise a bit from the ground unintentionally, try to keep them down.
Practice this asana under the guidance of an instructor if you suffer from any of this condition:
hyperthyroidism, hernia, peptic ulcer or intestinal tuberculosis.
Vakrasana
Vakrasana- This is an important asana for reducing abdominal fat and stretching the thigh muscles it
also helps to strengthen the nervous system and helps in overcoming spinal injuries. It is derived
from a Sanskrit word in which Vakra means twisted and asana means posture. The trunk of the body is
twisted on either side and is practised in a sitting position.
Steps to do Vakrasana
Sit erect on the yoga mat or floor so that the spine is at 90degrees to the ground.
Both legs should be stretched forward
Bend the right leg at the knee straight and stretched and place the foot by the side of the left leg.
Keep your right hand behind resting the palm on the ground. In align with the right leg but away from
the body
Inhale and keep the left hand shoulder high on the right leg by keeping the elbow straight.
Exhale and twist towards the right hand side.
Keep the face relaxed and keep breathing normally
Hold the position for 2mins.
Relax and get back to the original position.
Repeat the position on the other side.
Take a deep breath and relax.
Benefits of Vakrasana
Helps in loosening the spine muscles. removes stiffness in the back.
Helps to overcome constipation.
Reduces the belly fat, loosens the hip joints and helps in releasing stiffness from the body.
Helps in controlling diabetes. For best results diabetic patients should do twice in a day.
Helps in regulating the secretion of digestive juices and also helps in various digestive
disorders.
stretches the muscles of the whole body.
Precaution while doing vakrasana
It is advised that pregnant women should avoid doing this asana as it presses the abdomen. Women
should also avoid doing during menstruation.
People with back pain in the back, hip, shoulders or neck should avoid doing this asana.
This asana is not recommended to people suffering from hernia or Ulcer. Consult a physician before
doing this asana.


Alectryon can generate cache files to memoize Coq's output, yielding faster compilation when Coq fragments embedded in a document have not changed:
alectryon --cache-directory _output/ --cache-compression=xz caching.v # Coq+reST → HTML, cached to _output/caching.v.cache; produces ‘caching.html’
(The --cache-compression flag is option; the default is to not compress caches.)


--- layout: post title: Emma Just Played on the Rhino's Field categories: [] tags: [] status: publish type: post published: true meta: _original_post_id: '' _original_import_author: John Duprey author: ---
[wpvideo 19OZC2qk]
Sent from my iPhone


One of the most challenging teaching methods, leading discussions can also be one of the most rewarding. Using discussions as a primary teaching method allows you to stimulate critical thinking. As you establish a rapport with your students, you can demonstrate that you appreciate their contributions at the same time that you challenge them to think more deeply and to articulate their ideas more clearly.
One of the most challenging teaching methods, leading discussions can also be one of the most rewarding. Using discussions as a primary teaching method allows you to stimulate critical thinking. As you establish a rapport with your students, you can demonstrate that you appreciate their contributions at the same time that you challenge them to think more deeply and to articulate their ideas more clearly.
Listen you are going to get a kick out of this one. I've got to tell one of the funniest jokes of all time.
This is another anonymous comment. Maybe we can place some bold text. Then afterwards we can do some underlined text. And even a link to Google.
Hey man, just another sub-reply. Okay bye.
So this is neat.
Hello, world!


| 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 25, 2003
French fries spurs murder
Macon Telegraph | Submitted by: Dirty Sammy
"A Macon man was killed Saturday evening after an argument over money borrowed to buy french fries, police officials said... Hofmann said Hodges had borrowed $2 from Sandifer's 12-year-old daughter to buy french fries at a fast-food restaurant Saturday. When they returned to Hodges' house, Sandifer asked his nephew to give his daughter back the money he had borrowed, Hofmann said." Time to rename them from Freedom Fries to Felony Fries?
|
|
Read article...
|
|
Forged dox stories leave much to be desired
Slate | Submitted by: Crazy Quagga
Opinionated, but the article points out how the New York Times and the Washington Post have covered the scandal over the fake documents Powell presented to the UN: "Both the Post and Times stories sympathize with the CIA. Both portray the agency as bullied by the Bush administration but still having the balls to convey its doubts about the docs as they moved up the chain of command." Shit, since when did the CIA become such a PUSSY?
|
|
Read article...
|
|
Drug suspect was just chilling... in refrigerator
AZ Central | Submitted by: Jessika
"Police went to a house on a tip that the suspect may be living there. The homeowner told police the man wasn't there, but gave them permission to search the house... After a short search, police found Jerome Anthony Dobbey hiding inside a refrigerator with the door shut. Hoffer said items had been stacked in front of the refrigerator, which was not plugged in."
|
|
Read article...
|
|
Dinners in the dark and mass groping
Wire Services | Submitted by: Orpyak
"It was great. You got to grope strangers, like that blond woman right there," a 36 year old business manager named Jeff said gleefully. He also admitted to tossing pieces of bread at other diners under the protection of darkness.
Then, as soon as the diners were seated with the lights out, unable to see anyone or anything, the supposedly sophisticated New Yorkers somehow became anything but."
|
|
Read article...
|
|
Jellyfish stings boy to death
WKMG-TV 6 Orlando | Submitted by: Rio
"A 7 year old boy was stung to death by a jellyfish while swimming off the coast of northeast Australia, according to authorities. The boy was apparently stung Sunday by a chironex fleckeri, one of the deadliest of the large box jellyfish that infest coastal waters around northern Australia, said Peter Fenner, the national medical officer of the country's lifeguard association, Surf Life Saving Australia. If the sting is confirmed to have come from a chironex fleckeri, the boy will be the 68th person in Australia killed by the jellyfish since records began in 1883, Fenner said."
|
|
Read article...
|
|
Safe as long as the busplosions stay on TV
BayArea.com | Submitted by: JamSandwich
...the fourth-grader had been having nightmares about bombs blowing up his San Jose neighborhood. But after seeing television images of U.S. forces pummeling the city of Baghdad from the air, Michael says he feels much safer about things at home and now wants to show his support for the troops...
|
|
Read article...
|
|
Coloradans fear "war" after pipeline explosion
Denver Post | Submitted by: BTuna
Proof that emotion overrides logic. People in Colorado actually think some sort of attack would occur in their state (probably after watching the 24 hour coverage of the war). Local authorities would like to talk to the driver of a silver SUV seen driving away from the site just before the explosion.
|
|
Read article...
|
|
Singapore school name does not inspire confidence
Yahoo! Singapore | Submitted by: anonymous
Concern over SARS (weird respiratory virus that is killing people) is growing, but what is most interesting about this story is the name of the elementary school. "Ong Kian Hin, Principal of Red Swastika School, said: "If you have gone to Hong Kong or Guangdong in China or Vietnam and come back from the three places, and having a bit of a problem like fever and cough, what should you do?"
|
|
Read article...
|
|
Give me that online prayer!
Houston Chronicle | Submitted by: Janey G
And you thought televangelists were bad: "...the ancient "prayer circle," which traditionally requires a physical gathering of individuals in one place at the same time, has acquired a virtual counterpart: the Web prayer circle, whose boundaries are more like those of a wind-buffeted cloud, always in flux."
|
|
Read article...
|
|
Officials going to jail to celebrate new building
Tri City Herald | Submitted by: Ryan
"Crime Stoppers spokesman Mike Blatman said more than 50 people have signed up to stay in the so-called Jailhouse Bed and Breakfast for $50 per person for a shared cell or $75 per person for a "private suite"... He said Bowman and Kelly will be joined by Kennewick Councilwoman Marge Price and others staying the night. About 60 percent of those signed up are women, Blatman said."
|
|
Read article...
|
|
Oakland woman wins Rock, Scissors, Paper title
Modesto Bee | Submitted by: Ryan
"The game "Rock, Scissors, Paper" has settled countless childhood disputes. Now the game is determining who gets some serious cash. About 120 enthusiasts of the game vied for the $1,000 prize at a contest Saturday in this town north of San Francisco."
|
|
Read article...
|
|
I hate you, I wish you would valentine
Modesto Bee | Submitted by: Ryan
"A theology teacher at a Roman Catholic high school lost his job after giving a student a valentine that read "I hate you, I wish you would die." A police report stated R. Scott Jones passed out similar cards Feb. 14 to his other students at St. Mary's High School, many of whom regarded it as a joke, but one 17 year old boy said he was "freaked out" by the card."
|
|
Read article...
|
|
Hackers take out Al-Jazeera
New Scientist | Submitted by: Suitts
"The Arabic satellite television channel Al Jazeera, which on Sunday broadcast controversial footage of US soldiers captured by Iraqi forces, has blamed computer hackers for crashing its online news service on Monday... The spokeswoman said an attack could have been prompted by the film broadcast by the station." Duh.
|
|
Read article...
|
|
|
|
|


RT @hiro_asari: Don't drink and implement an HTML tag. http://www.montulli.org/theoriginofthe%3Cblink%3Etag
5/25/2014, 7:39:53 PM
Favs: 0
Retweets: 0
link--- layout: tweet ---
RT @hiro_asari: Don't drink and implement an HTML tag. http://www.montulli.org/theoriginofthe%3Cblink%3Etag
5/25/2014, 7:39:53 PM
Favs: 0
Retweets: 0
link


| DOSE: |
repeated |
oral |
Kratom |
(powder / crystals) |
I've taken Kratom many times. It is a very versatile 'incense'. With a little know-how and some patience the 'Premium Commerial' Kratom can be made into any most of the common preparations. This information is readily available, and I'm not writing a cookbook. In the experience of this researcher there are a few distinct experiences possible with Mitragyna Speciosa, when taken as a powdered leaf. Please note that these are my own doses. I'm a big fella, 6'1', 240lb, and fit.
I. The low dose - 1 to 2 tsp - 4 to 8 grams - powdered 'PC' kratom
A. Effects
1. Mental
a. mild stimulation
b. mild euphoria
c. increased focus
d. longer attention span
e. anti-addictive effects(?)
2. Physical
a. medium-strong analgesia
b. feeling of warmth
c. loss of appetite
d. increased stamina
3. Undefined
a. Lack of desire for tobacco
b. Desire to be around others
c. enhanced enjoyment of music
B. After Effects
1. less than mild fatigue
2. slight desire for more (could just be me. ,) )
In small doses, kratom feels to work like coffee or tea, without the 'jitters' produced by caffiene or amphetimine-like stimulants. I often take a tsp of powder before breakfast, instead of coffee. I have also found that small doses are a wonderful addition to a pre-workout snack. The additional stamina kratom seems to provide allows me to push my workouts harder than with a vitamin/caffiene stack alone. Quite possibly the mild euphoria helps me push myself. The painkilling effect may also contribute to this, allowing me to work through some of my joint pain.
II. The medium dose - 1 to 2 tbsp - 15 to 30 grams - powdered 'PC' kratom
A. Effects
1. Mental
a. mild MENTAL stimulation
b. medium-strong euphoria
c. increased focus, with periods of being spaced out
d. anti-addictive effects(!)
2. Physical
a. strong analgesia
b. physical sedation
c. mild nauesa
d. feeling of warmth
e. mild muscle relaxation
3. Udefined
a. NO desire for tobacco(see II.A.e)
b. definate opioid-like effects
c. 'Zoning' into a piece of music or literature.
B. After Effects
1. mild fatigue
2. slight headache/desire for more
At this dose, Kratom gets more interesting. It really becomes more of a very clear opiate high. I have been spaced out thinking about the mechanics of the solar system many times with a 2 tablespoon dose, and I'm a big guy. Sometimes if I work out without kratom, near the end of the day I will take a dose of this size to help me 'come down' from the day. It's great, because I am still clear headed enough to handle home business. If I had to make a dose to dose comparison I'd say 1 tbsp of Kratom = 10mg hydrocodone, for pain relief. It's very close to the same in terms of sedation also.
III. The Heavy Dose - 3tbsp -4tbsp - 30g + - powdered 'PC' kratom
A. Effects
1. Mental
a. mental sedation
b. euphoria
c. inability to focus
2. Physical
a. strong analgesia
b. strong physical sedation
c. nausea, with occasional vomiting
d. feeling of warmth becomes body buzz.
e. strong muscle relaxation
3.  While I would suggest it as a substitute for opiates during a controlled withdraw, it is not the recreational plant I hoped it would be. In larger doses, vomiting has been common enough for me that I wouldn't suggest large doses for anyone. The positive effects of the plant are mostly captured at low doses.
Summary:
In low doses, Kratom can be beneficial. Only in higher doses is this plant
unpleasant. When taken responsibly, Kratom could be just the 'spice of life'
your looking for. It will give you that extra pep and care of joint and muscle pain.
It's not one of those things that gets better the more I take. The higher
the dose, the more chance of unwanted sedation and/or nausea. When taken in
medium doses for pain, it is a good natural replacement for opiates. That does
not mean that NSAIDS shouldn't always be your first line of defense against common day to day aches and pains. Kratom is an excellent supplement to those drugs for extra pain relief.
When it comes to recreational use, kratom is a different story. I have found that SMALLER doses work best with most other drugs to enhance the experience. Kratom will provide the little extra boost so I don't feel tired smoking pot. It also helps ease the muscle tension from most psychadelics, without any noticable sedation. Kratom's euphoric effects, while strong on their own, don't hold a candle to any pharmecutical opiates. It is a good buzz while the pills aren't around, but any serious pillhead won't be satisfied with Kratom.
Drinking alchohol and taking kratom should be always done carefully. Small doses enhance the drunken buzz, but large doses and their trademark sedation should be avoided. Also, if you have a weak stomach the two shouldn't be mixed. The nausea alone is not worth the trouble.
It is worth mentioning that after a full breakfast, Kratom does help hangover symtoms greatly. As a hangover remedy adding a teaspoon to my tea works well. I have even tried adding it to my coffee filter in the morning. While it definately changes the flavor, I find the brew to be almost mystical in its restorative properties.
Mitragyna Speciosa is a wonderful plant. In small amounts, it stimulates without the side effects of caffiene. Even in small doses it provides also provides a powerful adjunct to modern medicine's approach to pain relief. Kratom is facinating because of how different dosages effect my body in vastly different ways.
The bottom line is that I like Kratom, and would suggest its use for many
different conditions.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Extremely fast 2D image convolution with a box filter. Convolves an image by a F=ones(2*r+1,2*r+1)/(2*r+1)^2 filter. The convolution can be performed in constant time per-pixel, independent of the radius r. In fact the implementation is nearly optimal, with the convolution taking only slightly more time than creating a copy of the input array. Boundary effects are handled as if the image were padded symmetrically prior to performing the convolution. An optional integer downsampling parameter "s" can be specified, in which case the output is downsampled by s (the implementation is efficient with downsampling occurring simultaneously with smoothing, saving additional time). The output is exactly equivalent to the following Matlab operations: f = ones(1,2*r+1); f=f/sum(f); J = padarray(I,[r r],'symmetric','both'); J = convn(convn(J,f,'valid'),f','valid'); if(s>1), t=floor(s/2)+1; J=J(t:s:end-s+t,t:s:end-s+t,:); end The computation, however, is an order of magnitude faster than the above. When used as a smoothing filter, the standard deviation (sigma) of a box filter with radius r can be computed using [sigma=sqrt(r*(r+1)/3)]. For the first few values of r this translates to: r=1: sigma=sqrt(2/3), r=2: sigma=sqrt(2), r=3: sigma=2. Given sigma, the equivalent value of r can be computed via [r=sqrt(12*sigma*sigma+1)/2-.5]. The related function convTri performs convolution with a triangle filter, which has nicer properties if used for smoothing, but is slightly slower. This code requires SSE2 to compile and run (most modern Intel and AMD processors support SSE2). Please see: http://en.wikipedia.org/wiki/SSE2. USAGE J = convBox( I, r, [s], [nomex] ) INPUTS I - [hxwxk] input k channel single image r - integer filter radius s - [1] integer downsampling amount after convolving nomex - [0] if true perform computation in matlab (for testing/timing) OUTPUTS J - [hxwxk] smoothed image EXAMPLE I = single(imResample(imread('cameraman.tif'),[480 640]))/255; r = 5; s = 2; % set parameters as desired tic, J1=convBox(I,r,s); toc % mex version (fast) tic, J2=convBox(I,r,s,1); toc % matlab version (slow) figure(1); im(J1); figure(2); im(abs(J2-J1)); See also conv2, convTri Piotr's Computer Vision Matlab Toolbox Version 3.02 Copyright 2014 Piotr Dollar & Ron Appel. [pdollar-at-gmail.com] Licensed under the Simplified BSD License [see external/bsd.txt]


%inherit file="../layout.html" /> <%def name="title()">Reset Your Password%def> <%def name="style()"> ${h.css('/css/thin.css')} ${h.css('/css/login.css')} %def> <%def name="javascript()"> %def>
Enter your email address and we'll send you password reset instructions.
If you don't get an email from us within a few minutes please be sure to check your spam filter. The email will be coming from moc.tfarcthguard@yfiton


[Read me] --- In this video, I cover Fibonacci retracement and extension levels. - How to set up the Fibonacci retracement tool - How to identify swing high/...
For #Devcon4 and the #DappAwards, we're sharing a little story that helps lay out the state of Dapps and the decentralized web3 world in general Learn more a...
tolken11-Nov-18 06:24 AM
Pirate on bdex?
Alright11-Nov-18 06:24 AM
PIRATE OTC
tolken11-Nov-18 06:25 AM
There’s some KMD and BCH bobs on bdex, what is it you’re lookin to do?
Alright11-Nov-18 06:26 AM
not enough volume
do you know who's running them?
tolken11-Nov-18 06:27 AM
I am, can add plenty of people would actually use them.
How much depth you need?(edited)
Alright11-Nov-18 06:31 AM
pm
passcombo.com 🏴☠🏴11-Nov-18 06:55 AM
want to buy BCH or sell BCH?
Alright11-Nov-18 07:15 AM
buy
found someone though
passcombo.com 🏴☠🏴11-Nov-18 09:30 AM
you think it may bounce up again ?
some rumors coingeek want to abandon the fork
Alright11-Nov-18 09:41 AM
BTC dropped in diff two times in a row for the first time in a long while(edited)
Detailed information for Bitcoin, including the Bitcoin price and value, Bitcoin mining info, Bitcoin wallet version, Bitcoin difficulty, Bitcoin charts, and Bitcoin calculator.
10 of the last 11 blocks are SV as hash war heats up.
Cryptoon11-Nov-18 11:35 AM
Tbh, i would really watch bch price and hash in the anticipation of the nov 15th fork... wouldnt be surprised to see a huge dump before the actual fork
blackjok3r11-Nov-18 11:45 AM
ther eis no fork
If the 128mb chain wins... im uplaodeing a shit load of stuff inot it with the streamer
The milestone 10th Market Outlook is now up: https://t.co/L1VYlUfUwe
This one was eye-opening for myself regarding the opportunities floating about amongst largecaps currently. I cover $BTC, $ETH and $XMR, as usual, followed by $WAVES, $QTUM, $GTO, $KMD and $WINGS. Enjoy!
Cryptoon11-Nov-18 12:36 PM
@blackjok3r what would happen if you upload a shitload of data into it, nodes would see their data explode?
blackjok3r11-Nov-18 12:37 PM
yes it would, but it woul get expesive very fast
You would need lots of BCH to keep sending it
Cryptoon11-Nov-18 12:50 PM
Hmm also true, could you upload stuff to chains that dont have tx fees like eos?(edited)
blackjok3r11-Nov-18 01:29 PM
not sure if they have an OP_RETURN ...
if they do you can ... that said, my streamer would have a hard time, getting the data back out of chain that is not a specifc streamer chain. I made a lot of assumptions and then enforced them as rules in the chain so that it would work... it was hte only way to amke it go fast enough.
jl777c11-Nov-18 01:32 PM
even bitcoin has opreturn, but only 40 bytes
but you can encode data in vout scripts
push data, push data, push data, ... it does increase the cost though
blackjok3r11-Nov-18 01:33 PM
That seems to be the limiting factor, cost .... you could push data into BTC but it woould be very stupid.
I was thinking to do it more to show BCH people what can be done...
siu - Chainmakers11-Nov-18 03:41 PM
btc dedding still
1
meatspoon11-Nov-18 03:46 PM
it sure would be nice if BTC decided what it was going to do and did it already.
lets go down to 5k or start marching up. Take your pick, Bitty.
Roger Ver's thoughts on the upcoming upgrade to Bitcoin Cash. This is scheduled to happen on November 15th. -- Subscribe Now For More Content: https://www....
KomodoWorld11-Nov-18 08:15 PM
Faketoshi is just a figurehead, he's employed by the real mastermind paying for it all, that is Calvin Ayre(edited)
Cryptoon11-Nov-18 09:59 PM
ugh the guy behind bodog
ryman11211-Nov-18 10:27 PM
Well we are getting a new typeface and color palette for the rebrand! This changes everything.
1
ryman11211-Nov-18 10:35 PM
Love the website. Clean and to the point. Great job lots of info and easy to grasp


Charts
Uses ChartJS, refer to their site to see how to implement these charts.
Also look into static/javascript/mycharts.js to see some samples I
tinekred with.
Be sure to look at this html page to see how you can make it responsive
using rows and columns


TechEmpower
TechEmpower is my place of employment as of June 2019. It is a software
development company that works with a large variety of clients to
contract both advisory and development time to projects. I work on a
team of 3-5 people at a given time, with the entire company being 26
total.
I've been on my current project assignment for over a year now, and have
gained enterprise-level experience programming in Java and Python, as
well as in MongoDB, Oracle Database, and frontend development using
TypeScript React. I report to my project manager daily after our client
calls to go over tasks and communicate requirements for our bi-wekly
production deadlines.
I love working as a developer at TechEmpower, I've learned a lot about
both programming and interpersonal skills for working in a team. There
is a lot I didn't realize about balancing project requirements and
developer time/ability, as well as general business-side items when
it comes to software engineering. I continue to hone my skills as a
developer and ironically specialize in being a generalist as I work in
so many tech stacks.
Due to the nature of the company, it's pretty difficult to talk in-depth
about the projects that I work on outside of the tech stacks we use. I
encourage anyone interested to check out their
website instead!
Playroll
Playroll is a small startup/side project I am currently involved in with
both Computer Science and Entrepreneurship students at LMU. The mobile
app aims to change the way music playlists are created and shared.
Front-end development is done entirely in React Native, and the back-end
polls the Spotify API in Go using GraphQL.
I'm heading the front-end design and implementation of the app,
troubleshooting others' React Native troubles and putting out screens of
my own. This is all according to spec I created using the InVision app
for wireframing. While I have plans to move onto working on the
back-end, I am currently pushing to have a beta app release by April and
am focusing all of my efforts into finalizing front-end components.
Due to the creators of Playroll and the nature of startups with
investors, I don't currently have links available for you to check out,
so I've gone ahead and attached some screen recordings of the app that
are WIP.
Login screen using expo.io straight from VSCode!
Home screen implementing an image carousel, and search functionality with GraphQL that searches Spotify.
Creating a new "playroll", generates a track list and displays progress at the bottom of the screen.
Nebula VR
Nebula VR is a virtual reality IDE used for the visual scripting
language Nebula. The IDE was developed in Unity for the HTC Vive and was
developed for LMU's CMSI 401: Software Engineering Laboratory course. It
takes the coordinates of game objects within the environment and
translates that to the Nebula Javascript compiler, then sends the output
back to the VR environment. This is communicated through the MVVM
(model-view-viewmodel) architecture.
I headed the "view" aspect of this project, working solely on the Unity
side. I designed the interactions between function/variable blocks (see
presentation linked below) including spawning blocks, grabbing blocks,
and linking blocks together. I wrote a large part of the Unity C# of
this project and was happy to have such a new topic like virtual reality
be my introduction to collaborative software engineering.
Links
GitHub |
Class Detail
Live Presentation
(Use password "LMUITS") |
More on NebulaLang
casper
"casper" is a scripting language designed for LMU's CMSI 488: Language
Translation and Implementation (aka Compilers) course of Spring 2019.
The language's is built using Ohm, compiled to Javascript, and tested
using Mocha and ESLint. The Ohm grammar along with parser tests are
available on the GitHub repo, and abstract syntax trees and semantic
analysis is on the way.
"casper" is statically typed and includes partial type inference,
parallel variable declaration and assignment, higher order functions,
and optional parameters. It takes inspiration from Python and Typescript
to create a clean-looking interview language to practice in.
Currently, I am the working project manager and am currently finalizing
the grammar and developing the abstract syntax trees for the language.
Links
GitHub |
Class Detail
LMU Esports
I've been the LMU Esports vice president since its founding in 2016.
Over the course of Summer 2019, I did a rebranding of the club in its
entirety to encourage funding from the school and other potential
sponsors. The result is a new website along with a fresh logo, along
with an affiliation to purchase jerseys designed by myself.
Admittedly there isn't anything generally special about this site, but
it is one that I put together on my own and am proud of some of the
design features in the site, logo, and jerseys. I hope it serves as a
decent example of my ability to put together a website.
Links
LMU Esports Homepage
K'two
K’two is a 1-4 player, browser-based, online multiplayer, class-based,
zombie wave survival game. It's the sequel to a game built by an LMU
Computer Science professor 8 years ago: K'tah for the same course said
professor attended here, CMSI 402: Senior Project Laboratory.
K'two is another Unity project I'm working on; this time out of the
virtual reality space. This time I'm in a smaller group and am focusing
heavily on the networking and game design aspects. Although this project
is still a work in progress, we've already gone through multiple iterations
of multiplayer implementations such as WebSocket and Socket.IO. We're beginning
to settle on a TCP client-server model through Unity itself, but I'll be
sure to update on the final plans.
Not only do I think this is a cool homage to our professor at LMU, but
I find this an interesting way to apply skills and knowledge of networking.
Multiplayer games are an integral part to today's entertainment and learning
how to handle over thirty clients on my product at once seems like an interesting
challenge.
Links
K'two Working Demo |
Original K'tah Game |
K'Two GitHub Repository
Twitch Plays Nintendo Switch
I created a Python UDP client/server that allows for viewers on my Twitch
livestream channel to play games on the Nintendo Switch. This is accomplished
with custom firmware on an Arduino, which displays as a third party controller
to the Switch console. It accepts serial packets which are generated from the
server, which also listens out for certain macros (i.e. opening up a particular menu).
I programmed and demoed this live on Twitch and was able to create some good
moments out of it! There's a lot of tweaking to do, but it was a fun experience
learning something for the first time in front of an audience. I've never worked
with Arduinos or Raspberry Pis before this, but I'm excited for what else I can
create in the future.
Links
YouTube Highlights of Animal Crossing |
GitHub Repository


@UiThread abstract fun allTasksComplete(): Unit
The task runner has completed running all of it's tasks.


{% extends "base_error.html" %} {% block content %}
Oops! The system encountered an error: {{error}}
This has been logged with the timestamp of: {{errordatetime}}.
Contact<EMAIL_ADDRESS>for help.


calligraflow
Calligra's flowchart and diagram application.
See also: `calligrastage`, `calligrawords`, `calligrasheets`.
More information: home page
- Launch the flowchart and diagram application:
calligraflow
- Open a specific file:
calligraflow path/to/file
- Display help or version:
calligraflow --help|version


{% extends 'base.html' %}
{% block title %}Inventor Trade Show{% endblock %}
{% block content %}
Are you an Inventor?
Are you an Attendee?
Enthusiasts from around the world will be able to view your invention in a virtual world.
Reserve your booth today!
Do you love seeing what people are inventing, the next big thing, and watching Shark Tank?
Come see the latest inventions created by people like me and you!


We have services!
- reinvent bricks-and-clicks markets
- deploy sticky platforms
- strategize enterprise eyeballs
- synergize killer synergies
- target turn-key e-commerce
- utilize innovative vortals
- recontextualize scalable infomediaries
- brand extensible schemas
- brand turn-key technologies
- engineer vertical eyeballs
- empower vertical markets
- exploit next-generation solutions
- benchmark sticky portals
- productize strategic experiences


module YARD::Handlers::Ruby::StructHandlerMethods
Helper methods to parse @attr_* tags on a class.
@deprecated The use of +@attr+ tags are deprecated since 0.8.0 in favour of
the +@!attribute+ directive. This module should not be relied on.
@since 0.5.6
Public Instance Methods
Creates the given member methods and attaches them to the given ClassObject.
@param [ClassObject] klass the class to generate attributes for @param [Array<String>] members a list of member names
# File lib/yard/handlers/ruby/struct_handler_methods.rb, line 133 def create_attributes(klass, members) # For each parameter, add reader and writers members.each do |member| next if klass.attributes[:instance][member] klass.attributes[:instance][member] = SymbolHash[:read => nil, :write => nil] create_writer klass, member if create_member_method?(klass, member, :write) create_reader klass, member if create_member_method?(klass, member, :read) end end
Creates and registers a class object with the given name and superclass name. Returns it for further use.
@param [String] classname the name of the class @param [String] superclass the name of the superclass @return [ClassObject] the class object for further processing/method attaching
# File lib/yard/handlers/ruby/struct_handler_methods.rb, line 91 def create_class(classname, superclass) register ClassObject.new(namespace, classname) do |o| o.superclass = superclass if superclass o.superclass.type = :class if o.superclass.is_a?(Proxy) end end
Determines whether to create an attribute method based on the class's tags.
@param [ClassObject] klass the class whose tags we're searching @param [String] member the name of the struct member we need @param [Symbol] type (:read) reader method, or writer method? @return [Boolean] should the attribute be created?
# File lib/yard/handlers/ruby/struct_handler_methods.rb, line 37 def create_member_method?(klass, member, type = :read) return true if (klass.tags(:attr) + klass.tags(:attr_reader) + klass.tags(:attr_writer)).empty? return true if member_tag_for_member(klass, member, type) return !member_tag_for_member(klass, member, :write) if type == :read !member_tag_for_member(klass, member, :read) end
Creates the getter (reader) method and attaches it to the class as an attribute. Also sets up the docstring to prettify the documentation output.
@param [ClassObject] klass the class to attach the method to @param [String] member the name of the member we're generating a method for
# File lib/yard/handlers/ruby/struct_handler_methods.rb, line 120 def create_reader(klass, member) new_meth = register MethodObject.new(klass, member, :instance) do |o| o.signature ||= "def #{member}" o.source ||= "#{o.signature}\n @#{member}\nend" end add_reader_tags(klass, new_meth, member) klass.attributes[:instance][member][:read] = new_meth end
Creates the setter (writer) method and attaches it to the class as an attribute. Also sets up the docstring to prettify the documentation output.
@param [ClassObject] klass the class to attach the method to @param [String] member the name of the member we're generating a method for
# File lib/yard/handlers/ruby/struct_handler_methods.rb, line 103 def create_writer(klass, member) # We want to convert these members into attributes just like # as if they were declared using attr_accessor. new_meth = register MethodObject.new(klass, "#{member}=", :instance) do |o| o.parameters = [['value', nil]] o.signature ||= "def #{member}=(value)" o.source ||= "#{o.signature}\n @#{member} = value\nend" end add_writer_tags(klass, new_meth, member) klass.attributes[:instance][member][:write] = new_meth end
Extracts the user's defined @member tag for a given class and its member. Returns nil if the user did not define a @member tag for this struct entry.
@param [ClassObject] klass the class whose tags we're searching @param [String] member the name of the struct member we need @param [Symbol] type reader method, or writer method? @return [Tags::Tag, nil] the tag matching the request, or nil if not found
# File lib/yard/handlers/ruby/struct_handler_methods.rb, line 16 def member_tag_for_member(klass, member, type = :read) specific_tag = type == :read ? :attr_reader : :attr_writer (klass.tags(specific_tag) + klass.tags(:attr)).find {|tag| tag.name == member } end
Gets the return type for the member in a nicely formatted string. Used to be injected into auto-generated docstrings.
@param [Tags::Tag] member_tag the tag object to check for types @return [String] the user-declared type of the struct member, or [Object] if
the user did not define a type for this member.
# File lib/yard/handlers/ruby/struct_handler_methods.rb, line 50 def return_type_from_tag(member_tag) member_tag && member_tag.types ? member_tag.types : "Object" end