Jonathan G

1595536392

Save Your Back While Working at Home

At least 8 out of 10 workers have back pain and the culprit is our habits, the long hours we spend sitting in front of the computer screen, working at tables, driving or lying on the couch that do not go unnoticed on our health.

Our bodies are built for movement. In fact, several studies have shown that. One of the most recent, published in 2016 by the prestigious American Journal of Preventive Medicine, lists the countless benefits of ‘being a restless butt’ to our health.

A sedentary lifestyle is serious, to the extent that it can lead to chronic and debilitating musculoskeletal pain, a stiff and sore back, headaches, and poor digestion, although she says that, on a general level, leading a sedentary life damages our general health.

Here are a few tips fellow programmers could use to keep themselves healthy while working at home:

SIT PROPERLY IN YOUR CHAIR

1.- Make sure your head is in line with your shoulders and your chin is tucked in.

2.- Sit in an upright position and lean fully against the back of your chair, using its lumbar support or a small cushion, to support your lower back well and keep your posture upright.

3.- Your thighs should be at right angles to your hips, and your feet should be flat on the floor. If you need to use a low footrest to maintain this position, do so. It will compensate you because it will help you maintain a firm posture in the chair.

Your computer screen should be right in front of your eyes, so you don’t have to look up or down. If you use a laptop, try lifting it up to eye level with a platform and use a wireless keyboard.

Your shoulders should be relaxed, not raised or bent forward, and your upper arms and elbows should be close to your body.

#health #computer #lifestyle

What is GEEK

Buddha Community

Save Your Back While Working at Home
Sasha  Roberts

Sasha Roberts

1659500100

Reform: Form Objects Decoupled From Models In Ruby

Reform

Form objects decoupled from your models.

Reform gives you a form object with validations and nested setup of models. It is completely framework-agnostic and doesn't care about your database.

Although reform can be used in any Ruby framework, it comes with Rails support, works with simple_form and other form gems, allows nesting forms to implement has_one and has_many relationships, can compose a form from multiple objects and gives you coercion.

Full Documentation

Reform is part of the Trailblazer framework. Full documentation is available on the project site.

Reform 2.2

Temporary note: Reform 2.2 does not automatically load Rails files anymore (e.g. ActiveModel::Validations). You need the reform-rails gem, see Installation.

Defining Forms

Forms are defined in separate classes. Often, these classes partially map to a model.

class AlbumForm < Reform::Form
  property :title
  validates :title, presence: true
end

Fields are declared using ::property. Validations work exactly as you know it from Rails or other frameworks. Note that validations no longer go into the model.

The API

Forms have a ridiculously simple API with only a handful of public methods.

  1. #initialize always requires a model that the form represents.
  2. #validate(params) updates the form's fields with the input data (only the form, not the model) and then runs all validations. The return value is the boolean result of the validations.
  3. #errors returns validation messages in a classic ActiveModel style.
  4. #sync writes form data back to the model. This will only use setter methods on the model(s).
  5. #save (optional) will call #save on the model and nested models. Note that this implies a #sync call.
  6. #prepopulate! (optional) will run pre-population hooks to "fill out" your form before rendering.

In addition to the main API, forms expose accessors to the defined properties. This is used for rendering or manual operations.

Setup

In your controller or operation you create a form instance and pass in the models you want to work on.

class AlbumsController
  def new
    @form = AlbumForm.new(Album.new)
  end

This will also work as an editing form with an existing album.

def edit
  @form = AlbumForm.new(Album.find(1))
end

Reform will read property values from the model in setup. In our example, the AlbumForm will call album.title to populate the title field.

Rendering Forms

Your @form is now ready to be rendered, either do it yourself or use something like Rails' #form_for, simple_form or formtastic.

= form_for @form do |f|
  = f.input :title

Nested forms and collections can be easily rendered with fields_for, etc. Note that you no longer pass the model to the form builder, but the Reform instance.

Optionally, you might want to use the #prepopulate! method to pre-populate fields and prepare the form for rendering.

Validation

After form submission, you need to validate the input.

class SongsController
  def create
    @form = SongForm.new(Song.new)

    #=> params: {song: {title: "Rio", length: "366"}}

    if @form.validate(params[:song])

The #validate method first updates the values of the form - the underlying model is still treated as immutuable and remains unchanged. It then runs all validations you provided in the form.

It's the only entry point for updating the form. This is per design, as separating writing and validation doesn't make sense for a form.

This allows rendering the form after validate with the data that has been submitted. However, don't get confused, the model's values are still the old, original values and are only changed after a #save or #sync operation.

Syncing Back

After validation, you have two choices: either call #save and let Reform sort out the rest. Or call #sync, which will write all the properties back to the model. In a nested form, this works recursively, of course.

It's then up to you what to do with the updated models - they're still unsaved.

Saving Forms

The easiest way to save the data is to call #save on the form.

if @form.validate(params[:song])
  @form.save  #=> populates album with incoming data
              #   by calling @form.album.title=.
else
  # handle validation errors.
end

This will sync the data to the model and then call album.save.

Sometimes, you need to do saving manually.

Default values

Reform allows default values to be provided for properties.

class AlbumForm < Reform::Form
  property :price_in_cents, default: 9_95
end

Saving Forms Manually

Calling #save with a block will provide a nested hash of the form's properties and values. This does not call #save on the models and allows you to implement the saving yourself.

The block parameter is a nested hash of the form input.

  @form.save do |hash|
    hash      #=> {title: "Greatest Hits"}
    Album.create(hash)
  end

You can always access the form's model. This is helpful when you were using populators to set up objects when validating.

  @form.save do |hash|
    album = @form.model

    album.update_attributes(hash[:album])
  end

Nesting

Reform provides support for nested objects. Let's say the Album model keeps some associations.

class Album < ActiveRecord::Base
  has_one  :artist
  has_many :songs
end

The implementation details do not really matter here, as long as your album exposes readers and writes like Album#artist and Album#songs, this allows you to define nested forms.

class AlbumForm < Reform::Form
  property :title
  validates :title, presence: true

  property :artist do
    property :full_name
    validates :full_name, presence: true
  end

  collection :songs do
    property :name
  end
end

You can also reuse an existing form from elsewhere using :form.

property :artist, form: ArtistForm

Nested Setup

Reform will wrap defined nested objects in their own forms. This happens automatically when instantiating the form.

album.songs #=> [<Song name:"Run To The Hills">]

form = AlbumForm.new(album)
form.songs[0] #=> <SongForm model: <Song name:"Run To The Hills">>
form.songs[0].name #=> "Run To The Hills"

Nested Rendering

When rendering a nested form you can use the form's readers to access the nested forms.

= text_field :title,         @form.title
= text_field "artist[name]", @form.artist.name

Or use something like #fields_for in a Rails environment.

= form_for @form do |f|
  = f.text_field :title

  = f.fields_for :artist do |a|
    = a.text_field :name

Nested Processing

validate will assign values to the nested forms. sync and save work analogue to the non-nested form, just in a recursive way.

The block form of #save would give you the following data.

@form.save do |nested|
  nested #=> {title:  "Greatest Hits",
         #    artist: {name: "Duran Duran"},
         #    songs: [{title: "Hungry Like The Wolf"},
         #            {title: "Last Chance On The Stairways"}]
         #   }
  end

The manual saving with block is not encouraged. You should rather check the Disposable docs to find out how to implement your manual tweak with the official API.

Populating Forms

Very often, you need to give Reform some information how to create or find nested objects when validateing. This directive is called populator and documented here.

Installation

Add this line to your Gemfile:

gem "reform"

Reform works fine with Rails 3.1-5.0. However, inheritance of validations with ActiveModel::Validations is broken in Rails 3.2 and 4.0.

Since Reform 2.2, you have to add the reform-rails gem to your Gemfile to automatically load ActiveModel/Rails files.

gem "reform-rails"

Since Reform 2.0 you need to specify which validation backend you want to use (unless you're in a Rails environment where ActiveModel will be used).

To use ActiveModel (not recommended because very out-dated).

require "reform/form/active_model/validations"
Reform::Form.class_eval do
  include Reform::Form::ActiveModel::Validations
end

To use dry-validation (recommended).

require "reform/form/dry"
Reform::Form.class_eval do
  feature Reform::Form::Dry
end

Put this in an initializer or on top of your script.

Compositions

Reform allows to map multiple models to one form. The complete documentation is here, however, this is how it works.

class AlbumForm < Reform::Form
  include Composition

  property :id,    on: :album
  property :title, on: :album
  property :songs, on: :cd
  property :cd_id, on: :cd, from: :id
end

When initializing a composition, you have to pass a hash that contains the composees.

AlbumForm.new(album: album, cd: CD.find(1))

More

Reform comes many more optional features, like hash fields, coercion, virtual fields, and so on. Check the full documentation here.

Reform is part of the Trailblazer project. Please buy my book to support the development and learn everything about Reform - there's two chapters dedicated to Reform!

Security And Strong_parameters

By explicitly defining the form layout using ::property there is no more need for protecting from unwanted input. strong_parameter or attr_accessible become obsolete. Reform will simply ignore undefined incoming parameters.

This is not Reform 1.x!

Temporary note: This is the README and API for Reform 2. On the public API, only a few tiny things have changed. Here are the Reform 1.2 docs.

Anyway, please upgrade and report problems and do not simply assume that we will magically find out what needs to get fixed. When in trouble, join us on Gitter.

Full documentation for Reform is available online, or support us and grab the Trailblazer book. There is an Upgrading Guide to help you migrate through versions.

Attributions!!!

Great thanks to Blake Education for giving us the freedom and time to develop this project in 2013 while working on their project.


Author: trailblazer
Source code: https://github.com/trailblazer/reform
License:  MIT license

#ruby  #ruby-on-rails

How to Work Productively From Home During COVID-19 Outbreak?

We all know that due to this COVID-19 outbreak, to maintain social distancing, all IT companies and other sectors, who can work from home, have included the working from home option in their policies. Employees are assigned with remote work connecting directly to their companies’ servers to ensure security and safety of information as well.
Working from home is an excellent option to be more productive; at the same time, it can make you lazy as well.

Working from the comfort of being at home can impact both ways. Even educational institutions remain closed, and students do not have classroom lessons because of this COVID-19 outbreak.

Hence, similar to work from home for employees, educational institutions have taken up virtual learning to students to keep them occupied until the coronavirus issue settles down. To keep yourself productive during this COVID-19 outbreak, here are some tips that you can make use of and exhibit your caliber and support to the organization you work for.

Tips To Increase Your Work Ability At Home

#work from home #how to work from home #remote work from home

Alice Cook

Alice Cook

1614329473

Fix: G Suite not Working | G Suite Email not Working | Google Business

G Suite is one of the Google products, developed form of Google Apps. It is a single platform to hold cloud computing, collaboration tools, productivity, software, and products. While using it, many a time, it’s not working, and users have a question– How to fix G Suite not working on iPhone? It can be resolved easily by restarting the device, and if unable to do so, you can reach our specialists whenever you want.
For more details: https://contactforhelp.com/blog/how-to-fix-the-g-suite-email-not-working-issue/

#g suite email not working #g suite email not working on iphone #g suite email not working on android #suite email not working on windows 10 #g suite email not working on mac #g suite email not syncing

Xfinity Stream Not Working?

Xfinity, the tradename of Comcast Cable Communications, LLC, is the first rate supplier of Internet, satellite TV, phone, and remote administrations in the United States. Presented in 2010, previously these administrations were given under the Comcast brand umbrella. Xfinity makes a universe of mind boggling amusement and innovation benefits that joins a great many individuals to the encounters and minutes that issue them the most. Since Xfinity is the greatest supplier of link administrations and home Internet in the United States, it isn’t amazing that the organization gets a ton of investigating and inquiry goal demands on its telephone based Xfinity Customer Service.

#my internet is not working comcast #comcast tv remote not working #my xfinity internet is not working #xfinity stream not working #xfinity wifi hotspot not working

Elena Evans

Elena Evans

1621674042

5 Pocket-Friendly Essentials You All Need to Create A Home Gym

“Why should I create a home gym? I am fit and fine then why I need a home gym setup?”

During this pandemic, Thousands of people are working from home, and In such a situation, health has become the priority of all of them. Not only working employees but the health of other family members are important. The easiest way to maintain your health and fitness is to create a home gym.

A home gym is a remedy that can save the cost of your heavy gym membership. If you have a spare room then you are a lucky person where you can set up a home gym. In this blog, I will let you know about the 5 essentials that you all need to create a home gym.

Why Create Home Gym?

Save your time to go the gym
Save the money on your gym membership
One time investment
Keep your body fit and maintained
Helps to maintain hygiene
Helps to lose belly fat
No time-bound and more.

In our busy lives, a home gym could be a boon for all of us, and in this corona war, Eazyro has come up with a set of home gym equipment and home gym machines.

5 Essentials to Create A Home Gym

Dumbbells

Dumbbells play a very important role in the gym. Whether you want to lose weight or want to strengthen your muscles, dumbbells are one of the most ingenious parts of equipment you can add to a home gym. Dumbbells set with a rack has come up in a variety of weight, you can choose as per the need of your body weight.

Barbell

With a barbell set, your dumbbells and barbell sets will get complete. A barbell weight set helps to gain strength in your muscles. The combination of dumbbells and barbell make your home gym complete.

Electric Treadmill

From ancient time, walk and running both are considered as the best exercise that keeps your brain and heart-healthy. Through electric treadmills, you can run and walk in your own house, it overcomes the stress of weather conditions and makes your morning healthy.

Skipping Rope

With skipping rope, we all have our childhood memories. This is not surprising that skipping rope is a fantastic cardio and coordination tool. It will give an experience of a full-body workout. It helps to stabilize your legs, hands, mind, upper body for jumping.

Pull Up Bar

Pull-ups are an excellent way to strengthen your upper body and keep it more healthy. My personal trainer and other professional trainers always recommend pulling bars in the gym essentials.

Conclusion

A home gym is a place that is a one-time and long-time investment. I think people should care about their physical fitness during this pandemic. If you are looking to buy home gym equipment, exercise machines for home, or cardio machines for home, but only at Eayro which is the best platform that has home gym types of equipment available at affordable prices.

#home gym equipment #home gym machine #exercise machine for home #home gym equipment for sale #cardio machines for home