---
layout: post
title: Last day @ Hometrack
tags:
- coldfusion
- gource
- hometrack
- thoughtworks
- tumble
status: publish
type: post
published: true
meta:
aktt_notify_twitter: 'no'
_edit_last: '2'
---
Today is my last day at Hometrack. What started as a short term contract, turned into one of those rare great work experiences that lasted 6 years and spanned 2 hemispheres.  Looking forward though, there's a month off and many new and exciting challenges ahead.
It also marks the end of my affiliation with ColdFusion, but not the Adobe toolset. Starting in July, I am moving full time into the UX field, as a Senior UI developer/consultant for ThoughtWorks and I am truly excited at the prospect of joining them and working with a bunch of extremely smart, dedicated and passionate people.
As a final note to this post, my good friend Zac put together a little clip of my commits to one of the projects we worked on together, which I wanted to share, as it uses a neat version control visualisation tool:
As the saying goes: "So long, and thanks for all the fish"


[% META title = 'Catalyst/TT View!' %]
Yay! You're looking at a page generated by the Catalyst::View::TT plugin module.
We have a message for you: [% message %].
Why not try updating the message? Go on, it's really exciting, honest!


Multi-page application
Start Camera
Read From Gallery
Page Footer
Two
save
Normal
Vintage
Sepia
Greenish
Reddish
Page Footer
Three
Share on Twitter
Page Footer


Date: Sep. 2015 - Apr. 2016
Collaborators: Hao Zhang, Lap Pui Chau
Underwater vision enhancement via backscatter removing is widely used in ocean engineering. However, due to the existence of dust-like particles and light attenuation, underwater images and videos always suffer from the problems of low contrast and color distortion.
In this project, we investigated the underwater light propagation process from a physical standpoint, studied the state-of-the-art methods of sloving the problem and finally proposed a novel and effective method based on underwater optical model and fusion technique to overcome the backscatter problem.
In general, state-of-the-art strategies to solve this issue can be categorized into two parts, one is physical-based model, which studys its physical process and then reverse derivation, while another is more focus on image processing techniques. Experiment shows that carefully designed physical-based models often achieve excellent in specific situations, but are not able to generate great results for varieties of underwater environments all the time. By contrast, image processing methods are more flexiable and perform good under various environments, although they cannot always guarantee to give good contrast and texture information.
In order to solve the underwater imaging issue well and also take the universality of the model into consideration, we investigated to incorporate the merits of both physical-based model and image processing model, while suppress their drawbacks at the same time. Hence, we came up with a new technique which utilize a novel fusion strategy to fuse the restored results from physical mdoel and image processing model. Our proposed method is mainly consist of three steps:
- first, we decomposed the input image into two components, reflectance channel and illuminance channel;
- second, we utilized color correction technology and dehazing technology to handle these two components separately;
- finally, in order to rebuild result well, we applied the Gaussian and Laplacian pyramids based multi-scale fusion to reconstruct the target image while exposedness, saliency maps are utilized as weights to assist the fusion task.
The experimental results show that the proposed method is able to greatly improve the quality of distorted underwater images. By introducing the underwater image quality metric measurements, we also analyze the intrinsic information and objective feature indexes of restored images via different methods. In general, our method outperforms state-of-the-arts among sets of test images captured in different water environments and is demonstrated to be well-performed and effective. More details about the investigation on state-of-the-arts, underwater light propagation model and experiment results, please refer: Post/Removing Backscatter to Enhance the Visibility of Underwater Object.


Company
Home
About
Docs
Download
Products
Welcome To
Eg Site
Eg Company
EG Address
Resources
Docs
Examples
API
What We Do
Our Story
Events
Plans
© 2020 Company. All rights reserved.
Instagram
Twitter
Facebook
YouTube


Visualisation Project
This project has been made during my study period abroad and concerning the rules of making a good visualisation. It is divided into three section, all of them regard a simple analysis that comes up whatching a visualisation made over a Kickstart dataset.
More secifically, the dataset that could be taken here contains information and details about the Kickstarter Projects undertaken from 2009 to 2017. It is very detailed and contains information about the money goal and those pledged, the dates of start and deadllines as well.
All the visualisations have been made using the VegaLite framework.
The dataset used, from the two available on the Kaggle Repository, was the “ks-project-201801.csv” because, as the title suggests and as well as data exploration comes up, it concerns data from 2009 to 2017. The other one available, instead, contains data from 2009 to 2016. Furthermore, this choice has also been made due to the presence of the columns “usd real” and “usd goal real” which meaning is explained below. The dataset contains information and details about the KickProjects. Being more specific, each line is referred to a particular project and for each one of them there are ainformation about the project referred. Following a brief explanation of the attributes used for the analysis:
To avoid the slowness of page loading, as consequence of the weight of the whole dataset, it has been filterea Jupyter Python Notebook to delete the rows and the columns that have not been used in the specific visualisation. The data-sets of filtered data and the code used to obtain them have been uploaded here.
Considering the successful projects, which is the Main Category with the greatest number of them? Did it also have the greatest number of Backers and of Money Pledged?
Considering the only Successful projects, these three bar charts show respectively, for each Main Category, the number of projects, the number of backers and the total amount of money pledged in the USD currency. Each row represents the nominal attribute Main Category and its length represents the related quantitative attribute (i.e. the Number of Successful project for the bar chart on the left, the Number of Backers for the bar chart on the center and the Money Pledged in USD currency for the bar chart on the right). Each bar chart is also sorted in relation to its own quantitative attribute. Hovering over a bar will also reveal the exact value of the quantitative attribute for the specific category.
Against the expectation involving the “Technology” category as a winner, due to the nature of Kickstarter as an online platform, the category with the highest number successful projects is Music. This may means that, although Kickstarter is an online platform (i.e. strongly related to the technology field) where people try to finance their projects, other different kind of projects have been more appreciated. However, analyzing the number of supporters, music is not in first place. From the combination of this result with the result shown by the Money Pledged (USD) bar chart, where music is in 5th place, it can be assumed that music is a field in which projects generally have a lower goal then the other categories projects.(i.e. they do nots need a huge amount of money to be successful).
The horizontal bar charts have been chosen because it is a very effective way for length comparing. This makes very easy the comparisons between categories. Adding a bit of redundancy and according to the Colour Pre-Attentive Property, in particular with the fact that differences in hue are perceived in the pre-attention phase, it has been chosen the red colour for the Main Category with the greatest number of successful projects. The Chart starts at 0, as all bar charts should be, for better understanding the difference between bars and avoiding misunderstandings. The alternative considered has been a Grouped Bar Chart with a group for each Main Category. The positive aspect of this alternative is the compactness of the visualisation in which all the information could be encoded in the same chart. Nevertheless, the visualisation could be very difficult to decode because of the differences in the scale range of the quantitative attributes. This last problem could be overcome using normalisation. Also in this case the visualization remains difficult to decode and in particular it is difficult to make comparisons between the categories. Horizontal bar charts have also been considered, but they were been discarded to avoid the use of angled texts that are hard to read.
The dataset for this visualisation was filtered before using the python code uploaded on the Github repository. More precisely, only the columns “ID”, “Main Category”, “Backers” and “USD Pledged Real” of the successful projects are present in this filtered data version because they are the only used. Obviously, the same filter can be applied directly inside the Vega-Lite code, but it has been used the python code to make the page loading much faster.
Considering the successful and failed projects, what is the relationship between the Goal (USD) and the Pledged (USD)?
This scatterplot shows, considering the main category Technology, the relationship between the goal, measured in the USD currency, which represents the objective of a specific project and the pledged, measured in the USD currency as well, which represents the money that have been sent by the people for supporting that project. Only the successful and failed project are considered in this analysis. Hovering over a point will reveal some information about that specific project like name, category, goal and pledged. The colours used are blue to represent the successful projects and orange to represent the failed projects.
The first aspect that comes up from this graph is that the projects with a high goal were failed, receiving just few moneys or nothing. Furthermore, the projects that have success, generally have received much more money than the prefixed goal. This is the reason why the points are distributed along the axis and not on the diagonal as it would have happened if the pledged money had beenmore or less equal than a target money. Considering a generic project, this may suggest that either the project has lot of success or it fails miserably. There are also some interesting outliers highlighted with the orange triangle. They regard the most four successful projects that have been rewarded with more than 4,000,000 dollars:
The analysis of these four projects enforces the previous consideration where there are successful projects that have earned much more than thegoal aimed.
It has been used the scatterplot because it is the best way to show the relationship between two quantitative variables (i.e. the pledged money and the goal money).
The chosen colours have been blue for failed projects, and orange for successful projects according to the
Colour Blind 10 palette,
to make everyone able to decode the graph.
For this kind of analysis, the alternative considered was a binned heatmap that it is a very goodway to show the data distribution avoiding the overlap of points.
However, as consequence of the fact that colours in the heatmap are used to encode density and it couldn’t be used to distinguish the successfulprojects from the failed projects,
the scatterplot was preferred. Furthermore, using the scatterplot make you able to use the tooltip for seeing additional details as which of thenew measure inserted “% of Goal Earned”
that represents the percentage of the pledges over the prefixed goal.
The failed prejects, which goal was over 6,500,000 dollars, representing extreme outliers, have been cancelled using Vegal-Lite filters to avoid the graph to be too long along the x-axes and hard to read. Using the python code for filtering data, only the following columns for the successful and failed projects have been maintained: “ID”,”name”,”category”, “state”, “usd_pledged_real”, “usd_goal_real” to avoid slowdowns during loading as consequence of the original dataset weight. Furthermore, still using python code, only thedata concerning the Technology Main Category have been used as consequence of the specific question about that Category. Obviously, the same filter can be applied directly inside theVega-Lite code, but it has been used the python code to make the page loading much faster.
Regarding the Robot, 3D Printing and Software categories, how the number of projects launched vary across the years from 2014 to 2017? Is the pattern consistent between these three categories?
This line chart aims to show how the number of projects launched in the main category Technology vary during the period from 2014 to 2017, considering the Robot, 3D Printing and Software sub-category. The tooltip is not used here because useless in this context
Using this line chart, it is possible to see the trend during the years from 2014 to 2017 regarding respectively the 3D Printing, the Robots and the Software categories. This graph shows that there was a great increase in the number of projects launched in the 2015 in each category. However, Software category has had a greater interesting then the other two, considering the number of projects launched in the whole period. Then, the pattern that comes up from this analysis is the general increase in the number of projects launched during 2015 followed by a slight decrease during the following years.
It has been used a line chart because it is the best way to spot and compare trends as which seen before. Colours have been also used to encode the different analysed categories. The colours choice is made according to the Colour Blind 10 palette to make everyone able to decode the graph. The alternative that has been analysed for this kind of analysis was the Grouped Bar Chart with a group for each year. The positive aspects of the grouped bar chart is that it makes easier the comparison between the three categories for each year but it makes too hard the identification of a trend. The reason why it has been chosen the line chart is that it is more expressive to spot trends and it is the best way to answer to the specific question above.
As well as in the previous visualisations it has been used the python code for filtering data and build specific dataset for this visualisation. In particular the columns that differ from “ID”, “category” and “launched” for the categories 3D Printing, Robots , Software have been deleted. Obviously, the same filter can be applied directly inside the Vega-Lite code, but it has been used the python code to make the page loading much faster. The filters used inside the Vega-Lite code made possible the restriction over the years from 2014 to 2017.


elephas
A storage agnostic caching framework.
http://sw.cow.tc/elephas
http://rdoc.info/gems/elephas
Usage
The usage of the framework is really simple.
At first you have to setup a cache object with a backend (that is, a storage) for the Elephas. By default it uses an internal hash, and also Rails is supported.
ruby
cache = Elephas::Cache.new(Elephas::Backends::RubyOnRails.new)
After that, you can query the framework for a value use the use
method.
You should also pass a block to the method, so that the framework use that for computing the value of the cache entry.
ruby
value = cache.use("KEY") do |options|
"VALUE"
end
# => "VALUE"
The next time you issue this call, the block won’t be called.
The block takes an argument, which contains all the options for the entry.
You can see Elephas::Cache#setup_options
documentation to see what options are supported.
For now, you just have to know that you can set the :ttl
option to specify how long the value will stay in the cache (in milliseconds). Setting it to a non-positive value means to never cache the value.
See documentation for more informations.
You’re done!
Contributing to elephas
- Check out the latest master to make sure the feature hasn’t been implemented or the bug hasn’t been fixed yet.
- Check out the issue tracker to make sure someone already hasn’t requested it and/or contributed it.
- Fork the project.
- Start a feature/bugfix branch.
- Commit and push until you are happy with your contribution.
- Make sure to add tests for it. This is important so I don’t break it in a future version unintentionally.
- Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
Copyright
Copyright (C) 2013 and above Shogun (shogun@cowtech.it).
Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.


Decided to try NV because the pill was inconvenient. Thought, it is the lowest level of hormones available, it is of local action- so should be few side effects due to minimal systemic absorption. Wrong. I felt moody the whole entire time. And in my mind I knew it wasn't my typical disposition, but it was so overpowering, I just couldn't help it.
I was constantly scratching.
SENT7
There were no hives or ingrown hairs, and I didn't change anything else in terms of my activities/diet/medicines. I felt tired all day long, every day.  That was the last drop before I pulled it out.


|
Trident Training Facility U.S Navy | Master Trainer
May 2015 - PRESENT, Silverdale, WA
Course Supervisor for maintennance of a serial archtecture, I/O polling system
Course Supervisor for maintenance course involving detail circuit anlaysis and Boolean theory
Certified expert in adult education
U.S.S Columbus U.S. Navy | Job Title
April 2010 - May 2015, Pearl Harbor, HI
Built website through Microsoft Excell on ship LAN resulting in increased productivity and reduction in errors.
Expert in RF communications, resulting in the Columbus completing national tasking
|


South rail to start in Q2—Salceda
by Manila Standard BusinessPhase 1 of the P175-billion Philippine National Railways South Long Haul project from Calamba City, Laguna to Legazpi City, Albay will start construction in the second quarter of 2020.
Albay Rep. Joey Sarte Salceda, who has been pushing for the project for many years, said the bidding for the 408-kilometer PNR segment was completed November this year and would be awarded to the winning contractor in April 2020.
The PNR Long Haul stretch consists of a 639-kilometer standard gauge railroad tracks from Manila to Sorsogon, a component of the PNR Luzon System program.
“Finally, the PNR South Railways project which we have tediously designed as a key that will unlock economic potentials of the vast Southern Tagalog and Bicol areas, will soon be a reality,” said Salceda, the project’s original proponent.
The PNR South Railway segment will cut the Manila-Legazpi travel to less than five hours. It runs from Manila to Matnog in Sorsogon with nine major stations―Manila, Los Baños, Batangas City, Lucena, Gumaca, Naga City, Legazpi City, Sorsogon City and Matnog.
Salceda said the PNR Luzon System under the Department of Transportation is among the big-ticket infrastructure projects under an official development assistance agreement recently signed between China and the Philippines.


known as the land of looms and lores because of the loom industries and ritualistic festivals held here in temples.The district is a major centre of Theyyam, a ritual dance of northern Kerala.
It is the northern most district of Kerala and is included in the North Malabar region. It is also known as Saptha Bhasha Sangama Bhoomi (The land of seven languages), as seven languages namely Malayalam, Tulu, Kannada, Marathi, Konkani, Beary, and Urdu are spoken.
Calicut was the capital of Malabar in northern Kerala. One should not miss out on the many tourist attractions that this destination offers. Moreover, this is the place where most of the spices are produced so this place is worth seeing at least once
Wayanad Wildlife Sanctuary is a lush, forested region with areas of high altitude, home to animals including Asiatic elephants, tigers, leopards and egrets. In the Ambukuthi Hills to the south Edakkal Caves contain ancient petroglyphs
Malappuram district contains abundant wildlife and a number of small hills, forests, rivers and streams flowing to the west, backwaters and paddy, arecanut, cashew nut, pepper, ginger, pulses, coconut, banana, tapioca, and rubber plantations
Known as the cultural capital of Kerala, and the land of Poorams. The district is famous for its ancient temples, churches, and mosques. Thrissur Pooram is the most colourful and spectacular temple festival in Kerala
central part of the state known as the commercial capital of Kerala. The district is famous for its ancient temples, churches, and mosques. The district includes the largest metropolitan region of the state
which lies in the Western Ghats of Kerala. Idukki is the second largest district in area but has the lowest population density. Idukki has a vast forest reserve area; more than a half of the district is covered by forests. The urban areas are densely populated whereas villages are sparsely populated. Idukki is also known as the spice garden of Kerala.
Bordered by hills on the east and the Vembanad Lake and paddy fields of Kuttanad on the west, Kottayam has many unique characteristics. Panoramic backwater stretches, lush paddy fields, highlands, hills and hillocks, rubber plantations and places associated with many legends gives Kottayam District the enviable title: The land of letters, legends, latex and lakes
Alappuzha is well connected by waterways to various other parts of Kerala, including the famous tourist destination of Kumarakom; and the district is itself a well known tourist destination. The district is known for its Coir factories, as most of Kerala's coir industries are situated in and around Alappuzha
known as the Headquarters of Pilgrimage Tourism, of the Kerala State. Situated near the Western Ghats and bordered by the hills, Pathanamthitta district is a treat to eyes with its vast unending stretches of forests, rivers and rural landscapes
The district has a cross-section of Kerala's natural attributes; it is endowed with a long coastline, a major Laccadive Sea seaport and an inland lake.The district has many source of waterbodies.
Thiruvananthapuram is a major tourist centre, known for the Padmanabhaswamy Temple, the beaches of Kovalam and Varkala, the backwaters of Poovar and Anchuthengu and its Western Ghats tracts of Ponmudi and the Agastyamala


Publications
Electrum contextualizes enzyme-metabolite interactions and predicts allosteric regulatory mechanisms
With Ian George, Youjia Zhou, Kevin Hicks, Bei Wang, and Jared Rutter
Network-aware reaction pattern recognition reveals regulatory signatures of mitochondrial dysfunction
With Youjia Zhou, Yeyun Ouyang, T. Cameron Waller, Ahmad Cluntun, Megan Conway, Tyler Van Ry, Ian George, Sara Nowinski, James Cox, Bei Wang, and Jared Rutter
bioRxiv, 2020
XPRESSyourself: Enhancing, Standardizing, and Automating Ribosome Profiling Computational Analyses Yields Improved Insight into Data
With Jonathan Belyeu, Jeffrey Morgan, Yeyun Ouyang, Alex Bott, Aaron Quinlan, Jason Gertz, and Jared Rutter
PLoS Computational Biology, 2020
Protein-Metabolite Interactomics Reveals Novel Regulation of Carbohydrate Metabolism
With Kevin Hicks, Ahmad Cluntun, Heidi Schubert, Sean Hackett, Paul Leonard, Mariana Ajalla Aleixo, Aubrie Blevins, Paige Barta, Samantha Tilley, Sarah Fogarty, Jacob Winter, Hee-Chul Ahn, Karen Allen, Samuel Block, Iara Cardoso, Jianping Ding, Ingrid Dreveny, Clarke Gasper, Quinn Ho, Atsushi Matsuura, Michael Palladino, Sabin Prajapati, PengKai Sun, Kai Tittmann, Dean Tolan, Judith Unterlass, Andrew VanDemark, Matthew Vander Heiden, Bradley Webb, Cai-Hong Yun, PengKai Zhap, Christopher Hill, Maria Cristina Nonato, Florian Muller, Daniel Gottschling, James Cox, and Jared Rutter
bioRxiv, 2021
Co-deletion of ATAD1 with PTEN primes cells for BIM-mediated apoptosis
With Jacob Winter, Heidi Fresenius, Heather Keys, Corey Cunningham, Jeremy Ryan, Deepika Sirohi, Sheryl Tripp, Paige Barta, Neeraj Agarwal, Anthony Letai, David Sabatini, Matthew Wohlever, and Jared Rutter
bioRxiv, 2021
The biochemical basis of mitochondrial dysfunction in Zellweger Spectrum Disorder
With Esther Nuebel, Jeffrey Morgan, Sarah Fogarty, Jacob Winter, Sandra Lettlova, Yu-Chan Chen, Chelsea Kidwell, J. Alan Maschek, Katie Clowers, Catherine Argyriou, Lingxiao Chen, Ilka Wittig, James Cox, Minna Roh-Johnson, Nancy Braverman, Joshua Bonkowsky, Steven Gygi, and Jared Rutter
EMBO Reports, 2021
The Pyruvate-Lactate Axis Modulates Cardiac Hypertrophy and Heart Failure.
With Ahmad Cluntun, Rachit Badolia, Sandra Lettlova, Mark Parnell, Thirupura Shankar, Nikolaos Diakos, Kristofor Olson, Iosif Taleb, Sean Tatum, Corey Cunningham, Tyler Van Ry, Alex Bott, Aspasia Thodou Krokidi, Sarah Fogarty, Sophia Skedros, Wojciech Swiatek, Xuejing Yu, Bai Luo, Shannon Merx, Sutip Navankasattusas, James Cox, Gregory Ducker, William Holland, Stephen McKellar, Jared Rutter, and Stavros Drakos
Cell Metabolism, 2021
Mitochondrial fatty acid synthesis coordinates oxidative metabolism in mammalian mitochondria
With Sara Nowinski, Ashley Solmonson, Scott Rusin, J. Alan Maschek, Claire Bensard, Sarah Fogarty, Mi-Young Jeong, Sandra Lettlova, Jeffrey Morgan, Yeyun Ouyang, Bradley Naylor, Joao Paulo, Katsuhiko Funai, James Cox, Steven Gygi, Dennis Winge, Ralph DeBerardinis, and Jared Rutter
eLife, 2020
Compartment and hub definitions tune metabolic networks for metabolomic interpretations
With T. Cameron Waller, Alexander Lex, Brian Chapman, and Jared Rutter
GigaScience, 2020
Cysteine Toxicity Drives Age-Related Mitochondrial Decline by Altering Iron Homeostasis
With Casey Hughes, Troy K. Coody, Mi-Young Jeong, Dennis Winge, and Adam Hughes
Cell, 2020
Regulation of Tumor Initiation by the Mitochondrial Pyruvate Carrier
With Claire Bensard, Dona Wisidagama, Kristofor Olson, Nathan Krah, John Schell, Sara Nowinski, Sarah Fogarty, Alex Bott, Peng Wei, Katja Dove, Jason Tanner, Vanja Panic, Ahmad Cluntun, Sandra Lettlova, Christian Earl, David Namnath, Karina Vázquez-Arreguín, Claudio Villanueva, Dean Tantin, L. Charles Murtaugh, Kimberley Evason, Gregory Ducker, Carl Thummel, and Jared Rutter
Cell Metabolism, 2019
ACP Acylation Is an Acetyl-CoA-Dependent Modification Required for Electron Transport Chain Assembly
With Jonathan Van Vranken, Sara Nowinski, Katie Clowers, Mi-Young Jeong, Yeyun Ouyang, Jeremy Gygi, Steven Gygi, Dennis Winge, Jared Rutter
Molecular Cell, 2018


Do you know the power of your brain?? Wanna know the limit of your imagination??
Let me introduce you to something very exciting...............Here comes
“PROJECT-X”
Just get some basic skills and imagination in your bag because that is all you need to participate in this event. The event focuses on implementation of your imagination with efficiency and elegance
Prize money:
Great prizes and lots of goodies are to be won.


Pete is on a journey. He needs to flee the heat of the sterets and see green leaves and teres. Even under the teres, Pete feels the heat of the sun. He is thrilled to see a creek. Pete slips into the creek and is pleased to be in the sweet, clean sweep of the cool water. Pete feels a snail under his heel just as a breeze sweeps past his cheek. His hair begins to stand on end at the feel of the sleek snail and the cool air. Pete cannot breathe. He hears wildlife a few feet away. Pete hears feet: big feet! "Please let it not be a real beast," pleads Pete. The steps come near. It is Pete's big brother Steve! "Get out of that creek before you begin to sneeze," teased Steve.
in-context


My name is Rodrigo Bezerra and I'm a senior software developer.
I have always been interested in technology in general, but the first time I actually learned about coding was when I was an exchange student in the US, and took C classes in High School. After this fantastic opportunity I realised I wanted to pursue a career in computer science.
In my spare time I'm usually going for long walks, coding or reading about technology. I also like jogging, playing squash, and watching TV series / movies.


Dharana helps you staying focused!
The following website elements are now hidden by default:
Sidebar on StackExchange
Sidebar on YouTube


Aldi shopper spots what could be the worst 'Black Friday deal' of all time
'Bargain of the day'
by Rachel Pugh, https://www.manchestereveningnews.co.uk/authors/rachel-pugh/Black Friday is now in full swing, and shoppers have been inundated with deals on pretty much every single product you can shake a stick at.
From Apple AirPods, to Now TV sticks and Build-A-Bear teddies , there really is something to keep everyone happy in the sales.
But while there are many fabulous deals to be had, one shopper has spotted the best one yet - and it comes courtesy of Aldi .
Posting a picture of a pile of McVitie's biscuits on Twitter, Spod1000 pointed out the phenomenal offer.
Under the picture, Spod1000 wrote: "Black Friday is here. Bargain of the day."
It has to be seen to be believed, but Aldi has slashed an incredible ONE PENCE off the biscuits.
Calm down, Aldi, don't be spoiling us too much now.
The Manchester Evening News has contacted Aldi for comment on the bargain find, and we'll update you when we can.
Yesterday shoppers rushed to Aldi stores and were seen queuing in store car parks - not to get their hands on the £3.99 biscuits, but to try and nab some goodies from the Kevin the Carrot toy range.
However, scenes of chaos quickly began, as people became disgruntled with the lengthy waiting times.
Taking to Twitter, one frustrated shopper expressed their anger: "Thought I’d get up early and go out to see if I could get one of those Kevin the carrot toys at Aldi.
"Got there and the queue was snaking back past the store with people still coming. All that for a toy!"
"I am in a queue at #aldi to buy fluffy sprouts..." said somebody else.
Another said: "Queues are forming over a carrot! A plush carrot at that! #kevinthecarrot#Aldi#Worksop ."
"Stalybridge Aldi sold out of Kevin’s in 20 minutes," another said.


This picture pretty much sums up what the famous pro-Bitcoin investors have to say about the price prediction at the end of 2018, which is now. The least daring prediction was $20,000 by Pantera Capital and that looks like a moon to us from the dirt viewpoint currently. If we were to achieve half other carefully calculated prediction even it was just for $20k price level, we could halve the world suicide rate.
 Maybe not. Likely they have their own skin in the game while making bullish promises like that will keep the BTC price well supported so they can keep selling off their holdings, or they were really speaking out from the strong faith? There are countless average investors making bullish prediction in the same tone while market starts to correct.
And we know how the thing is going now.

Suddenly everyone is saying getting rid of Bitcoin is a wiser choice. Just like how everyone was hailing for it last year.
Act along or against the mainstream opinion? Your bet.
Posted from my blog with SteemPress : https://fr3eze.vornix.blog/expert-says-bitcoin-is-going-to-hit-100000-at-the-end-of-2018/
This page is synchronized from the post: ‘Expert says Bitcoin is going to hit $100,000 at the end of 2018!’


{% extends "jam/base.html" %} {% from "_formhelpers.html" import form_errors %} {% block title %}Rating » {{ game.title }}{% endblock %} {% block content %}
Here you can give up- and downvotes! One point is the worst and ten points the best you can give.
Only the overall rating score is counted for the game rank. The other categories are feedback for the team of the game and may be used to filter out games that perform well in a specific aspect of game design to be highlighted seperately, but these values are not used in the average score.
The categories are selected by the creator of the game, and thus may not be the same for every game.
Please note that you can edit your rating at any time during the rating phase of the jam, but cannot reset it after first submitting.


erpnext.setup.setup_wizard.operations.taxes_setup.create_sales_tax (args)
No docs
erpnext.setup.setup_wizard.operations.taxes_setup.get_country_wise_tax (country)
No docs
erpnext.setup.setup_wizard.operations.taxes_setup.get_tax_account_group (company)
No docs
erpnext.setup.setup_wizard.operations.taxes_setup.make_sales_and_purchase_tax_templates (accounts, template_name=None)
No docs
erpnext.setup.setup_wizard.operations.taxes_setup.make_tax_account (company, account_name, tax_rate)
No docs
erpnext.setup.setup_wizard.operations.taxes_setup.make_tax_account_and_template (company, account_name, tax_rate, template_name=None)
No docs


Forest Cover Type
Researchers at the Department of Forest Sciences at Colorado State University collected over half a million measurements from tree observations from four areas of the Roosevelt National Forest in Colorado. All observations are cartographic variables (no remote sensing) from 30-meter x 30-meter sections of forest.
The resulting dataset includes information on tree type, shadow coverage, distance to nearby landmarks (roads etcetera), soil type, and local topography. In total there are 55 columns/features.
Problem
Can we build a model that predicts what types of trees grow in an area based on the surrounding characteristics? Like elevation, slope, distance, soil type etcetera.
Dataset
The dataset has 55 columns in total where Wilderness_Area
consists of 4 dummy variables and Soil_Tpye
consists of 40 dummy variables.
Continuous Data
Elevation
(in meters)Aspect
(in degrees azimuth1)Slope
(in degrees)Horizontal_Distance_To_Hydrology
(Horizontal distance to nearest surface water features in meters)Horizontal_Distance_To_Roadways
(Horizontal distance to nearest roadway in meters)Horizontal_Distance_To_Fire_Points
(Horizontal distance to nearest wildfire ignition points in meters)Vertical_Distance_To_Hydrology
(Vertical distance to nearest surface water features in meters)Hillshade_9am
(Hill shade index at 9am, summer solstice. Value out of 255)Hillshade_Noon
(Hill shade index at noon, summer solstice. Value out of 255)Hillshade_3pm
(Hill shade index at 3pm, summer solstice. Value out of 255)
Categorical Data
Wilderness Area
(4 dummy variable binary columns, 0 = absence or 1 = presence)Soil Type
(40 dummy variable binary columns, 0 = absence or 1 = presence)
The target variable Cover_Type
is defined as an integer value between 1
and 7
, with the following key:
- Spruce/Fir.
- Lodgepole Pine.
- Ponderosa Pine.
- Cottonwood/Willow
- Aspen
- Douglas-fir
- Krummholz
Approach
EDA
The first step with every dataset is to do an Exploratory Data Analysis
(EDA). What kind of data do we have? Text or numerical (continues or categorical)? Do we have missing data, or just merely wrong data — values which do not make any sense in the given context, i.e., 9999.
Because of the sheer number of soil types and wilderness areas I had a look at them first. Luckily, the researchers here were efficient in the sense that they document everything meticulously. Everything we need to know with a detailed description can be found online2.
From that document, we can find out that
This study area includes four wilderness areas located in the Roosevelt National Forest of northern Colorado. These areas represent forests with minimal human-caused disturbances, so that existing forest cover types are more a result of ecological processes rather than forest management practices.
Not that this is of any importance for our data exploration or to make a prediction, but I found it interesting to read. Because it makes you think about what kind of implications your result can potentially have.
However, what we want to find out is how the data is distributed by Cover_Type
. Here I created a seaborn.countplot
.
tmpList = []
for c in soil_df.columns:
tmpList += [str(c)] * soil_df[c].value_counts()[1]
se = pd.Series(tmpList)
df['Soil_Types'] = se.values
plt.figure(figsize=(16, 8))
sns.countplot(data=df, x='Soil_Types', hue='Cover_Type')
plt.title('Number of Observation by Cover Type')
plt.xticks(rotation=90)
plt.show();
Looking more closely at the data we can find that the top 5 soil types count for more than 50% of the measurements in the collected data.
Unlike categorical data, the continues data is even more interesting to investigate. The questions we want to find answers for are
- Do we need to scale/normalise the continuous data?
- What about skewness/kurtosis?
- Does it matter if the data is in meter, degree or index?
Feature Selection
There are several ways to explore what features we need to keep around to make our prediction. The labour intensive workflow and the much quicker workflow - what I would like to call the “blindfolded method”. For the purpose of gaining more inside, I choose to do both.
In the first workflow, I used several classifiers from the sklearn.ensemble
Library. These are, AdaBoostClassifier
, RandomForestClassifier
, GradientBoostingClassifier
and ExtraTreeClassifier
. All these classifiers have one thing in common, which is the attribute feature_importances_
, which returns the feature importance (the higher the value, the more important the feature).
# Create an empty dataframe to hold our findings for feature_importances_
ranking_df = pd.DataFrame()
RFC_model = RandomForestClassifier(random_state=0, n_jobs=-1)
RFC_model.fit(X, y)
importances = RFC_model.feature_importances_
indices = np.argsort(importances)[::-1]
# Get feature name
rfc_list = [X.columns[indices[f]] for f in range(X.shape[1])]
ranking_df['RFC'] = rfc_list
# Get feature importance
rfci_list = [importances[indices[f]] for f in range(X.shape[1])]
ranking_df['RFC importance'] = rfci_list
The result was a pandas data frame with all features from the dataset in order of importance, which allows us to pick the best features. Interestingly, RandomForestClassifier
and ExtraTreeClassifier
had the most similar results. Other findings from that list were,
Gradian Boosting
shows similar names just in a different order compared toRandom Forest
andExtra Tree
.AdaBoost
on the other hand shows an exciting and unique result. The top 8 features alone are enough to make a good class prediction. Compared to all the other classifiers, here we haveWilderness_Area4
on aboveElevation
in the list.Elevation
dominates in all classifiers with a range of18-25%
, up to65%
inGBC
.Hillshade
features are seen in the top 20 in 3 out of 4 classifiers.Random Forest
andExtra Tree Classifier
showHillshade
features having similar ranges.Horizontal_Distance_To_Hydrology
andVertical_Distance_To_Hydrology
are in all classifiers in the top 10.Horizontal_Distance_To_Roadways
andHorizontal_Distance_To_Fire_Points
are represented at the top 3 out of 4 classifiers.Aspect
andSlope
also show up in the top 20 across all classifiers, with the exception of Gradian Boosting Slope which isn’t in the top 20.- In regards to
Soil_Type
, it is hard to find some commonality. Here I choose to select:Soil_Type2
,Soil_Type4
,Soil_Type10
,Soil_Type22
,Soil_Type23
andSoil_Type39
.
The question I asked myself at this point is, was the time wisely spend? After all, it took almost 20 minutes to calculate. One advantage this approach has is, we know our selected features.
The other approach we can choose is using PCA
(Principal Component Analysis) from sklearn.
y = df['Cover_Type']
X = df.drop('Cover_Type', axis=1)
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
pca = PCA(n_components=20)
X_pca = pca.fit_transform(X_scaled)
The big advantage to this is the short processing time. However, the drawback, we are losing any knowledge regarding our features. Is that important? Possibly.
As you can see in the code snippet above, I opted to scale the features. Researching that topic, I found that there is a multitude of approaches, some use a combination of StandardScaler
, MinMaxScaler
and Normalizer
method and others just picked one of the methods for scaling, centring, normalisation, binarisation and imputation the sklearn.preprocessing
module. Some just scale only the continuous features and not the categorical, etcetera. The list of possibilities goes on. For now, I just used the most straightforward way.
Evaluate Model
By hand selecting our features, we get an accuracy of 92.23%
and an f1_score of 86.74%
using cross validation. In contrast, PCA
has an accuracy of 90.72%
and an f1_score of 84.44%
. Is that a big enough difference to justify the time spent to find our features? Maybe.
X_train, X_test, y_train, y_test = train_test_split(X_pca, y, random_state=0)
clf = KNeighborsClassifier(weights='distance', n_jobs=-1)
clf.fit(X_train, y_train)
accuracy = cross_val_score(clf, X_train, y_train, cv = 10, scoring = 'accuracy', n_jobs=-1)
f1_score = cross_val_score(clf, X_train, y_train, cv = 10, scoring = 'f1_macro', n_jobs=-1)
# predict
predict = clf.predict(X_test)
# calculating accuracy
accuracy = accuracy_score(y_test, predict)
print('KNeighbors Classifier model')
print('Accuracy: {:.2f}%'.format(accuracy * 100))
knn_classification_report = classification_report(y_test, predict)
print(knn_classification_report)
To test how accurate we can predict the Cover_Type
I used the KNeighborsClassifier
from sklearn, and we got an accuracy of 91.02%
. That is great.
Conclusion
Yes, we can build a model that predicts what types of trees grow in an area based on the surrounding characteristics.
Final Thought
We can use sklearn’s GridSearchCV
to find our features (exhaustive search over specified parameter values for an estimator). Moreover, we should make use of sklearn’s Pipeline
functionality to write clean and manageable code.
One last question, could we use clustering to make our prediction?
Footnotes


Fiber Demo with dataBind
This demo dataBind can update 1000 node while animating and keeping high framerate.


CSS is used to control the style of a web document in a simple and easy way.
CSS is the acronym for "Cascading Style Sheet". This tutorial covers both the versions CSS1,CSS2 and CSS3, and gives a complete understanding of CSS, starting from its basics to advanced concepts.
This tutorial will help both students as well as professionals who want to make their websites or personal blogs more attractive.
You should be familiar with:
If you are new to HTML and XHTML, then we would suggest you to go through our HTML Tutorial or XHTML Tutorial first.


| After the traumatic loss of her mother, a teenaged girl tries to uncover the dark secrets behind her new home, in spite of her father's disbelief. | |
| Genres: | Thriller |
| Director: | Adam Massey |
| Writer: | Jason Juravic |
Cast: | Rose Halshford - Miranda Cosgrove Jerry Halshford - Donal Logue Noah Henry - Austin Butler Howard Markby - Tom Sizemore Leila Markby - Jenessa Grant Marcus Garrison - Michael Luckett Charlie - Mackenzie Ball Cheri Garrison - Claire Calarco Rachel Winacott - Jazmin Paradis Sophia Halshford - Kelly Boegel City Hall Records Man - Jim Calarco Paramedic #1 - Michael Vincent Dagostino Football Fan - Gerardo Barcala Architectural Client - Douglas E. Davidson Architect - Jeff Smith Pool Party Girl - Jaymee Weir Paramedic - Tammy-lynn Wilcox |


stash@{0}: WIP on submit: 6ebd0e2... Update git-stash documentation stash@{1}: On master: 9cc0589... Add git-stash
git-stash(1) Manual Page
NAME
git-stash - Stash the changes in a dirty working directory away
SYNOPSIS
git stash list [<options>] git stash show [<stash>] git stash drop [-q|--quiet] [<stash>] git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>] git stash branch <branchname> [<stash>] git stash [save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet] [-u|--include-untracked] [-a|--all] [<message>]] git stash clear git stash create [<message>] git stash store [-m|--message <message>] [-q|--quiet] <commit>
DESCRIPTION
Use git stash when you want to record the current state of the working directory and the index, but want to go back to a clean working directory. The command saves your local modifications away and reverts the working directory to match the HEAD commit.
The modifications stashed away by this command can be listed with git stash list, inspected with git stash show, and restored (potentially on top of a different commit) with git stash apply. Calling git stash without any arguments is equivalent to git stash save. A stash is by default listed as "WIP on branchname ...", but you can give a more descriptive message on the command line when you create one.
The latest stash you created is stored in refs/stash; older stashes are found in the reflog of this reference and can be named using the usual reflog syntax (e.g. stash@{0} is the most recently created stash, stash@{1} is the one before it<EMAIL_ADDRESS>is also possible).
OPTIONS
- save [-p|--patch] [--[no-]keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet] [<message>]
Save your local modifications to a new stash, and run git reset --hard to revert them. The <message> part is optional and gives the description along with the stashed state. For quickly making a snapshot, you can omit both "save" and <message>, but giving only <message> does not trigger this action to prevent a misspelled subcommand from making an unwanted stash.
If the --keep-index option is used, all changes already added to the index are left intact.
If the --include-untracked option is used, all untracked files are also stashed and then cleaned up with git clean, leaving the working directory in a very clean state. If the --all option is used instead then the ignored files are stashed and cleaned in addition to the untracked files.
With --patch, you can interactively select hunks from the diff between HEAD and the working tree to be stashed. The stash entry is constructed such that its index state is the same as the index state of your repository, and its worktree contains only the changes you selected interactively. The selected changes are then rolled back from your worktree. See the Interactive Mode section of git-add(1) to learn how to operate the --patch mode.
The --patch option implies --keep-index. You can use --no-keep-index to override this.
- list [<options>]
List the stashes that you currently have. Each stash is listed with its name (e.g. stash@{0} is the latest stash, stash@{1} is the one before, etc.), the name of the branch that was current when the stash was made, and a short description of the commit the stash was based on.
The command takes options applicable to the git log command to control what is shown and how. See git-log(1).
- show [<stash>]
Show the changes recorded in the stash as a diff between the stashed state and its original parent. When no <stash> is given, shows the latest one. By default, the command shows the diffstat, but it will accept any format known to git diff (e.g., git stash show -p stash@{1} to view the second most recent stash in patch form).
- pop [--index] [-q|--quiet] [<stash>]
Remove a single stashed state from the stash list and apply it on top of the current working tree state, i.e., do the inverse operation of git stash save. The working directory must match the index.
Applying the state can fail with conflicts; in this case, it is not removed from the stash list. You need to resolve the conflicts by hand and call git stash drop manually afterwards.
If the --index option is used, then tries to reinstate not only the working tree's changes, but also the index's ones. However, this can fail, when you have conflicts (which are stored in the index, where you therefore can no longer apply the changes as they were originally).
When no <stash> is given, stash@{0} is assumed, otherwise <stash> must be a reference of the form stash@{<revision>}.
- apply [--index] [-q|--quiet] [<stash>]
Like pop, but do not remove the state from the stash list. Unlike pop, <stash> may be any commit that looks like a commit created by stash save or stash create.
- branch <branchname> [<stash>]
Creates and checks out a new branch named <branchname> starting from the commit at which the <stash> was originally created, applies the changes recorded in <stash> to the new working tree and index. If that succeeds, and <stash> is a reference of the form stash@{<revision>}, it then drops the <stash>. When no <stash> is given, applies the latest one.
This is useful if the branch on which you ran git stash save has changed enough that git stash apply fails due to conflicts. Since the stash is applied on top of the commit that was HEAD at the time git stash was run, it restores the originally stashed state with no conflicts.
- clear
Remove all the stashed states. Note that those states will then be subject to pruning, and may be impossible to recover (see Examples below for a possible strategy).
- drop [-q|--quiet] [<stash>]
Remove a single stashed state from the stash list. When no <stash> is given, it removes the latest one. i.e. stash@{0}, otherwise <stash> must be a valid stash log reference of the form stash@{<revision>}.
- create
Create a stash (which is a regular commit object) and return its object name, without storing it anywhere in the ref namespace. This is intended to be useful for scripts. It is probably not the command you want to use; see "save" above.
- store
Store a given stash created via git stash create (which is a dangling merge commit) in the stash ref, updating the stash reflog. This is intended to be useful for scripts. It is probably not the command you want to use; see "save" above.
DISCUSSION
A stash is represented as a commit whose tree records the state of the working directory, and its first parent is the commit at HEAD when the stash was created. The tree of the second parent records the state of the index when the stash is made, and it is made a child of the HEAD commit. The ancestry graph looks like this:
.----W / / -----H----I
where H is the HEAD commit, I is a commit that records the state of the index, and W is a commit that records the state of the working tree.
EXAMPLES
- Pulling into a dirty tree
When you are in the middle of something, you learn that there are upstream changes that are possibly relevant to what you are doing. When your local changes do not conflict with the changes in the upstream, a simple git pull will let you move forward.
However, there are cases in which your local changes do conflict with the upstream changes, and git pull refuses to overwrite your changes. In such a case, you can stash your changes away, perform a pull, and then unstash, like this:
$ git pull ... file foobar not up to date, cannot merge. $ git stash $ git pull $ git stash pop
- Interrupted workflow
When you are in the middle of something, your boss comes in and demands that you fix something immediately.
You can use git stash to simplify the above, like this:
# ... hack hack hack ... $ git stash $ edit emergency fix $ git commit -a -m "Fix in a hurry" $ git stash pop # ... continue hacking ...
- Testing partial commits
You can use git stash save --keep-index when you want to make two or more commits out of the changes in the work tree, and you want to test each change before committing:
# ... hack hack hack ... $ git add --patch foo # add just first part to the index $ git stash save --keep-index # save all other changes to the stash $ edit/build/test first part $ git commit -m 'First part' # commit fully tested change $ git stash pop # prepare to work on all other changes # ... repeat above five steps until one commit remains ... $ edit/build/test remaining parts $ git commit foo -m 'Remaining parts'
- Recovering stashes that were cleared/dropped erroneously
If you mistakenly drop or clear stashes, they cannot be recovered through the normal safety mechanisms. However, you can try the following incantation to get a list of stashes that are still in your repository, but not reachable any more:
git fsck --unreachable | grep commit | cut -d\ -f3 | xargs git log --merges --no-walk --grep=WIP
SEE ALSO
GIT
Part of the git(1) suite


- ACCOUNT_ALREADY_LINKED - Static variable in exception com.parse4cn1.ParseException
-
- add(T) - Method in class com.parse4cn1.ParseRelation
-
Adds an object to this relation.
- addAllToArrayField(String, Collection<?>) - Method in class com.parse4cn1.ParseObject
-
Atomically adds the objects contained in values
to the end of the
array associated with a given key
.
- addAllUniqueToArrayField(String, Collection<?>) - Method in class com.parse4cn1.ParseObject
-
Atomically adds the objects contained in values
to the array
associated with a given key, only if it is not already present in the
array.
- addArgument(String, String) - Method in class com.parse4cn1.command.ParseCommand
-
Adds the specified key-value pair as an argument to the HTTP request.
- addAscendingOrder(String) - Method in class com.parse4cn1.ParseQuery
-
Also sorts the results in ascending order by the given key.
- addDescendingOrder(String) - Method in class com.parse4cn1.ParseQuery
-
Also sorts the results in descending order by the given key.
- addHeader(String, String) - Method in class com.parse4cn1.command.ParseCommand
-
Add the HTTP header field associated with the provided key and value.
- addJson - Variable in class com.parse4cn1.command.ParseGetCommand
-
- addObject(ParseObject, ParseBatch.EBatchOpType) - Method in class com.parse4cn1.ParseBatch
-
Adds an object to the batch to be
executed
.
- addObjects(Collection<? extends ParseObject>, ParseBatch.EBatchOpType) - Method in class com.parse4cn1.ParseBatch
-
Adds multiple objects to the batch to be
executed
.
- addToArrayField(String, Object) - Method in class com.parse4cn1.ParseObject
-
Atomically adds an object to the end of the array associated with a given
key
.
- AddToArrayOperation - Class in com.parse4cn1.operation
-
This class defines an operation to 'atomically' add objects to an array field
of a ParseObject.
- AddToArrayOperation(Collection<?>) - Constructor for class com.parse4cn1.operation.AddToArrayOperation
-
- AddToArrayOperation(Object) - Constructor for class com.parse4cn1.operation.AddToArrayOperation
-
- addUniqueToArrayField(String, Object) - Method in class com.parse4cn1.ParseObject
-
Atomically adds an object to the array associated with a given key, only
if it is not already present in the array.
- AddUniqueToArrayOperation - Class in com.parse4cn1.operation
-
This class defines an operation to 'atomically' add unique objects to an array field
of a ParseObject.
- AddUniqueToArrayOperation(Collection<?>) - Constructor for class com.parse4cn1.operation.AddUniqueToArrayOperation
-
- AddUniqueToArrayOperation(Object) - Constructor for class com.parse4cn1.operation.AddUniqueToArrayOperation
-
- apply(Object, ParseObject, String) - Method in class com.parse4cn1.operation.AddToArrayOperation
-
- apply(Object, ParseObject, String) - Method in class com.parse4cn1.operation.AddUniqueToArrayOperation
-
- apply(Object, ParseObject, String) - Method in class com.parse4cn1.operation.DeleteFieldOperation
-
- apply(Object, ParseObject, String) - Method in class com.parse4cn1.operation.IncrementFieldOperation
-
- apply(Object, ParseObject, String) - Method in interface com.parse4cn1.operation.ParseOperation
-
Applies the operation to the specified object.
- apply(Object, ParseObject, String) - Method in class com.parse4cn1.operation.RelationOperation
-
- apply(Object, ParseObject, String) - Method in class com.parse4cn1.operation.RemoveFromArrayOperation
-
- apply(Object, ParseObject, String) - Method in class com.parse4cn1.operation.SetFieldOperation
-
- asExternalizable() - Method in class com.parse4cn1.ParseObject
-
Wraps this ParseObject in a form that can be persisted to storage.


| 1948 |
Initial Apartheid policies adopted. |
| 20 Mar 1960 |
South African police massacre 69 black civil rights demonstrators in Sharpeville incident, which moves African National Congress to abandon its policy of nonviolence. |
| 1962 |
Nelson Mandela arrested, sentenced to life imprisonment. |
| 6 Sep 1966 |
Parliamentary messenger Demetrios Tsafendas assassinates Prime Minister Hendrik Verwoerd, by sticking a knife in his chest on the floor of the South African legislature. The apartheid system had been Verwoerd's brainchild. |
| 1974 |
South Africa expelled from United Nations, over Apartheid policies. |
| 16 Jun 1976 |
15,000 schoolchildren take to the streets of Soweto to protest South Africa's adoption of bilingual instruction in the Afrikaans language. The nonviolent march ends abruptly when police and soldiers open fire on the crowd, killing 600 and igniting days of rioting throughout the region. |
| 12 Sep 1977 |
Anti-Apartheid activist Steven Biko dies of a brain hemorrhage, naked and on the floor of Pretoria Central Prison. Police had inflicted serious head injuries on September 6 while he was in custody. |
| 23 Sep 1979 |
South Africa secretly tests an atomic bomb. |
| 1989 |
Activist Stompei Seipei Moketsi (age 14) kidnapped by Winnie Mandela's guards, and later killed. |
| 1991 |
Winnie Mandela convicted of assault and kidnapping, over Stompei's murder. |
| 11 Apr 2001 |
Soccer stampede leaves 43 dead in Johannesburg (Kaizer Chiefs vs Orlando Pirates.) |
| 2002 |
Kami, the first HIV-positive Muppet, appears on Sesame Street in South Africa. The aidsy muppet is designed to promote education about HIV/AIDS. |


Quiz Question The question goes here? Answers First answer. Second answer. Third answer. Why? Answer! Next!


Ethernet (IEEE 802.3) Overview |
This document provides an overview of ethernet, a local area network (LAN) technology that provides flexible, low cost, high speed connectivity for a diverse range of computer systems and peripherals. Ethernet ranges in speed from 10 up to 1000 Mbps and can be transmitted across twisted pair, coaxial or fibre optic media depending on the implementation. Specifically, this document will focus on the 10 Mbps twisted pair variant. The physical electronics, signaling and medium access will be explained along with data formats required by the specification.Also included are a number of specific VHDL implementation examples for an ethernet transciever control system and CRC generator.
Ethernet was originally researched by Xerox, and the name "Ethernet" has been trademarked by them. Later, the technology was reworked and standardized by the IEEE. The 802.3 specification defines these standards for the physical network medium and required hardware interfaces.10BaseT ethernet has become the corporate standard for Local Area Network (LAN) communications. It provides 10 million bits of data per second, serially across unshielded copper twisted pair wiring.
Ethernet is a CSMA/CD (Carrier Sense Multiple Access with Collision Detection) protocol."Multiple Access" indicates that numerous stations share a common bus. Ethernet is a broadcast medium, where data sent onto the bus will arrive at all connected stations.
"Carrier Sense" means that stations are able to monitor the current status on the medium to determine if another station is currently transmitting data, or if the bus is idle and available for any station to send data.
"Collision Detection" allows stations to identify when more than one station have attempted to transmit data onto the bus within the same transmission window. Since the bus is shared, and there is no formal arbitration method to determine which station can send data, collisions are a normal occurrence. In the event of a collision, the stations that were attempting to send will abort the current transmission and retry after a random period. This randomness minimized repeated collisions when these stations retry their transmissions.
In order to ensure that collisions can be properly detected by all stations on the bus, a minimum frame size must be set. This is done to allow enough time lapse while a station is sending a frame to acknowledge a collision with the most distant node on the bus.
This worst case analysis allows a maximum round trip time of 50 microseconds. In this time, 500 bits, or slightly less than 64 bytes of data can be inserted onto the medium. As a result, the minimum ethernet frame must be 64 bytes long. If the frame payload is small, it will be padded to attain a full 64 bytes.
Preamble Delimiter Dest Address Source Address Length Data Pad Checksum 7 1 6 6 2 0 to 1500 0 to 46 4 (bytes) Each frame begins with an 7 byte preamble containing 10101010 in each byte. When encoded onto the physical medium, the preamble appears as a square wave at 10MHz for 5.6 micro seconds. This allows the receiver's clock to synchronize with incoming data. The preamble is followed by a start of frame delimiter, 10101011 that will identify the start of the frame.
The source and destination addresses each uniquely identify a single station or interface. As a frame is read from the channel, the destination address will be compared with the station's own address. If these match, the entire frame will be read, and directed to an appropriate software driver for further processing. Generally, all other stations will stop reading the frame when they discover they are not the intended recipient.
The length field specifies how many bytes will be present within the data field. This is required as a means to identify the end of a frame. Additionally, it is needed to recognize and remove any padding that has been added to the frame's payload. Data lengths can vary from 0 to 1500 bytes, however as mentioned above in the Medium Access section, a frame can not be shorter than 64 bytes to ensure the acknowledgement of worst-case collisions. As a result, a short frame will be padded up to 64 bytes, and the length field will later be used to split the actual payload from the padding upon frame reception.
The 32 bit checksum provides a cyclic redundancy check as means of error control. If the frame's CRC does not match the value computed by the recipient, the frame will be thrown out. More details on how this checksum is generated and tested are included below under the heading Error Detection.
Since the ethernet receiver derives it's clock from the incoming data stream, using a direct signal encoding of 0 volts for a logic 0 value and 5 volts for a logic 1 value could lead to timing problems. Specifically, a long string of 1's or 0's could cause the receiver to lose synchronization with the data. Further, the recipient would be unable to determine the different between an idle sender (0 voltage) and a string if 0's (again 0 voltage).The solution for this dilemma is found in ethernet's encoding scheme. Rather than transmitting the logic level directly, Manchester encoding is used. With this technique, one transition is guaranteed for each bit cycle. A binary 1 is encoded as a transition from high to low, and a 0 equates to a transition from low to high. However, the trade-off for this synchronization technique is that twice the signaling bandwidth is required, since there must be two pulse for every bit transmitted. As a result, 10 Mb/s ethernet actually works with a 20MHz serial data signal.
The purpose of error detection is to allow a station to verify the integrity of the data within a frame that has been transmitted through a noisy medium. To accomplish this, the transmitting station uses a standardized function to create a checksum that is added to the end of the frame. The same function cam then be reapplied by the recipient. The two checksums should match, implying that no bit errors were induced into the frame. Otherwise, it can be concluded that errors are present and the frame can be discarded. (The only thing worse than no data, is bad data)In ethernet, the particular checksum used is known as CRC (Cyclic Redundancy Check). The value for an N-bit CRC can be generated by divinding a data stream with N trailing zeroes by an N-bit constant which is common to both the transmitter and recipient. The remainder of this division is our CRC value.
This seems a fairly trivial task, until one considers the potential size of the dividend of the division operation. In an ethernet implementation, this could be as long as 12000 bits (1500 bytes), which easily exceeds the capabilities of standard 32 bit registers, and quite simply could not be contained within any modern FPGA.
However, there is a fairly simply solution. Since we are only interested in the remainder of the division operation and not the quotient, we can go about this a little differently. By working with a register the same size as our target checksum, we are able to shift the serial data through the register, while simply using XORs as linear feedback to the register. Basically, it works like this:
The register now contains the remainder.
Load the register with zero bits.
Augment the message by appending N zero bits to the end of it.
While (more message bits)
Shift the register left by one bit, reading the next bit of the augmented message into register bit position 0.End
If (a 1 bit popped out of the register during step 3)
Then Register = Register XOR Generator Poly.
[Source: A Painless Guide to CRC Error Detection Algorithms]This algorithm has been ported to VHDL, for general purpose use (not specific to ethernet) and can be used to generate and test N bit CRC checksums.
crc_gen.vhd - VHDL Generic CRC Generator Source
A VHDL based system has been designed to control a National Semiconductor DP83910A ethernet transciever. While this system has been designed specifically with the DP83910A in mind, due to the generic nature of the DP83910A and the standard ethernet signalling and frame formats involved this design should be directly applicable to similar applications with different interface chips.Ethernet Control System State Table
ethernet.vhd - VHDL Ethernet Controller Source
- Repeater
- Operates at the physical layer of the OSI model, this "dumb" device simply retransmits incoming data to an outgoing port.
- Hub
- A multi-port repeater, that retransmits incoming data to multiple outgoing ports.
- Switch
- This device operates at the data-link layer of the OSI model. The switch maintains an address table that maps the physical location of a station to a particular port on the switch. When a frame arrives, if the physical location of the destination is known, the frame will be forwarded only on the appropriate outgoing port. If the destination is not know, the frame will be forwarded onto all ports.
- Bridge
- A two port switch.
- Router
- Routes act as a gateway between networks. Functioning at the network layer of the OSI, any packets addressed specifically to the router will be forwarded to an appropriate remote location.
- 10Base-2
- Ethernet media specification for RG58 (50 ohm) "thin" coax running at 10 Mb/s.
- 10Base-5
- Ethernet media specification for ohm coax running at 10 Mb/s.
- 10Base-T
- Ethernet media specification for UTP (Unshielded Twisted Pair) cable with RJ-45 connections running at 10 Mb/s.
- 100Base-T, 100Base-TX, 100Base-T4
- As above, but requires CAT5 UTP and runs at 100 Mb/s.
- 10Base-F
- Ethernet media specification for fibre optic cable running at 10 Mb/s.
- 100Base-FX
- As above, but runs at 100 Mb/s.
G = 1 billion (10^9), not 2^30 M = 1 million (10^6), not 2^20 b = bits B = bytes = 8 bits
- WWW References
- Ethernet WWW Home Page, Chris Spurgeon
Ethernet (10Base-2,5,T,F) Reference Guide, Chris Spurgeon
Ethernet LAN Technology, Thomas Miller
Introduction to Ethernet Technology, H Gilbert
Ethernet FAQThe CRC Pitstop, Ross N. Williams
A Painless Guide to CRC Error Detection Algorithms, Filip Gieszczykiewicz
Cyclic Redundancy Checking for Ethernet
- Text Books
- Bertsekas and Gallager, Data Networks, Second Edition, Prentice Hall, 1992.
A. Tannenbaum, Computer Networks, 3rd Edition, Prentice Hall, 1996.
- Hardware
- If you're looking for ethernet transceivers for your project, you'll probably find what you're looking for on one of these sites. National Semiconductor is recommend, as you can expect a 2 to 5 day turnaround on any parts currently in production.
National Semiconductor - Ethernet Product Catalog
Seeq - Data Communications Product Info
Level One - Networking Product Line
LSI Logic - Networking: LAN and WAN Equiptment
Cirrus Logic (Cyrystal Semiconductor) - Ethernet Products


Mitchell Aitken, Julian Cramb, Jackson Cooper
Model builder to create two 50km buffer zones off of the surge warning zones and hurricane breakpoints.
This map shows all of the locations that fall within 50km of either a breakpoint or storm surge warning.
Model builder that takes the polyline data and converts it into polygon data which can then be intersected with the coastal cities.
This Map shows which coastal cities have had a hurricane pass directly through them in the years from 2000-2020, each 10 year segment is displayed by a different symbol.
Model builder that takes the polyline data and converts it into polygon data which can then be intersected with the coastal cities.
This Map shows which coastal cities have had a hurricane pass directly through them in the years from 1950-1970, each 10 year segment is displayed by a different symbol.
Model builder that takes takes the StormLine data, performs a line density analysis, and creates a new feature class for each.
This Map shows the density of the storms over a 10 year period. This specific period is 2000-2010. Each line density analysis was set to a small cell size to have a more aesthetically pleasing design.


Our evaluation of tests consists of three phases: seeding, injecting, and validating. During the seeding phase we plant 'honey' DNS records into caches. Specifically, we cause the tested DNS resolution platforms to issue queries for records in the our domain. During the inject phase we evaluate overwriting records by replacing them with new values (see payloads in Table below). During the validation phase we check whether the cache contains new values, namely, overwriting succeeded. We check this by probing the values of the 'honey' records. Some tests may fail. Multiple failed tests may indicate unstable network infrastructure, changes in caching hosts, censorship, attacks, packet loss... To cope with failures, we repeat our tests multiple times. Hence the output table contains a fraction of tests that succeeded. However, even a single successful test suffices for inferring whether the tested cache supports a tested "overwriting" property.


Sign in to GitHub
Username or email address
Password
Forgot Password?
Sign in
New to GitHub?
Create an account.


| Class and Description |
|---|
| Protocol
Don't use this directly.
|
| RuntimeState
This is the chunk of global state that Protocol instances have access
to.
|
| Class and Description |
|---|
| CommunicationPatternAgent |
| Compiler
Generates RuntimeAgent
|
| MicaOptions
Command line options that can be given to MiCA's TestHarness class.
|
| MicaRuntime
The Runtime instance represents the local node in the gossip
network.
|
| Protocol
Don't use this directly.
|
| Protocol.Direction
Not currently used
|
| RuntimeContextManager |
| RuntimeInterface |
| RuntimeState
This is the chunk of global state that Protocol instances have access
to.
|
| Class and Description |
|---|
| CommunicationPatternAgent |
| Compiler
Generates RuntimeAgent
|
| MicaRuntime
The Runtime instance represents the local node in the gossip
network.
|
| Protocol
Don't use this directly.
|
| RuntimeContextManager |
| RuntimeInterface |
| Class and Description |
|---|
| CommunicationPatternAgent |
| Compiler
Generates RuntimeAgent
|
| MicaRuntime
The Runtime instance represents the local node in the gossip
network.
|
| Protocol
Don't use this directly.
|
| RuntimeContextManager |
| RuntimeInterface |
| RuntimeState
This is the chunk of global state that Protocol instances have access
to.
|
| Class and Description |
|---|
| Protocol
Don't use this directly.
|
| Class and Description |
|---|
| MicaOptions
Command line options that can be given to MiCA's TestHarness class.
|
| Protocol
Don't use this directly.
|
| Protocol.Direction
Not currently used
|
| Class and Description |
|---|
| Protocol
Don't use this directly.
|
| RuntimeState
This is the chunk of global state that Protocol instances have access
to.
|
| Class and Description |
|---|
| NeedsRuntimeException
Thrown by Selector.asDistribution and Overlay.getOverlay if they are
called
without a RuntimeState object and it turns out to be necessary (not all
objects will require RuntimeState to produce a distribution)
|
| Protocol
Don't use this directly.
|
| Protocol.Direction
Not currently used
|
| RuntimeState
This is the chunk of global state that Protocol instances have access
to.
|
| Class and Description |
|---|
| Protocol
Don't use this directly.
|
| Class and Description |
|---|
| RuntimeState
This is the chunk of global state that Protocol instances have access
to.
|
| Class and Description |
|---|
| MicaOptions
Command line options that can be given to MiCA's TestHarness class.
|
| MicaRuntime
The Runtime instance represents the local node in the gossip
network.
|
| Protocol
Don't use this directly.
|
| Class and Description |
|---|
| Protocol
Don't use this directly.
|


Talented Junior Software Engineer offering 4 years of transferable skills and experience working on Agile development and top notch abilities in organizing workflows, solving complex problems and making accurate decisions based on sound judgment and analytical strengths. Fluent both in English and Spanish.
Download ResumeJunior Web Developer experienced using APIs and MySQL databases to create captivating full stack web applications.
4 years of experience working on agile development and leading problem solving initiatives to enhance business processes.
Experience working with CSS frameworks and creating fully responsive web aplications with CSS/HTML/JS.
Identifying improved approaches and enhanced solutions to business challenges are activities that drive and inspire me.
Exploration, pursuit and motivation are my frameworks for success. I believe that fresh
perspectivesand trying new techniques help business evolve
and grow. My life goal is to be on the cutting edge of technology and industry andvancement and
contribute back to the communities that need it the most.
Learn more
Fully Responsive Website utilizing HTML/CSS and JavaScript.
Application that can be used to write, save, and delete notes..
Full Stack web application usign MySQL, Node, Handlebars and ORM.
CMS Command line application to manage employee roles.
App that connects to a weather API and displays a 5 day forecast.
Have any questiosn? reach out to me via email, raven pidgeon or any other method.


Hello, my name is Mark Raudenbush. I'm based out of Westminster, CO. I have skills in HTML, CSS, JavaScript, jQuery, Bootstrap, Materialize, Node.js, Express and MySQL. I have been working in information technology for about 20 years and have recently decided to add web development to my skill set. I am currently attending the University of Denver Coding Boot Camp.
This website was created to facilitate dog adoption. Users are able to view profiles for dogs that have been put up for adoption. Users can also create an account(or login with and existing account) and create new posts for dog adoption. Posts include basic information about the dog along with a picture(stored in Cloudinary with the URL saved in a MySQL database)
This is a simple weather dashboard application. You are able to enter a city to receive current and future weather information.
This is a work day scheduler that allows you to enter activities/tasks and it saves them to local storage.


A pie chart is a specialized type of graph which is used to display a single set of data. It is usually used when there are a small number of different data values (less than 10), but can be used effectively with more. In a pie chart, a circle is divided into wedges, with each wedge corresponding to a different data value or group of data values. The size of the wedge is determined by the percentage of the data which matches that data value or group of values.
in-context


#include <storage.h>
Public Member Functions | |
| const_iterator (base_type::const_iterator other) | |
| const_iterator (base_type::iterator other) | |
| const InterfaceState & | operator* () const noexcept |
| const InterfaceState * | operator-> () const noexcept |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |