|IndyWatch Education Feed Archiver|
IndyWatch Education Feed was generated at Community Resources IndyWatch.
Ill resist sliding into what seems the standard youth sector account of anything it does, namely somehow that its always overwhelmingly new, innovative and inspiring. My caution aside the reports from the medley of Is the tide turning events and discussions held in the last week or so do give grounds for a measure of hope and optimism. Here are a few quotes and photos to back up a collective sense that the struggle to reclaim and reimagine a youth work freed from the shackles of neoliberal dogma is alive and even flourishing.
A great IDYW Turning the Tide Event hosted by the D2N2 Youth Work Alliance at the University of Derby today. Over 65 practitioners and youth work students in attendance....
At last! Sanity emerges on the British Left !! Now that socialism is re-emerging as a political force that can no longer be ignored or ridiculed, the struggle for more time for leisure, family and relaxation should be linked to broader fights. Increased public ownership of the economy should be structured to create more worker 
We didnt have any problems with image sharpness in the early years of the internet, because we didnt need to show websites on mobile devices.
Today we see a tremendous growth in mobile web surfing. So much so that, this year, it has even overtaken traffic on desktops.
Most clients try to create responsive interfaces for their websites so they are easily accessible from any kind of device. And it doesnt seem strange that many layout developers have started to use
for their images. So they seamlessly work across any browser window resolution, scaling to the available space.
Conceptually, everything looks good. Designers create nice big images, and developers use those images for every device. In some cases, developers create multiple versions of the same image, so a smaller image is downloaded for mobile screens, and a bigger image for desktops.
Unfortunately, Chrome doesnt want to resize images in the way that good image editors do. Instead, it out-puts the image with not the same, or similar, sharpness as the initial image.
The main reason for this may be performance. When a webpage has many images, and the device processor is not highly productive, additional image processing could lead to bigger lags in page rendering, so Chrome omit this process as not being crucial for end users.
I will show you some examples using Chrome browser, and then using other browsers. Here is an image, downsized to 1000 px in Photoshop:
The same image uploaded in original size and downscaled by the browser. Compare the sharpness of the dogs eyes.
Things get even worse when you add sharpness in Photoshop after downsizing. But photos are more forgiving in this case, as they typically dont have many sharp edges. Issues with any vector illustrations saved as .png images are much more noticeable. Frequent casewebsite logos.
Asanas logo, initial file:
Resized in Photoshop:
Rendered in browser:
Wecans logo, initial file:...
Humans stink. Its nothing to be ashamed of: it is the inevitable consequence of our animal nature.
But humans aspire to be more than animals.
Humanitys singular endeavor throughout history has been the journey to eliminate stink. Weve always hated it. Even in antiquity, we sent people on ridiculous journeys around the world in rickety sailboats, and across deserts on tiny horses, to find some remedy for it.
We have iterated for thousands of years to reach a stink-free world. From the invention of soap and toothpaste to the Yankee Doodle Candle Co. and Febrezeour soaps, candles, and sprays now give us a way to make food waste and industrial garbage smell like mountain raindrops and sugar cookies.Mmmm! Pumpkin spice! (Photo by NeONBRAND on Unsplash)
And yet with each innovation, we find a new way to stink.
Like our battle between antibiotics and bacteria, we have launched an endless arms race between ourselves and our environment. Now were moving beyond the era of physical products.
With our advancement, we have brought stink along with usjust as we always have. We created the information age.
And we created information stink.
Garbage comes cloaked in a wonderful variety of smells. As a new father, a door opened for me into an undiscovered country of stink. Previously, I had only heard rumors of this world from the few parents who survived it. Rumors always accompanied by a thousand-yard stare.
Just so, there are many types of stinky information. Teenagers in central Europe write up fake news articles for social media clicks. There is always one more weird trick that doctors dont want you to know.
Today, in this article, were going past all that. Were diving into the very seams of our new information era to learn about the stinks that we Morlocks are creating in our very own products. Im talking about code smell.
Kent Beck and Martin Fowler define code smell as a surface...
The main purpose of coding is to solve problems. For example, what happens when you click on a button? Thats a problem for us to solve.
So, lets begin this article by solving a simple problem.
If you have 4 apples and you buy 27 more, how many apples do you have? Take a second and write your answer in your text editor.
Whats your answer?
// Or this?
4 + 27
But theres still one problem with the code.
If you look at 4 + 27 without any context from our apple problem, do you know were calculating the number of apples youre currently holding?
So, a better way is to use algebra to substitute 4 and 27 with variables. When you do so, youll get the ability to write code that has meaning:
initialApples + applesBought
The process of substituting 4 with a variable called initialApples is called declaring variables.
You declare variables with the following syntax:
const variableName = 'value'
There are four parts youll want to take note of:
variableName is the name of the variable youre declaring. You can name it anything, as long as it follows these rules:
If you need to use two or more words to name your variable, just join the words together but capitalize the first letter of each subsequent word. This weird capitalization is called camel case.
A good example of a camel-cased variable is applesToBuy.
The value is what you want the variable to be. It can be primitives (like strings and numbers) or objects (like arrays and functions).
In the following statement, you set the variable initialApples to the number 4.
const initialApples = 4
If you console.log this variable, you can see that initialApples is 4.
console.log(initialApples) // 4
(AUDIO, 43 minutes) -Albuquerque, NM to Amarillo, TX (even though we weren't sure at the time of recording) -Discussing our visit with the Erwin family today and our exploration of New Mexico -overcoming stress and frustration on both legs of the trip Click HERE to download. On October 15th Brett began a road trip across ...
For enforcing types in React, I typically use... #react RT's appreciated
Since PropTypes provide type warnings at runtime, its helpful to be as specific as possible.
Heres a PropType example:https://medium.com/media/e019278c6f44de68391613cd427f60bf/href
In real apps with large objects, this quickly leads to a lot of code. Thats a problem, because in React, youll often pass the same object to multiple components. Repeatin...
Part A: Initial Setup
Part B: The Core Functionality
Part C: Last Steps to Full Fledged
Download the Github here.
Setting up user authentication can take ages, but it is an essential cornerstone of any production app. There are options out there such as AuthO and PassportJS, but they either have hard learning curves, require continual maintenance, or are vulnerable to programmer errors as they require self-setup. If only there was a hands-off, customizable, secure and highly scalable user management service on the cloud.
Introducing Amazon Cognito and Federated Identities. Cognito is the AWS solution for managing user profiles, and Federated Identities help keep track of your users across multiple logins. Integrated into the AWS ecosystem, AWS Cognito opens up a world of possibility for advanced front end development as Cognito+IAM roles give you selective secure access to other AWS services. Want to only allow S3 Bucket access to specific signed on users? Simply connect a Cognito login with an IAM role allowed access to the bucket, and now your bucket is secure! Best of all, the free tier gives you 50,000 monthly active users so you wont have to worry about paying more until youre ready to boom.
This boilerplate is a React-Redux web app that has the full features of AWS Cognito and Federated Identities pre-integrated. Use this boilerplate if you have an app that you want developed with a production-ready authentication service from the very beginning. Indeed this is a powerful launchpad for your next great idea.
Go to AWS Cognito on the AWS console to get started!
We will be setting up AWS Cognito, which is a custom login pool (such as login with email). Cognito IS NOT a login manager for any type of login (such as Facebook and Gmail), only for custom logins....
Todays ONS Labour Market Bulletin, provides further data about the changing relationship between young people, education and employment. Even if its still much higher than for other age groups, youth unemployment continues to fall. For July to September 2017, joblessness for 16 to 24 year olds was 11.9% ( down from 13.1% a year earlier 
The past 8 months I have been creating GO2CINEMA. This web application allows users to discover showtimes. They can also book cinema tickets across the world.
The platform grew to over +50 distinct services. The services support data aggregation, normalization, validation, analysis, distribution, invalidation, and more. Some of these services run in high replication environments, into the hundreds.
I needed to know when things break. And I needed to be able to correlate logs across all these services to identify the issue.Running services in high-concurrency you need to be able to pin point when and what breaks.
I needed a logger that did not exist.
For a long time I have been a big fan of using debug. Debug is simple to use, works in Node.js and browsers, does not require configuration and it is fast. However, problems arise when you need to parse logs. Anything but one-line text messages cannot be parsed in a safe way.
To log structured data, I have been using Winston and Bunyan. These packages are great for application-level logging. I have preferred Bunyan because of the Bunyan CLI program used to pretty-print logs.
However, these packages require program-level configuration. When constructing an instance of a logger, you need to define the transport and the log-level. This makes them unsuitable for use in code designed for use by other applications.
Then there is pino. Pino is a fast JSON logger. Its CLI program is equivalent to Bunyan. It decouples transports, and it has a sane default configuration. Yet you still need to instantiate logger instance at the application-level. This makes it more suitable for application-level logging like Winston and Bunyan.
I needed a logger that:
In other words a logger that:
and it needs to be loud...
Generating SVGs from images can be used for placeholders. Keep reading!
Im passionate about image performance optimisation and making images load fast on the web. One of the most interesting areas of exploration is placeholders: what to show when the image hasnt loaded yet.
During the last days I have come across some loading techniques that use SVG, and I would like to describe them in this post.
In this post we will go through these topics:
In the past I have written about placeholders and lazy-load of images, and also talked about it. When doing lazy-loading of images its a good idea to think about what to render as a placeholder, since it can have a big impact in users perceived performance. In the past I described several options:
Several strategies to fill the area of an image before it loads.
By Richard Rothstein
Racial segregation characterizes every metropolitan area in the United States and bears responsibility for our most serious social and economic problems it corrupts our criminal justice system, exacerbates economic inequality, and produces large academic gaps between white and African American schoolchildren. Weve taken no serious steps to desegregate neighborhoods, however, because we are hobbled by a national myth that residential segregation is de facto the result of private discrimination or personal choices that do not violate constitutional rights. In truth, however, residential segregation was created by racially explicit and unconstitutional government policy in the mid-20th century, including the racially explicit federal subsidization of whites-only suburbs in which African Americans were prohibited from participating. Only after learning the history of these policies can we be prepared to undertake the national conversations necessary to remedy our unconstitutional racial landscape.
Such a national conversation is now possible. Without minimizing the terrible dangers of todays resurgent white supremacist activity, we also should take hope from the reaction to it: a widespread willingness to confront, in many cases for the first time, the history of African American subjugation. Our previous failure, even refusal to do so, has impeded our ability to eliminate the racial caste conditions that permeate U.S. society.
Not to be underestimated is the wave of Confederate monument removals across the South, and the acknowledgement that these monuments were erected not after the Civil War to commemorate the misguided heroism of Confederate soldiers, but rather during the Jim Crow and post-Brown v. Board of Education eras, for the purpose of celebrating slavery and its residues in second-class citizenship. Who could have imagined, even a few years ago, that a...
Source: Fog Creek
Project managers (PMs) are deadline chasers. They think clients
want the earliest possible ship date to reduce costs. But thats a
common misconception. What clients really want is the best
possible product with the earliest possible ship date.
Quality products need well-written code. Developers should use the 12 development approaches on the Joel Test to ensure good source control, encourage daily builds, and make use of QA testers.
Realistic deadlines need to be based on estimations from track records. Our project teams wanted to verify the accuracy of our estimations and create a feedback loop for our PMs and developers. Weve been doing evidence-based scheduling (EBS) with Fog Creek for two months, and Id like to share what weve learned so far.
We used Fog Creeks EBS to track developers estimates compared to their actual time spent on a project. This data helped us make better project schedules, and also provided a feedback loop for PMs and developers to improve their estimates for individual tasks.
But the emphasis is not on OCD time tracking toolswe trust our
developers and PMs to input their times in the project
Besides what Fog Creek mentions in their EBS blog post, heres what we learned in our implementation.
As I mentioned above, our EBS tracks estimates vs time spent for user stories and features. The individual features are broken down into tasks (GitHub Issues) that should be completed within two days.
Developers still need to map out exactly how a feature will be
put together by creating small enough tasks. For example, rather
than just saying Create shopping cart, we can break these tasks
down into various items, such as Layout cart product list.
This tracking also benefits our clients, because they can see exactly what we are working on for each bi-weekly sprint. They will be notified if features are completed ahead of or behind schedule, and there will be no surprises.
We also track our PMs time estimates, because they are not just account managers. They must have some technical understanding. It is important for PMs to learn from their miscalculations and improve their future estimates.
By comparing their estimates with the developer...
|IndyWatch Education Feed Archiver|
IndyWatch Education Feed was generated at Community Resources IndyWatch.
Resource generated at IndyWatch using aliasfeed and rawdog