All Files (67.92% covered at 0.69 hits/line)
65 files in total.
424 relevant lines.
288 lines covered and
136 lines missed
# frozen_string_literal: true
- 1
class ApplicationController < ActionController::Base
- 1
protect_from_forgery with: :exception
- 1
protected
- 1
def after_sign_in_path_for(resource)
if resource.new_user
flash[:notice] = "Por favor, atualize suas informações."
return edit_user_registration_path
end
root_path
end
end
# frozen_string_literal: true
- 1
class CoursesController < ApplicationController
- 1
before_action :authenticate_user!
- 1
before_action :set_teachers, only: %i[new create edit]
- 1
before_action :set_course, only: %i[edit update destroy]
- 1
def new
@course = Course.new
end
- 1
def index
if current_user.admin?
@courses = Course.all.order(title: :asc).page(params[:page]).per(6)
elsif current_user.teacher?
@courses = Course.all.where(user_id: current_user.id).page(params[:page]).per(6)
elsif current_user.student?
@courses = Course.all.where.not(id: current_user.enrollments.map(&:course_id)).page(params[:page]).per(6)
end
end
- 1
def show; end
- 1
def create
@course = Course.new(course_params)
if @course.save
flash[:notice] = "Curso salvo com sucesso."
redirect_to courses_path
else
flash[:alert] = "Erro ao salvar curso."
render :new
end
end
- 1
def edit; end
- 1
def update
if @course.update(course_params)
flash[:notice] = "Curso atualizado com sucesso."
redirect_to courses_path
else
flash[:alert] = "Erro ao atualizar curso."
render :edit
end
end
- 1
def destroy
if @course.destroy
flash[:notice] = "Curso deletado com sucesso."
else
flash[:alert] = "Erro ao deletar curso."
end
redirect_to courses_path
end
- 1
private
- 1
def course_params
params.require(:course).permit(:title, :description, :document, :user_id)
end
- 1
def set_course
@course = Course.find(params[:id])
end
- 1
def set_teachers
@teachers = User.all.where(kind: :teacher)
end
end
# frozen_string_literal: true
- 1
class EnrollmentsController < ApplicationController
- 1
before_action :authenticate_user!
- 1
before_action :set_enrollment, only: %i[show destroy]
- 1
def index
@enrollments = current_user.enrollments.page(params[:page]).per(6)
end
- 1
def show
@grade = params[:grade_id].nil<EMAIL_ADDRESS>: Grade.find(params[:grade_id])
@grades = @enrollment.course.grades.order(:created_at)
@enrollment.tracking.update(grade_id: @grade.id)
end
- 1
def create
@course = Course.find(params[:course_id])
@course.enrollments.create(user: current_user)
if @course.save && create_tracking
flash[:notice] = "Matrícula Efetuada com sucesso."
else
flash[:alert] = "Erro ao efetuar matrícula."
end
redirect_to enrollments_path
end
- 1
def destroy
if @enrollment.destroy
flash[:notice] = "Desmatriculado com sucesso."
else
flash[:alert] = "Erro ao desmatricular curso."
end
redirect_to enrollments_path
end
- 1
private
- 1
def set_enrollment
@enrollment = Enrollment.find(params[:id])
end
- 1
def create_tracking
@tracking = Tracking.new
@tracking.enrollment_id = Enrollment.all.where(course_id: @course.id, user_id: current_user.id).first.id
@tracking.grade_id = @course.grades.first.id
@tracking.save
end
end
# frozen_string_literal: true
- 1
class GradesController < ApplicationController
- 1
before_action :authenticate_user!
- 1
before_action :set_grade, only: %i[show edit update destroy]
- 1
before_action :set_course, only: %i[new create index]
- 1
before_action :find_course, only: %i[edit update destroy]
- 1
before_action :config_link, only: %i[create update]
- 1
def new
@grade = @course.grades.build
end
- 1
def index
@grades = @course.grades.order(created_at: :asc).page(params[:page]).per(10)
end
- 1
def create
@grade = @course.grades.create(grade_params)
if @grade.save
flash[:notice] = "Aula salva com sucesso."
redirect_to course_grades_path(@course)
else
flash[:alert] = "Erro ao salvar aula."
render :new
end
end
- 1
def edit; end
- 1
def update
if @grade.update(grade_params)
flash[:notice] = "Curso atualizado com sucesso."
redirect_to course_grades_path(@course)
else
flash[:alert] = "Erro ao atualizar curso."
render :edit
end
end
- 1
def destroy
if @grade.destroy
flash[:notice] = "Curso deletado com sucesso."
else
flash[:alert] = "Erro ao deletar curso."
end
redirect_to course_grades_path(@course)
end
- 1
private
- 1
def grade_params
params.require(:grade).permit(:title, :description, :video_link, :document)
end
- 1
def set_grade
@grade = Grade.find(params[:id])
end
- 1
def set_course
@course = Course.find(params[:course_id])
end
- 1
def find_course
@course = @grade.course
end
- 1
def config_link
if !params[:grade][:video_link].start_with?("http") && !params[:grade][:video_link].blank?
params[:grade][:video_link] = 'http://#{params[:grade][:video_link]}'
end
params[:grade][:video_link].sub! "watch?v=", "embed/"
end
end
# frozen_string_literal: true
- 1
class InstitutionsController < ApplicationController
- 1
before_action :authenticate_user!
- 1
before_action :set_institution, only: %i[show destroy]
- 1
def new
@institution = Institution.new
end
- 1
def create
@institution = Institution.new(institution_params)
if @institution.save
flash[:notice] = "Instituição salvo com sucesso."
redirect_to institutions_path
else
flash[:alert] = "Erro ao salvar Instituição."
render :new
end
end
- 1
def show
end
- 1
def index
@institutions = Institution.all.order(:name).page(params[:page]).per(10)
end
- 1
def destroy
if @institution.destroy
flash[:notice] = "Instituição deletada com sucesso."
else
flash[:alert] = "Erro ao tentar remover instituição."
end
redirect_to institutions_path
end
- 1
private
- 1
def institution_params
params.require(:institution).permit(:name, :manager)
end
- 1
def set_institution
@institution = Institution.find(params[:id])
end
end
# frozen_string_literal: true
- 1
class PartnersController < ApplicationController
- 1
before_action :authenticate_user!, only: %i[index show confirm_partner_apply]
- 1
def new
@partner = Partner.new
end
- 1
def index
@partners = Partner.all.order(created_at: :desc).page(params[:page]).per(10)
end
- 1
def show
@partner = Partner.find(params[:id])
end
- 1
def confirm_partner_apply
@partner = Partner.find(params[:id])
@user = create_user(@partner)
if @user.save
flash[:notice] = "Parceria confirmada com sucesso."
confirm_partner
UserMailer.welcome(@user, @user.password).deliver_later
else
flash[:alert] = "Erro ao confirmar parceria."
end
redirect_to partners_path
end
- 1
def send_partner_apply
@partner = Partner.new(partner_params)
@partner.confirmed = false
if @partner.save
flash[:notice] = "Sua solicitação foi enviada com sucesso."
PartnersMailer.new_partner(@partner).deliver_later
redirect_to root_path
else
flash[:alert] = "Erro ao enviar solicitação."
render :new
end
end
- 1
private
- 1
def partner_params
params.require(:partner).permit(:name, :responsible, :email, :about, :telephone)
end
- 1
def confirm_partner
@partner.confirmed = true
@partner.save!
end
- 1
def create_user(partner)
user = User.new
user.name = partner.name
user.responsible = partner.responsible
user.email = partner.email
user.password = Devise.friendly_token.first(8)
user.kind = :student
user.telephone = partner.telephone
user
end
end
# frozen_string_literal: true
- 1
class QuestionsController < ApplicationController
- 1
before_action :authenticate_user!
- 1
before_action :set_enrollment
- 1
def ask_question
@grade = Grade.find(params[:grade_id])
end
- 1
def send_question
QuestionsMailer.send_question(params[:grade_title],
params[:email_teacher],
params[:email_student],
@enrollment.user.name,
params[:question],
@enrollment.course.title).deliver_later
flash[:notice] = "Pergunta enviada com sucesso."
redirect_to enrollment_path(@enrollment)
end
- 1
private
- 1
def set_enrollment
@enrollment = Enrollment.find(params[:enrollment_id])
end
end
# frozen_string_literal: true
- 1
module ApplicationHelper
- 1
def resource_name
:user
end
- 1
def resource
@resource ||= User.new
end
- 1
def devise_mapping
@devise_mapping ||= Devise.mappings[:user]
end
end
# frozen_string_literal: true
- 1
module CoursesHelper
end
# frozen_string_literal: true
- 1
module EnrollmentsHelper
end
# frozen_string_literal: true
- 1
module GradesHelper
end
# frozen_string_literal: true
- 1
module IndexHelper
end
# frozen_string_literal: true
- 1
module InstitutionHelper
end
# frozen_string_literal: true
- 1
module QuestionsHelper
end
# frozen_string_literal: true
- 1
module RegistrationsHelper
end
# frozen_string_literal: true
- 1
class ApplicationMailer < ActionMailer::Base
- 1
default from<EMAIL_ADDRESS>- 1
layout "mailer"
end
# frozen_string_literal: true
- 1
class QuestionsMailer < ApplicationMailer
- 1
def send_question(grade_title, email_teacher, email_student, name_student, question, course_title)
@grade_title = grade_title
@question = question
@course_title = course_title
@name_student = name_student
@email_student = email_student
mail to: email_teacher, from: email_student, subject: "Pergunta Curso Elabore: #{course_title}"
end
end
# frozen_string_literal: true
- 1
class ApplicationRecord < ActiveRecord::Base
- 1
self.abstract_class = true
end
# frozen_string_literal: true
- 1
class Course < ApplicationRecord
- 1
mount_uploader :document, DocumentUploader
- 1
belongs_to :user
- 1
has_many :grades, dependent: :destroy
- 1
has_many :enrollments
- 1
has_many :users, through: :enrollments
- 1
validates :title, presence: true, length: { maximum: 100 }
- 1
validates :description, presence: true, length: { maximum: 255 }
- 1
validates :user_id, presence: true
end
# frozen_string_literal: true
- 1
class Enrollment < ApplicationRecord
- 1
belongs_to :user
- 1
belongs_to :course
- 1
has_one :tracking, dependent: :destroy
end
# frozen_string_literal: true
- 1
class Event < ApplicationRecord
- 1
mount_uploaders :images, ImageUploader
- 1
belongs_to :user
- 1
validates :title, presence: true, length: { maximum: 100 }
- 1
validates :description, presence: true, length: { maximum: 255 }
- 1
validates :local, presence: true, length: { maximum: 100 }
- 1
validates :date, presence: true
- 1
validates :time, presence: true
- 1
validates :user_id, presence: true
end
# frozen_string_literal: true
- 1
class Grade < ApplicationRecord
- 1
mount_uploader :document, DocumentUploader
- 1
belongs_to :course
- 1
has_many :trackings, dependent: :destroy
- 1
validates :title, presence: true, length: { maximum: 100 }
- 1
validates :description, presence: true, length: { maximum: 255 }
- 1
validates :video_link, presence: true, length: { maximum: 100 }
- 1
validates :course_id, presence: true
end
# frozen_string_literal: true
- 1
class Institution < ApplicationRecord
- 1
has_many :users, dependent: :destroy
- 1
validates :name, presence: true, length: { maximum: 50 }
- 1
validates :manager, presence: true, length: { maximum: 50 }
end
# frozen_string_literal: true
- 1
class Notice < ApplicationRecord
- 1
mount_uploader :document, DocumentUploader
- 1
belongs_to :user
- 1
validates :title, presence: true, length: { maximum: 100 }
- 1
validates :description, presence: true, length: { maximum: 255 }
- 1
validates :user_id, presence: true
end
# frozen_string_literal: true
- 1
class Partner < ApplicationRecord
- 1
validates :email, presence: true, length: { maximum: 50 }
- 1
validates :name, presence: true, length: { maximum: 50 }
- 1
validates :about, presence: true, length: { maximum: 5000 }
end
# frozen_string_literal: true
- 1
class Tracking < ApplicationRecord
- 1
belongs_to :enrollment
- 1
belongs_to :grade
end
# frozen_string_literal: true
- 1
class User < ApplicationRecord
- 1
has_many :events
- 1
has_many :notices
- 1
has_many :enrollments
- 1
has_many :courses, through: :enrollments
- 1
belongs_to :institution
- 1
devise :database_authenticatable, :recoverable, :registerable
- 1
enum kind: %i[admin teacher student]
- 1
validates :email, presence: true
- 1
validates :username, length: { maximum: 20 }
- 1
validates :name, presence: true, length: { maximum: 50 }
- 1
validates :telephone, length: { maximum: 15 }
- 1
validates :mini_cv, length: { maximum: 5000 }
- 1
validates :kind, presence: true
- 1
validates :institution_id, presence: true
end
# frozen_string_literal: true
- 1
class DocumentUploader < CarrierWave::Uploader::Base
# Choose what kind of storage to use for this uploader:
- 1
storage :file
# Override the directory where uploaded files will be stored.
# This is a sensible default for uploaders that are meant to be mounted:
- 1
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
# Add a white list of extensions which are allowed to be uploaded.
# For images you might use something like this:
- 1
def extension_whitelist
%w[pdf doc docx]
end
end
# frozen_string_literal: true
- 1
class ImageUploader < CarrierWave::Uploader::Base
- 1
include CarrierWave::MiniMagick
# Choose what kind of storage to use for this uploader:
- 1
storage :file
# Override the directory where uploaded files will be stored.
# This is a sensible default for uploaders that are meant to be mounted:
- 1
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
# Create different versions of your uploaded files:
- 1
version :thumb do
- 1
process resize_to_fit: [200, 200]
end
- 1
version :big do
- 1
process resize_to_fit: [800, 600]
end
# Add a white list of extensions which are allowed to be uploaded.
# For images you might use something like this:
- 1
def extension_whitelist
%w[jpg jpeg gif png]
end
end
# frozen_string_literal: true
- 1
require_relative "boot"
- 1
require "rails/all"
# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
- 1
Bundler.require(*Rails.groups)
- 1
module ProjetoElabore
- 1
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
- 1
config.load_defaults 5.1
- 1
config.i18n.default_locale = :'pt-BR'
- 1
logger = ActiveSupport::Logger.new(STDOUT)
- 1
logger.formatter = config.log_formatter
- 1
config.log_tags = [:subdomain, :uuid]
- 1
config.logger = ActiveSupport::TaggedLogging.new(logger)
end
end
# frozen_string_literal: true
- 1
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
- 1
require "bundler/setup" # Set up gems listed in the Gemfile.
# frozen_string_literal: true
# Load the Rails application.
- 1
require_relative "application"
- 1
require "carrierwave/orm/activerecord"
# Initialize the Rails application.
- 1
Rails.application.initialize!
- 1
Time::DATE_FORMATS[:event_time] = "%H:%M"
- 1
PRIMARY_BUTTONS_COLOR = "yellow darken-3".freeze
- 1
BACK_BUTTONS_COLOR = "grey".freeze
# frozen_string_literal: true
- 1
Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb.
# The test environment is used exclusively to run your application's
# test suite. You never need to work with it otherwise. Remember that
# your test database is "scratch space" for the test suite and is wiped
# and recreated between test runs. Don't rely on the data there!
- 1
config.cache_classes = true
# Do not eager load code on boot. This avoids loading your whole application
# just for the purpose of running a single test. If you are using a tool that
# preloads Rails for running tests, you may have to set it to true.
- 1
config.eager_load = false
# Configure public file server for tests with Cache-Control for performance.
- 1
config.public_file_server.enabled = true
- 1
config.public_file_server.headers = {
"Cache-Control" => "public, max-age=#{1.hour.seconds.to_i}"
}
# Show full error reports and disable caching.
- 1
config.consider_all_requests_local = true
- 1
config.action_controller.perform_caching = false
# Raise exceptions instead of rendering exception templates.
- 1
config.action_dispatch.show_exceptions = false
# Disable request forgery protection in test environment.
- 1
config.action_controller.allow_forgery_protection = false
- 1
config.action_mailer.perform_caching = false
# Tell Action Mailer not to deliver emails to the real world.
# The :test delivery method accumulates sent emails in the
# ActionMailer::Base.deliveries array.
- 1
config.action_mailer.delivery_method = :test
# Print deprecation notices to the stderr.
- 1
config.active_support.deprecation = :stderr
# Raises error for missing translations
# config.action_view.raise_on_missing_translations = true
end
# frozen_string_literal: true
# Be sure to restart your server when you modify this file.
# ApplicationController.renderer.defaults.merge!(
# http_host: 'example.org',
# https: false
# )
# frozen_string_literal: true
# Be sure to restart your server when you modify this file.
# Version of your assets, change this if you want to expire all your assets.
- 1
Rails.application.config.assets.version = "1.0"
# Add additional assets to the asset load path.
# Rails.application.config.assets.paths << Emoji.images_path
# Add Yarn node_modules folder to the asset load path.
- 1
Rails.application.config.assets.paths << Rails.root.join("node_modules")
# Precompile additional assets.
# application.js, application.css, and all non-JS/CSS in the app/assets
# folder are already added.
# Rails.application.config.assets.precompile += %w( admin.js admin.css )
# frozen_string_literal: true
# Be sure to restart your server when you modify this file.
# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
# Rails.backtrace_cleaner.remove_silencers!
# frozen_string_literal: true
# Be sure to restart your server when you modify this file.
# Specify a serializer for the signed and encrypted cookie jars.
# Valid options are :json, :marshal, and :hybrid.
- 1
Rails.application.config.action_dispatch.cookies_serializer = :json
# frozen_string_literal: true
# Use this hook to configure devise mailer, warden hooks and so forth.
# Many of these configuration options can be set straight in your model.
- 1
Devise.setup do |config|
# The secret key used by Devise. Devise uses this key to generate
# random tokens. Changing this key will render invalid all existing
# confirmation, reset password and unlock tokens in the database.
# Devise will use the `secret_key_base` as its `secret_key`
# by default. You can change it below and use your own secret key.
# config.secret_key = '263a66bce297b7b9621ac764afbacefa6dd6be88a3811bac088b7f63a1d61e592defc31e2981278369ba41e56ea974810a01551bff779df1eef3167b5bd0cbf9'
# ==> Mailer Configuration
# Configure the e-mail address which will be shown in Devise::Mailer,
# note that it will be overwritten if you use your own mailer class
# with default "from" parameter.
- 1
config.mailer_sender =<EMAIL_ADDRESS># Configure the class responsible to send e-mails.
# config.mailer = 'Devise::Mailer'
# Configure the parent class responsible to send e-mails.
# config.parent_mailer = 'ActionMailer::Base'
# ==> ORM configuration
# Load and configure the ORM. Supports :active_record (default) and
# :mongoid (bson_ext recommended) by default. Other ORMs may be
# available as additional gems.
- 1
require "devise/orm/active_record"
# ==> Configuration for any authentication mechanism
# Configure which keys are used when authenticating a user. The default is
# just :email. You can configure it to use [:username, :subdomain], so for
# authenticating a user, both parameters are required. Remember that those
# parameters are used only when authenticating and not when retrieving from
# session. If you need permissions, you should implement that in a before filter.
# You can also supply a hash where the value is a boolean determining whether
# or not authentication should be aborted when the value is not present.
# config.authentication_keys = [:email]
# Configure parameters from the request object used for authentication. Each entry
# given should be a request method and it will automatically be passed to the
# find_for_authentication method and considered in your model lookup. For instance,
# if you set :request_keys to [:subdomain], :subdomain will be used on authentication.
# The same considerations mentioned for authentication_keys also apply to request_keys.
# config.request_keys = []
# Configure which authentication keys should be case-insensitive.
# These keys will be downcased upon creating or modifying a user and when used
# to authenticate or find a user. Default is :email.
- 1
config.case_insensitive_keys = [:email]
# Configure which authentication keys should have whitespace stripped.
# These keys will have whitespace before and after removed upon creating or
# modifying a user and when used to authenticate or find a user. Default is :email.
- 1
config.strip_whitespace_keys = [:email]
# Tell if authentication through request.params is enabled. True by default.
# It can be set to an array that will enable params authentication only for the
# given strategies, for example, `config.params_authenticatable = [:database]` will
# enable it only for database (email + password) authentication.
# config.params_authenticatable = true
# Tell if authentication through HTTP Auth is enabled. False by default.
# It can be set to an array that will enable http authentication only for the
# given strategies, for example, `config.http_authenticatable = [:database]` will
# enable it only for database authentication. The supported strategies are:
# :database = Support basic authentication with authentication key + password
# config.http_authenticatable = false
# If 401 status code should be returned for AJAX requests. True by default.
# config.http_authenticatable_on_xhr = true
# The realm used in Http Basic Authentication. 'Application' by default.
# config.http_authentication_realm = 'Application'
# It will change confirmation, password recovery and other workflows
# to behave the same regardless if the e-mail provided was right or wrong.
# Does not affect registerable.
# config.paranoid = true
# By default Devise will store the user in session. You can skip storage for
# particular strategies by setting this option.
# Notice that if you are skipping storage for all authentication paths, you
# may want to disable generating routes to Devise's sessions controller by
# passing skip: :sessions to `devise_for` in your config/routes.rb
- 1
config.skip_session_storage = [:http_auth]
# By default, Devise cleans up the CSRF token on authentication to
# avoid CSRF token fixation attacks. This means that, when using AJAX
# requests for sign in and sign up, you need to get a new CSRF token
# from the server. You can disable this option at your own risk.
# config.clean_up_csrf_token_on_authentication = true
# When false, Devise will not attempt to reload routes on eager load.
# This can reduce the time taken to boot the app but if your application
# requires the Devise mappings to be loaded during boot time the application
# won't boot properly.
# config.reload_routes = true
# ==> Configuration for :database_authenticatable
# For bcrypt, this is the cost for hashing the password and defaults to 11. If
# using other algorithms, it sets how many times you want the password to be hashed.
#
# Limiting the stretches to just one in testing will increase the performance of
# your test suite dramatically. However, it is STRONGLY RECOMMENDED to not use
# a value less than 10 in other environments. Note that, for bcrypt (the default
# algorithm), the cost increases exponentially with the number of stretches (e.g.
# a value of 20 is already extremely slow: approx. 60 seconds for 1 calculation).
- 1
config.stretches = Rails.env.test? ? 1 : 11
# Set up a pepper to generate the hashed password.
# config.pepper = 'a030eff5e2e489a8ffda9adfe8dc29d5bf93b46568f6e093c4f0d62555bc6fac62c052cc42c12934d1783b8ea2fa8381a5ec5944942c1dc6bbb602fef10ee4fa'
# Send a notification to the original email when the user's email is changed.
# config.send_email_changed_notification = false
# Send a notification email when the user's password is changed.
- 1
config.send_password_change_notification = true
# ==> Configuration for :confirmable
# A period that the user is allowed to access the website even without
# confirming their account. For instance, if set to 2.days, the user will be
# able to access the website for two days without confirming their account,
# access will be blocked just in the third day. Default is 0.days, meaning
# the user cannot access the website without confirming their account.
# config.allow_unconfirmed_access_for = 2.days
# A period that the user is allowed to confirm their account before their
# token becomes invalid. For example, if set to 3.days, the user can confirm
# their account within 3 days after the mail was sent, but on the fourth day
# their account can't be confirmed with the token any more.
# Default is nil, meaning there is no restriction on how long a user can take
# before confirming their account.
# config.confirm_within = 3.days
# If true, requires any email changes to be confirmed (exactly the same way as
# initial account confirmation) to be applied. Requires additional unconfirmed_email
# db field (see migrations). Until confirmed, new email is stored in
# unconfirmed_email column, and copied to email column on successful confirmation.
# config.reconfirmable = true
# Defines which key will be used when confirming an account
# config.confirmation_keys = [:email]
# ==> Configuration for :rememberable
# The time the user will be remembered without asking for credentials again.
# config.remember_for = 2.weeks
# Invalidates all the remember me tokens when the user signs out.
# config.expire_all_remember_me_on_sign_out = true
# If true, extends the user's remember period when remembered via cookie.
# config.extend_remember_period = false
# Options to be passed to the created cookie. For instance, you can set
# secure: true in order to force SSL only cookies.
# config.rememberable_options = {}
# ==> Configuration for :validatable
# Range for password length.
- 1
config.password_length = 6..128
# Email regex used to validate email formats. It simply asserts that
# one (and only one) @ exists in the given string. This is mainly
# to give user feedback and not to assert the e-mail validity.
- 1
config.email_regexp = /\A[^@\s]+@[^@\s]+\z/
# ==> Configuration for :timeoutable
# The time you want to timeout the user session without activity. After this
# time the user will be asked for credentials again. Default is 30 minutes.
# config.timeout_in = 30.minutes
# ==> Configuration for :lockable
# Defines which strategy will be used to lock an account.
# :failed_attempts = Locks an account after a number of failed attempts to sign in.
# :none = No lock strategy. You should handle locking by yourself.
# config.lock_strategy = :failed_attempts
# Defines which key will be used when locking and unlocking an account
# config.unlock_keys = [:email]
# Defines which strategy will be used to unlock an account.
# :email = Sends an unlock link to the user email
# :time = Re-enables login after a certain amount of time (see :unlock_in below)
# :both = Enables both strategies
# :none = No unlock strategy. You should handle unlocking by yourself.
# config.unlock_strategy = :both
# Number of authentication tries before locking an account if lock_strategy
# is failed attempts.
# config.maximum_attempts = 20
# Time interval to unlock the account if :time is enabled as unlock_strategy.
# config.unlock_in = 1.hour
# Warn on the last attempt before the account is locked.
# config.last_attempt_warning = true
# ==> Configuration for :recoverable
#
# Defines which key will be used when recovering the password for an account
# config.reset_password_keys = [:email]
# Time interval you can reset your password with a reset password key.
# Don't put a too small interval or your users won't have the time to
# change their passwords.
- 1
config.reset_password_within = 6.hours
# When set to false, does not sign a user in automatically after their password is
# reset. Defaults to true, so a user is signed in automatically after a reset.
# config.sign_in_after_reset_password = true
# ==> Configuration for :encryptable
# Allow you to use another hashing or encryption algorithm besides bcrypt (default).
# You can use :sha1, :sha512 or algorithms from others authentication tools as
# :clearance_sha1, :authlogic_sha512 (then you should set stretches above to 20
# for default behavior) and :restful_authentication_sha1 (then you should set
# stretches to 10, and copy REST_AUTH_SITE_KEY to pepper).
#
# Require the `devise-encryptable` gem when using anything other than bcrypt
# config.encryptor = :sha512
# ==> Scopes configuration
# Turn scoped views on. Before rendering "sessions/new", it will first check for
# "users/sessions/new". It's turned off by default because it's slower if you
# are using only default views.
# config.scoped_views = false
# Configure the default scope given to Warden. By default it's the first
# devise role declared in your routes (usually :user).
# config.default_scope = :user
# Set this configuration to false if you want /users/sign_out to sign out
# only the current scope. By default, Devise signs out all scopes.
# config.sign_out_all_scopes = true
# ==> Navigation configuration
# Lists the formats that should be treated as navigational. Formats like
# :html, should redirect to the sign in page when the user does not have
# access, but formats like :xml or :json, should return 401.
#
# If you have any extra navigational formats, like :iphone or :mobile, you
# should add them to the navigational formats lists.
#
# The "*/*" below is required to match Internet Explorer requests.
# config.navigational_formats = ['*/*', :html]
# The default HTTP method used to sign out a resource. Default is :delete.
- 1
config.sign_out_via = :delete
# ==> OmniAuth
# Add a new OmniAuth provider. Check the wiki for more information on setting
# up on your models and hooks.
# config.omniauth :github, 'APP_ID', 'APP_SECRET', scope: 'user,public_repo'
# ==> Warden configuration
# If you want to use other strategies, that are not supported by Devise, or
# change the failure app, you can configure them inside the config.warden block.
#
# config.warden do |manager|
# manager.intercept_401 = false
# manager.default_strategies(scope: :user).unshift :some_external_strategy
# end
# ==> Mountable engine configurations
# When using Devise inside an engine, let's call it `MyEngine`, and this engine
# is mountable, there are some extra configurations to be taken into account.
# The following options are available, assuming the engine is mounted as:
#
# mount MyEngine, at: '/my_engine'
#
# The router that invoked `devise_for`, in the example above, would be:
# config.router_name = :my_engine
#
# When using OmniAuth, Devise cannot automatically set OmniAuth path,
# so you need to do it manually. For the users scope, it would be:
# config.omniauth_path_prefix = '/my_engine/users/auth'
end
# frozen_string_literal: true
# Be sure to restart your server when you modify this file.
# Configure sensitive parameters which will be filtered from the log file.
- 1
Rails.application.config.filter_parameters += [:password]
# frozen_string_literal: true
# FriendlyId Global Configuration
#
# Use this to set up shared configuration options for your entire application.
# Any of the configuration options shown here can also be applied to single
# models by passing arguments to the `friendly_id` class method or defining
# methods in your model.
#
# To learn more, check out the guide:
#
# http://norman.github.io/friendly_id/file.Guide.html
- 1
FriendlyId.defaults do |config|
# ## Reserved Words
#
# Some words could conflict with Rails's routes when used as slugs, or are
# undesirable to allow as slugs. Edit this list as needed for your app.
config.use :reserved
config.reserved_words = %w[new edit index session login logout users admin
stylesheets assets javascripts images]
# ## Friendly Finders
#
# Uncomment this to use friendly finders in all models. By default, if
# you wish to find a record by its friendly id, you must do:
#
# MyModel.friendly.find('foo')
#
# If you uncomment this, you can do:
#
# MyModel.find('foo')
#
# This is significantly more convenient but may not be appropriate for
# all applications, so you must explicity opt-in to this behavior. You can
# always also configure it on a per-model basis if you prefer.
#
# Something else to consider is that using the :finders addon boosts
# performance because it will avoid Rails-internal code that makes runtime
# calls to `Module.extend`.
#
# config.use :finders
#
# ## Slugs
#
# Most applications will use the :slugged module everywhere. If you wish
# to do so, uncomment the following line.
#
# config.use :slugged
#
# By default, FriendlyId's :slugged addon expects the slug column to be named
# 'slug', but you can change it if you wish.
#
# config.slug_column = 'slug'
#
# By default, slug has no size limit, but you can change it if you wish.
#
# config.slug_limit = 255
#
# When FriendlyId can not generate a unique ID from your base method, it appends
# a UUID, separated by a single dash. You can configure the character used as the
# separator. If you're upgrading from FriendlyId 4, you may wish to replace this
# with two dashes.
#
# config.sequence_separator = '-'
#
# Note that you must use the :slugged addon **prior** to the line which
# configures the sequence separator, or else FriendlyId will raise an undefined
# method error.
#
# ## Tips and Tricks
#
# ### Controlling when slugs are generated
#
# As of FriendlyId 5.0, new slugs are generated only when the slug field is
# nil, but if you're using a column as your base method can change this
# behavior by overriding the `should_generate_new_friendly_id?` method that
# FriendlyId adds to your model. The change below makes FriendlyId 5.0 behave
# more like 4.0.
#
# config.use Module.new {
# def should_generate_new_friendly_id?
# slug.blank? || <your_column_name_here>_changed?
# end
# }
#
# FriendlyId uses Rails's `parameterize` method to generate slugs, but for
# languages that don't use the Roman alphabet, that's not usually sufficient.
# Here we use the Babosa library to transliterate Russian Cyrillic slugs to
# ASCII. If you use this, don't forget to add "babosa" to your Gemfile.
#
# config.use Module.new {
# def normalize_friendly_id(text)
# text.to_slug.normalize! :transliterations => [:russian, :latin]
# end
# }
end
# frozen_string_literal: true
# Be sure to restart your server when you modify this file.
# Add new inflection rules using the following format. Inflections
# are locale specific, and you may define rules for as many different
# locales as you wish. All of these examples are active by default:
# ActiveSupport::Inflector.inflections(:en) do |inflect|
# inflect.plural /^(ox)$/i, '\1en'
# inflect.singular /^(ox)en/i, '\1'
# inflect.irregular 'person', 'people'
# inflect.uncountable %w( fish sheep )
# end
# These inflection rules are supported but not enabled by default:
# ActiveSupport::Inflector.inflections(:en) do |inflect|
# inflect.acronym 'RESTful'
# end
# frozen_string_literal: true
# Be sure to restart your server when you modify this file.
# Add new mime types for use in respond_to blocks:
# Mime::Type.register "text/richtext", :rtf
# frozen_string_literal: true
# Be sure to restart your server when you modify this file.
# This file contains settings for ActionController::ParamsWrapper which
# is enabled by default.
# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
- 1
ActiveSupport.on_load(:action_controller) do
- 1
wrap_parameters format: [:json]
end
# To enable root element in JSON for ActiveRecord objects.
# ActiveSupport.on_load(:active_record) do
# self.include_root_in_json = true
# end
# frozen_string_literal: true
- 1
Rails.application.routes.draw do
- 1
devise_for :users, controllers: { registrations: "registrations" }
- 1
root to: "index#index"
- 1
post "send_partner_apply" => "partners#send_partner_apply", as: :send_partner_apply
- 1
get "confirm_partner_apply/:id" => "partners#confirm_partner_apply", as: :confirm_partner_apply
- 1
resources :partners, only: %i[new index show]
- 1
resources :events
- 1
resources :notices
- 1
resources :courses, shallow: true do
- 1
resources :grades
end
- 1
resources :enrollments, only: %i[index create destroy show]
- 1
resources :institutions
- 1
get "enrollment/:id/grades/:grade_id" => "enrollments#show", as: :enrollment_show
- 1
get "ask_question/:enrollment_id/grade/:grade_id" => "questions#ask_question", as: :ask_question
- 1
post "send_question" => "questions#send_question", as: :send_question
- 1
delete "destroy_image/:id" => "events#destroy_image", as: :destroy_image
- 1
resources :users, only: %i[new show index destroy]
- 1
post "create_user" => "users#create", as: :create_user
end
# frozen_string_literal: true
%w[
.ruby-version
.rbenv-vars
tmp/restart.txt
tmp/caching-dev.txt
- 5
].each { |path| Spring.watch(path) }
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe CoursesController, type: :controller do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe EnrollmentsController, type: :controller do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe "Events", type: :request do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe GradesController, type: :controller do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe InstitutionsController, type: :controller do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe "Notices", type: :request do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe PartnersController, type: :controller do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe QuestionsController, type: :controller do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe "Users", type: :request do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe QuestionsMailer, type: :mailer do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe Course, type: :model do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe Enrollment, type: :model do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe Event, type: :model do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe Grade, type: :model do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe Institution, type: :model do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe Notice, type: :model do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe Partner, type: :model do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe Tracking, type: :model do
end
# frozen_string_literal: true
- 1
require "rails_helper"
- 1
RSpec.describe User, type: :model do
end
# frozen_string_literal: true
# This file is copied to spec/ when you run 'rails generate rspec:install'
- 1
require "spec_helper"
- 1
ENV["RAILS_ENV"] ||= "test"
- 1
require File.expand_path("../../config/environment", __FILE__)
# Prevent database truncation if the environment is production
- 1
abort("The Rails environment is running in production mode!") if Rails.env.production?
- 1
require "rspec/rails"
- 1
ActiveRecord::Migration.maintain_test_schema!
- 1
RSpec.configure do |config|
- 1
config.fixture_path = "#{::Rails.root}/spec/fixtures"
- 1
config.use_transactional_fixtures = true
- 1
config.infer_spec_type_from_file_location!
- 1
config.filter_rails_from_backtrace!
- 1
config.include Devise::Test::ControllerHelpers, type: :controller
end


INTERNET APPLICATIONS
We will install a web browser, an email client, a torrent client and a download manager .
1. Firefox as web browser
https://www.mozilla.org/en-US/firefox/
sudo apt-get install firefox
Some people may be into other browsers but I like Firefox. It is partly because I am always using it even with Windows.
Firefox has the ability to extend its default features by adding add-on. Here are some cool add-ons I always use with Firefox (just Goolge their name):
* **Adblock plus**: block advertising on the websites you are visiting [https://addons.mozilla.org/en-US/firefox/addon/adblock-plus/](https://addons.mozilla.org/en-US/firefox/addon/adblock-plus/)
* **Flashgot**: integrate downloads in Firefox with favourite download manager (more on this later with Uget) [https://addons.mozilla.org/en-US/firefox/addon/flashgot/](https://addons.mozilla.org/en-US/firefox/addon/flashgot/)
* **Print Edit**: "Allows editing of web page content while in Print Preview mode, prior to printing or saving as HTML or PDF. Compacts the layout and removes unwanted content such as adverts, sidebars and blank pages. Any element can be formatted, hidden or deleted." [https://addons.mozilla.org/en-US/firefox/addon/print-edit/](https://addons.mozilla.org/en-US/firefox/addon/print-edit/)
2. Thunderbird as email client
https://www.mozilla.org/en-US/thunderbird/
Email client help you to effectively manage your emails. If you are familiar with Microsoft Outlook, then in Linux, there is a very competent alternative, Thunderbird.
sudo apt-get install thunderbird
Just add your email address and you are all set.
3. Transmission for torrent
http://www.transmissionbt.com/
Transmission gives you the ability to download from both torrent files and magnet links. I have never had any more requirement for a torrent client beyond those two features. Transmission just get the job done for me. To install:
sudo apt-get install transmission
4. Uget as download manager
I used to feel that all the download managers in Linux would never be as good as Internet Download Manager in Windows platform, but changed my mind after finding Uget. Yeah, it is that good!
Uget is a java based app with a modern looking interface and does the job nicely.
apt-get install uget
5. Dropbox for cloud storage
In my own experience, of all cloud storage suppliers, Dropbox is the nicest regarding its fluent synchronization between multiple platforms. Out of the box, it gives you 2 Gb of free space. With my usage of mainly documents, it is plenty enough.
sudo apt-get install dropbox
After installing, Dropbox will ask you to enter your account, create one if you have not already had one.


Just add
{{ to }}
in the body of the email after you complete the recipient..
{{ previewText }}
{{ to }}
in the body of the email after you complete the recipient..
{{ previewText }}


[1]
Capacity, Eas of use; Size, Headphone controls
[2]
Practically invisible.. Good sound.. Easy access to controls.; Easily lost.


JOUR 390 | Spring 2013
I will encourage you to develop the one of the three great virtues of a programmer:
laziness.
More specifically, today we'll cover:
How to leverage existing resources to simplify development
How to effectively Google and find these resources
How to read docs
How to Bootstrap
How'd it go?
What can they do?
CSS + JS components
Styles are great, but there's more.
Components are better. Reusable bits of code to make your life easier.
The markup
hover over me
The JS
$('#element').tooltip('toggle')
The markup

Launch demo modal

<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>

Modal header

One fine body…

<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>

The JS
$('#myModal').modal(options)
What Bootstrap plugins did you guys try? Any you want to tackle together?
We're going to write some code.
I made my presentation about JS libraries using a JS library.
Reveal.jsAny questions?


Burstcoin Assets
This page updates every
minutes (Data updated
minutes ago.) and shows the Burstcoin Assets.
Issuance TransactionID
Name
Holders
Asks
Bids
Trades
Price
VolumeWeek
VolumeMonth
O
L
Show chart
You like this page? Please donate some BURST to support future development
BURST-LUXE-RED2-G6JW-H4HG5


Here is a tricky exercise.
1.Please download thethree text files attached in this lecture and put them in a folder. The first text file contains the textContent1
.The second contains Content2
and the third Content3
.
2. You should create a Python script that generates a new text file which should contain the content of all three text files. So the generated file should have this content:
Content1
Content2
Content3
In other words, your Pythonscript should merge the three text files.
3. Also, the name of the output file should be the current timestamp. Example:2017-11-01-13-57-39-170965.txt
You have some tips in the next lecture and the solution in the lecture afterthat.


Provision the computing resources (Container orhestration)
+
Define the CI pipeline (Pipeline as Code)
+
In simple Yaml files
+
All in version control
=
You are in control
You know.. for speed.
01 - Sneha Inguva
Sneha talks about the motivations why Digital Ocean rebuilt their platform on Kubernetes and how they equipped their developers with a stripped down version of kubectl, called docc.


linear classifer trainer
More...
#include <linear_trainer.hh>
|
| enum | loss_t {
SVM =0,
LS =1,
MOD_LS =2,
SM_HINGE =3,
LOGISTIC =4
} |
| | the loss function type
|
| |
|
|
| LinearTrainer () |
| | constructor
|
| |
| BinaryLinearApplier * | train (LinearDataSet &trn, bool *labels, float *targets, LinearDataSet *tst, bool *tst_labels, float *tst_targets, int verbose_level) |
| | training binary linear classifier using prox-sdca or fista or accelerated proximal sdca More...
|
| |
| BinaryLinearApplier * | train_sdca (LinearDataSet &trn, bool *labels, float *targets, LinearDataSet *tst, bool *tst_labels, float *tst_targets, int verbose_level) |
| | training binary linear classifier using prox-sdca More...
|
| |
| BinaryLinearApplier * | train_fista (LinearDataSet &trn, bool *labels, float *targets, LinearDataSet *tst, bool *tst_labels, float *tst_targets, int verbose_level) |
| | training binary linear classifier using fista More...
|
| |
| BinaryLinearApplier * | train_accl (LinearDataSet &trn, bool *labels, float *targets, LinearDataSet *tst, bool *tst_labels, float *tst_targets, int verbose_level) |
| | training linear binary classifier dusing accelerated prox-sdca More...
|
| |
| bool | commandLineParse (char *str) |
| | parse str to get parameters More...
|
| |
|
void | printTrainingParameters (ostream &os) |
| | print current training parameters options to os
|
| |
|
|
enum LinearTrainer::loss_t | loss_type |
| |
|
int | chk_interval |
| |
|
double | loss_gamma |
| | gamma for smoothed hinge loss
|
| |
|
double | lambda1 |
| | L1 regularization for sparsity.
|
| |
|
double | lambda2 |
| | L2 regularization parameter.
|
| |
|
int | iters |
| | number of iterations
|
| |
|
int | use_sgd0 |
| | first epoch use modified sgd (<0: dynamically determine)
|
| |
|
int | use_sgd |
| |
|
int | use_avg0 |
| | whether to use averaging (<0: dynamically determine)
|
| |
|
int | use_avg |
| |
|
double | fista_eta |
| | learning rate for fista (>0: use fista with learning rate eta)
|
| |
|
int | accl_iters |
| | accleration parameters
|
| |
|
double | accl_kappa |
| |
|
double | accl_beta |
| |
|
float | min_dgap |
| | minimum duality gap
|
| |
|
double | theta |
| | decision threshold
|
| |
|
double | eps |
| | eps = lambda1/lambda2
|
| |
|
bool | update_b |
| | whetehr to update bias
|
| |
| bool LinearTrainer::commandLineParse |
( |
char * |
str | ) |
|
parse str to get parameters
- Parameters
-
| str | string to be parsed (possibly contains parameter info) |
- Returns
- whether the string contains parameter info
training binary linear classifier using prox-sdca or fista or accelerated proximal sdca
- Parameters
-
| trn | training data |
| labels | label for the training points (for classification: equals 0 for regression) |
| targets | real-valued targets for the training points (for regression: equals 0 for classification) |
| tst | test data |
| tst_labels | test label for binary classification |
| tst_labels | real-valued test targets |
| verbose_level | determine level of details to print to stderr |
- Returns
- a binary linear applier
training linear binary classifier dusing accelerated prox-sdca
- Parameters
-
| trn | training data |
| labels | label for the training points (for classification: equals 0 for regression) |
| targets | real-valued targets for the training points (for regression: equals 0 for classification) |
| tst | test data |
| tst_labels | test label for binary classification |
| tst_labels | real-valued test targets |
| verbose_level | determine level of details to print to stderr |
- Returns
- a binary linear applier
training binary linear classifier using fista
- Parameters
-
| trn | training data |
| labels | label for the training points (for classification: equals 0 for regression) |
| targets | real-valued targets for the training points (for regression: equals 0 for classification) |
| tst | test data |
| tst_labels | test label for binary classification |
| tst_labels | real-valued test targets |
| verbose_level | determine level of details to print to stderr |
- Returns
- a binary linear applier
training binary linear classifier using prox-sdca
- Parameters
-
| trn | training data |
| labels | label for the training points (for classification: equals 0 for regression) |
| targets | real-valued targets for the training points (for regression: equals 0 for classification) |
| tst | test data |
| tst_labels | test label for binary classification |
| tst_labels | real-valued test targets |
| verbose_level | determine level of details to print to stderr |
- Returns
- a binary linear applier
The documentation for this class was generated from the following file:


WITNESS LIST S/C on Higher Education Committee April 18, 2005 - 1:30P SB 31 ON: McDonald, Carol L. Association Executive (Independent Colleges and Universities of Texas, Inc.), Austin, TX Paredes, Raymund Commissioner (Texas Higher Education Coordinating Board) Renshaw, Rick Dist. Director of Financial Aid (Dallas County Community Colleges), Dallas, TX Registering, but not testifying: Against: Ingersoll, Deborah Lobbyist (Texas Chiropractic College), Austin, TX SB 532 FOR: Navarro Flores, Yolanda Attorney/HCC Board of Trustees (Houston Community College System), Houston, TX Registering, but not testifying: For: Johnson, Steven (Texas Association of Community Colleges), Austin, TX SB 927 FOR: Navarro Flores, Yolanda Attorney, HCC Board of Trustees (Houston Community College), Houston, TX Registering, but not testifying: For: Deadrick, June Government Affairs (Center Point Energy), Austin, TX On: Colbert, Paul Consultant (Houston Community College System), Houston, TX SB 1037 FOR: DuBose, Judith A. Ev.Dr. Found for Brownsville Sport (F.B.S.) SB 1227 ON: Renshaw, Rick Dist. Director of Financial Aid (Dallas County Community Colleges), Dallas, TX Registering, but not testifying: For: McDonald, Carol L. Association Executive (Independent Colleges and Universities of Texas, Inc.), Austin, TX Parker, Jimmy Student Loan Secondary Market (Texas Association of Student Financial Aid Administrators), Canyon, TX SB 1300 ON: Stanford, Colonel John Legislative Liaison (Texas National Guard) Registering, but not testifying: On: Fischer, Raymond Program Director (Texas Higher Education Coordinating Board), Austin, TX SB 1528 ON: Greenberg, Jan General Counsel (Texas Higher Education Coordinating Board), Austin, TX Registering, but not testifying: On: Paredes, Raymund Commissioner (Texas Higher Education Coordinating Board) SB 1544 FOR: Todd, Philip Director of Purchasing (Dallas County Community College District), Dallas, TX ON: Blair, Martin V. Buyer (Austin Community College), Austin, TX Chatron, Michael J. Trade Association (Texas Building Branch AGC), Austin, TX Johnson, Steven (Texas Association of Community Colleges), Austin, TX Registering, but not testifying: For: Sparkes, Michael Director of Purchasing (Lee College), Baytown, TX On: Ferrell, Ben VP Business Services (Austin Community College), Austin, TX SB 1553 Registering, but not testifying: On: Hollis, Lois Asst. Comm. Student Services (Tx Higher Ed. Co. Board), Austin, TX SB 1594 FOR: Fuentes, Frank Contractor (US Hispanic Contractors Assoc.), Austin, TX Valdez, Sal Business and Eco. Dev. Consultant (Hispanic Contractors Assoc of Texas & Austin), Austin, TX Registering, but not testifying: For: Baxley, Jack Executive Vice President of AGC - QUOIN Chapter (QUOIN Chapter Associated General Contractors), Fort Worth, TX On: Davenport, John (Tx Building and Procurement Commission) Providing written testimony: For: Garcia, Gustavo L. Retired (Self), Austin, TX SB 1671 FOR: Valdez, Jude University administrator and educator (Tx. Assn of Chicanos in Higher Education) ON: Cooper, Connie Manager, Loan Services, THECB (Coordinating Board) SB 1778 AGAINST: Johnson, Steven (Texas Association of Community Colleges), Austin, TX SB 1780 FOR: Chapman, Lenora C. District Treasurer (Alamo Community College District), San Antonio, TX Dean, Robb Director of Finance (Dallas County Community College District), Mesquite, TX Ramirez, Carlos Business Officer, Alamo Community College District (Alamo Community College District), San Antonio, TX ON: Kuhn, W. Jeffrey Attorney (Bond Counsel) (Alamo Community College District), San Antonio, TX Registering, but not testifying: For: Johnson, Steven (Texas Association of Community Colleges), Austin, TX SCR 27 Registering, but not testifying: For: Calvert, Raif Public Affairs (Texas Academy of Internal Medicine), Austin, TX Calvert, Raif Public Affairs (Texas Medical Association), Austin, TX On: Shine, Dr. Kenneth I. Executive Vice Chancellor (University of Texas System), Austin, TX


Time Off Management System
My requests
My team
My reviews
My approvals
HR
All requests
All approvals
All reviews
Manage users
Manage teams
Manage countries
Admin
Users
Roles
Teams
Country
Actuator Health
Actuator Info
Welcome
Username
My account
Roles:
[ROLE_USER, ROLE_ADMIN]
Logout


My Best Friend's Wedding (1997)
Seen at the UA Criterion for $4.50 on 28 July 1997
*My Best Friend's Wedding* is the film that finally proves that a woman's best friend is not diamonds--he's a gay man. I had resisted this movie, because frankly, who can forget *Mary Reilly*? Did anyone even see *Mary Reilly*? Case closed...
*My Best Friend's Wedding* is the best Julia Roberts movie since *I Love Trouble.*
Julianne (Julia Roberts) has a best friend in Michael (Dermot Mulroney) with whom she once had a brief romance, nine years ago. But when she discovers that he is marrying superwealthy Kimmy (Cameron Diaz--who's inexplicably hated by many women I know), she suddenly realizes that she's in love with him, and she has four days to stop the nuptials.
What ensues is improbable but comic. Julie flies into Chicago and is immediately swept into the wedding plans. Kimmy, the bride, fawns all over Julie and after a while, it seems that Kimmy really is perfect. She thwarts Julie's attempts to discredit or embarrass her--whether she's being forced to sing off-key karaoke or admitting wrongdoing to Michael. This frustrates Julianne.  He actually has more of a life than she does. George shows up in Chicago and poses as her fiance.
Her machinations fail and it is hard to root for her.  Even the opening credits give a nod to tradition. Julia Robertsactually has good comic timing. She falls down with the best of them--John Ritter, Dudley Moore. Personally, watching people fall down is a cheap laugh unless it's done well (which is why I do not really like too many Blake Edwards movies).
As for the romantice, the soundtrack amplifies the throwback ambiance with ballads like "The Way You Look Tonight" or the entire cast exuberantly singing "I Say a Little Prayer" at a crab house (the best scene in the movie--the reason I would sit through the movie again). No Depeche Mode or Smith dirges here.
Dermot Mulroney turns in a good performance as the "straight man" and we will probably be seeing him in bigger-budget movies from now on; but the real scene-stealer is Everett, who is more than just the typical gay character dying to be a woman's best friend. He is a good friend, and he counters her mad schemes with comeuppance rather than compliance.
The supporting cast is also very good. Rather memorable are Rachel Griffiths and Carrie Preston as the loudly dressed sisters and friends of the bride, Samantha and Amanda; Susan Sullivan shows up as the upper crust mother of the bride and plays the part well.
JD Department: I could have very easily snuck into Speed 2 at the Criterion, but decided against it; if the building collapsed, it would be worse than being found dead with dirty underwear.
Copyright (c) 1997 Seth J. Bookey, New York, NY 10021<EMAIL_ADDRESS>Other film reviews by Seth Bookey are available at http://www.geocities.com/Athens/2679/mission.html
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


{% include "includes/devsite-footer-promos.html" %}
{% include "includes/devsite-footer-linkboxes.html" %}
{% include "includes/devsite-footer-utility.html" %}
{% if servedFromAppEngine %}
{% include "includes/analytics.html" %}
{% include "includes/survey.html" %}
{% endif %}


Ref: SSOM/2017/
Date: 9th Nov 2017
To,
Sub:-Regarding price quotation for “Solar Street Light”
Dear Sir,
With reference to your given enquiry, we are pleased to offer you the best possible price for the same application. We here with enclose our technical commercial offer for your kind perusal.
Trust our offer is in line with your requirement and now look forward to receive your valuable purchase order at the earliest.
Thanking you and assuring you of our best services at all times.
|
Project Report for 9Watt Solar Street Light with 24hrs Back Up System |
||||||
|
Sl. No. |
Item Description |
Qnty. |
Rating |
Brand |
Price |
|
|
1 |
Solar PV module |
1 |
40Wp |
MNRE Approved |
12,600.00/- (including all taxes,installation) |
|
|
2 |
Solar DC LED Light |
1 |
9 Watt |
Photonics |
||
|
3 |
Battery |
1 |
12V,17Ah |
Exide/Luminous |
||
|
4 |
Cable |
As Applicable |
As Applicable |
Polycab |
||
|
5 |
Mounting Structure |
As Applicable |
- |
ISI |
||
|
6 |
Pole |
1 |
4mt(H)/2mm(T)/65mm(D) |
Galvanized |
|
Project Report for 12Watt Solar Street Light with 24hrs Back Up System |
||||||
|
Sl. No. |
Item Description |
Qnty. |
Rating |
Brand |
Price |
|
|
1 |
Solar PV module |
1 |
75Wp |
MNRE Approved |
16,800.00/- (including all taxes,installation) |
|
|
2 |
Solar DC LED Light |
1 |
12 Watt |
Photonics |
||
|
3 |
Battery |
1 |
12V,42Ah |
Exide/Luminous |
||
|
4 |
Cable |
As Applicable |
As Applicable |
Polycab |
||
|
5 |
Mounting Structure |
As Applicable |
- |
ISI |
||
|
6 |
Pole |
1 |
4mt(H)/2mm(T)/65mm(D) |
Galvanized |
|
Project Report for 15Watt Solar Street Light with 24hrs Back Up System |
||||||
|
Sl. No. |
Item Description |
Qnty. |
Rating |
Brand |
Price |
|
|
1 |
Solar PV module |
1 |
75Wp |
MNRE Approved |
17,535.00/- (including all taxes,installation) |
|
|
2 |
Solar DC LED Light |
1 |
15 Watt |
Photonics |
||
|
3 |
Battery |
1 |
12V,42Ah |
Exide/Luminous |
||
|
4 |
Cable |
As Applicable |
As Applicable |
Polycab |
||
|
5 |
Mounting Structure |
As Applicable |
- |
ISI |
||
|
6 |
Pole |
1 |
4mt(H)/2mm(T)/65mm(D) |
Galvanized |
|
Project Report for 18Watt Solar Street Light with 24hrs Back Up System |
||||||
|
Sl. No. |
Item Description |
Qnty. |
Rating |
Brand |
Price |
|
|
1 |
Solar PV module |
1 |
75Wp |
MNRE Approved |
18,375.00/- (including all taxes,installation) |
|
|
2 |
Solar DC LED Light |
1 |
18 Watt |
Photonics |
||
|
3 |
Battery |
1 |
12V,42Ah |
Exide/Luminous |
||
|
4 |
Cable |
As Applicable |
As Applicable |
Polycab |
||
|
5 |
Mounting Structure |
As Applicable |
- |
ISI |
||
|
6 |
Pole |
1 |
4mt(H)/2mm(T)/65mm(D) |
Galvanized |
|
Project Report for 20Watt Solar Street Light with 24hrs Back Up System |
||||||
|
Sl. No. |
Item Description |
Qnty. |
Rating |
Brand |
Price |
|
|
1 |
Solar PV module |
1 |
75Wp |
MNRE Approved |
19,425.00/- (including all taxes,installation) |
|
|
2 |
Solar DC LED Light |
1 |
20 Watt |
Photonics |
||
|
3 |
Battery |
1 |
12V,42Ah |
Exide/Luminous |
||
|
4 |
Cable |
As Applicable |
As Applicable |
Polycab |
||
|
5 |
Mounting Structure |
As Applicable |
- |
ISI |
||
|
6 |
Pole |
1 |
4mt(H)/2mm(T)/65mm(D) |
Galvanized |
|
Project Report for 22Watt Solar Street Light with 24hrs Back Up System |
||||||
|
Sl. No. |
Item Description |
Qnty. |
Rating |
Brand |
Price |
|
|
1 |
Solar PV module |
1 |
100Wp |
Navitas Solar |
21,000.00/- (including all taxes,installation) |
|
|
2 |
Solar DC LED Light |
1 |
22 Watt |
Photonics |
||
|
3 |
Battery |
1 |
12V,75Ah |
Exide/Luminous |
||
|
4 |
Cable |
As Applicable |
As Applicable |
Polycab |
||
|
5 |
Mounting Structure |
As Applicable |
- |
ISI |
||
|
6 |
Pole |
1 |
4mt(H)/2mm(T)/65mm(D) |
Galvanized |
|
Project Report for 24Watt Solar Street Light with 24hrs Back Up System |
||||||
|
Sl. No. |
Item Description |
Qnty. |
Rating |
Brand |
Price |
|
|
1 |
Solar PV module |
1 |
100Wp |
Navitas Solar |
22,890.00/- (including all taxes,installation) |
|
|
2 |
Solar DC LED Light |
1 |
24 Watt |
Photonics |
||
|
3 |
Battery |
1 |
12V,75Ah |
Exide/Luminous |
||
|
4 |
Cable |
As Applicable |
As Applicable |
Polycab |
||
|
5 |
Mounting Structure |
As Applicable |
- |
ISI |
||
|
6 |
Pole |
1 |
4mt(H)/2mm(T)/65mm(D) |
Galvanized |
Terms & Conditions:-
Price Basis: FOR Bhubaneswar
Delivery : 30 Days from the date of receiving clear purchase order
Payment : 50% Advance, 50% after Completion of the Project
Validity : 30 Days
WARRANTY
* Solar Panel Replacement Warranty 5 yrs., Output Warranty 25 yrs.
*Solar LED Light warranty 2 yrs.
*Battery Replacement warranty 2 yrs.
*Cable & structure warranty 8 yrs.
*All the prices are Inclusive taxes and installation cost with 1 yr. Service warranty.
N.B:
* Complaint regarding operation of the plant will be shorted out with in 72hrs.
* Any Replacement of the Plant will be shorted out within 10 Days.
* Technical Support 24*7
|
Beneficiary Name |
Smart Solar Bidgely Solution Pvt. Ltd. |
|
Bank |
HDFC Bank Limited |
|
Account Number |
50200024940784 |
|
IFSC Code |
HDFC0001080 |
|
Branch |
Saheed Nagar |
|
Area |
Bhubaneswar |


def check_cd_linear_clf(loss):
alpha = 1e-3
w = np.zeros_like(w_true)
y_pred = np.zeros(X.shape[0])
y_bin = np.sign(y)
for _ in range(n_iter):
y_bin = np.sign(y)
w = _fit_linear(X, y_bin, alpha, n_iter, loss)
y_pred = np.dot(X, w)
accuracy = np.mean(np.sign(y_pred) == y_bin)
assert_greater_equal(accuracy, 0.97,
msg="classification loss {}".format(loss))