Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.9.0 - 2021-07-17¶
Added¶
Users can now load custom handlers
Changed¶
Fixed an if statement in functiondef_handler that was checking previously obscured source code
flag is no longer a boolean for obscuring a project
but instead represents the option to load custom handlers
Removed¶
0.8.0 - 2021-06-17¶
Added¶
NameHandler handles calls and returns now
Added some methods to DefinitionTracker to reduce the number of checks in handlers
Added a disclaimer to the readme
Can now handle method calls as attributes
Added arg_handler to obscure function parameters
Changed¶
Treats the self referential as a regular argument so it becomes obscured
Obscuring when the output directory already exists no longer throws an error, instead it just notifies the user
Removed¶
0.7.0 - 2021-06-01¶
Added¶
Release script to handle updating version numbers and changelog
Changed¶
NameHandler now obscures base classes and handles all ast.Names
AttributeHandler handles class properties now
All utilities go in their own module in the utils package
Logging is optional with the -l flag
FunctionDefHandler now handles functions inside of functions becuase.. python
Removed¶
0.6.0 - 2021-05-24¶
Added¶
Added deployment scripts for pypi and testpypi
Added a license
Added a NameHandler class (unimplemented)
Added a ConstantHandler class, it now obscures strings, integers and floats
Added tests for obscure.py
Changed¶
Updated readme
Updated travis.yml to deploy to pypi
Removed¶
0.5.0 - 2021-05-23¶
Added¶
Added better functionality for ClassDefHandler building dictionaries of classes
Added better funtionality for FunctionDefHandler building dictionaries of functions
Added obscurepy/scripts/obscure.py which holds a click based command line interface
Changed¶
Updated class and sequence diagrams
Updated setup.py to properly integrate with click
Updated the readme with installation and usage instructions
Removed¶
0.4.0 - 2021-05-21¶
Added¶
Added functionality to the Obfuscator class to complete the pipeline from file to tree to obfuscated file
Added support for pre 3.9 versions of python, since ast.unparse released in 3.9, astunparse was the library used
Added several tests for the Obfuscator class
Changed¶
Removed¶
0.3.0 - 2021-05-20¶
Added¶
Added treeutils package
Added treeutils.class_scope_utils.py
Added treeutils.function_scope_utils.py
Added tests for treeutils package
Added scripts/coverage.sh to execute code coverage reports
Added coverage.sh to .travis.yml
Changed¶
utils.tree.py is now treeutils.general.py
Removed¶
0.2.2 - 2021-05-19¶
Added¶
Changed¶
Made docs cleaner by grouping modules in the same package together
Removed¶
0.2.0 - 2021-05-19¶
Added¶
Added assign_handler.py to handle ast.Assign nodes
Added call_handler.py to handle ast.Call nodes
Added a _debug_name property to handlers
Added an execution_priority property to handlers to sort their execution order
Added methods to DefinitionTracker to name classes, functions and variables that are added to definitions
Added a new module in utils called tree.py, it contains a function to add a parent reference to all ast nodes this may be useful for determining the scope of variables
Added tests for CallHandler, AssignHandler, ClassHandler, FunctionHandler and a test for the complete chain
Changed¶
Changed string_literal_handler.py and StringLiteralHandler to just literal_handler.py and LiteralHandler
Updated docstrings for sphinx
Changed DefinitionTracker.definitions to hold dictionaries instead of lists
obscurepy.utils.loader.__create_handlers() now sorts them by execution_priority
Removed¶
Removed methods.md


You can run the Flare API on your own computer, or in a virtual machine.
Install the Node.js runtime environment.
Install the MongoDB database.
Open a terminal and change to the Flare API directory:
cd ~/Downloads/flare
Install node modules:
npm install
Start MongoDB:
mongod --dbpath data/db
Initialize the database:
node import.js model.json
Start the flare server:
node flare.js
Install Vagrant to configure the virtualization environment.
Install the VirtualBox vitualization application.
Open a terminal and change to the Flare API directory:
cd ~/Downloads/flare
Choose a virtual box:
vagrant init hashicorp/precise32
Start a virtual machine:
vagrant up
Open the start page in a browser:
http://localhost:1234/


Home > JavaScript Questions > How to define an anonymous function?
An anonymous function can be defined in a similar way as a normal function but it would not have any name.
Example
//Example 1
function bob() {
...
}
bob();
//Example 2
var bob = function(){
...
};
bob();
Example 1 creates a function
with name "bob". Additionally, a variable named "bob" is created in the current scope and is assigned to the function.
Example 2 declares an unnamed function
and assigns it to a new variable named "bob".
We can see that these two ways of defining a function are essentially the same - both result in a function being created, and a new variable named "bob" assigned to the current scope. However, the second function is anonymous
.


In this rotation, we learned the basics of designing garments, mugs, and sublimation printing. I had to make three different products: a tshirt, a mug, and a popsocket.
The first product, the tshirt, had to be related to either Ohio, Hudson, or WRA. I chose to make a WRA tshirt with a picture of the chapel in the center. To do this, I first had to create my design on CorelDRAW. Once I completed my design, I had to transport that image file to our tshirt design software called GTX Graphics Lab. I then had to transport that file to the tshirt printing machine. I pressed my white tshirt to remove the wrinkles, then put it in the machine to print the design. After it was finished, I pressed it one more time to dry the wet ink. Overall, I'm happy with the way it turned out and it's a very quick and easy way to design tshirts.
Image 1: The original file for the tshirt (optimized for size).The second product that I made was a mug with my custom design. I chose to design an Ayn Rand themed mug with one of her more famous quotes next to her face. In order to do this I had to create my design using CorelDRAW with a template of the mug's dimensions. After I finished designing, I had to mirror the whole thing so it would look the way I wanted when I put it on the mug. Then I printed out the design and taped it on a blank mug. I then had to put it in the mug press for five minutes on 400 degrees. When that process was finished, I took the mug out, removed the tape, and put it in a bucket of water to cool. I am really satisfied with the way the mug turned out, and I believe products like these have a lot of market potential if made well, as they are so easy to make and very awesome looking.
Image 3: The original file for the mug (optimized for size).The finals products I made were popsockets with my own designs. I made one of the general Hannibal Barca, one of the philosopher Max Stirner, and one of the economist Thomas Sowell. To create these, I first had to create the designs in CorelDRAW using the parameters of a popsocket (1.5x1.5 inches). I then had to use the sublimation printer to align the parameters on the popsocket so that it would print on the right spot. I then transported my designs to the sublimation printer's computer and printed them out. I will say, the sublimation printer is much harder to use than the tshirt printer or mug press, and all three of my popsockets were off. It could be a very useful and productive machine if used correctly, which will take a lot more practice.
Images 6, 7, & 8: Original files for the popsockets (optimized for size).


Language Model (TensorFlow)¶
An implementation of LM(language model).
Require Packages¶
cotk
TensorFlow == 1.13.1
TensorBoardX >= 1.4
Quick Start¶
Downloading dataset and save it to
./data
. (Dataset will be released soon.)Execute
python run.py
to train the model.The default dataset is
MSCOCO
. You can use--dataset
to specify otherdataloader
class.It use
gloves
pretrained word vector by default setting. You can use--wvclass
to specifywordvector
class.If you don’t have GPUs, you can add
--cpu
for switching to CPU, but it may cost very long time.
You can view training process by tensorboard, the log is at
./tensorboard
.For example,
tensorboard --logdir=./tensorboard
. (You have to install tensorboard first.)
After training, execute
python run.py --mode test --restore best
for test.You can use
--restore filename
to specify checkpoints files, which are in./model
.--restore last
means last checkpoint,--restore best
means best checkpoints on dev.
Find results at
./output
.
Arguments¶
usage: run.py [-h] [--name NAME] [--restore RESTORE] [--mode MODE]
[--dataset DATASET] [--datapath DATAPATH] [--epoch EPOCH]
[--wvclass WVCLASS] [--wvpath WVPATH] [--out_dir OUT_DIR]
[--log_dir LOG_DIR] [--model_dir MODEL_DIR]
[--cache_dir CACHE_DIR] [--cpu] [--debug] [--cache]
optional arguments:
-h, --help show this help message and exit
--name NAME The name of your model, used for variable scope and
tensorboard, etc. Default: runXXXXXX_XXXXXX
(initialized by current time)
--restore RESTORE Checkpoints name to load. "last" for last checkpoints,
"best" for best checkpoints on dev. Attention: "last"
and "best" wiil cause unexpected behaviour when run 2
models in the same dir at the same time. Default: None
(dont load anything)
--mode MODE "train" or "test". Default: train
--dataset DATASET Dataloader class. Default: MSCOCO
--datapath DATAPATH Directory for data set. Default: ./data
--epoch EPOCH Epoch for trainning. Default: 10
--wvclass WVCLASS Wordvector class, None for using Glove pretrained
wordvec. Default: None
--wvpath WVPATH Path for pretrained wordvector. Default: wordvec
--out_dir OUT_DIR Output directory for test output. Default: ./output
--log_dir LOG_DIR Log directory for tensorboard. Default: ./tensorboard
--model_dir MODEL_DIR
Checkpoints directory for model. Default: ./model
--cache_dir CACHE_DIR
Checkpoints directory for cache. Default: ./cache
--cpu Use cpu.
--debug Enter debug mode (using ptvsd).
--cache Use cache for speeding up load data and wordvec. (It
may cause problems when you switch dataset.)
For hyperparameter settings, please refer to run.py
.
TensorBoard Example¶
Execute tensorboard --logdir=./tensorboard
, you will see the plot in tensorboard pages:
Following plot are shown in this model:
And text output:
"epochs": 10,
"lr": 0.1,
"log_dir": "./tensorboard",
"name": "LM",
"max_sen_length": 50,
"checkpoint_max_to_keep": 5,
"embedding_size": 300,
"momentum": 0.9,
"checkpoint_steps": 1000,
"datapath": "resources://MSCOCO~tsinghua",
"cache": false,
"debug": false,
"wvclass": null,
"restore": "last",
"show_sample": [
0
],
"wvpath": null,
"dh_size": 200,
"batch_size": 128,
"lr_decay": 0.995,
"model_dir": "./model",
"out_dir": "./output",
"cache_dir": "./cache",
"softmax_samples": 512,
"mode": "train",
"grad_clip": 5.0,
"dataset": "MSCOCO",
"cuda": true
Following text are shown in this model:
args
Case Study of Model Results¶
Execute python run.py --mode test --restore last
The following output will be in ./output/[name]_test.txt
:
self-bleu-3: 0.709417
bw-bleu-3: 0.513164
self-bleu-4: 0.515631
bw-bleu-4: 0.336216
self-bleu-2: 0.870640
fw-bw-bleu-3: 0.550495
perplexity: 13.409582
fw-bleu-4: 0.371952
fw-bleu-2: 0.836639
fw-bw-bleu-4: 0.353182
fw-bleu-3: 0.593684
bw-bleu-2: 0.723493
fw-bw-bleu-2: 0.775963
A man and motorcycle parked on front of a building .
A old desk with a computers computers of computers .
A people in to a table in to a tree sign
A man dog with a in in a bathroom bathroom .
A man young plate to be served by a people .
A man is on a bench next front park of a woods .

A man is on a bench next looking dog is on her fence . the park station .
A old man is standing a orange tie .

A old desk a and and a and desk .
A of and and a black and a .
A man is a man sitting to a table sign
A up of a plate plate with with a stove pot . the .
A man plate top oven in of kitchen .

A man is in two legs and in a couch . a .
A man is two legs of a person on out a television .
A in a helmet a on front of a building of people .

Performance¶
Perplexity |
|
|---|---|
MSCOCO |
13.41 |


We design meaning
CREATING DATA-DRIVEN SOLUTIONS
Our company aims to create quality data driven solutions that will meet the needs of all our customers. We offer a broad range of services in data processing such as Big Data and Machine Learning and strive to create meaningful reporting solutions and BI strategies. Our team is always determined to find the best solution for the task at hand and provide the expertise our customers need to implement their projects.
Transform your unstructured datasets into meaningful structures using Spark and Hadoop on both AWS and Azure. Prepare your data to use BI techniques and ML algorithms.
Transform your data into meaning with reporting and BI techniques. Get insight from your data that will help you make better decisions.
Create end-to-end data-driven mobile and web applications that are completely scalable. Get meaningful data from your applications and improve them using ML algorithms and user behavior.
Get the missing piece of the puzzle... Use ML algorithms to extract additional knowledge from your data. Create strategy using AI that will improve your future decisions.
Having problems with your computer vision? We can help you see better. With the help of image processing algorithms and deep learning you can extract any real world scenario into meaningful data.
No API? No problem! With web scraping and web crawling, you can still get the data from any website and generate your own data.


I STILL KNOW WHAT YOU DID LAST SUMMER by DeWyNGaLe Rating: B
http://members.aol.com/DeWyNGaLe
In October of 1997, audiences were dazzled by the horror surprise hit I Know What You Did Last Summer. The film went on to gross over 70 million dollars in the U.S., and even developed a cult following, much like the previous year's 100 million dollar grossing Scream. When the trailer hit theaters in September attached to Urban Legend, it looked like a wonderful follow-up. Did it live up to the first film? The answer is no.
Jennifer Love Hewitt returns as Julie James, a survivor of the serial killer that attempted to kill her and her friends a year before. She has been so upset since the incident. Nightmares haunt her all over the place, but she has to move on. She know attends college, and is best friends with a funny, outgoing girl named Karla (Brandy), who is trying to hook Julie up with Will Benson, played by newcomer Matthew Settle. Karla's boyfriend is Tyrell, the funny, outgoing type, who is played by Soul Food's Mekhi Phifer. Freddie Prinze Jr. also returns as Ray, Julie's boyfriend from a year ago. One morning, Julie and Karla are called up by a local radio station who are offering four tickets to the Bahamas if they can correctly identify the capital of Brazil. Of course, they answer it correctly, and they are off to the Bahamas. Julie wants Ray to come, but he declines the offer, so Karla secretly invites Will instead to help boost her plan of hooking him up with Julie. After they arrive at their hotel, it is just them and the staff on the island. It starts off as the weekend of their dreams. Something just had to come to mess up the one care-free weekend of Julie's life though. Ben Willis (Muse Watson) is back, and he isn't letting anyone survive this time. Will Ray come to the rescue before he can kill them off one by one?
Jennifer Love Hewitt and Brandy turn in respectable performances. Brandy in particular was impressive, considering this is her first feature film. You could see that the characters were horrified, and they would do anything possible to survive. Matthew Settle and Freddie Prinze Jr. are a completely different story. Let's start with Settle. Matthew is completely fake in this film. You could not believe a word coming out of his mouth. You could tell he was acting, and its reasons like him that this one isn't as good as the first one. He does do a good job towards the end, but that doesn't clear up the scars he already left on the film. Freddie Prinze Jr. is almost as bad as Matthew Settle was. He is almost completely unbelievable, and the majority of his lines are completely meaningless and out of place. We don't see him as much as Settle, otherwise he could have done just as much damage as Settle did. Mekhi Phifer is alright as Tyrell, but yet again the dialogue is out of place.
The plot of I Still Know turns out to be a pretty good one at the end of the movie. I like where the filmmakers went with this second installment, but maybe if it occurred in the same town as the first one, it would have been a bit better. The cinematography and setting of their island are simply wonderful. There are a lot of very nice shots around their hotel. The sound is pretty good, but still not as creepy as the first film's. Jennifer Love Hewitt's song, "How Do I Deal" is also played for about thirty seconds.
I Still Know What You Did Last Summer is nothing compared to the first film. The first film was very suspenseful, and it contained some very memorable scenes. The last fifteen minutes of I Still Know What You Did Last Summer really picked up, and almost reached the same level as the first film. Before this part in the film, there are many unnecessary deaths and fake scares. That is okay though, because the film is still very much fun and there are a few suspenseful scenes. I think the reason this film wasn't as scary as the original was because in the first one, the killer terrorized the people involved in the incident. He made them suffer for what they did. In the second film, Ben Willis just kills anyone he feels like. He doesn't stick with Ray and Julie, who were the ones he is actually after. He had to go after Karla, Will, and Tyrell. If the characters he stalked were in some relation to the incident that went on when he was ran over by Julie, Ray, Helen, and Barry, it could have been much better, and it would have made a lot more sense.
The Bottom Line- Not a disappointment, but a third in the series would be out of hand.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


The Dragon Prince Creators Reveal How Many Seasons Are Planned
by Sam StoneNetflix's acclaimed original animated series The Dragon Prince returns for its third season this month. And creators/showrunners Aaron Ehasz and Justin Richmond already have even bigger plans for the fantasy series.
The first three seasons are each named for one of the six primal forces, with the executive producers revealing that the number of seasons planned match the primal forces plus darkness, bringing the planned total to seven.
"There's six primal sources plus dark, so seven [seasons] - that's what our plan is now," confirmed Ehasz in an upcoming exclusive interview with CBR.
Click the button below to start this article in quick view.
The Dragon Prince follows two exiled princes in the fantasy world of Xadia, teamed with an elven assassin named Rayla, escorting a baby dragon to bring peace between humans and elves and avert a coming war. The first three seasons each contain nine episodes, a trend that the executive producers plan to continue with future seasons...for now.
"It could vary. We like how it feels right now with those nine episodes but if it needs to be a little bit longer or whatever, then we'll absolutely do that," observed Richmond. "But yeah, around that length, I think, is correct."
Featuring the voices of Jack DeSena as Callum, Sasha Rojen as Ezran, Paula Burrows as Rayla, Jesse Inocalla as Soren, Racquel Belmonte as Claudia, Luc Roderique as King Harrow of Katolis and Jason Simpson as Viren, The Dragon Prince Seasons 1 and 2 are available now on Netflix. Season 3 arrives Nov. 22.
https://schema.orgBreadcrumbListListItem1Homehttps://www.cbr.com/ListItem2TVhttps://www.cbr.com/category/tv/ListItem3TV Newshttps://www.cbr.com/category/tv/news-tv/ListItem4The Dragon Prince Creators Reveal How Many Seasons Are Plannedhttps://www.cbr.com/dragon-prince-creators-planning-seven-seasons/


Should draw a three-colored background, split horizontally at y:2.25, and again on the top at x:19Nov:


|
Panda3D
|
A container for an HTTP-legal time/date indication. More...
Public Member Functions | |
| __init__ () | |
| __init__ (const HTTPDate copy) | |
| __init__ (str format) | |
| Decodes the string into a sensible date. More... | |
| __init__ (time_t time) | |
| int | compareTo (const HTTPDate other) |
| Returns a number less than zero if this HTTPDate sorts before the other one, greater than zero if it sorts after, or zero if they are equivalent. More... | |
| str | getString () |
| time_t | getTime () |
| Returns the date as a C time_t value. More... | |
| bool | input (Istream in) |
| bool | isValid () |
| Returns true if the date is meaningful, or false if it is -1 (which generally indicates the source string could not be parsed.) More... | |
| bool | operator!= (const HTTPDate other) |
| HTTPDate | operator+ (int seconds) |
| HTTPDate | operator+= (int seconds) |
| int | operator- (const HTTPDate other) |
| HTTPDate | operator- (int seconds) |
| HTTPDate | operator-= (int seconds) |
| bool | operator< (const HTTPDate other) |
| HTTPDate | operator= (const HTTPDate copy) |
| bool | operator== (const HTTPDate other) |
| bool | operator> (const HTTPDate other) |
| output (Ostream out) | |
Static Public Member Functions | |
| static HTTPDate | now () |
| Returns an HTTPDate that represents the current time and date. More... | |
A container for an HTTP-legal time/date indication.
This can accept a string from an HTTP header and will decode it into a C time_t value; conversely, it can accept a time_t value and encode it for output as a string.
| __init__ | ( | ) |
| __init__ | ( | const HTTPDate | copy | ) |
| __init__ | ( | str | format | ) |
Decodes the string into a sensible date.
Returns 0 (!is_valid()) if the string cannot be correctly decoded.
| __init__ | ( | time_t | time | ) |
| int compareTo | ( | const HTTPDate | other | ) |
Returns a number less than zero if this HTTPDate sorts before the other one, greater than zero if it sorts after, or zero if they are equivalent.
| str getString | ( | ) |
| time_t getTime | ( | ) |
Returns the date as a C time_t value.
| bool input | ( | Istream | in | ) |
| bool isValid | ( | ) |
Returns true if the date is meaningful, or false if it is -1 (which generally indicates the source string could not be parsed.)
| bool operator!= | ( | const HTTPDate | other | ) |
| HTTPDate operator+ | ( | int | seconds | ) |
| HTTPDate operator+= | ( | int | seconds | ) |
| int operator- | ( | const HTTPDate | other | ) |
| HTTPDate operator- | ( | int | seconds | ) |
| HTTPDate operator-= | ( | int | seconds | ) |
| bool operator< | ( | const HTTPDate | other | ) |
| bool operator== | ( | const HTTPDate | other | ) |
| bool operator> | ( | const HTTPDate | other | ) |
| output | ( | Ostream | out | ) |


Landing Page
Special Projects
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.
CLAIRE HANNA
04.19.18
When Musa Dampha walked the streets of Bansang, Gambia, he couldn’t stop looking over his shoulder. The poorly lit roads did little to curb his anxiety. Tales of unfamiliar silhouettes and sounds of calculated steps culminating in a ceaseless list of missing persons haunted people's minds. Dampha feared at any moment he could be arrested by the government’s National Intelligence Agency notorious for enforcing disappearances.
“Where you’ll be taken, no one knows,” Dampha, a graduate student studying African studies, said, remembering his time in Gambia.
The freshly elected president of Ohio University’s African Student Union arrived in the U.S. on New Year’s Eve. He stayed at his cousin’s place in Columbus, and as fireworks exploded in the sky, for the first time, he slept a good night's sleep.
Dampha is one of the six Gambian students who immigrated to the U.S. to pursue their graduate studies at OU.
The idea of a “democratic education” compelled Dampha and fellow Gambian students to travel 5,135 miles from his homeland to Athens.
Bharbi Hazarika | SENIOR WRITER
Dampha walks around the grocery store looking for his favorite American snack –– cereal.
Under former President Yahya Jammeh, sleep didn’t come easy for most Gambians, Dampha said.
“It was crazy,” he said. “People would go to bed thinking whether they will make it to the following morning without getting arrested.”
Jammeh came to power through a coup in 1994 and became infamous for atrocities that included gross human rights violations, such as threats to decapitate LGBT people and arrests of opposition party members and journalists who critiqued him.
At first, Dampha said, Gambians thought Jammeh had a vision, evidenced by the surprisingly peaceful transition. Since seizing power, Jammeh ruled the nation for 22 years. He initiated programs to build more schools and develop national infrastructure, and people witnessed a change after a long time of political inaction.
“Power corrupts and power intoxicates people,” Dampha said. “In the long run, Jammeh just turned out to be a monster.”
His government prosecuted and imprisoned critics, some of whom mysteriously wound up dead. In 2006, about one-third of the Gambian population lived below the international poverty line of $1.25 per day. Amidst unemployment and meager civil liberties, thousands of people left the country. Under Jammeh’s rule, Gambia was paralyzed.
Fear of expressing his thoughts plagued Dampha who slept with one eye open. Threats of imprisonment have been a fact of life for years. Defamatory comments against the dictator were met with abduction and arrests.
The knocks rattled the wooden doors at night, Dampha recalled. Men in ordinary clothes marched in, kidnapped the defamers and vanished into the night, leaving no trace behind.
Bharbi Hazarika | SENIOR WRITER
(Musa Dampha, a graduate student studying African studies.)
Under the circumstances, it seemed entirely reasonable that people would refrain from questioning the clandestine activities carried out by the badgeless NIA men. Minimal scrutiny meant more leeway for Jammeh to implement his power.
While life was difficult for most Gambians, those that Jammeh shunned were openly discriminated against by officials. Dampha belonged to the same village as Jammeh’s opponent Ousainou Darboe, which meant limited access to electricity and deplorable living conditions.
In fact, quenching one’s thirst was a predicament that Gambians faced every morning. When Dampha would turn on the faucet, a suspicious flow of water would gush out of the pipes. He would fill his glass and watch it turn a rusty red. Nonetheless, he would gulp it down, knowing there was no other option.
Dampha’s decision to come to OU culminated at the same time the country was preparing to let go of the autocrat’s emblematic white garbs and prayer beads.
The protests were concentrated in the capital, Banjul, and the largest city, Serekunda. The NIA officers emerged out of the shelter of the night and performed their draconian agendas in broad daylight. Women were raped; men were put behind bars.
“One thing I’ve realized,” Dampha said. “It’s better to kill them rather than take away people’s right to expression.”
Resistance had the potential to cost many Gambians their lives. Among those who were directly affected was Dampha. His uncle Darboe, who was an opposition leader, was incarcerated and beaten. Being arrested in Jammeh’s Gambia was equivalent to have received a death sentence, Dampha said.
“Most people were never found,” he lamented.
Dampha lived in the outskirts of the cities and couldn’t take part in everyday protests. For Samba Bah, a graduate student from Busumbala, Gambia, studying international development studies, not participating in the revolution wasn’t a choice.
Bah started as a member of the non-governmental organization Saama Sang Youth and Children Development Association and later went on to serve as a speaker for the National Youth Parliament of The Gambia.
As a youth activist, Bah was involved in organizing sit-ins and meetings to advocate for youth-friendly laws and to protest unfair policies installed by Jammeh’s government, the Alliance for Patriotic Reorientation and Construction.
“It wasn’t easy, advocating for human rights and democracy is never easy in any setting,” Bah said. “And Jammeh’s administration was no exception in this.”
Finally, the protests paved the way for an electoral reform. The reform is designed to prohibit electoral manipulation, a tactic that Jammeh frequently used to keep himself in power.
As democracy eclipsed Jammeh’s rule, Dampha and his Gambian peers were in search of a way to make their lives and those of others better. The only way he saw out of the debris was through education.
Adama Barrow, the nominated candidate for the coalescing seven opposition parties, stepped up as the president-elect in January 2017. The new government brought with itself plans to undo Jammeh’s infractions. Barrow began by introducing the National Development Plan, or NDP, in 2018, which aims to “revitalize and transform the economy for the wellbeing of all Gambians.”
Assan Sarr, an assistant professor of history, was visiting Gambia around the same time when he met Dampha and Bah. They planned out their education, and, a few weeks later, both the students were boarding a flight to Columbus.
The students realized that a regime change wasn’t enough to transform the state of their country. But the fear of leaving loved ones haunted them. Rather than feeling anxious about his new life, he was afraid of the unknown that he was leaving behind.
“I was scared to death,” Dampha said. “Not only for my sisters, but for every soul in the nation.”
Fatou Kineh Ndow, a graduate student from Banjul, Gambia, studying mathematics, was always hesitant to talk over the phone. People suspected the government was tapping their phones. Ndow said since the dictator’s exodus, she isn’t scared to call home.
“Now, people can express themselves,” Ndow said. “It wasn’t possible before.”
The autocrat’s departure has helped Dampha feel a little more secure about leaving his family in Gambia, and it has helped him enjoy his experience in the states. His daily routine consists of working on his graduate thesis, navigating the aisles of American grocery stores for cereal and drinking clear water that, for once, doesn’t change its shade.
Bharbi Hazarika | SENIOR WRITER
Dampha, who didn’t have access to clean water in The Gambia, picks up a bottle of water at the grocery store.
Dampha immersed himself in education and finished his two-year graduate program in a year and a half. His academic pace indicates his desire to go back to Gambia and help his community.
Under Jammeh, Gambian colleges were heavily mandated by the government. The instruction of any material that did not align with the dictator’s views meant persecution for the teacher. A stunted education system stabbed holes in their understanding of the world.
“An educated mind, if it is put into productive use, it does not just benefit that individual but every other person around him, the globe at large.”- Musa Dampha, a graduate student studying African studies
An American education has given Ndow a greater access to many resources she said she didn’t have back home. She considers the convenience of accessing the internet at any time of the day a privilege. Ndow said social science education suffered significantly due to the dictator’s anti-democratic agenda. Dampha believes an American education will help fill those gaps and mend his fabric of knowledge.
“An educated, mind if it is put into productive use,” Dampha said. “It does not just benefit that individual but every other person around him, the globe at large.”
Last month, Dampha was elected as president of OU’s African Student Union. He plans to increase member participation and reach out to other African students he describes as “friends of Africa.”
Since coming to the U.S., the only challenge that Dampha said he has faced — the cold — is a sizable departure from the problems at home. Still, Dampha remembers home with affection.
“I know if I now go back to Gambia it will feel like heaven,” Dampha said.
He ravenously consumes Gambian media and cherishes the sight of leadership critique. He said two years ago, he could have never imagined a defamatory tweet or a Facebook post about the Gambian government without consequences following suit. In these civilian objections, he sees a new Gambia, one where democracy is fundamental to the society.
Now, Dampha wakes up every morning rested. While slipping into his plaid jacket to fight the midwestern winter, a smiling Dampha is grateful above all for “one key thing” in America.
“Being able to walk on the street without having to look over my shoulders,” Dampha said.
Landing Page
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.


{{storage.slusFiltered.length}} OSDs
Note:Pools are created based on the number of OSD's in this cluster. When the number of OSDs available is 50 or less, a fixed number of Placement Groups will be assigned.
{{storage.pgs}}
Note:Pools are created based on the number of OSD's in this cluster. Move the slider to optimize the pool creation based on size and the corresponding number of Placement Groups.
{{storage.optimalPoolSize}}


Krack: Ravi Teja, Shruti Haasan Commence Shoot For Their Action Thriller
Reportedly, the film is based on true life incidents that occurred in Telugu speaking states of Andhra Pradesh and Telangana.
by Koimoi.com TeamTollywood superstar Ravi Teja is in news following his upcoming release Disco Raja, and his next, Krack which went on floors yesterday. The veteran actor along with his co-star Shruti Haasan shot for the film’s first scene yesterday at Ramoji Film City in Hyderabad.
Krack which was launched last month with a muhurat pooja is an action thriller that has Ravi Teja as a cop. It was only last week when the makers unveiled the film’s name and first look poster of Ravi.
The action-thriller is being helmed by Gopichand Malineni. It is for the third time in their careers where the director-actor duo of Gopichand and Ravi have teamed up for a film.
The duo has earlier worked twice together for their earlier projects, 2013 released Balupu and 2010 released Don Seenu.
Apart from Ravi and Shruti, Krack also has actress Varalaxmi Sarathkumar in major roles.
Reportedly, the film is based on true life incidents that occurred in Telugu speaking states of Andhra Pradesh and Telangana. The Ravi Teja starrer is slated to release in summer 2020.
Talking about his upcoming release Disco Raja, the film is one of the most awaited releases in Tollywood for the year 2020. The Sci-Fi thriller is been helmed by Vi Anand and it is been produced by Ram Talluri under the banner of SRT Entertainments.
The Ravi Teja starrer has Paayal Rajput, Nabha Natesh, Tanya Hope, Bobby Simha among others in pivotal roles. The music for the Sci-Fi venture is been composed by S.Thaman.
Disco Raja will hit big screens on 24th January.


Aligning some text next to a div (or image or icon) can be quite confusing and counter-intuitive.
In the following examples I will an icon as an example, but the same will apply for an image or any other block element.


Marin Humane Society
The Marin Humane Society transforms lives through exceptional care, humane education, and advocacy. Every day, they inspire compassion and positive relationships between animals and people. They wish to see a world where every animal is treated in a humane fashion.
Remember:
You should contact Marin Humane Society before donating any items.


--- layout: page title: "Circle" subtitle: "A non-exhaustive summary of my life, in no particular order." permalink: /circle/ ---
I'm currently years old. I've been tracking my activities since October 2020.This page was last modified ... day(s) ago.
Do you have any suggestions? Feel free to shoot an email to<EMAIL_ADDRESS>You can also get in touch via social media.


select case commands are like if then else commands but with more options. You can have infinite options as long as you have the hard drive space


Mobile and desktop mockup designs of a content heavy website for a fictional school named “Nu Vision Academy”.
To create a working prototype of a responsive website for a new Polytechnic, Nu Vision Academy using information architecture within a few weeks.
I started by doing research on websites of schools and took note of their strengths, weaknesses and of how they organised information.  I then did more research, sketched wireframes, came up with the theme/ style, made mockups and linked them. I got people to user test then made changes until I ended up with the final prototype.
-
Adobe Xd
UI/UX
Information Architecture


amazon-chime-sdk
/
com.amazonaws.services.chime.sdk.meetings.audiovideo.video
/
VideoRotation
/
Rotation270
Rotation270
Rotation270
Rotated 270 degrees clockwise