"Space Cowboys" is the antithesis to "Armageddon." Let me explain. "Armageddon" was over-the-top and mechanical, though still a fun trip into space, whereas "Space Cowboys" is primarily concerned with leisurely pacing and characters of depth and understanding. In the end, these grumpy old cowboys are action heroes at heart yet they bear the burden of old age and Medicare worries.
Clint Eastwood (who also wrote and directed) stars as Frank Corvin, a former Air Force test pilot who later designed a pragmatic guidance system for a satellite. Apparently, such satellite systems that were innovative in 1958 are no longer used in 1998, though one has apparently found its way into the hands of the Soviets. Unfortunately, this satellite is hurling towards the Earth's atmosphere and none of the latest whiz technicians know how to control it. Frank has an idea how, since he designed it in the first place, and he employs the use of his former crew of pilots to go into space and retrieve it. The former pilots include James Garner as a Reverend; Donald Sutherland as a ladies' man roller coaster expert; and Tommy Lee Jones, a hotheaded pilot who still flies planes and bears a grudge towards Frank from the old days.
"Space Cowboys" marches along with a by-the-numbers plotline that includes the obligatory training session (including a sneak peek of these geezers's butts), the usual shouting matches and confrontations with the reluctant NASA officials, such as William Devane as one gum-chewing NASA bureaucrat and James Cromwell (the tallest of the whole cast) as another, and, well, you get the drill. Once these flyboys enter space, the film picks up with some snappy, humorous dialogue and excellent special-effects.
Eastwood draws suspense in the film's action climax because he brings such vulnerability, pathos and dignity to the characters, including Tommy Lee Jones as the widower who has a passing romantic interest in a younger woman (Marcia Gay Harden). Sutherland is his quick-witted smooth old self, a sight unseen since Robert Altman's "MASH" or "Kelly's Heroes" (the latter also starred Eastwood). James Garner can draw laughs with the barest of facial expressions, though his role often feels truncated. And good old boy Eastwood may not be aging like fine wine, but he still has a commanding presence (and is far more believable than in "True Crime" as an aging reporter).
"Space Cowboys" has sparkle and is illuminated by a fine cast. The story is old-hat to say the least and far too predictable, but these old pros still know how to put on a good show.
For more reviews, check out JERRY AT THE MOVIES at http://buffs.moviething.com/buffs/faust/
E-mail me with any questions, comments or general complaints at<EMAIL_ADDRESS>or at<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


I just ate some of the best sushi I’ve had in New York, and it came from a supermarket fridge
by Irene Jiang, Business Insider US- Supermarket sushi is usually far from gourmet.
- But when I sampled all the fresh food at the new Wegmans supermarket in Brooklyn, the sushi absolutely blew me away.
- With its generous cuts of fresh, high-quality fish for supermarket prices, I’d go back to Wegmans again and again, just for its sushi.
- Sign up for Business Insider’s retail newsletter, The Drive-Thru, to get more stories like this in your inbox.
- Visit Business Insider’s homepage for more stories.
One doesn’t expect much from a box of supermarket sushi.
Along with gas stations and convenience stores, supermarkets don’t inspire much confidence when it comes to the quality of their raw fish.
But Wegmans is all about shattering expectations of what a supermarket can offer. I’m no sushi expert, but I do love a nice hunk of raw fish on some vinegary rice now and then. Maybe slap on some seaweed. My price range is cheap to medium-cheap sushi, so it’s not like I’ve had the of top-of-the-line stuff. This is the review of a sushi lover who can’t really afford to love sushi.
I recently made my first sojourn to the family-owned supermarket chain Wegmans, a New England cult favorite that opened its first New York location in September. After traipsing through aisles filled with affordable quality goods, I ended my trip with a five-course food court fiesta culminating in, of course, sushi.
The sushi fridge was filled with rolls, nigiri, sashimi, and even tataki — a high-end touch. Chefs will make you fresh sushi if you ask, but I was impatient.
I grabbed a sushi deluxe set for $21, which is a lot more than I’d normally pay for a supermarket sushi set.
But this one had a couple of certified stunners, like a piece of uni, or sea urchin — one of the most highly prized sushi.
The quality of the fish also looked incredible. Each piece was shiny and smooth, and it looked quite fresh.
Real wasabi is so expensive it’s almost never served at American sushi restaurants. Wegmans clearly takes pride that it does serve it.
At most American sushi restaurants, the “wasabi” isn’t made out of Japanese horseradish. It’s usually made with cheaper kinds of horseradish and green dye.
This is in line with Wegmans’ ethos, which is very focused on local and sustainable food. Its Japanese culinary team is stacked with Japanese culinary talent.
Source: Wegmans website


Rahul hits out at media silence after 10,000 adivasis in Jharkhand charged with sedition
"Our 'sold out' media may have lost its voice; as citizens can we afford to?”
by PTICongress leader Rahul Gandhi on Wednesday hit out at the media after 10,000 adivasis in Jharkhand were reportedly charged under the “draconian” sedition law, saying it should have raised a “storm” but it did not.
“That any Govt. could slam the draconian ‘sedition’ law on 10,000 Adivasis, fighting against state oppression, should have shocked the conscience of our nation & raised a media storm. But it hasn’t. Our “sold out” media may have lost its voice; as citizens can we afford to?” Mr. Gandhi tweeted.
According to a report, 10,000 adivasis were booked under Section 124A of the Indian Penal Code by Jharkhand police.


From
To
kms
XX
No Highway
No Toll
Step :
250
meters
Interval :
1200
milliseconds
Start
Layout
Pause
Stop


Shawn Jonas Wolf is the second son of five boys in his family and the first to graduate with a college degree, currently living in Minneapolis, MN. Shawn has worked as an Mortgage Loan Underwriter, Operations and Credit Analyst for Wells Fargo Home Mortgage. Before that he worked as a Security Dispatcher while doing a short stint as a freelance comic book/fantasy artist.
Shawn has studied Mandarin Chinese as well as traveled to China, though not fluent he has a healthy appreciation for adding to his knowlege of the world. With his degree in Software Development (specializing in C# and Visual Basic), he spends his time building his coding abilities while picking away at small artistic projects. Shawn also takes time out coding development to work on the development his body through physical training at Los Campeones Gym under Tyler Caldwell.
Shawn's favorite color is Orange followed by Candy-Apple Red. His favorite foods are burgers, and pizza, favorite drinks include coffee, orange juice or Knob Creek Manhattan's. His favorite poison besides life is taking cruises.
Time spent as an Artist and Collateral Underwriter has taught Shawn that there is often new way to view a puzzle or issue. Knowledge should be gathered and used, never being restricted to just one method of practice.
Never stop learning!
Functional knowledges include:
HTML | CSS | Bootstrap | JavaScript | jQuery | Node.js | ReactJS | C# | Visual Basic | Java | SQL Server | MySQL | MongoDB | Firebase | GitHub | Adobe - Acrobat, Photoshop and illustrator | Microsoft
Suite
It is just as important to celebrate and bond as it is to work hard. Shawn has worked with many prior groups to help arrange fun events for team building and served as both a leader and member on Fun Committees for privous employeers to arrnage volunetter events such as Feed My Starving Children, and after worked happy hours.
There are times to lead and times to follow. You will find that Shawn is a flexible member who can move between roles as needed.
Shawn has stepped up in prior groups to help facilitate the flow of projects to completion in both
a corporate and personal dynamic and is more than happy to assist you in any way suitable to insure satisfactory completion of your project.
Welcome to my recent works, please feel free to look around! All information is stored on GitHub.
Learning is the only way to move forward. Below are a list of accomplishments due to constant learning and desired self-improvement.


Suppose we want to create 5 districts of 5 voters each. Some quick math shows the best outcome for the Heart Party (with 8 total voters) is to win 2 districts and it would take some intentional packing and cracking to achieve that outcome. In the example below, we create plans that lead to this outcome.
in-context


Choose a section:
Sections...
Home
World
National
Technology
Science
Health
Movies
Food
Travel
Books


We have all at one time or another mixed some mud. Now let's put some happy little clouds in here. You can do anything here - the only pre-requisite is that it makes you happy. See. We take the corner of the brush and let it play back-and-forth.
Think about a cloud. Just float around and be there. There is no right or wrong - as long as it makes you happy and doesn't hurt anyone. Remember how free clouds are. They just lay around in the sky all day long. This is an example of what you can do with just a few things, a little imagination and a happy dream in your heart.
Don't fight it, use what happens. No pressure. Just relax and watch it happen. Don't be afraid to make these big decisions. Once you start, they sort of just make themselves.
 I get started on them and I have a hard time stopping. Just a happy little shadow that lives in there. Let's put some happy trees and bushes back in here. Let's have a nice tree right here. This is your world. You better get your coat out, this is going to be a cold painting.
I'm going to mix up a little color. We’ll use Van Dyke Brown, Permanent Red, and a little bit of Prussian Blue. Maybe there's a happy little Evergreen that lives here. See there how easy that is. You are only limited by your imagination. Let's put a touch more of the magic here. Fluff it up a little and hypnotize it.
Isn't it fantastic that you can change your mind and create all these happy things? There comes a nice little fluffer. Talk to trees, look at the birds. Whatever it takes. God gave you this gift of imagination. Use it. The more we do this - the more it will do good things to our heart.


We build your ideas.
MFN Consulting has years of experience building compelling web and mobile applications.
We can assist at any stage of your project's lifecycle:
- Prototype
- Build your MVP.
- Application Scaling
- Handle 5x or 50x or 500x more traffic. Anticipate and succeed in the face of exponential growth.
- Team Scaling
- Grow past your overwhelmed founding team. Be ready for the demands of new users and new markets. Keep your
best people from becoming dissatisfied and overworked.
- Optimization
- Get more bang for your advertising buck with SEO, ASO, A/B testing, . Improve your app's position in iTunes or Google Play stores. Design for
viral marketing.
- Modernization
- Bring new standards like HTML5 and CSS3, and best practices like continuous integration and automated
testing, to your existing applications. Make your code a joy to work on so you can hire the best engineers.
Let us build, or guide you in building, a modern, mobile, accessible, captivating, compelling, and amazing version of
your idea.


Attempting to autodetect servers...
We've auto-detected some servers
Select
I don't see mine
Let's get you set up
http://
https://
Protocol
Server Address
Port
Emby
Jellyfin
Type
Username
Password
Save


Package algorithms.util
Class LinearRegression
- java.lang.Object
-
- algorithms.util.LinearRegression
-
public class LinearRegression extends java.lang.Object
- Author:
- nichole
-
-
Constructor Summary
Constructors Constructor Description LinearRegression()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description float[]
calculateParamsForLinearRegression(PairFloatArray xy1, PairFloatArray xy2)
float[]
calculateParamsForLinearRegression(PairIntArray xy1, PairIntArray xy2)
float[]
calculateTheilSenEstimatorMedian(float[] x, float[] y)
calculate the theil sen estimator for the set of points and return the yIntercept and slope that can be used to plot a line that is the linear regression of the x and y points.double[]
calculateTheilSenEstimatorParams(double[] x, double[] y)
calculate the theil sen estimator for the set of points and return the yIntercept and slope that can be used to plot a line that is the linear regression of the x and y points.float[]
calculateTheilSenEstimatorParams(float[] x, float[] y)
calculate the theil sen estimator for the set of points and return the yIntercept and slope that can be used to plot a line that is the linear regression of the x and y points.float[]
calculateTheilSenEstimatorParams(int[] x, int[] y)
TODO: consider implementing Siegel Repeated Median estimator in this class too.(package private) void
calculateXYDifferences(PairFloatArray xy1, PairFloatArray xy2, float[] dxOutput, float[] dyOutput)
(package private) void
calculateXYDifferences(PairIntArray xy1, PairIntArray xy2, int[] dxOutput, int[] dyOutput)
java.lang.String
plotTheLinearRegression(float[] x, float[] y)
make a plot of the linear regression of arrays x and y.java.lang.String
plotTheLinearRegression(float[] x, float[] y, int xMin, int xMax, int yMin, int yMax)
make a plot of the linear regression of arrays x and y.java.lang.String
plotTheLinearRegression(int[] x, int[] y)
make a plot of the linear regression of arrays x and y.java.lang.String
plotTheLinearRegression(PairFloatArray xy1, PairFloatArray xy2)
java.lang.String
plotTheLinearRegression(PairIntArray xy1, PairIntArray xy2)
-
-
-
Method Detail
-
calculateXYDifferences
void calculateXYDifferences(PairIntArray xy1, PairIntArray xy2, int[] dxOutput, int[] dyOutput)
-
calculateTheilSenEstimatorParams
public float[] calculateTheilSenEstimatorParams(int[] x, int[] y)
TODO: consider implementing Siegel Repeated Median estimator in this class too. calculate the Theil-Sen estimator for the set of points and return the yIntercept and slope that can be used to plot a line that is the linear regression of the x and y points. NOTE: a side effect of the method is that x and y become partially sorted. https://en.wikipedia.org/wiki/Theil%E2%80%93Sen_estimator In non-parametric statistics, the Theil–Sen estimator is a method for robustly fitting a line to sample points in the plane (simple linear regression) by choosing the median of the slopes of all lines through pairs of points. ... This estimator can be computed efficiently, and is insensitive to outliers. It can be significantly more accurate than non-robust simple linear regression (least squares) for skewed and heteroskedastic data, and competes well against least squares even for normally distributed data in terms of statistical power.[10] It has been called "the most popular nonparametric technique for estimating a linear trend".- Parameters:
x
-y
-- Returns:
-
calculateParamsForLinearRegression
public float[] calculateParamsForLinearRegression(PairIntArray xy1, PairIntArray xy2)
- Parameters:
xy1
-xy2
-- Returns:
-
plotTheLinearRegression
public java.lang.String plotTheLinearRegression(PairIntArray xy1, PairIntArray xy2)
- Parameters:
xy1
-xy2
-- Returns:
-
plotTheLinearRegression
public java.lang.String plotTheLinearRegression(int[] x, int[] y)
make a plot of the linear regression of arrays x and y. NOTE: a side effect of the method is that x and y become partially sorted.- Parameters:
x
-y
-- Returns:
- file name
-
calculateXYDifferences
void calculateXYDifferences(PairFloatArray xy1, PairFloatArray xy2, float[] dxOutput, float[] dyOutput)
-
calculateTheilSenEstimatorParams
public float[] calculateTheilSenEstimatorParams(float[] x, float[] y)
calculate the theil sen estimator for the set of points and return the yIntercept and slope that can be used to plot a line that is the linear regression of the x and y points. NOTE: a side effect of the method is that x and y become partially sorted.- Parameters:
x
-y
-- Returns:
-
calculateTheilSenEstimatorParams
public double[] calculateTheilSenEstimatorParams(double[] x, double[] y)
calculate the theil sen estimator for the set of points and return the yIntercept and slope that can be used to plot a line that is the linear regression of the x and y points. NOTE: a side effect of the method is that x and y become partially sorted.- Parameters:
x
-y
-- Returns:
-
calculateTheilSenEstimatorMedian
public float[] calculateTheilSenEstimatorMedian(float[] x, float[] y)
calculate the theil sen estimator for the set of points and return the yIntercept and slope that can be used to plot a line that is the linear regression of the x and y points. NOTE: a side effect of the method is that x and y become partially sorted.- Parameters:
x
-y
-- Returns:
-
calculateParamsForLinearRegression
public float[] calculateParamsForLinearRegression(PairFloatArray xy1, PairFloatArray xy2)
- Parameters:
xy1
-xy2
-- Returns:
-
plotTheLinearRegression
public java.lang.String plotTheLinearRegression(PairFloatArray xy1, PairFloatArray xy2)
- Parameters:
xy1
-xy2
-- Returns:
-
plotTheLinearRegression
public java.lang.String plotTheLinearRegression(float[] x, float[] y)
make a plot of the linear regression of arrays x and y. NOTE: a side effect of the method is that x and y become partially sorted.- Parameters:
x
-y
-- Returns:
- plot file name
-
plotTheLinearRegression
public java.lang.String plotTheLinearRegression(float[] x, float[] y, int xMin, int xMax, int yMin, int yMax)
make a plot of the linear regression of arrays x and y. NOTE: a side effect of the method is that x and y become partially sorted.- Parameters:
x
-y
-xMin
-xMax
-yMin
-yMax
-- Returns:
- plot file name
-
-


This Is The Matrimonial App In Which User Can Find Their Life Partner Very Easyliy And Quickly. Matrimonial App with Backened Admin Panel.
We believe choosing a life partner is a big and important decision, and hence work towards giving a simple and secure matchmaking experience for you and your family. Each profile registered with us goes through a manual screening process before going live on site; we provide superior privacy controls for Free; and also verify contact information of members.
Like Shortlisting Of Profiles, Send Invitations, Genrate Biodata Image Which You Can Share On other Apps And Many More Services Also We Provide to User.We Provide Admin Panel Also With Clean Integrated UI.
This app is completely user friendly with clean and unique ui. Based on material design.
In this app user can shortlist profile of intrested party. And can view this in shortlisted option.
After Login, User's Profile goes for a critical analysis &, after approval it goes live.
User can send Intrest message to the intrested persons through this app. And canview in intrest tab.
User can genrate biodata image and can share this image on any other social media.
In this app user can login securely and user's data is secure with admin.
We Offer Nominal Prices


Music is an art form and cultural activity whose medium is sound organized in time. The common elements of music are pitch (which governs melody and harmony), rhythm (and its associated concepts tempo, meter, and articulation), dynamics (loudness and softness), and the sonic qualities of timbre and texture (which are sometimes termed the "color" of a musical sound). Different styles or types of music may emphasize, de-emphasize or omit some of these elements. Music is performed with a vast range of instruments and vocal techniques ranging from singing to rapping; there are solely instrumental pieces, solely vocal pieces (such as songs without instrumental accompaniment) and pieces that combine singing and instruments. The word derives from Greek (mousike; "art of the Muses").
Original Pilipino music, now more commonly termed original Pinoy music, original Philippine music or OPM, originally referred only to Philippine pop songs, particularly ballads, such as those popular after the collapse of its predecessor, the Manila Sound of the late 1970s.
Between the 1980s and the 1990s, OPM was led by artists such as Regine Velasquez, APO Hiking Society, José Mari Chan, Dingdong Avanzado, Rodel Naval, Janno Gibbs, Ogie Alcasid, Joey Albert, Lilet, Martin Nievera, Manilyn Reynes, Lea Salonga, Raymond Lauchengco, JoAnne Lorenzana, Francis Magalona, Sharon Cuneta, Zsa Zsa Padilla, and Gary Valenciano, among many others.
In the 1990s, famous artists included Eraserheads, 14K, Smokey Mountain, Rivermaya, Donna Cruz, Jolina Magdangal, Jessa Zaragoza, Ariel Rivera, South Border, AfterImage, Andrew E., Jaya, Lani Misalucha, Rivermaya, Ella May Saison, Roselle Nava, and Blakdyak, among many others. In the 2000s and the 2010s, leading OPM artists include Aiza Seguerra, Toni Gonzaga, Sarah Geronimo, Yeng Constantino, Spongecola, Christian Bautista, Charice, Jed Madela, Erik Santos, Parokya Ni Edgar, and Gloc-9, among many others.


INSTALL.<arch>
file.
wd0
and the third SCSI-like
disk will be sd2
.
Note that OpenBSD will not necessarily number drives in the same order as your
boot ROM.
a
through p
.
A few labels are special:
a
:
The boot disk's a
partition is your root partition.
b
:
The boot disk's b
partition is usually a swap partition.
c
:
The c
partition is always the entire disk.
# newfs sd2aThus, a device name plus a disklabel identify an OpenBSD filesystem. For example, the identifier
sd2a
refers to the filesystem on the
a
partition of the third sd
device.
Its device files would be /dev/sd2a
for the block device and
/dev/rsd2a
for the raw (character) device.
Remembering whether a rarely used command needs a block or a character device
is difficult.
Therefore, many commands make use of the
opendev(3) function, which
automatically expands sd0
to /dev/rsd0c
or
/dev/sd0c
as appropriate.
$ sysctl hw.disknames hw.disknames=wd0:bfb4775bb8397569,cd0:,wd1:56845c8da732ee7b,wd2:f18e359c8fa2522bYou can specify partitions on the disk by appending a period and the partition letter. For example,
f18e359c8fa2522b.d
is the d
partition of
the disk
f18e359c8fa2522b
and will always refer to the same chunk of storage, no
matter what order the devices attached to the system, or what kind of interface
it is attached to.
If you put data on wd2d
,
then later remove wd1
from the system and reboot,
your data is now on wd1d
, as your old wd2
is now
wd1
.
However, a drive's DUID won't change after boot.
View your partition table with:
# fdisk sd0 Disk: sd0 geometry: 553/255/63 [8883945 Sectors] Offset: 0 Signature: 0xAA55 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------ 0: 12 0 1 1 - 2 254 63 [ 63: 48132 ] Compaq Diag. 1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused 2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused *3: A6 3 0 1 - 552 254 63 [ 48195: 8835750 ] OpenBSDHere, the OpenBSD partition (id
A6
) is marked with a *
to indicate that it is the bootable partition.
A totally blank disk will need to have the master boot record's boot code written to the disk before it can boot. Normally, all you need to do is:
# fdisk -iy sd0Alternatively, use the
reinit
or update
commands in
interactive mode.
The -e
flag starts interactive editing mode:
# fdisk -e sd0 Enter 'help' for information fdisk: 1>Beware that
q
saves changes and exits the program, while
x
exits without saving.
This is the opposite of what many people are now used to in other environments.
Note also that fdisk does not warn before saving the changes.
If your system has a maintenance or diagnostic partition, it is recommended that you leave it in place or install it before installing OpenBSD.
This can help overcome some architectures' disk partitioning limitations. For example, on i386, there are only four primary MBR partitions available. With disk labels, one of these primary partitions contains all your OpenBSD partitions, while the other three are still available for other operating systems.
On platforms using fdisk, you should leave the first logical track unused, both in disklabel and in fdisk. For this reason, the default is to start the first partition at block 64.
Don't put swap at the very beginning of your disk on sparc64. While Solaris often did that, OpenBSD requires the boot partition to be at the beginning of the disk.
A copy of the disklabel for each disk is saved in /var/backups
as
part of the daily system maintenance.
Assuming you still have the /var
partition, you can simply read the
output, and put it back into disklabel with the -R
flag.
In the event that you can no longer see that partition, there are two options:
Fix enough of the disk so you can see it, or fix enough of the disk so that you
can get your data off.
The scan_ffs(8) utility will look
through a disk to find partitions.
You can use the information it finds to recreate the disklabel.
If you just want /var
back, you can recreate the partition for
/var
, then recover the backed up label and add the rest from that.
The disklabel(8) utility will
both update the kernel's understanding of the disklabel and attempt to write
the label to disk.
Therefore, even if the area of the disk containing the disklabel is unreadable,
you will be able to mount until the next reboot.
/boot
.
The PBR loads the boot(8)
program which has the task of locating and loading the kernel.
Using drive 0, partition 3. <- MBR Loading...... <- PBR probing: pc0 com0 com1 mem[638K 1918M a20=on] <- /boot disk: hd0+ hd1+ >> OpenBSD/amd64 BOOT 3.33 boot> booting hd0a:/bsd 4464500+838332 [58+204240+181750]=0x56cfd0 entry point at 0x100120 [ using 386464 bytes of bsd ELF symbol table ] Copyright (c) 1982, 1986, 1989, 1991, 1993 <- Kernel The Regents of the University of California. All rights reserved.
Enabling soft updates must be done with a mount-time option.
When mounting a partition with the
mount(8)
utility, you can specify that you wish to have soft updates enabled on
that partition.
Below is a sample fstab(5)
entry that has one partition sd0a
that we wish to have mounted
with soft updates.
/dev/sd0a / ffs rw,softdep 1 1
/altroot
facility in the
daily(8) scripts.
If the environment variable ROOTBACKUP=1
is set in either
/etc/daily.local
or root's
crontab(5),
and a partition is specified in
fstab(5)
as mounting to /altroot
with the mount options of xx
,
every night the entire contents of the root partition will be duplicated to the
/altroot
partition.
Assuming you want to back up your root partition to the partition specified
by the DUID bfb4775bb8397569.a
,
add the following to /etc/fstab
bfb4775bb8397569.a /altroot ffs xx 0 0and set the appropriate environment variable in
/etc/daily.local
:
# echo ROOTBACKUP=1 >>/etc/daily.localAs the
/altroot
process will capture your /etc
directory,
this will make sure any configuration changes there are updated daily.
This is a "disk image" copy done with
dd(1)
not a file-by-file copy, so your /altroot
partition should be at
least the same size as your root partition.
Generally, you will want your /altroot
partition to be on a
different disk that has been configured to be fully bootable should the primary
disk fail.
/SRC
to directory
/DST
with dump(8) and
restore(8), do:
# cd /SRC && dump 0f - . | (cd /DST && restore -rf - )or use tar(1):
# cd /SRC && tar cf - . | (cd /DST && tar xpf - )
Use the keywords userquota
and groupquota
to mark each
filesystem in fstab(5) on which you
want to enforce quotas.
By default, the files quota.user
and quota.group
will
be created at the root of those filesystems.
Here is an example /etc/fstab
line:
0123456789abcdef.k /home ffs rw,nodev,nosuid,userquota 1 2To set the users' quotas, use edquota(8). For example, issue
# edquota ericjand edit the soft and hard limits:
Quotas for user ericj: /home: KBytes in use: 62, limits (soft = 1000000, hard = 1500000) inodes in use: 25, limits (soft = 0, hard = 0)In this example, the soft limit is set to 1000000k, and the hard limit is set to 1500000k. No limits on the number of inodes will be enforced, since the corresponding soft and hard limits are set to 0. Users who exceed their soft limit are warned and are given a grace period to get their disk usage below their limits. Grace periods can be set by using the
-t
option on
edquota(8).
After the grace period is over, the soft limit is handled as a hard limit.
This usually results in an allocation failure.
Use quotaon(8) to enable quotas:
# quotaon -aThis will scan through fstab(5) and enable quotas on the filesystems with quota options. View quota statistics with quota(1).
$ man -k -s 8 mountNote that support may be limited to read-only operation.
/tmp/ISO.image
,
you would take the following steps to mount the image.
# vnconfig vnd0 /tmp/ISO.image # mount -t cd9660 /dev/vnd0c /mntSince this is an ISO 9660 image, as used by CDs and DVDs, you must specify type of
cd9660
when mounting it.
To unmount the image and unconfigure the vnd(4) device, do:
# umount /mnt # vnconfig -u vnd0For more information, refer to vnconfig(8) and mount(8).
disklabel -E sd0
and modify the size of the partition using the m
command.
Adjust the filesystem to use the entire partition with
growfs(8):
# growfs sd0hBefore the partition can be mounted again, its integrity must be checked with fsck(8):
# fsck /dev/sd0h
Before using the install script, you will drop to a shell and set up a softraid(4) device.
The install kernel only has the /dev
entries for one
wd(4) device and one
sd(4) device on boot, so you will need
to manually create more disk devices if your desired softraid setup requires
them.
For example, if you need to support a second and third
sd(4) device for a mirrored setup, you
could do the following from the shell prompt:
Welcome to the OpenBSD/amd64 X.X installation program. (I)nstall, (U)pgrade, (A)utoinstall or (S)hell? s # cd /dev # sh MAKEDEV sd1 sd2You now have full support for the
sd0
, sd1
and
sd2
devices.
Next, we'll initialize the disks with fdisk(8) and create RAID partitions with disklabel(8).
If you're booting from MBR, do:
# fdisk -iy sd0 # fdisk -iy sd1If you use GPT for UEFI booting, do:
# fdisk -iy -g -b 960 sd0 # fdisk -iy -g -b 960 sd1Create the partition layout on the first device:
# disklabel -E sd0 Label editor (enter '?' for help at any prompt) sd0> a a offset: [64] size: [39825135] * FS type: [4.2BSD] RAID sd0> w sd0> q No label changes.Copy the partition layout to the second device:
# disklabel sd0 > layout # disklabel -R sd1 layout # rm layoutAssemble the mirror with the bioctl(8) command:
# bioctl -c 1 -l sd0a,sd1a softraid0 scsibus1 at softraid0: 1 targets sd2 at scsibus2 targ 0 lun 0: <OPENBSD, SR RAID 1, 005> SCSI2 0/direct fixed sd2: 10244MB, 512 bytes/sec, 20980362 sec totalThis shows that we now have a new SCSI bus and a new disk,
sd2
.
This volume will be automatically detected and assembled when the system boots.
Even if you create multiple RAID arrays, the device name will always be
softraid0
.
There won't be a softraid1
or anything else.
Because the new device probably has a lot of garbage where you expect
a master boot record and disklabel, zeroing the first chunk of it is
highly recommended.
Be very careful with this command; issuing it on the wrong device
could lead to a very bad day.
This assumes that the new softraid device was created as sd2
.
# dd if=/dev/zero of=/dev/rsd2c bs=1m count=1You are now ready to install OpenBSD on your system. Perform the install as normal by invoking "install" or "exit" at the boot media console. Create all the partitions on your new softraid disk (
sd2
in our
example here) that should be there, rather than on sd0
or
sd1
(the non-RAID disks).
To check on the status of your mirror, issue the following command:
# bioctl sd2A nightly cron job to check the status might be a good idea.
sd2
and you are replacing the
failed device with sd1m
, the following commands should work:
# bioctl -R /dev/sd1m sd2This can also be performed in single user mode or from the install kernel.
Select (S)hell at the initial prompt.
Welcome to the OpenBSD/amd64 X.X installation program. (I)nstall, (U)pgrade, (A)utoinstall or (S)hell? sFrom here, you'll be given a shell within the live environment to manipulate the disks. For this example, we will install to the
sd0
SATA drive, erasing
all of its previous contents.
You may want to write random data to the drive first with something like the
following:
# dd if=/dev/urandom of=/dev/rsd0c bs=1mThis can be a very time-consuming process, depending on the speed of your CPU and disk, as well as the size of the disk. If you don't write random data to the whole device, it may be possible for an adversary to deduce how much space is actually being used.
Next, we'll initialize the disk with fdisk(8) and create the softraid partition with disklabel(8).
If you're booting from MBR, do:
# fdisk -iy sd0If you use GPT for UEFI booting, do:
# fdisk -iy -g -b 960 sd0Next, create the partition layout:
# disklabel -E sd0 Label editor (enter '?' for help at any prompt) sd0> a a offset: [64] size: [39825135] * FS type: [4.2BSD] RAID sd0> w sd0> q No label changes.We'll use the entire disk, but note that the encrypted device can be split up into multiple partitions as if it were a regular hard drive.
Now we can build the encrypted device on our "a" partition.
# bioctl -c C -l sd0a softraid0 New passphrase: Re-type passphrase: sd1 at scsibus2 targ 1 lun 0: <OPENBSD, SR CRYPTO, 005> SCSI2 0/direct fixed sd1: 19445MB, 512 bytes/sector, 39824607 sectors softraid0: CRYPTO volume attached as sd1Instead of a passphrase, you may want to use a keydisk.
Since the installer does not have many device nodes by default, we'll make
sure the /dev/sd1
device is accounted for.
# cd /dev && sh MAKEDEV sd1All data written to
sd1
will now be encrypted with AES in XTS mode.
As in the previous example, we'll overwrite the first megabyte of our new pseudo-device.
# dd if=/dev/zero of=/dev/rsd1c bs=1m count=1Type
exit
to return to the main installer, then choose this new
device as the one for your installation.
[...] Available disks are: sd0 sd1. Which disk is the root disk? ('?' for details) [sd0] sd1You will be prompted for the passphrase on startup, but all other operations should be handled transparently.
Initialize your keydisk with
fdisk(8), then use
disklabel(8)
to create a 1 MB RAID partition for the key data.
If your keydisk is sd1
and the drive you want to encrypt is
sd0
, the output will look something like this:
# bioctl -c C -k sd1a -l sd0a softraid0 sd2 at scsibus3 targ 1 lun 0: <OPENBSD, SR CRYPTO, 005> SCSI2 0/direct fixed sd2: 19445MB, 512 bytes/sector, 39824607 sectors softraid0: CRYPTO volume attached as sd2You won't be prompted to enter a passphrase because you used a keydisk instead. The keydisk must be inserted at startup time.
You can backup and restore your keydisk using dd(1):
# dd bs=8192 skip=1 if=/dev/rsd1a of=backup-keydisk.img # dd bs=8192 seek=1 if=backup-keydisk.img of=/dev/rsd1a
sd3
being
the USB drive.
# dd if=/dev/urandom of=/dev/rsd3c bs=1m # fdisk -iy sd3 # disklabel -E sd3 # make an "a" partition of type RAID # bioctl -c C -l sd3a softraid0 New passphrase: Re-type passphrase: softraid0: CRYPTO volume attached as sd4 # dd if=/dev/zero of=/dev/rsd4c bs=1m count=1 # fdisk -iy sd4 # disklabel -E sd4 # make an "i" partition # newfs sd4i # mkdir -p /mnt/secretstuff # mount /dev/sd4i /mnt/secretstuff # mv somefile /mnt/secretstuff/ # umount /mnt/secretstuff # bioctl -d sd4The same bioctl(8) command used to create the volume can be used to attach it later on.


{% extends "zero/base.html" %} {% block content %} This is a thing with id {{ id }} and name {{ name }}, created on {{ created }}. {% endblock content %}


Curse of Strahd
I, the Burgomeister of Barovia, send you honor - with despair. My adopted daughter, the fair Ireena Kolyana, has been these past nights bitten by a vampyr.  Now my dear Ireena languishes and dies from an unholy wound caused by this vile beast. He has become too powerful to conquer.  Let holy men call upon their power that the devil may be contained within the walls of weeping Barovia. Leave our sorrows to our graves, and save the world from this evil fate of ours. There is much wealth entrapped in this community. Return for your reward after we are all departed for a better life.
A Tale of Heroes
I, the Burgomeister of Barovia, send you honor - with despair. My adopted daughter, the fair Ireena Kolyana, has been these past nights bitten by a vampyr.  Now my dear Ireena languishes and dies from an unholy wound caused by this vile beast. He has become too powerful to conquer.  Let holy men call upon their power that the devil may be contained within the walls of weeping Barovia. Leave our sorrows to our graves, and save the world from this evil fate of ours. There is much wealth entrapped in this community. Return for your reward after we are all departed for a better life.
My adopted daughter, the fair Ireena Kolyana, has been these past nights bitten by a vampyr.  Now my dear Ireena languishes and dies from an unholy wound caused by this vile beast. He has become too powerful to conquer.  Let holy men call upon their power that the devil may be contained within the walls of weeping Barovia. Leave our sorrows to our graves, and save the world from this evil fate of ours. There is much wealth entrapped in this community.


This Man Says You Don't Need React, Use These 3000 Lines Instead
Of course this headline is a completely clickbait thing, but also a real tweet from a Twitter account parody, check out the tweet here.
This page doesn't talk about which framework you should use. It's here to show front end developers how to load web fonts without blocking content from their users, specially to those with a really bad Wi-Fi or mobile connection.
What you should do
- In your CSS, use a fallback font family by default and swap later to your web font.
- Use
fontfaceobserver
by Bram Stein to do the swap when the font is ready. - Host your own fonts and use
font-display
when supported. - Use
glyphhanger
by Filament Group to create subset font files containing only the unicode range you need for your site. - Use
preload
to minimize the FOUT. - Use
.woff2
format, it has better compression.
Recommended articles and resources
- All web fonts articles by Zach Leatherman.
- Web fonts, boy, I don't know by Monica Dinculescu.
- Controlling Font Performance with font-display by Rob Dodson.
- How we load web fonts progressively by Filament Group.
- In addition I wrote two articles, Font loading strategy for static generated sites and Font loading strategy for single page applications in my blog.
Credits
⚡ This page was created to show the effects of having (and not having) a font loading strategy on a lightning talk I gave in the 2018 edition of dotJS.


NOTE: Press CTRL(K + X) or go to Edit>Intellisense>Insert Snippet... menu option, to invoke snippets for HTML
| Shortcut | Description |
|---|---|
HTML |
|
| vcomp | Code snippet to scaffold a Single File Component (SFC) |
| vscr | Script tag for the Vue component |
| vstyle | Style tag with scope attribute for the Vue component |
| vtemp | Template tag with a div as root element for the Vue component |
| vslot | Slot tag with a name |
| vfor | v-for directive code |
| vrl | router-link element |
| vrv | router-view element |
JavaScript |
|
| vcomponent | Code snippet to scaffold component script |
| vmixin | Code template for a Vue.js mixin to be included in a component mixins property |
| vlch | Vue component life-cycle hooks |
| vindex | index.js rollup/barrel file template |
| vmodel | ES6 class template |
| vfilg | Global filter declaration |
| vfil | Inline filter property of a component |
| vdirg | Global directive definition |
| vdir | Inline directives property of a component |
| vdirgfn | Global directive definition in shorthand function form |
| vdata | Data method of a component |
JavaScript [Release 1.0.1] |
|
| vprops | Code snippet for props property |
| vprop | Code snippet for props property declaration |
| vpropfull | Code snippet for props property full declaration with validation |
| vc | Code snippet for computed property |
| vcfull | Code snippet for a computed property with getter and setter |
| vw | Code snippet for watch property |
| vwm | Code snippet for watch method |
| vrf | Render function for a functional component |
| vmain | Application initialization snippet - Vue CLI |
| veventbus | Code snippet for EventBus |
| vstore | Script implementing store pattern |
| vautoreg | Script for registering all components in /components/* globally with Vue. |
JavaScript [Release 1.0.2] |
|
| vr | component's render function |
| vcel | createElement definition - short form |
| vcelement | createElement definition - full form |
| vcelementdata | Full definition of the data object parameter of createElement(.,/data/,.) |
| vfcg | Code snippet to create a global functional component with render function |
| ve | this.$emit(.,.) |
| von | Event handler using this.$on(.,.) |
| vcmodel | Model property of a component to override the behavior of v-model |
| vclisteners | Computed listeners property to override listeners on a component |
JavaScript [Release 1.0.5] |
|
| vri | Adds import for router |
| vroutes | Define routes |
| vrouter | Define router |
| vru | Use router - app.Use(router) |
| vrng | Router navigation guard |
| vrngauth | Router navigation guard snippet verifying whether user is authenticated |
| vrngauthasync | Router navigation guard snippet verifying whether user is authenticated using aysnc |
| vra | Add a route to the routes symbol |
| vran | Add a named route to the routes symbol |
| vrac | Add a route to the routes symbol with nested children |
| vrp | Navigate to route programmatically |
| vrpo | Navigate to route programmatically using path |
| vrpp | Navigate to route programmatically using params |
| vrpq | Navigate to route programmatically using a query |
| vrph | Navigate to route programmatically using a hash |
| vrpget | Get route parameter inside a component |


I was more a typical high-achieving honors student in high school than 'party guy' but that all changed once I got to college. The summer prior to my first college semester, my best friend and I began smoking marijuana together obtained through his older brother. A few months later I first tried LSD in the freshman dorms on a rather random Friday night. Over the next four or five years I took hallucinogens of one form or another – whether LSD or mushrooms – on a number of occasions and sometimes for a string of a couple days. Oftentimes this was associated with attending Grateful Dead concerts or other concerts of similar jam bands.
I seemed to be fundamentally immune to what others would describe as “bad trips.” One friend even described me as the “Pied Piper” who guided many of our friends through their first adventure with hallucinogens – a badge I wore with a certain degree of pride for its place within our group. But one night – many years after my first foray into the world of LSD – I had “the” trip … the first real bad one and it was rather horrifying. There was a group of about eight of us who split a rather large amount of mushrooms and I recall very clearly being somewhat reluctant to “trip” that night. I had heard stories about being mentally prepared before dropping acid or eating mushrooms in order to have an enjoyable trip and wonder whether my reluctance to indulge that night might not have been an ignored “red flag” on my part.
I was certain that all seven of my (rather good) friends were conspiring against me during that trip. I could hear that they were speaking and saw their mouths move, but could not understand a word. It was as if each were speaking like the teacher from “Charlie Brown” and the harder I tried to understand what was being said, the more paranoid I became. At one point, I excused myself from the rooftop balcony and slipped out the backdoor. I walked around for what was probably a couple hours and wound-up at an ex-girlfriend’s house. Although we were no longer dating, we had remained friends and in the past had tripped together. She let me come in and comforted me as I lay curled up in the fetal position, describing my terrible night.
Recently I was diagnosed as “bipolar,” although as suffering from “bipolar 2” or hypomania. My mother and younger sister had both been clinically diagnosed over the past decade as having “depression” and through family stories, understand my maternal grandmother to have likely been depressed although she “self-medicated” herself by drinking a lot of alcohol and passed away when I was a kid.
The “bad trip” experience was eleven years prior to my diagnosis as bipolar, but those eleven years were fraught with – at times – rather severe episodes of depression, mania, sleeplessness, irritability, frustration and achievement. I have excelled professionally, obtained a masters degree, married a wonderful woman and have many friendships. After being diagnosed, I have done a fair amount of research and have learned that many “high achievers” throughout history were too bipolar.
But I wonder about that fateful night – the night I thought my good friends were out to get me and the years of somewhat mild dysfunction since. I never believed in “bad trips” and still maintain that strong-willed individuals are capable of “steering” their experiences on hallucinogens … to an extent. But knowing more fully about my genetic make-up and family history of “depression,” I regret my poor decisions as an experimenting concertgoer. And it isn’t just one experience or one “bad trip” that I regret – it was the recreational use of LSD and mushrooms over the course of about five years that I am concerned about.
Many years after the “bad trip” during my last summer in college, friends decided to throw a Halloween party and many at the party were eating mushrooms. I was reluctant to join them, fearing I would experience a reoccurrence of my prior experience, but succumbed to a bit of peer pressure and ate just a couple smaller caps and a few stems. That proved to be a huge mistake and again, believe my hesitation to take mushrooms should have been heeded.
I found myself leaving the party and experiencing rather intense paranoia – more intense than the previous episode by far. I began walking back to my friends’ place as I had recently moved about an hour or so away and was a good three or four miles from the house. Fearing that I would be “caught” by those I believed to be pursuing me, I began to weave back and forth up alternating side streets towards their house. I found myself in a large public garden and crouched down amidst the plants for a long time. I was fearful that I was being followed and experienced hallucinations of hearing voices. After some time, I emerged from the garden after becoming disoriented and lost in it and finally made my way to my friends’ place, the trip beginning to subside.
When I arrived back at the house, I was greeted by my friends – most of whom were smoking marijuana or cigarettes and winding down the night of partying. It was about three in the morning and I had been missing for the better part of four or five hours. Everyone I had thought was “out to get me” earlier at the party reprimanded me for not trusting in them when having a bad trip and convinced me I had put myself in much greater risk by leaving the party. They were right … and I had once again tapped into a part of my mind that was better left unexamined.
Being diagnosed as bipolar, I wonder about these incidences. My siblings and I experienced our fair share of “stressful events” as children including a couple divorces, the death of a step-parent and witness of physical abuse towards our mother. But I know others who’ve seen worse and don’t know that they’re bipolar. I feel my experimentation with hallucinogens accelerated what would have likely expressed itself eventually and believe my family history of “depression” is more correlated to my current and recent diagnosis than my drug use. But I can’t help but believe that LSD and mushrooms (and ecstasy) unlocked the eleven years of frustration, depression and my predisposition towards hypomania.
Would I be diagnosed as bipolar without having ever experimented with LSD? Probably. Would I have had to endure the angst and exhausting bouts of depression and mania for so many years and the turbulent professional career as a “job-hopping” financial professional? Not in my opinion.
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.


Predict Resale Value
Brand
Maruti
Hyundai
Honda
Audi
Nissan
Toyota
Volkswagen
Tata
Land
Mitsubishi
Renault
Mercedes-Benz
BMW
Mahindra
Ford
Porsche
Datsun
Jaguar
Volvo
Chevrolet
Skoda
Mini
Fiat
Jeep
Smart
Ambassador
Isuzu
ISUZU
Force
Bentley
Lamborghini
Hindustan
OpelCorsa
Location
Mumbai
Pune
Chennai
Coimbatore
Hyderabad
Jaipur
Kochi
Kolkata
Delhi
Bangalore
Ahmedabad
Manufactured Year
Kilometers Driven
Fuel Type
CNG
Diesel
Petrol
LPG
Electric
Transmission
Manual
Automatic
Current Owner
First
Second
Fourth & Above
Third
Mileage
Predict The Price
{{ prediction_text }}


Cookbook¶
Reading in data¶
The main functionality of platelib
is the read_plate
function
that allows for reading in platereader data from kinetic experiments
into a common framework namely into the Plate_data
class. The
following examples assumes for simplicity that platelib
has been
imported using:
from platelib import *
If an equal number of replicates per sample were prepared
this can be specified (default is 3
):
p = read_plate('path/to/file', replicates=5)
It can be specified which direction the replicates were loaded
onto the plate where 'hori'
(horizontal) means towards
increasing numbers and 'vert'
is towards increasing letters
(default is 'hori'
):
p = read_plate('path/to/file', rep_direction='vert')
NOTE that the replicates have to be next to each other!
Alternatively it can be specified which wells contains replicates:
p = read_plate('path/to/file', named_samples=[['B03', 'D07'], ['B02', 'E06', 'G12']]
Data from Tecan platereaders can be read in as (default is 'bmg'
):
p = read_plate('path/to/file', platereader='tecan')
NOTE that this functionality has not been fully tested yet!
As well as from BMG platereaders either where the data has prior
been transposed True
such that well data are in column format
or in row format False
(default is True
):
p = read_plate('path/to/file', transposed=False)
Note that it’s automatically detected if several measurements (e.g.) were made per time-point (see Accessing data)
The time unit can also be specified which as either 'seconds'
,
'minutes'
, 'hours'
, or 'days'
will carry along into indexes
if exported and to unit of x-axis if plotted (default is 'hours'
):
p = read_plate('path/to/file',time_unit='days')
Accessing data¶
The Plate_data
class allows for different ways of accessing the data
Through index:
p[1]
Through index slice:
p[::3]
Through well name:
p['B02']
Through list of well names:
p[['B02','C03','D04']]
Retrieved as a pandas.DataFrame with wellnames as column names and time points as index:
df = Plate_data.to_a_dataframe()
Or as a (C)omma (S)eperated (V)aribles file with the first line being (time unit + ) well names and the first column are the time points:
Plate_data.to_a_csv('path/to/file.csv')
Plotting data¶
The data is plotted according to replicates, and subtitles can be added (default is None):
p.plot(titles=['condition 1', 'conditions 2'])
It can be specified whether all plots should have its own y-axis, whether all plots should have the same (default is True):
p.plot(sharey='False')
If several measurements were made per time-point it can be specified whether all measurements should be plotted or not (default is True):
p.plot(plot_multi='False')


A moduleIdReference is a string value that is used to
look up a moduleId and its associated module value. For exaxmple:
steal("jquery","./foo","./bar.js","app")
Typically, a moduleIdReference closely reflects
a path to a module. For example: steal("myapp/component.js") will likely
reference the myapp/component.jsmoduleId which will represent
the code at the file or url STEALROOT/myapp/component.js.
But, the moduleId referenced by a moduleIdReference depends on several
factors.
The syntax (steal, AMD, etc) being used
The moduleId of the module depending on the moduleIdReference
This provides a lot of flexibility for things like:
Using two different versions of a library (ex: jquery) in one application.
Steal: reference -> id
Steal performs the following steps to convert a moduleIdReference to a
moduleId.
If the moduleIdReference starts with "./"
join it to the current moduleId.
moduleIdReference "./food.js"
current moduleId "app/component.js"
new moduleIdReference "app/food.js"
If the moduleIdReference ends with a "/" or without a file extension, take the
everything after the last "/", add it to the end of the moduleIdReference and
add ".js".
moduleIdReference "can/control"
new moduleIdReference "can/control/control.js"
If the current moduleId matches a property in steal.config's map
option, use the rule to convert the moduleIdReference.
moduleIdReference "jquery/jquery.js"
current moduleId "app/component.js"
steal.config("map",{
"app/" : {
"jquery/jquery.js" : "jquery-1.5.js"
}
})
new moduleIdReference "jquery-1.5.js"
A moduleIdReference is a string value that is used to look up a moduleId and its associated module value. For exaxmple:
Typically, a moduleIdReference closely reflects a path to a module. For example:
steal("myapp/component.js")
will likely reference themyapp/component.js
moduleId which will represent the code at the file or urlSTEALROOT/myapp/component.js
.But, the moduleId referenced by a moduleIdReference depends on several factors.
This provides a lot of flexibility for things like:
Steal: reference -> id
Steal performs the following steps to convert a moduleIdReference to a moduleId.
If the moduleIdReference starts with
"./"
join it to the current moduleId.If the moduleIdReference ends with a "/" or without a file extension, take the everything after the last "/", add it to the end of the moduleIdReference and add ".js".
If the current moduleId matches a property in steal.config's map option, use the rule to convert the moduleIdReference.