public class IndicesService extends AbstractLifecycleComponent<IndicesService> implements java.lang.Iterable<IndexService>, IndexService.ShardStoreDeleter
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
INDICES_SHARDS_CLOSED_TIMEOUT |
lifecycle
deprecationLogger, logger, settings
| Constructor and Description |
|---|
IndicesService(Settings settings,
PluginsService pluginsService,
NodeEnvironment nodeEnv,
NodeSettingsService nodeSettingsService,
AnalysisRegistry analysisRegistry,
IndicesQueriesRegistry indicesQueriesRegistry,
IndexNameExpressionResolver indexNameExpressionResolver,
ClusterService clusterService,
MapperRegistry mapperRegistry) |
| Modifier and Type | Method and Description |
|---|---|
void |
addPendingDelete(Index index,
IndexSettings settings)
Adds a pending delete for the given index.
|
void |
addPendingDelete(ShardId shardId,
IndexSettings settings)
Adds a pending delete for the given index shard.
|
boolean |
canDeleteIndexContents(Index index,
IndexSettings indexSettings,
boolean closed)
This method returns true if the current node is allowed to delete the
given index.
|
boolean |
canDeleteShardContent(ShardId shardId,
IndexSettings indexSettings)
Returns
true iff the shards content for the given shard can be deleted. |
boolean |
changesAllowed()
Returns true if changes (adding / removing) indices, shards and so on are allowed.
|
IndexService |
createIndex(NodeServicesProvider nodeServicesProvider,
IndexMetaData indexMetaData,
java.util.List<IndexEventListener> builtInListeners)
Creates a new
IndexService for the given metadata. |
void |
deleteClosedIndex(java.lang.String reason,
IndexMetaData metaData,
ClusterState clusterState) |
void |
deleteIndex(java.lang.String index,
java.lang.String reason)
Deletes the given index.
|
void |
deleteIndexStore(java.lang.String reason,
IndexMetaData metaData,
ClusterState clusterState,
boolean closed)
Deletes the index store trying to acquire all shards locks for this index.
|
void |
deleteShardStore(java.lang.String reason,
ShardId shardId,
ClusterState clusterState)
This method deletes the shard contents on disk for the given shard ID.
|
void |
deleteShardStore(java.lang.String reason,
ShardLock lock,
IndexSettings indexSettings)
Deletes the shard with an already acquired shard lock.
|
protected void |
doClose() |
protected void |
doStart() |
protected void |
doStop() |
AnalysisRegistry |
getAnalysis() |
IndicesQueriesRegistry |
getIndicesQueryRegistry()
Returns this nodes
IndicesQueriesRegistry |
boolean |
hasIndex(java.lang.String index) |
IndexService |
indexService(java.lang.String index)
Returns an IndexService for the specified index if exists otherwise returns
null . |
IndexService |
indexServiceSafe(java.lang.String index)
Returns an IndexService for the specified index if exists otherwise a
IndexNotFoundException is thrown. |
java.util.Iterator<IndexService> |
iterator() |
void |
processPendingDeletes(Index index,
IndexSettings indexSettings,
TimeValue timeout)
Processes all pending deletes for the given index.
|
void |
removeIndex(java.lang.String index,
java.lang.String reason)
Removes the given index from this service and releases all associated resources.
|
NodeIndicesStats |
stats(boolean includePrevious)
Returns the node stats indices stats.
|
NodeIndicesStats |
stats(boolean includePrevious,
CommonStatsFlags flags) |
addLifecycleListener, close, lifecycleState, removeLifecycleListener, start, stop
logDeprecatedSetting, logRemovedSetting, nodeName
public static final java.lang.String INDICES_SHARDS_CLOSED_TIMEOUT
@Inject public IndicesService(Settings settings, PluginsService pluginsService, NodeEnvironment nodeEnv, NodeSettingsService nodeSettingsService, AnalysisRegistry analysisRegistry, IndicesQueriesRegistry indicesQueriesRegistry, IndexNameExpressionResolver indexNameExpressionResolver, ClusterService clusterService, MapperRegistry mapperRegistry)
protected void doStart()
doStart
in class AbstractLifecycleComponent<IndicesService>
protected void doStop()
doStop
in class AbstractLifecycleComponent<IndicesService>
protected void doClose()
doClose
in class AbstractLifecycleComponent<IndicesService>
public NodeIndicesStats stats(boolean includePrevious)
public NodeIndicesStats stats(boolean includePrevious, CommonStatsFlags flags)
public boolean changesAllowed()
public java.util.Iterator<IndexService> iterator()
iterator
in interface java.lang.Iterable<IndexService>
public boolean hasIndex(java.lang.String index)
@Nullable public IndexService indexService(java.lang.String index)
null
.public IndexService indexServiceSafe(java.lang.String index)
IndexNotFoundException
is thrown.public IndexService createIndex(NodeServicesProvider nodeServicesProvider, IndexMetaData indexMetaData, java.util.List<IndexEventListener> builtInListeners) throws java.io.IOException
IndexService
for the given metadata.indexMetaData
- the index metadata to create the index forbuiltInListeners
- a list of built-in lifecycle IndexEventListener
that should should be used along side with the per-index listenersIndexAlreadyExistsException
- if the index already exists.java.io.IOException
public void removeIndex(java.lang.String index, java.lang.String reason)
index
- the index to removereason
- the high level reason causing this removalpublic void deleteIndex(java.lang.String index, java.lang.String reason) throws java.io.IOException
removeIndex(String, String)
but fires
different lifecycle events to ensure pending resources of this index are immediately removed.index
- the index to deletereason
- the high level reason causing this deletejava.io.IOException
public void deleteClosedIndex(java.lang.String reason, IndexMetaData metaData, ClusterState clusterState)
public void deleteIndexStore(java.lang.String reason, IndexMetaData metaData, ClusterState clusterState, boolean closed) throws java.io.IOException
java.io.IOException
public void deleteShardStore(java.lang.String reason, ShardLock lock, IndexSettings indexSettings) throws java.io.IOException
deleteShardStore
in interface IndexService.ShardStoreDeleter
reason
- the reason for the shard deletionlock
- the lock of the shard to deleteindexSettings
- the shards index settings.java.io.IOException
- if an IOException occurspublic void deleteShardStore(java.lang.String reason, ShardId shardId, ClusterState clusterState) throws java.io.IOException
canDeleteShardContent(ShardId, IndexSettings)
of if the shards lock can not be acquired.
On data nodes, if the deleted shard is the last shard folder in its index, the method will attempt to remove the index folder as well.reason
- the reason for the shard deletionshardId
- the shards ID to deleteclusterState
- . This is required to access the indexes settings etc.java.io.IOException
- if an IOException occurspublic boolean canDeleteIndexContents(Index index, IndexSettings indexSettings, boolean closed)
index
- Index
to check whether deletion is allowedindexSettings
- IndexSettings
for the given indexpublic boolean canDeleteShardContent(ShardId shardId, IndexSettings indexSettings)
true
iff the shards content for the given shard can be deleted.
This method will return false
if:
shardId
- the shard to delete.indexSettings
- the shards's relevant IndexSettings
. This is required to access the indexes settings etc.public void addPendingDelete(ShardId shardId, IndexSettings settings)
addPendingDelete
in interface IndexService.ShardStoreDeleter
public void addPendingDelete(Index index, IndexSettings settings)
public void processPendingDeletes(Index index, IndexSettings indexSettings, TimeValue timeout) throws java.io.IOException, java.lang.InterruptedException
index
- the index to process the pending deletes fortimeout
- the timeout used for processing pending deletesjava.io.IOException
java.lang.InterruptedException
public IndicesQueriesRegistry getIndicesQueryRegistry()
IndicesQueriesRegistry
public AnalysisRegistry getAnalysis()


Water level (-1.0 to 1.0)
Color map Oceans and snow Snowcaps 1 Lakes and Snow Grayscale
Hillshading Mult
Size px square
Starting grid size
Iterations (auto-clamping at max effectiveness)
Starting gain
Gain per iteration


Product Details
You do not have permission to view product details
ID
Name
Category
Price
{{product.ID}}
{{product.Name}}
{{product.Category}}
{{product.Price}}


The first Hooting Yard Symposium will take place in September, bringing together academics and specialists in a radical look at the urban duckpond. Tord Grip (no relation to Sven-Goran Eriksson's assistant) will present his ground-breaking paper “Robespierre, Danton, Marat : Nomenclature Of The 21st Century Urban Duck”, and Maisie Poopdeck will facilitate a seminar on “Hermeneutic Strategies Towards A Marcusian Approach To The Fundamentalist Brûle Of Bufflehead Courtship Rituals In The Post 9/11 Ethos With Tea and Cake In The Sir Vidia Naipaul Lounge Afterwards”, among many other excitements. Tickets are available, but God knows where. A charabanc will pick up delegates from the station at eleven o clock sharp. Bring your own towel, soap, tea bags and duck (optional).


Never leave... the beach!
home
|
accommodations
|
activities
|
contact information
|
pictures
|
travel arrangements
Ready to get pumped for your Journey?
Check out these images to help inspire what will be your
Final Destination!


I am an enthusiast Full stack Developer, Budding Data Scientist and I am passionate about my career in Computer Science. I believe in continuous learning , adapting to situations and growing in life. Currently, I am a Graduate Student at University of Texas at Dallas, pursuing my Masters in Computer Science. My Specialization Track is Data Science. I like to meet new people and would like to travel "The World".
Improved the efficiency of Express, Ground, and Office employees in relation to the handling of HAL packages.
Reduced the manual work by automating the scans on packages by developing analytical engine on data received by Bluetooth devices such as beacon.
Worked on IOT device to track the location of HAL shipment.
Developed a web application in Angular 5 and created various micro services for communicating with existing services of FedEx using Spring Boot.
Participated in Team Based competition and won Quality Driven Management and Customer Focus award.
Involved in development of Car Rental, Hybrid Mobile Application used by 10000+ customers.
Involved mainly in developing hybrid, web responsive applications in Angular JS, using MVC design pattern, performing unit testing and debugging.
Analysing the requirement document and designing the application to fulfill the client’s requirements.
Active participation in daily project status meetings, client calls
Identifying and sugessting ways to address improvement opportunities when possible and escalating issues or risks as appropriate.
Active contribution towards systematic development of project though use of version control systems – Git.
Computer Science - Specialization: Data Science
GPA: 3.72/4.0
Computer Science
GPA: 8.6/10.0
Technologies Used: PhP, Query, MySQL, HTML, Bootstrap,AJAX
Technologies Used: SQL, PL/SQL


---
title: Weekly Meetings
---
Weekly Meetings -- Mondays at 6PM in ACM Lounge
These are the weekly meeting topics for Fall 2022:
- Sept 12th- Intro to Languages: Python
- Sept 19th- Programming Basics: Git Introduction
- Sept 26th- Programming Basics: Git Best Practices
- Oct 3rd- Programming Basics: IDEs
- Oct 10th- Intro to Languages: Javascript
- Oct 17th- Programming Basics: systemd
- Oct 24th- Intro to Languages: SQL
- Oct 31st- NO MEETING: HALLOWEEN
- Nov 7th- Intro to Languages: ColdFusion
- Nov 14th- What is Machine Learning?
- Nov 21st- What is Machine Learning?: Activity
- Nov 28th- Intro to Languages: C#


About Cronus
Cronus, an open source PaaS framework that enable frictionless application deployment in the cloud.
Community & Contributors
- Bin Yu
- Looking for contributors to build features and create more cronus enabled stacks.
Credits & Technologies
- Inspired by RestCommander
- Agent by eBay software foundation
- This website is inspired by Kylin OLAP
- Pylon on Paster
- Play
- Akka
- Spring
- Elastic Search
- Facetview


6 overrides of SetCommandBreakpoint
System.Management.Automation (6)
engine\debugger\debugger.cs (2)
2731
public override CommandBreakpoint
SetCommandBreakpoint
(string command, ScriptBlock action, string path, int? runspaceId)
4295
public override CommandBreakpoint
SetCommandBreakpoint
(string command, ScriptBlock action, string path, int? runspaceId) =>
engine\hostifaces\PSTask.cs (1)
1281
public override CommandBreakpoint
SetCommandBreakpoint
(string command, ScriptBlock action, string path, int? runspaceId) =>
engine\remoting\client\Job.cs (1)
3949
public override CommandBreakpoint
SetCommandBreakpoint
(string command, ScriptBlock action, string path, int? runspaceId) =>
engine\remoting\client\remoterunspace.cs (1)
2092
public override CommandBreakpoint
SetCommandBreakpoint
(string command, ScriptBlock action, string path, int? runspaceId)
engine\remoting\server\ServerRunspacePoolDriver.cs (1)
1910
public override CommandBreakpoint
SetCommandBreakpoint
(string command, ScriptBlock action, string path, int? runspaceId) =>
5 references to SetCommandBreakpoint
System.Management.Automation (5)
engine\debugger\debugger.cs (2)
652
SetCommandBreakpoint
(command, action, path, runspaceId: null);
4296
_wrappedDebugger.
SetCommandBreakpoint
(command, action, path, runspaceId);
engine\hostifaces\PSTask.cs (1)
1282
_wrappedDebugger.
SetCommandBreakpoint
(command, action, path, runspaceId);
engine\remoting\client\Job.cs (1)
3950
_wrappedDebugger.
SetCommandBreakpoint
(command, action, path, runspaceId);
engine\remoting\server\ServerRunspacePoolDriver.cs (1)
1911
_wrappedDebugger.Value.
SetCommandBreakpoint
(command, action, path, runspaceId);


{% extends "templates/base.html" %} {% block "title" %}Timelapse Beehive{% endblock %} {% block "heading" %}Open Source{% endblock %} {% block "main" %}
The sound recordings and spectrograms are CC-BY SA 4.0 licensed
Timelapse Beehive by Joe Wass is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
The source code for this service and the source code for the Android application that collects sound recordings are Open Source, MIT licensed.


mood by
Learn more about Textbox
Add a term and hit enter.
0
Tweets
-
Sentiment
Keywords
Sentiment
Entities


Before Change
target_bed,
tuple(sorted(target_chroms.keys())[:3])))
// But filter out untargeted alternative contigs and mitochondria
untgt_chroms = set(access_chroms) - set(target_chroms)
// Autosomes typically have numeric names, allosomes are X and Y
is_canonical = re.compile(r"(chr)?(\d+|[XYxy])$")
if any(is_canonical.match(c) for c in target_chroms):
chroms_to_skip = [c for c in untgt_chroms
After Change
max_tgt_chr_name_len = max(map(len, target_chroms))
chroms_to_skip = [c for c in untgt_chroms
if len(c) > max_tgt_chr_name_len]
if chroms_to_skip:
logging.info("Skipping untargeted chromosomes %s",
" ".join(sorted(chroms_to_skip)))
skip_idx = accessible.chromosome.isin(chroms_to_skip)
accessible = accessible[~skip_idx]
else:
// Chromosome accessible sequence regions not known -- use heuristics
// (chromosome length is endpoint of last probe; skip initial
// <magic number> of bases that are probably telomeric)


‘Stand Down Nigel,’ Daily Mail says as other UK papers send mixed election messages
The Daily Mail has previously used its platform to be a campaigning newspaper and is now championing a new battle – to get the Brexit Party to stand down and not run in the General Election.
Its front page splash on Saturday gets straight to the point, saying Stand down Nigel in huge block capitals. It’s not subtle, but it gets the point across.
The theme is continued across several more pages, culminating in a letter from its readers to Brexit Party candidates, saying “I am urging you today NOT to stand in the election”.
In the Daily Mirror, though, under a headline saying “Class warfare” it questions the Conservatives’ education proposals and claims that “Tory schools cuts are worst in Labour areas”.
The Daily Telegraph’s front page lead quotes former Labour MP Lord Blunkett as saying the party is “plagued by intolerance and division”, making the chances of a majority at the polls “extraordinarily slim”.
Lord Blunkett suggests the best Labour can hope for is another hung Parliament, and urges moderates within the party to “stay and fight” to make sure “the voice of reason” prevails.
The Daily Express features a front page story saying that under Jeremy Corbyn’s leadership, support for Labour is “imploding across the country”.
Inside, the paper has a list of what it calls the “dirty dozen” Labour candidates it says are facing “calls to quit”.
The Guardian claims that the British Prime Minister misled the public about Brexit.
“Boris Johnson was accused last night of misleading the public about his own Brexit deal, after footage emerged of him telling exporters in Northern Ireland that they wouldn’t need to fill in extra paperwork,” the paper reports.
Inside, the paper features a headline saying the “Tories have ‘ongoing relationship’ with money from Russia.”
The Sun features a criticism of the Conservatives, with a story saying Mr Johnson “is facing questions about his immigration policy after one of his ministers could not say if the Tories wanted to cut numbers”.
The paper says Home Office minister Victoria Atkins was repeatedly pressed on whether the Tories want immigration to be higher or lower after Brexit in a BBC interview, and replied: “We want to have immigration that suits the needs of the country.”
But further inside, it almost echoes the Express, but instead of a “dirty dozen” of Labour candidates, it has a “dodgy dozen”.
READ MORE
Fresh blow to Labour’s campaign as Blunkett says he despairs at hard-left party


Start prototyping for free
By creating an account, you agree to our
Terms of use
Create Account
Already have an account ?
Signin


Projects
description Responsive website, built using Adobe Dreamweaver from Adobe Photoshop mobile, tablet, and desktop design comps.
method HTML5, CSS3, Flexbox
view deployment on github: aefitzgerald.github.io/retreat-flexbox
description Responsive website built using Adobe Dreamweaver from Adobe Photoshop design comp.
method HTML5, CSS3
view deployment on github: aefitzgerald.github.io/flexbox-jubilee-austen


--- layout: default ---
Easily export fantasy league data into a spreadsheet.
End frustrating copy/paste issues, and get data automatically updated each day.
Easily update and analyze your fantasy league in a spreadsheet. Sort, filter, aggregate data, just like you do in your day job. Automatically export it to a spreadsheet then show off your Excel skills.
Export league settings, rosters, and waiver wires to:
- Sort and filter players, comparing to available players
- Build auction value or SGP values, customized to your league settings and scores
- Calculate z-scores, keep them up-to-date automatically
- Run your team strategy with any analysis you can think of
Easier access to data means advanced fantasy players can analyze their teams and create their own edge. Most of us are already doing a lot of data manipulation in Excel, but getting the data, formatted correctly and updated automatically, is a hassle.
We are trying to make league data easy to access. Long term, we will add projections, daily lineups, and other data that will be easy to include in your analysis.
If that sounds interesting, we would love to hear your ideas and feedback. Please click the survey link below to help us out!
Our army of data bots will automatically acquire and process data, letting you focus on the baseball analysis. Connect your Yahoo account, and we'll pull in your league data. We'll do the boring work so you can analyze your fantasy league for fun and profit.
We've set up the servers and grabbed the data. The boring, complex work of ETL, data modeling, and infrastructure is all taken care of. You'll be running your first baseball analysis in 10 minutes.


Sed ut perspiciatis unde omnis iste natus error sit
2014/10/11
1st day This is 1st day title
spot name spot name spot name spot name
Address : Sed ut perspiciatis unde omnis istte natus error sit volutptatem
TEL : 03-1234-5678
URL : http://playsense.me
But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth, the master-builder of human happiness. No one rejects, dislikes, or avoids pleasure itself
Distance from start spot : 10km
spot name spot name spot name spot name
Address : Sed ut perspiciatis unde omnis istte natus error sit volutptatem
TEL : 03-1234-5678
URL : http://playsense.me
But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth, the master-builder of human happiness. No one rejects, dislikes, or avoids pleasure itself
Distance from A : 10km
spot name spot name spot name spot name
Address : Sed ut perspiciatis unde omnis istte natus error sit volutptatem
TEL : 03-1234-5678
URL : http://playsense.me
But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth, the master-builder of human happiness. No one rejects, dislikes, or avoids pleasure itself
Distance from A : 10km
But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth, the master-builder of human happiness. No one rejects, dislikes, or avoids pleasure itself


"You are improving. Intellectually there is very little wrong with you. It is only emotionally that you have failed to make progress. Tell me, Winston—and remember, no lies; you know that I am always able to detect a lie—tell me, what are your true feelings toward Big Brother?"
"I hate him."
"You hate him. Good. Then the time has come for you to take the last step. You must love Big Brother. It is not enough to obey him; you must love him."
He released Winston with a little push toward the guards.
"Room 101," he said.
At each stage of his imprisonment he had known, or seemed to know, whereabouts he was in the windowless building. Possibly there were slight differences in the air pressure. The cells where the guards had beaten him were below ground level. The room where he had been interrogated by O'Brien was high up near the roof. This place was many meters underground, as deep down as it was possible to go.
It was bigger than most of the cells he had been in. But he hardly noticed his surroundings. All he noticed was that there were two small tables straight in front of him, each covered with green baize. One was only a meter or two from him; the other was further away, near the door. He was strapped upright in a chair, so tightly that he could move nothing, not even his head.
For a moment he was alone, then the door opened and O'Brien came in.
"You asked me once," said O'Brien, "what was in Room 101. I told you that you knew the answer already. Everyone knows it. The thing that is in Room 101 is the worst thing in the world."
The door opened again. A guard came in, carrying something made of wire, a box or basket of some kind. He set it down on the further table. Because of the position in which O'Brien was standing, Winston could not see what the thing was.
"The worst thing in the world," said O'Brien, "varies from individual to individual. It may be burial alive, or death by fire, or by drowning, or by impalement, or fifty other deaths. There are cases where it is some quite trivial thing, not even fatal."
He had moved a little to one side, so that Winston had a better view of the thing on the table. It was an oblong wire cage with a handle on top for carrying it by. Fixed to the front of it was something that looked like a fencing mask, with the concave side outwards. Although it was three or four meters away from him, he could see that the cage was divided lengthways into two compartments, and that there was some kind of creature in each. They were rats.
"In your case," said O'Brien, "the worst thing in the world happens to be rats."
A sort of premonitory tremor, a fear of he was not certain what, had passed through Winston as soon as he caught his first glimpse of the cage. But at this moment the meaning of the masklike attachment in front of it suddenly sank into him. His bowels seemed to turn to water.
"You can't do that!" he cried out in a high cracked voice. "You couldn't, you couldn't! It's impossible."
"Do you remember," said O'Brien, "the moment of panic that used to occur in your dreams?  There was something terrible on the other side of the wall. You knew that you knew what it was, but you dared not drag it into the open. It was the rats that were on the other side of the wall."
"O'Brien!" said Winston, making an effort to control his voice. "You know this is not necessary. What is it that you want me to do?"
O'Brien made no direct answer. When he spoke it was in the schoolmasterish manner that he sometimes affected. He looked thoughtfully into the distance, as though he were addressing an audience somewhere behind Winston's back.
"By itself," he said, "pain is not always enough. There are occasions when a human being will stand out against pain, even to the point of death. But for everyone there is something unendurable—something that cannot be contemplated. Courage and cowardice are not involved. If you are falling from a height it is not cowardly to clutch at a rope. If you have come up from deep water it is not cowardly to fill your lungs with air. It is merely an instinct which cannot be disobeyed. It is the same with the rats. For you, they are unendurable. They are a form of pressure that you cannot withstand, even if you wished to. You will do what is required of you."
"But what is it, what is it? How can I do it if I don't know what it is?"
O'Brien picked up the cage and brought it across to the nearer table. He set it down carefully on the baize cloth. Winston could hear the blood singing in his ears. He had the feeling of sitting in utter loneliness. He was in the middle of a great empty plain, a flat desert drenched with sunlight, across which all sounds came to him out of immense distances. Yet the cage with the rats was not two meters away from him. They were enormous rats. They were at the age when a rat's muzzle grows blunt and fierce and his fur brown instead of gray.
"The rat," said O'Brien, still addressing his invisible audience, "although a rodent, is carnivorous. You are aware of that. You will have heard of the things that happen in the poor quarters of this town. In some streets a woman dare not leave her baby alone in the house, even for five minutes. The rats are certain to attack it.   They show astonishing intelligence in knowing when a human being is helpless."
There was an outburst of squeals from the cage. It seemed to reach Winston from far away. The rats were fighting; they were trying to get at each other through the partition. He heard also a deep groan of despair. That, too, seemed to come from outside himself.
O'Brien picked up the cage, and, as he did so, pressed something in it. There was a sharp click. Winston made a frantic effort to tear himself loose from the chair. It was hopeless: every part of him, even his head, was held immovably. O'Brien moved the cage nearer. It was less than a meter from Winston's face.
"I have pressed the first lever," said O'Brien. "You understand the construction of this cage. The mask will fit over your head, leaving no exit. When I press this other lever, the door of the cage will slide up. These starving brutes will shoot out of it like bullets. Have you ever seen a rat leap through the air? They will leap onto your face and bore straight into it. Sometimes they attack the eyes first. Sometimes they burrow through the cheeks and devour the tongue."
The cage was nearer; it was closing in. Winston heard a succession of shrill cries which appeared to be occurring in the air above his head. But he fought furiously against his panic. To think, to think, even with a split second left—to think was the only hope. Suddenly the foul musty odor of the brutes struck his nostrils. There was a violent convulsion of nausea inside him, and he almost lost consciousness.  For an instant he was insane, a screaming animal. Yet he came out of the blackness clutching an idea. There was one and only one way to save himself. He must interpose another human being, the body of another human being, between himself and the rats.
 The wire door was a couple of hand-spans from his face. The rats knew what was coming now. One of them was leaping up and down; the other, an old scaly grandfather of the sewers, stood up, with his pink hands against the bars, and fiercely snuffed the air. Winston could see the whiskers and the yellow teeth. Again the black panic took hold of him. He was blind, helpless, mindless.
"It was a common punishment in Imperial China," said O'Brien as didactically as ever.
The mask was closing on his face. The wire brushed his cheek. And then—no, it was not relief, only hope, a tiny fragment of hope. Too late, perhaps too late. But he had suddenly understood that in the whole world there was just one person to whom he could transfer his punishment—one body that he could thrust between himself and the rats. And he was shouting frantically, over and over:
"Do it to Julia! Do it to Julia! Not me! Julia! I don't care what you do to her.  Not me! Julia! Not me!"
He was falling backwards, into enormous depths, away from the rats. He was still strapped in the chair, but he had fallen through the floor, through the walls of the building, through the earth, through the oceans, through the atmosphere, into outer space, into the gulfs between the stars—always away, away, away from the rats. He was light-years distant, but O'Brien was still standing at his side. There was still the cold touch of a wire against his cheek. But through the darkness that enveloped him he heard another metallic click, and knew that the cage door had clicked shut and not open.
The Chestnut Tree was almost empty. A ray of sunlight slanting through a window fell yellow on dusty tabletops. It was the lonely hour of fifteen. A tinny music trickled from the telescreens.
Winston sat in his usual corner, gazing into an empty glass. Now and again he glanced up at a vast face which eyed him from the opposite wall. Big Brother Is Watching You, the caption said. Unbidden, a waiter came and filled his glass up with Victory Gin, shaking into it a few drops from another bottle with a quill through the cork. It was saccharine flavored with cloves, the speciality of the café.
Winston was listening to the telescreen. At present only music was coming out of it, but there was a possibility that at any moment there might be a special bulletin from the Ministry of Peace. The news from the African front was disquieting in the extreme.  A Eurasian army (Oceania was at war with Eurasia; Oceania had always been at war with Eurasia) was moving southward at terrifying speed. The mid-day bulletin had not mentioned any definite area, but it was probable that already the mouth of the Congo was a battlefield. Brazzaville and Leopoldville were in danger. One did not have to look at the map to see what it meant. It was not merely a question of losing Central Africa; for the first time in the whole war, the territory of Oceania itself was menaced.
A violent emotion, not fear exactly but a sort of undifferentiated excitement, flared up in him, then faded again. He stopped thinking about the war. In these days he could never fix his mind on any one subject for more than a few moments at a time. He picked up his glass and drained it at a gulp. As always, it made him shudder and even retch slightly. The stuff was horrible. The cloves and saccharine, themselves disgusting enough in their sickly way, could not disguise the flat oily smell; and what was worst of all was that the smell of gin, which dwelt with him night and day, was inextricably mixed up in his mind with the smell of those—
He never named them, even in his thoughts, and so far as it was possible he never visualized them. They were something that he was half aware of, hovering close to his face, a smell that clung to his nostrils. As the gin rose in him he belched through purple lips. He had grown fatter since they released him, and had regained his old color—indeed, more than regained it. His features had thickened, the skin on nose and cheekbones was coarsely red, even the bald scalp was too deep a pink. A waiter, again unbidden, brought the chessboard and the current issue of the Times, with the page turned down at the chess problem. Then, seeing that Winston's glass was empty, he brought the gin bottle and filled it. There was no need to give orders. They knew his habits. The chessboard was always waiting for him, his corner table was always reserved; even when the place was full he had it to himself, since nobody cared to be seen sitting too close to him. He never even bothered to count his drinks. At irregular intervals they presented him with a dirty slip of paper which they said was the bill, but he had the impression that they always undercharged him. It would have made no difference if it had been the other way about. He had always plenty of money nowadays. He even had a job, a sinecure, more highly paid than his old job had been.
The music from the telescreen stopped and a voice took over. Winston raised his head to listen. No bulletin from the front, however. It was merely a brief announcement from the Ministry of Plenty. In the preceding quarter, it appeared, the Tenth Three-Year Plan's quota for bootlaces had been overfulfilled by ninety-eight per cent.
He examined the chess problem and set out the pieces. It was a tricky ending, involving a couple of knights. "White to play and mate in two moves." Winston looked up at the portrait of Big Brother. White always mates, he thought with a sort of cloudy mysticism. Always, without exception, it is so arranged. In no chess problem since the beginning of the world has black ever won. Did it not symbolize the eternal, unvarying triumph of Good over Evil?  White always mates.
The voice from the telescreen paused and added in a different and much graver tone: "You are warned to stand by for an important announcement at fifteen-thirty. Fifteen-thirty! This is news of the highest importance. Take care not to miss it. Fifteen-thirty!" The tinkling music struck up again.
Winston's heart stirred. That was the bulletin from the front; instinct told him that it was bad news that was coming.  He seemed actually to see the Eurasian army swarming across the never-broken frontier and pouring down into the tip of Africa like a column of ants. Why had it not been possible to outflank them in some way? The outline of the West African coast stood out vividly in his mind. He picked up the white knight and moved it across the board. There was the proper spot. Even while he saw the black horde racing southward he saw another force, mysteriously assembled, suddenly planted in their rear, cutting their communications by land and sea. He felt that by willing it he was bringing that other force into existence. But it was necessary to act quickly. If they could get control of the whole of Africa, if they had airfields and submarine bases at the Cape, it would cut Oceania in two. It might mean anything: defeat, breakdown, the redivision of the world, the destruction of the Party! He drew a deep breath. An extraordinary medley of feelings—but it was not a medley, exactly; rather it was successive layers of feeling, in which one could not say which layer was undermost—struggled inside him.
The spasm passed. He put the white knight back in its place, but for the moment he could not settle down to serious study of the chess problem. His thoughts wandered again.  But they could get inside you. "What happens to you here is forever," O'Brien had said. That was a true word. There were things, your own acts, from which you could not recover. Something was killed in your breast; burnt out, cauterized out.
He had seen her; he had even spoken to her. There was no danger in it. He knew as though instinctively that they now took almost no interest in his doings. He could have arranged to meet her a second time if either of them had wanted to. Actually it was by chance that they had met. It was in the Park, on a vile, biting day in March, when the earth was like iron and all the grass seemed dead and there was not a bud anywhere except a few crocuses which had pushed themselves up to be dismembered by the wind. He was hurrying along with frozen hands and watering eyes when he saw her not ten meters away from him. It struck him at once that she had changed in some ill-defined way. They almost passed one another without a sign; then he turned and followed her, not very eagerly. He knew that there was no danger, nobody would take any interest in them. She did not speak. She walked obliquely away across the grass as though trying to get rid of him, then seemed to resign herself to having him at her side. Presently they were in among a clump of ragged leafless shrubs, useless either for concealment or as protection from the wind. They halted. It was vilely cold. The wind whistled through the twigs and fretted the occasional, dirty-looking crocuses. He put his arm round her waist.
There was no telescreen, but there must be hidden microphones; besides, they could be seen. It did not matter, nothing mattered. They could have lain down on the ground and done that if they had wanted to. His flesh froze with horror at the thought of it. She made no response whatever to the clasp of his arm; she did not even try to disengage herself. He knew now what had changed in her. Her face was sallower, and there was a long scar, partly hidden by the hair, across her forehead and temple; but that was not the change. It was that her waist had grown thicker and, in a surprising way, had stiffened. He remembered how once, after the explosion of a rocket bomb, he had helped to drag a corpse out of some ruins, and had been astonished not only by the incredible weight of the thing, but by its rigidity and awkwardness to handle, which made it seem more like stone than flesh. Her body felt like that. It occurred to him that the texture of her skin would be quite different from what it had once been.
He did not attempt to kiss her, nor did they speak. As they walked back across the grass she looked directly at him for the first time.  He wondered whether it was a dislike that came purely out of the past or whether it was inspired also by his bloated face and the water that the wind kept squeezing from his eyes. They sat down on two iron chairs, side by side but not too close together. He saw that she was about to speak. She moved her clumsy shoe a few centimeters and deliberately crushed a twig. Her feet seemed to have grown broader, he noticed.
"I betrayed you," she said baldly.
"I betrayed you," he said.
She gave him another quick look of dislike.
 And then you say, 'Don't do it to me, do it to somebody else, do it to so-and-so.' And perhaps you might pretend, afterwards, that it was only a trick and that you just said it to make them stop and didn't really mean it. But that isn't true. At the time when it happens you do mean it.  You want it to happen to the other person.  All you care about is yourself."
"All you care about is yourself," he echoed.
"And after that, you don't feel the same toward the other person any longer."
"No," he said, "you don't feel the same."
There did not seem to be anything more to say. The wind plastered their thin overalls against their bodies. Almost at once it became embarrassing to sit there in silence; besides, it was too cold to keep still. She said something about catching her Tube and stood up to go.
"We must meet again," he said.
"Yes," she said, "we must meet again."
He followed irresolutely for a little distance, half a pace behind her. They did not speak again. She did not actually try to shake him off, but walked at just such a speed as to prevent his keeping abreast of her. He had made up his mind that he would accompany her as far as the Tube station, but suddenly this process of trailing along in the cold seemed pointless and unbearable. He was overwhelmed by a desire not so much to get away from Julia as to get back to the Chestnut Tree Café, which had never seemed so attractive as at this moment. He had a nostalgic vision of his corner table, with the newspaper and the chessboard and the ever-flowing gin. Above all, it would be warm in there. The next moment, not altogether by accident, he allowed himself to become separated from her by a small knot of people. He made a half-hearted attempt to catch up, then slowed down, turned and made off in the opposite direction. When he had gone fifty meters he looked back. The street was not crowded, but already he could not distinguish her. Any one of a dozen hurrying figures might have been hers. Perhaps her thickened, stiffened body was no longer recognizable from behind.
"At the time when it happens," she had said, "you do mean it." He had meant it. He had not merely said it, he had wished it. He had wished that she and not he should be delivered over to the——
Something changed in the music that trickled from the telescreen. A cracked and jeering note, a yellow note, came into it. And then—perhaps it was not happening, perhaps it was only a memory taking on the semblance of sound—a voice was singing:
The tears welled up in his eyes. A passing waiter noticed that his glass was empty and came back with the gin bottle.
He took up his glass and sniffed at it. The stuff grew not less but more horrible with every mouthful he drank. But it had become the element he swam in. It was his life, his death, and his resurrection. It was gin that sank him into stupor every night, and gin that revived him every morning. When he woke, seldom before eleven hundred, with gummed-up eyelids and fiery mouth and a back that seemed to be broken, it would have been impossible even to rise from the horizontal if it had not been for the bottle and teacup placed beside the bed overnight. Through the mid-day hours he sat with glazed face, the bottle handy, listening to the telescreen. From fifteen to closing time he was a fixture in the Chestnut Tree. No one cared what he did any longer, no whistle woke him, no telescreen admonished him. Occasionally, perhaps twice a week, he went to a dusty, forgotten-looking office in the Ministry of Truth and did a little work, or what was called work. He had been appointed to a sub-committee of a sub-committee which had sprouted from one of the innumerable committees dealing with minor difficulties that arose in the compilation of the Eleventh Edition of the Newspeak dictionary. They were engaged in producing something called an Interim Report, but what it was that they were reporting on he had never definitely found out. It was something to do with the question of whether commas should be placed inside brackets, or outside. There were four others on the committee, all of them persons similar to himself. There were days when they assembled and then promptly dispersed again, frankly admitting to one another that there was not really anything to be done. But there were other days when they settled down to their work almost eagerly, making a tremendous show of entering up their minutes and drafting long memoranda which were never finished—when the argument as to what they were supposedly arguing about grew extraordinarily involved and abstruse, with subtle hagglings over definitions, enormous digressions, quarrels—threats, even, to appeal to higher authority. And then suddenly the life would go out of them and they would sit round the table looking at one another with extinct eyes, like ghosts fading at cock-crow.
The telescreen was silent for a moment. Winston raised his head again. The bulletin! But no, they were merely changing the music. He had the map of Africa behind his eyelids. The movement of the armies was a diagram: a black arrow tearing vertically southward, and a white arrow tearing horizontally eastward, across the tail of the first. As though for reassurance he looked up at the imperturbable face in the portrait. Was it conceivable that the second arrow did not even exist?
His interest flagged again. He drank another mouthful of gin, picked up the white knight, and made a tentative move. Check. But it was evidently not the right move, because—
Uncalled, a memory floated into his mind. He saw a candle-lit room with a vast white-counterpaned bed, and himself, a boy of nine or ten, sitting on the floor, shaking a dice box and laughing excitedly. His mother was sitting opposite him and also laughing.
It must have been about a month before she disappeared. It was a moment of reconciliation, when the nagging hunger in his belly was forgotten and his earlier affection for her had temporarily revived. He remembered the day well, a pelting, drenching day when the water streamed down the window pane and the light indoors was too dull to read by. The boredom of the two children in the dark, cramped bedroom became unbearable. Winston whined and grizzled, made futile demands for food, fretted about the room, pulling everything out of place and kicking the wainscoting until the neighbors banged on the wall, while the younger child wailed intermittently. In the end his mother had said, "Now be good, and I'll buy you a toy. A lovely toy—you'll love it"; and then she had gone out in the rain, to a little general shop which was still sporadically open near by, and come back with a cardboard box containing an outfit of Snakes and Ladders. He could still remember the smell of the damp cardboard. It was a miserable outfit. The board was cracked and the tiny wooden dice were so ill-cut that they would hardly lie on their sides. Winston looked at the thing sulkily and without interest. But then his mother lit a piece of candle and they sat down on the floor to play. Soon he was wildly excited and shouting with laughter as the tiddlywinks climbed hopefully up the ladders and then came slithering down the snakes again, almost back to the starting point. They played eight games, winning four each. His tiny sister, too young to understand what the game was about, had sat propped up against a bolster, laughing because the others were laughing. For a whole afternoon they had all been happy together, as in his earlier childhood.
He pushed the picture out of his mind. It was a false memory. He was troubled by false memories occasionally. They did not matter so long as one knew them for what they were. Some things had happened, others had not happened. He turned back to the chessboard and picked up the white knight again. Almost in the same instant it dropped onto the board with a clatter. He had started as though a pin had run into him.
A shrill trumpet call had pierced the air. It was the bulletin! Victory! It always meant victory when a trumpet call preceded the news. A sort of electric thrill ran through the café. Even the waiters had started and pricked up their ears.
The trumpet call had let loose an enormous volume of noise. Already an excited voice was gabbling from the telescreen, but even as it started it was almost drowned by a roar of cheering from outside. The news had run round the streets like magic.  Fragments of triumphant phrases pushed themselves through the din: "Vast strategic maneuver—perfect co-ordination—utter rout—half a million prisoners—complete demoralization—control of the whole of Africa—bring the war within measurable distance of its end—victory—greatest victory in human history—victory, victory, victory!"
Under the table Winston's feet made convulsive movements. He had not stirred from his seat, but in his mind he was running, swiftly running, he was with the crowds outside, cheering himself deaf. He looked up again at the portrait of Big Brother. The colossus that bestrode the world! The rock against which the hordes of Asia dashed themselves in vain! He thought how ten minutes ago—yes, only ten minutes—there had still been equivocation in his heart as he wondered whether the news from the front would be of victory or defeat. Ah, it was more than a Eurasian army that had perished! Much had changed in him since that first day in the Ministry of Love, but the final, indispensable, healing change had never happened, until this moment.
The voice from the telescreen was still pouring forth its tale of prisoners and booty and slaughter, but the shouting outside had died down a little. The waiters were turning back to their work. One of them approached with the gin bottle.  He was not running or cheering any longer. He was back in the Ministry of Love, with everything forgiven, his soul white as snow. He was in the public dock, confessing everything, implicating everybody. He was walking down the white-tiled corridor, with the feeling of walking in sunlight, and an armed guard at his back. The long-hoped-for bullet was entering his brain.
He gazed up at the enormous face. Forty years it had taken him to learn what kind of smile was hidden beneath the dark mustache. O cruel, needless misunderstanding! O stubborn, self-willed exile from the loving breast! Two gin-scented tears trickled down the sides of his nose. But it was all right, everything was all right, the struggle was finished. He had won the victory over himself. He loved Big Brother.
Newspeak was the official language of Oceania and had been devised to meet the ideological needs of Ingsoc, or English Socialism. In the year 1984 there was not as yet anyone who used Newspeak as his sole means of communication, either in speech or writing. The leading articles in the Times were written in it, but this was a tour de force which could only be carried out by a specialist. It was expected that Newspeak would have finally superseded Oldspeak (or Standard English, as we should call it) by about the year 2050. Meanwhile it gained ground steadily, all Party members tending to use Newspeak words and grammatical constructions more and more in their everyday speech. The version in use in 1984, and embodied in the Ninth and Tenth Editions of the Newspeak dictionary, was a provisional one, and contained many superfluous words and archaic formations which were due to be suppressed later. It is with the final, perfected version, as embodied in the Eleventh Edition of the dictionary, that we are concerned here.
The purpose of Newspeak was not only to provide a medium of expression for the world-view and mental habits proper to the devotees of Ingsoc, but to make all other modes of thought impossible. It was intended that when Newspeak had been adopted once and for all and Oldspeak forgotten, a heretical thought—that is, a thought diverging from the principles of Ingsoc—should be literally unthinkable, at least so far as thought is dependent on words. Its vocabulary was so constructed as to give exact and often very subtle expression to every meaning that a Party member could properly wish to express, while excluding all other meanings and also the possibility of arriving at them by indirect methods. This was done partly by the invention of new words, but chiefly by eliminating undesirable words and by stripping such words as remained of unorthodox meanings, and so far as possible of all secondary meanings whatever. To give a single example. The word free still existed in Newspeak, but it could only be used in such statements as "This dog is free from lice" or "This field is free from weeds." It could not be used in its old sense of "politically free" or "intellectually free," since political and intellectual freedom no longer existed even as concepts, and were therefore of necessity nameless. Quite apart from the suppression of definitely heretical words, reduction of vocabulary was regarded as an end in itself, and no word that could be dispensed with was allowed to survive. Newspeak was designed not to extend but to diminish the range of thought, and this purpose was indirectly assisted by cutting the choice of words down to a minimum.
Newspeak was founded on the English language as we now know it, though many Newspeak sentences, even when not containing newly created words, would be barely intelligible to an English-speaker of our own day. Newspeak words were divided into three distinct classes, known as the A vocabulary, the B vocabulary (also called compound words), and the C vocabulary. It will be simpler to discuss each class separately, but the grammatical peculiarities of the language can be dealt with in the section devoted to the A vocabulary, since the same rules held good for all three categories.
The A vocabulary. The A vocabulary consisted of the words needed for the business of everyday life—for such things as eating, drinking, working, putting on one's clothes, going up and down stairs, riding in vehicles, gardening, cooking, and the like. It was composed almost entirely of words that we already possess—words like hit, run, dog, tree, sugar, house, field—but in comparison with the present-day English vocabulary, their number was extremely small, while their meanings were far more rigidly defined. All ambiguities and shades of meaning had been purged out of them. So far as it could be achieved, a Newspeak word of this class was simply a staccato sound expressing one clearly understood concept. It would have been quite impossible to use the A vocabulary for literary purposes or for political or philosophical discussion. It was intended only to express simple, purposive thoughts, usually involving concrete objects or physical actions.
The grammar of Newspeak had two outstanding peculiarities. The first of these was an almost complete interchangeability between different parts of speech. Any word in the language (in principle this applied even to very abstract words such as if or when) could be used either as verb, noun, adjective, or adverb. Between the verb and the noun form, when they were of the same root, there was never any variation, this rule of itself involving the destruction of many archaic forms. The word thought, for example, did not exist in Newspeak. Its place was taken by think, which did duty for both noun and verb. No etymological principle was followed here; in some cases it was the original noun that was chosen for retention, in other cases the verb. Even where a noun and verb of kindred meaning were not etymologically connected, one or other of them was frequently suppressed. There was, for example, no such word as cut, its meaning being sufficiently covered by the noun-verb knife. Adjectives were formed by adding the suffix -ful to the noun-verb, and adverbs by adding -wise. Thus, for example, speedful meant "rapid" and speedwise meant "quickly." Certain of our present-day adjectives, such as good, strong, big, black, soft, were retained, but their total number was very small. There was little need for them, since almost any adjectival meaning could be arrived at by adding -ful to a noun-verb. None of the now-existing adverbs was retained, except for a very few already ending in -wise; the -wise termination was invariable. The word well, for example, was replaced by goodwise.
In addition, any word—this again applied in principle to every word in the language—could be negatived by adding the affix un-, or could be strengthened by the affix plus-, or, for still greater emphasis, doubleplus-. Thus, for example, uncold meant "warm," while pluscold and doublepluscold meant, respectively, "very cold" and "superlatively cold." It was also possible, as in present-day English, to modify the meaning of almost any word by prepositional affixes such as ante-, post-, up-, down-, etc. By such methods it was found possible to bring about an enormous diminution of vocabulary. Given, for instance, the word good, there was no need for such a word as bad, since the required meaning was equally well—indeed, better—expressed by ungood. All that was necessary, in any case where two words formed a natural pair of opposites, was to decide which of them to suppress. Dark, for example, could be replaced by unlight, or light by undark, according to preference.
The second distinguishing mark of Newspeak grammar was its regularity. Subject to a few exceptions which are mentioned below, all inflections followed the same rules. Thus, in all verbs the preterite and the past participle were the same and ended in -ed. The preterite of steal was stealed, the preterite of think was thinked, and so on throughout the language, all such forms as swam, gave, brought, spoke, taken, etc., being abolished. All plurals were made by adding -s or -es as the case might be. The plurals of man, ox, life were mans, oxes, lifes. Comparison of adjectives was invariably made by adding -er, -est (good, gooder, goodest), irregular forms and the more, most formation being suppressed.
The only classes of words that were still allowed to inflect irregularly were the pronouns, the relatives, the demonstrative adjectives, and the auxiliary verbs. All of these followed their ancient usage, except that whom had been scrapped as unnecessary, and the shall, should tenses had been dropped, all their uses being covered by will and would. There were also certain irregularities in word-formation arising out of the need for rapid and easy speech. A word which was difficult to utter, or was liable to be incorrectly heard, was held to be ipso facto a bad word; occasionally therefore, for the sake of euphony, extra letters were inserted into a word or an archaic formation was retained. But this need made itself felt chiefly in connection with the B vocabulary. Why so great an importance was attached to ease of pronunciation will be made clear later in this essay.
The B vocabulary. The B vocabulary consisted of words which had been deliberately constructed for political purposes: words, that is to say, which not only had in every case a political implication, but were intended to impose a desirable mental attitude upon the person using them. Without a full understanding of the principles of Ingsoc it was difficult to use these words correctly. In some cases they could be translated into Oldspeak, or even into words taken from the A vocabulary, but this usually demanded a long paraphrase and always involved the loss of certain overtones. The B words were a sort of verbal short-hand, often packing whole ranges of ideas into a few syllables, and at the same time more accurate and forcible than ordinary language.
The B words were in all cases compound words.[2] They consisted of two or more words, or portions of words, welded together in an easily pronounceable form. The resulting amalgam was always a noun-verb, and inflected according to the ordinary rules. To take a single example: the word goodthink, meaning, very roughly, "orthodoxy," or, if one chose to regard it as a verb, "to think in an orthodox manner." This inflected as follows: noun-verb, goodthink; past tense and past participle, goodthinked; present participle, goodthinking; adjective, goodthinkful; adverb, goodthinkwise; verbal noun, goodthinker.
The B words were not constructed on any etymological plan. The words of which they were made up could be any parts of speech, and could be placed in any order and mutilated in any way which made them easy to pronounce while indicating their derivation. In the word crimethink (thoughtcrime), for instance, the think came second, whereas in thinkpol (Thought Police) it came first, and in the latter word police had lost its second syllable. Because of the greater difficulty in securing euphony, irregular formations were commoner in the B vocabulary than in the A vocabulary. For example, the adjectival forms of Minitrue, Minipax, and Miniluv were, respectively, Minitruthful, Minipeaceful, and Minilovely, simply because -trueful, -paxful, and -loveful were slightly awkward to pronounce. In principle, however, all B words could inflect, and all inflected in exactly the same way.
Some of the B words had highly subtilized meanings, barely intelligible to anyone who had not mastered the language as a whole. Consider, for example, such a typical sentence from a Times leading article as Oldthinkers unbellyfeel Ingsoc. The shortest rendering that one could make of this in Oldspeak would be: "Those whose ideas were formed before the Revolution cannot have a full emotional understanding of the principles of English Socialism." But this is not an adequate translation. To begin with, in order to grasp the full meaning of the Newspeak sentence quoted above, one would have to have a clear idea of what is meant by Ingsoc. And, in addition, only a person thoroughly grounded in Ingsoc could appreciate the full force of the word bellyfeel, which implied a blind, enthusiastic acceptance difficult to imagine today; or of the word oldthink, which was inextricably mixed up with the idea of wickedness and decadence. But the special function of certain Newspeak words, of which oldthink was one, was not so much to express meanings as to destroy them. These words, necessarily few in number, had had their meanings extended until they contained within themselves whole batteries of words which, as they were sufficiently covered by a single comprehensive term, could now be scrapped and forgotten. The greatest difficulty facing the compilers of the Newspeak dictionary was not to invent new words, but, having invented them, to make sure what they meant: to make sure, that is to say, what ranges of words they canceled by their existence.
As we have already seen in the case of the word free, words which had once borne a heretical meaning were sometimes retained for the sake of convenience, but only with the undesirable meanings purged out of them. Countless other words such as honor, justice, morality, internationalism, democracy, science, and religion had simply ceased to exist. A few blanket words covered them, and, in covering them, abolished them. All words groupings themselves round the concepts of liberty and equality, for instance, were contained in the single word crimethink, while all words grouping themselves round the concepts of objectivity and rationalism were contained in the single word oldthink. Greater precision would have been dangerous. What was required in a Party member was an outlook similar to that of the ancient Hebrew who knew, without knowing much else, that all nations other than his own worshiped "false gods." He did not need to know that these gods were called Baal, Osiris, Moloch, Ashtaroth, and the like; probably the less he knew about them the better for his orthodoxy. He knew Jehovah and the commandments of Jehovah; he knew, therefore, that all gods with other names or other attributes were false gods. In somewhat the same way, the Party member knew what constituted right conduct, and in exceedingly vague, generalized terms he knew what kinds of departure from it were possible. His sexual life, for example, was entirely regulated by the two Newspeak words sexcrime (sexual immorality) and goodsex (chastity).  It covered fornication, adultery, homosexuality, and other perversions, and, in addition, normal intercourse practiced for its own sake. There was no need to enumerate them separately, since they were all equally culpable, and, in principle, all punishable by death. In the C vocabulary, which consisted of scientific and technical words, it might be necessary to give specialized names to certain sexual aberrations, but the ordinary citizen had no need of them. He knew what was meant by goodsex—that is to say, normal intercourse between man and wife, for the sole purpose of begetting children, and without physical pleasure on the part of the woman; all else was sexcrime. In Newspeak it was seldom possible to follow a heretical thought further than the perception that it was heretical; beyond that point the necessary words were nonexistent.
No word in the B vocabulary was ideologically neutral. A great many were euphemisms. Such words, for instance, as joycamp (forced-labor camp) or Minipax (Ministry of Peace, i.e., Ministry of War) meant almost the exact opposite of what they appeared to mean. Some words, on the other hand, displayed a frank and contemptuous understanding of the real nature of Oceanic society. An example was prolefeed, meaning the rubbishy entertainment and spurious news which the Party handed out to the masses. Other words, again, were ambivalent, having the connotation "good" when applied to the Party and "bad" when applied to its enemies. But in addition there were great numbers of words which at first sight appeared to be mere abbreviations and which derived their ideological color not from their meaning but from their structure.
So far as it could be contrived, everything that had or might have political significance of any kind was fitted into the B vocabulary. The name of every organization, or body of people, or doctrine, or country, or institution, or public building, was invariably cut down into the familiar shape; that is, a single easily pronounced word with the smallest number of syllables that would preserve the original derivation. In the Ministry of Truth, for example, the Records Department, in which Winston Smith worked, was called Recdep, the Fiction Department was called Ficdep, the Teleprograms Department was called Teledep, and so on. This was not done solely with the object of saving time. Even in the early decades of the twentieth century, telescoped words and phrases had been one of the characteristic features of political language; and it had been noticed that the tendency to use abbreviations of this kind was most marked in totalitarian countries and totalitarian organizations. Examples were such words as Nazi, Gestapo, Comintern, Inprecorr, Agitprop. In the beginning the practice had been adopted as it were instinctively, but in Newspeak it was used with a conscious purpose. It was perceived that in thus abbreviating a name one narrowed and subtly altered its meaning, by cutting out most of the associations that would otherwise cling to it. The words Communist International, for instance, call up a composite picture of universal human brotherhood, red flags, barricades, Karl Marx, and the Paris Commune. The word Comintern, on the other hand, suggests merely a tightly knit organization and a well-defined body of doctrine. It refers to something almost as easily recognized, and as limited in purpose, as a chair or a table. Comintern is a word that can be uttered almost without taking thought, whereas Communist International is a phrase over which one is obliged to linger at least momentarily. In the same way, the associations called up by a word like Minitrue are fewer and more controllable than those called up by Ministry of Truth. This accounted not only for the habit of abbreviating whenever possible, but also for the almost exaggerated care that was taken to make every word easily pronounceable.
In Newspeak, euphony outweighed every consideration other than exactitude of meaning. Regularity of grammar was always sacrificed to it when it seemed necessary. And rightly so, since what was required, above all for political purposes, were short clipped words of unmistakable meaning which could be uttered rapidly and which roused the minimum of echoes in the speaker's mind. The words of the B vocabulary even gained in force from the fact that nearly all of them were very much alike. Almost invariably these words—goodthink, Minipax, prolefeed, sexcrime, joycamp, Ingsoc, bellyfeel, thinkpol, and countless others—were words of two or three syllables, with the stress distributed equally between the first syllable and the last. The use of them encouraged a gabbling style of speech, at once staccato and monotonous. And this was exactly what was aimed at. The intention was to make speech, and especially speech on any subject not ideologically neutral, as nearly as possible independent of consciousness. For the purposes of everyday life it was no doubt necessary, or sometimes necessary, to reflect before speaking, but a Party member called upon to make a political or ethical judgment should be able to spray forth the correct opinions as automatically as a machine gun spraying forth bullets. His training fitted him to do this, the language gave him an almost foolproof instrument, and the texture of the words, with their harsh sound and a certain willful ugliness which was in accord with the spirit of Ingsoc, assisted the process still further.
So did the fact of having very few words to choose from. Relative to our own, the Newspeak vocabulary was tiny, and new ways of reducing it were constantly being devised. Newspeak, indeed, differed from almost all other languages in that its vocabulary grew smaller instead of larger every year. Each reduction was a gain, since the smaller the area of choice, the smaller the temptation to take thought. Ultimately it was hoped to make articulate speech issue from the larynx without involving the higher brain centers at all. This aim was frankly admitted in the Newspeak word duckspeak, meaning "to quack like a duck." Like various other words in the B vocabulary, duckspeak was ambivalent in meaning. Provided that the opinions which were quacked out were orthodox ones, it implied nothing but praise, and when the Times referred to one of the orators of the Party as a doubleplusgood duckspeaker it was paying a warm and valued compliment.
The C vocabulary. The C vocabulary was supplementary to the others and consisted entirely of scientific and technical terms. These resembled the scientific terms in use today, and were constructed from the same roots, but the usual care was taken to define them rigidly and strip them of undesirable meanings. They followed the same grammatical rules as the words in the other two vocabularies. Very few of the C words had any currency either in everyday speech or in political speech. Any scientific worker or technician could find all the words he needed in the list devoted to his own speciality, but he seldom had more than a smattering of the words occurring in the other lists. Only a very few words were common to all lists, and there was no vocabulary expressing the function of Science as a habit of mind, or a method of thought, irrespective of its particular branches. There was, indeed, no word for "Science," any meaning that it could possibly bear being already sufficiently covered by the word Ingsoc.
From the foregoing account it will be seen that in Newspeak the expression of unorthodox opinions, above a very low level, was well-nigh impossible. It was of course possible to utter heresies of a very crude kind, a species of blasphemy. It would have been possible, for example, to say Big Brother is ungood. But this statement, which to an orthodox ear merely conveyed a self-evident absurdity, could not have been sustained by reasoned argument, because the necessary words were not available. Ideas inimical to Ingsoc could only be entertained in a vague wordless form, and could only be named in very broad terms which lumped together and condemned whole groups of heresies without defining them in doing so. One could, in fact, only use Newspeak for unorthodox purposes by illegitimately translating some of the words back into Oldspeak. For example, All mans are equal was a possible Newspeak sentence, but only in the same sense in which All men are redhaired is a possible Oldspeak sentence. It did not contain a grammatical error, but it expressed a palpable untruth, i.e., that all men are of equal size, weight, or strength. The concept of political equality no longer existed, and this secondary meaning had accordingly been purged out of the word equal. In 1984, when Oldspeak was still the normal means of communication, the danger theoretically existed that in using Newspeak words one might remember their original meanings. In practice it was not difficult for any person well grounded in doublethink to avoid doing this, but within a couple of generations even the possibility of such a lapse would have vanished. A person growing up with Newspeak as his sole language would no more know that equal had once had the secondary meaning of "politically equal," or that free had once meant "intellectually free," than, for instance, a person who had never heard of chess would be aware of the secondary meanings attaching to queen and rook. There would be many crimes and errors which it would be beyond his power to commit, simply because they were nameless and therefore unimaginable. And it was to be foreseen that with the passage of time the distinguishing characteristics of Newspeak would become more and more pronounced—its words growing fewer and fewer, their meanings more and more rigid, and the chance of putting them to improper uses always diminishing.
When Oldspeak had been once and for all superseded, the last link with the past would have been severed. History had already been rewritten, but fragments of the literature of the past survived here and there, imperfectly censored, and so long as one retained one's knowledge of Oldspeak it was possible to read them. In the future such fragments, even if they chanced to survive, would be unintelligible and untranslatable. It was impossible to translate any passage of Oldspeak into Newspeak unless it either referred to some technical process or some very simple everyday action, or was already orthodox (goodthinkful would be the Newspeak expression) in tendency. In practice this meant that no book written before approximately 1960 could be translated as a whole. Prerevolutionary literature could only be subjected to ideological translation—that is, alteration in sense as well as language. Take for example the well-known passage from the Declaration of Independence:
We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain inalienable rights, that among these are life, liberty and the pursuit of happiness. That to secure these rights, Governments are instituted among men, deriving their powers from the consent of the governed. That whenever any form of Government becomes destructive of those ends, it is the right of the People to alter or abolish it, and to institute new Government ...
It would have been quite impossible to render this into Newspeak while keeping to the sense of the original. The nearest one could come to doing so would be to swallow the whole passage up in the single word crimethink. A full translation could only be an ideological translation, whereby Jefferson's words would be changed into a panegyric on absolute government.
A good deal of the literature of the past was, indeed, already being transformed in this way. Considerations of prestige made it desirable to preserve the memory of certain historical figures, while at the same time bringing their achievements into line with the philosophy of Ingsoc. Various writers, such as Shakespeare, Milton, Swift, Byron, Dickens, and some others were therefore in process of translation; when the task had been completed, their original writings, with all else that survived of the literature of the past, would be destroyed. These translations were a slow and difficult business, and it was not expected that they would be finished before the first or second decade of the twenty-first century. There were also large quantities of merely utilitarian literature—indispensable technical manuals and the like—that had to be treated in the same way. It was chiefly in order to allow time for the preliminary work of translation that the final adoption of Newspeak had been fixed for so late a date as 2050.
[1] Newspeak was the official language of Oceania. For an account of its structure and etymology, see Appendix.
[2] Compound words, such as speakwrite, were of course to be found in the A vocabulary, but these were merely convenient abbreviations and had no special ideological color.


Web Designer and Developer since 2012
I'm Design enthusiast and geek from Lithuania, currently studying Multimedia Design and Communication in Denmark.I'm open for new projects, so feel free to contact me!


Name {{Name}}
Amount : {{Amount}}
IsGood : {{IsGood}}
You.Name : {{You.Name}}
You.Amount : {{You.Amount}}
You.IsGood : {{You.IsGood}}
Amount + Amount : {{Amount+Amount}}
Amount - You.Amount : {{Amount - You.Amount}}
You.Amount - Amount : {{You.Amount - Amount}}
You.Name + Name: {{You.Name + Name}}
{{if IsGood == true}}
I will do
{{else}}
yo!
{{/if}}
{{if You.IsGood == true}}
I will do
{{else}}
yo!
{{/if}}
{{if You.Amount > Amount}}
I will do
{{else}}
yo!
{{/if}}
{{if You.Amount < Amount}}
I will do
{{else}}
yo!
{{/if}}
{{if You.Amount < Amount}}
I will do
{{else}}
yo!
{{/if}}
{{item in MyList at index}}
no.{{index}} : {{item}}
{{/item}}
You.Name + Name: {{You.Name + Name}}
{{item in MyList at index}}
no.{{index}} : {{item}}
{{/item}}


WE CAN HAVE A SECTIONAL WITH A CHAISE by Kati Goldstein
WE CAN HAVE A SECTIONAL WITH A CHAISE
Here we are watching the amaryllis change colors in the living room.  Yours was the ninth
tongue to enter my mouth but the first to ever taste like a tongue should:
not metallic or milky, just like mine, only yours. We are equal parts
young & already dead, perfect & all wrong, quartz & aquamarine:
we reflect ourselves & everything else & the sky. Here we are weaving
each other’s scents into blankets, printing each other’s body parts onto
novelty t-shirts. I want to tell you: We can have a bigger garden. I want
to tell you: We can have dogs & babies & a silver staircase or we can not.
Either way. It’s up to you. I want to tell you: We can make the staircase
gold if you want, or platinum. We can make it out of moonstone
even. Here you are watching me dry off with your binoculars, or plucking
a stray hair from my shoulder.
Kati Goldstein lives, works, and writes in Chicago, Illinois, where she teaches at Wilbur Wright College. Originally from Miami, Florida, she graduated with her MFA in Poetry from Columbia College Chicago in 2015 and her BA in Creative Writing from Colorado College in 2013. Her work has appeared in Phantom Limb and Columbia Poetry Review among other publications. You can reach her by email at<EMAIL_ADDRESS>or follow her Instagram, @k.goldpoetry to see more of her work.


Some content!
You may replace ... Blog above with your name by opening ~/web.config and editing the entry for blogtitle.
~/web.config
blogtitle
You may trash this demo blog post when you are done with it and have made your own first post.


Scopes
After learning how to write methods, we need to have a look at a concept called scopes.
In the following interactive exercise, we'll learn what this means.
What's the output of following script:
greeting = "Hello!"
puts greeting
Hello!
def greet_in_french
greeting = "Bonjour!"
puts greeting
end
greet_in_french
Bonjour!
greeting = "Hello!"
def greet_in_czech
greeting = "Ahoj!"
puts greeting
end
greet_in_czech
puts greeting
Ahoj!
Hello!
greeting.
greeting = "Hello!"
def greet_in_japanese
greeting = "こんにちは" # Kon'nichiwa
puts greeting
end
greeting = "Good day!"
greet_in_japanese
puts greeting
こんにちは
Good day!
greeting = "Hei der!"
def greet_in_norwegian
puts greeting
end
greet_in_norwegian
There is a way how we can read variables from a global scope.
This is covered in a different lesson. 👷♀
What questions do you have?


Amending your last commit
Let's start with something simple: fixing your most recent commit.
Let's add a file to our sandbox - and make a mistake:
echo "Hello wrold!" >greeting.txt
git add greeting.txt
git commit -m"Add greeting.txt"
Fixing this mistake is pretty easy.  >greeting.txt
git commit -a --amend
Specifying -a
automatically stages (i.e. git
add
's) all files that git already knows about, and
--amend
will squash the changes into the most
recent commit. Save and quit your editor (you have a chance to change
the commit message now if you'd like). You can see the fixed commit
by running git show
:
commit f5f19fbf6d35b2db37dcac3a55289ff9602e4d00 (HEAD -> master)
Author: Drew DeVault<EMAIL_ADDRESS>Date: Sun Apr 28 11:09:47 2019 -0400
Add greeting.txt
diff --git a/greeting.txt b/greeting.txt
new file mode 100644
index 0000000..cd08755
--- /dev/null
+++ b/greeting.txt
@@ -0,0 +1 @@
+Hello world!
Fixing up older commits
Amending only works for the most recent commit. What happens if you
need to correct an older commit? Let's start by setting up our sandbox
accordingly:
echo "Hello!" >greeting.txt
git add greeting.txt
git commit -m"Add greeting.txt"
echo "Goodbye world!" >farewell.txt
git add farewell.txt
git commit -m"Add farewell.txt"
Looks like greeting.txt
is missing "world". Let's write a
commit normally which fixes that:
echo "Hello world!" >greeting.txt
git commit -a -m"fixup greeting.txt"
So now the files look correct, but our history could be better - let's
use the new commit to "fixup" the last one. For this, we need to
introduce a new tool: the interactive rebase. We're going to edit the
last three commits this way, so we'll run git rebase -i
HEAD~3
(-i
for interactive). This'll open your
text editor with something like this:
pick 8d3fc77 Add greeting.txt
pick 2a73a77 Add farewell.txt
pick 0b9d0bb fixup greeting.txt
# Rebase f5f19fb..0b9d0bb onto f5f19fb (3 commands)
#
# Commands:
# p, pick <commit> = use commit
# f, fixup <commit> = like "squash", but discard this commit's log message
This is the rebase plan, and by editing this file you can instruct
git on how to edit history. I've trimmed the summary to just the
details relevant to this part of the rebase guide, but feel free to
skim the full summary in your text editor.
When we save and close our editor, git is going to remove all of these
commits from its history, then execute each line one at a time. By
default, it's going to pick each commit, summoning it from
the heap and adding it to the branch. If we don't edit this file at
all, we'll end up right back where we started, picking every commit
as-is. We're going to use one of my favorite features now: fixup. Edit
the third line to change the operation from "pick" to "fixup" and move
it to immediately after the commit we want to "fix up":
pick 8d3fc77 Add greeting.txt
fixup 0b9d0bb fixup greeting.txt
pick 2a73a77 Add farewell.txt
Tip: We can also abbreviate this with just "f" to
speed things up next time.
Save and quit your editor - git will run these commands. We can check
the log to verify the result:
$ git log -2 --oneline
fcff6ae (HEAD -> master) Add farewell.txt
a479e94 Add greeting.txt
Using git rebase --autosquash
The steps described above can also be performed in a more automated
manner by taking advantage of the --autosquash
option
of git rebase
in combination with the
--fixup
option of git commit
:
git commit -a --fixup HEAD^
git rebase -i --autosquash HEAD~3
This will prepare the rebase plan with commits reordered and
actions set up:
pick 8d3fc77 Add greeting.txt
fixup 0b9d0bb fixup! Add greeting.txt
pick 2a73a77 Add farewell.txt
# Rebase f5f19fb..0b9d0bb onto f5f19fb (3 commands)
#
# Commands:
# p, pick <commit> = use commit
# f, fixup <commit> = like "squash", but discard this commit's log message
In addition to --fixup
, the --squash
option for git commit
also exists and will allow you to
edit the commit message.
Finally, the --autosquash
option can be omitted by
setting this behavior as the default through configuration:
git config --global rebase.autosquash true
Squashing several commits into one
As you work, you may find it useful to write lots of commits as you
reach small milestones or fix bugs in previous commits. However, it
may be useful to "squash" these commits together, to make a cleaner
history before merging your work into master. For this, we'll use the
"squash" operation.  Let's
start another interactive rebase to squash them together. Note that we
checked out a branch to try this on, first. Because of that, we can
quickly rebase all of the commits since we branched by using git
rebase -i master
. The result:
pick 1e85199 Add 'H' to squash.txt
pick fff6631 Add 'e' to squash.txt
pick b354c74 Add 'l' to squash.txt
pick 04aaf74 Add 'l' to squash.txt
pick 9b0f720 Add 'o' to squash.txt
pick 66b114d Add ',' to squash.txt
pick dc158cd Add ' ' to squash.txt
pick dfcf9d6 Add 'w' to squash.txt
pick 7a85f34 Add 'o' to squash.txt
pick c275c27 Add 'r' to squash.txt
pick a513fd1 Add 'l' to squash.txt
pick 6b608ae Add 'd' to squash.txt
# Rebase 1af1b46..6b608ae onto 1af1b46 (12 commands)
#
# Commands:
# p, pick <commit> = use commit
# s, squash <commit> = use commit, but meld into previous commit
Tip: your local master branch evolves independently
of the remote master branch, and git stores the remote branch as
origin/master
. Combined with this trick, git
rebase -i origin/master
is often a very convenient way to
rebase all of the commits which haven't been merged upstream yet!
We're going to squash all of these changes into the first commit. To
do this, change every "pick" operation to "squash", except for the
first line, like so:
pick 1e85199 Add 'H' to squash.txt
squash fff6631 Add 'e' to squash.txt
squash b354c74 Add 'l' to squash.txt
squash 04aaf74 Add 'l' to squash.txt
squash 9b0f720 Add 'o' to squash.txt
squash 66b114d Add ',' to squash.txt
squash dc158cd Add ' ' to squash.txt
squash dfcf9d6 Add 'w' to squash.txt
squash 7a85f34 Add 'o' to squash.txt
squash c275c27 Add 'r' to squash.txt
squash a513fd1 Add 'l' to squash.txt
squash 6b608ae Add 'd' to squash.txt
When you save and close your editor, git will think about this for a
moment, then open your editor again to revise the final commit
message. You'll see something like this:
# This is a combination of 12 commits.
 Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date: Sun Apr 28 14:21:56 2019 -0400
#
# interactive rebase in progress; onto 1af1b46
# Last commands done (12 commands done):
# squash a513fd1 Add 'l' to squash.txt
# squash 6b608ae Add 'd' to squash.txt
# No commands remaining.
# You are currently rebasing branch 'squash' on '1af1b46'.
#
# Changes to be committed:
# new file: squash.txt
#
This defaults to a combination of all of the commit messages which
were squashed, but leaving it like this is almost always not what you
want. The old commit messages may be useful for reference when writing
the new one, though.
Tip: the "fixup" command you learned about in the
previous section can be used for this purpose, too - but it discards
the messages of the squashed commits.
Let's delete everything and replace it with a better commit message,
like this:
Add squash.txt with contents "Hello, world"
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date: Sun Apr 28 14:21:56 2019 -0400
#
# interactive rebase in progress; onto 1af1b46
# Last commands done (12 commands done):
# squash a513fd1 Add 'l' to squash.txt
# squash 6b608ae Add 'd' to squash.txt
# No commands remaining.
# You are currently rebasing branch 'squash' on '1af1b46'.
#
# Changes to be committed:
# new file: squash.txt
#
Save and quit your editor, then examine your git log - success!
commit c785f476c7dff76f21ce2cad7c51cf2af00a44b6 (HEAD -> squash)
Author: Drew DeVault<EMAIL_ADDRESS>Date: Sun Apr 28 14:21:56 2019 -0400
Add squash.txt with contents "Hello, world"
Before we move on, let's pull our changes into the master branch and
get rid of this scratch one. We can use git rebase
like
we use git merge
, but it avoids making a merge commit:
git checkout master
git rebase squash
git branch -D squash
We generally prefer to avoid using git merge unless we're actually
merging unrelated histories. If you have two divergent branches, a
git merge is useful to have a record of when they were... merged. In
the course of your normal work, rebase is often more appropriate.
Splitting one commit into several
Sometimes the opposite problem happens - one commit is just too big.
Let's look into splitting it up. This time, let's write some actual
code. Start with a simple C program2 (you can still copy+paste this snippet into
your shell to do this quickly):
cat <<EOF >main.c
int main(int argc, char *argv[]) {
return 0;
}
EOF
We'll commit this first.
git add main.c
git commit -m"Add C program skeleton"
Next, let's extend the program a bit:
cat <<EOF >main.c
#include <stdio.h>
const char *get_name() {
static char buf[128];
scanf("%s", buf);
return buf;
}
int main(int argc, char *argv[]) {
printf("What's your name? ");
const char *name = get_name();
printf("Hello, %s!\n", name);
return 0;
}
EOF
After we commit this, we'll be ready to learn how to split it up.
git commit -a -m"Flesh out C program"
The first step is to start an interactive rebase. Let's rebase both
commits with git rebase -i HEAD~2
, giving us this rebase
plan:
pick 237b246 Add C program skeleton
pick b3f188b Flesh out C program
# Rebase c785f47..b3f188b onto c785f47 (2 commands)
#
# Commands:
# p, pick <commit> = use commit
# e, edit <commit> = use commit, but stop for amending
Change the second commit's command from "pick" to "edit", then save
and close your editor. Git will think about this for a second, then
present you with this:
Stopped at b3f188b... Flesh out C program
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
We could follow these instructions to add new changes to the
commit, but instead let's do a "soft reset"3 by running git
reset HEAD^
. If you run git status
after this,
you'll see that it un-commits the latest commit and adds its changes
to the working tree:
Last commands done (2 commands done):
pick 237b246 Add C program skeleton
edit b3f188b Flesh out C program
No commands remaining.
You are currently splitting a commit while rebasing branch 'master' on 'c785f47'.
(Once your working directory is clean, run "git rebase --continue")
Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git restore ..." to discard changes in working directory)
modified: main.c
no changes added to commit (use "git add" and/or "git commit -a")
To split this up, we're going to do an interactive commit.
This allows us to selectively commit only specific changes from the
working tree. Run git commit -p
to start this process,
and you'll be presented with the following prompt:
diff --git a/main.c b/main.c
index b1d9c2c..3463610 100644
--- a/main.c
+++ b/main.c
@@ -1,3 +1,14 @@
+#include <stdio.h>
+
+const char *get_name() {
+ static char buf[128];
+ scanf("%s", buf);
+ return buf;
+}
+
int main(int argc, char *argv[]) {
+ printf("What's your name? ");
+ const char *name = get_name();
+ printf("Hello, %s!\n", name);
return 0;
}
Stage this hunk [y,n,q,a,d,s,e,?]?
Git has presented you with just one "hunk" (i.e. a single change) to
consider committing. This one is too big, though - let's use the "s"
command to "split" up the hunk into smaller parts.
Split into 2 hunks.
@@ -1 +1,9 @@
+#include <stdio.h>
+
+const char *get_name() {
+ static char buf[128];
+ scanf("%s", buf);
+ return buf;
+}
+
int main(int argc, char *argv[]) {
Stage this hunk [y,n,q,a,d,j,J,g,/,e,?]?
Tip: If you're curious about the other options, press
"?" to summarize them.
This hunk looks better - a single, self-contained change. Let's hit
"y" to answer the question (and stage that "hunk"), then "q" to "quit"
the interactive session and proceed with the commit. Your editor will
pop up to ask you to enter a suitable commit message.
Add get_name function to C program
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# interactive rebase in progress; onto c785f47
# Last commands done (2 commands done):
# pick 237b246 Add C program skeleton
# edit b3f188b Flesh out C program
# No commands remaining.
# You are currently splitting a commit while rebasing branch 'master' on 'c785f47'.
#
# Changes to be committed:
# modified: main.c
#
# Changes not staged for commit:
# modified: main.c
#
Save and close your editor, then we'll make the second commit. We
could do another interactive commit, but since we just want to include
the rest of the changes in this commit we'll just do this:
git commit -a -m"Prompt user for their name"
git rebase --continue
That last command tells git that we're done editing this commit, and
to continue to the next rebase command. That's it! Run git
log
to see the fruits of your labor:
$ git log -3 --oneline
fe19cc3 (HEAD -> master) Prompt user for their name
659a489 Add get_name function to C program
237b246 Add C program skeleton
Reordering commits
This one is pretty easy. Let's start by setting up our sandbox:
echo "Goodbye now!" >farewell.txt
git add farewell.txt
git commit -m"Add farewell.txt"
echo "Hello there!"  >inquiry.txt
git add inquiry.txt
git commit -m"Add inquiry.txt"
The git log should now look like this:
f03baa5 (HEAD -> master) Add inquiry.txt
a4cebf7 Add greeting.txt
90bb015 Add farewell.txt
Clearly, this is all out of order. Let's do an interactive rebase of
the past 3 commits to resolve this. Run git rebase -i
HEAD~3
and this rebase plan will appear:
pick 90bb015 Add farewell.txt
pick a4cebf7 Add greeting.txt
pick f03baa5 Add inquiry.txt
# Rebase fe19cc3..f03baa5 onto fe19cc3 (3 commands)
#
# Commands:
# p, pick <commit> = use commit
#
# These lines can be re-ordered; they are executed from top to bottom.
The fix is now straightforward: just reorder these lines in the order
you wish for the commits to appear. Should look something like this:
pick a4cebf7 Add greeting.txt
pick f03baa5 Add inquiry.txt
pick 90bb015 Add farewell.txt
Save and close your editor and git will do the rest for you. Note that
it's possible to end up with conflicts when you do this in practice -
click here for help resolving conflicts.
git pull --rebase
If you've been writing some commits on a branch <branch>
which has been updated
upstream, say on remote origin
, normally git pull
will create a merge commit.
In this respect, git pull
's behavior by default is
equivalent to:
git fetch origin <branch>
git merge origin/<branch>
This assumes that the local branch <branch>
is configured to track the <branch>
branch
from the origin
remote, i.e.:
$ git config branch.<branch>.remote
origin
$ git config branch.<branch>.merge
refs/heads/<branch>
There's another option, which is often more useful and leads to a much
cleaner history: git pull --rebase
. Unlike the merge
approach, this is mostly4 equivalent to the following:
git fetch origin
git rebase origin/<branch>
The merge approach is simpler and easier to understand, but the rebase
approach is almost always what you want to do if you understand how to
use git rebase. If you like, you can set it as the default behavior
like so:
git config --global pull.rebase true
When you do this, technically you're applying the procedure we
discuss in the next section... so let's explain what it means to do
that deliberately, too.
Using git rebase to... rebase
Ironically, the feature of git rebase that I use the least is the one
it's named for: rebasing branches. Say you have the following
branches:
A--B--C--D--> master
\--E--F--> feature-1
\--G--> feature-2
It turns out feature-2 doesn't depend on any of the changes
in feature-1, that is, on commit E, so you can just base it
off of master. The fix is thus:
git rebase --onto master feature-1 feature-2
The non-interactive rebase does the default operation for all
implicated commits ("pick")5, which simply replays the
commits in feature-2 that are not in feature-1 on top of
master. Your history now looks like this:
A--B--C--D--> master
| \--G--> feature-2
\--E--F--> feature-1
Resolving conflicts
The details on resolving merge conflicts are beyond the scope of
this guide - keep your eye out for another guide for this in the
future. Assuming you're familiar with resolving conflicts in general,
here are the specifics that apply to rebasing.
Sometimes you'll get a merge conflict when doing a rebase, which you
can handle just like any other merge conflict. Git will set up the
conflict markers in the affected files, git status
will
show you what you need to resolve, and you can mark files as resolved
with git add
or git rm
. However, in the
context of a git rebase, there are a few options you should be aware of.
The first is how you complete the conflict resolution. Rather than
git commit
like you'll use when addressing conflicts that
arise from git merge
, the appropriate command for
rebasing is git rebase --continue
. However, there's
another option available to you: git rebase --skip
. This
will skip the commit you're working on, and it won't be included in
the rebase. This is most common when doing a non-interactive rebase,
when git doesn't realize that a commit it's pulled from the "other"
branch is an updated version of the commit that it conflicts with on
"our" branch.
If you want to take a look at the diff of the commit that Git failed to
replay, and which resulted in a merge conflict, you can use
git rebase --show-current-patch
, or its
equivalent git show REBASE_HEAD
.
Finally, it's worth noting that when using git checkout --ours
or --theirs
to quickly resolve
conflicted paths by checking out a specific version from the index,
the meaning of those options is reversed compared to a regular git merge
merge conflict: during rebase, --theirs
refers to the changes
from the branch being rebased (REBASE_HEAD
), and --ours
refers to the changes from the branch onto which we are rebasing
(HEAD
)6.
Help! I broke it!
No doubt about it - rebasing can be hard sometimes. If you've made a
mistake and in so doing lost commits which you needed, then git
reflog
is here to save the day. Running this command will
show you every operation which changed a ref, or reference -
that is, branches and tags. Each line shows you what the old reference
pointed to, and you can git cherry-pick
, git
checkout
, git show
, or use any other operation
on git commits once thought lost.


| Action | Action result |
|---|---|
| h1-h6 |
h1h2h3h4h5h6 |
| p(paragraph) tag |
Hello my name is Keshav Singh.currently i am doing intern in unthinkable. |
| ul li |
|
| ol li |
|
| div |
div is a block level element.
it is used to groupt the html elements.
|
| span | it is not a block level element like div. it is an inline element. |
| img | |
| a(anhor) tag |
Profile links |
| form and its elements |


Are you sure you wish to remove this match?
This match will be added to a public "Recently Deleted Matches" area for all to see!