Talmatic CV Sergey T. ROR 1022

Total Page:16

File Type:pdf, Size:1020Kb

Load more

Sergey Ruby on Rails Developer Over 9 years experience in the software industry. Proven ability to jump into new projects, exceed client expectations, and learn new technologies quickly. Managed complicated development projects from concept to completion across various industries, including financial services. Excellent communication skills with strong background working directly with coworkers and clients to identify business objectives and establish requirements. TECHNOLOGIES Programming Languages: Ruby, JavaScript, basics of Elixir, Go, Python. Markup languages: HTML, CSS, HAML. Operating Systems: Linux, Mac. Testing Frameworks: RSpec, minitest. Web Servers: Nginx, Apache; Passenger, Unicorn; Puma. Database Servers: MySQL, PostgreSQL. NoSQL databases: MongoDB. APIs: Facebook, Vkontakte, Twitter, Google. Ecommerce API: Paypal, Google Checkout. Frameworks: Ruby On Rails, Ember, React, Angular, Sinatra, Phoenix. Project Management: Codebase, Pivotal, Jira, AgileZen, Redmine. Methodologies and Approaches: OOP, BDD, TDD, Agile Methodologies, RESTful web-services design. Source Control: Git. Other: JSON, YAML, Sass, RVM, rbenv, Heroku, Redis, Sidekiq, Solr, Docker, Bootstrap, APN, GCM, S3. CAREER HISTORY under NDA project August 2019 Position: Ruby on Rails developer Swan June 2018 - August 2019 Position: Ruby on Rails developer Project description: Big monolith project, 10k+ commits, 160+ models. Tools and technologies: Ruby On Rails, Vue.js, CofeeScript, MySQL, S3, Bash Script, Solr, Github, Rubocop, Circle CI, Yarn, Slim, Bootstrap, Webpacker, Twilio, Stripe, Airbrake, New Relic, Mixpanel, Slack, PivotalTracker. gems: rails 4, active-admin, bootstrap, coffee-rails, fakes3, webpacker, jquery-rails, active_model_serializers, cancan, wicked_pdf, mixpanel ruby, sunspot_rails, awesome_print, simple_form, sidekiq, sinatra, draper, interactor, phone, actsastaggable, airbrake, new_relic, foreman, fakes3, stripe, twilio-ruby, paranoia, omniauth google, omniauth facebook. Duties: • Add new complex (from business logic perspective) features from the first day, direct discussion with american customer/CTO; • 24 close and 6 open pull requests for the first 2 months; • Found a bug at ruby File#extname, contributed issue on bugs.ruby-lang.org (https:// bugs.rubylang.org/issues/15244); • Add sms feature, that counting unicode symbols and withdraw credits for sending sms (works through twilio); • Working with S3: add ability to rename filenames, add data json-exporter with result upload to s3; • Fix performance issues in ActiveAdmin (SQL); • Work with services (interactors), decorators, datatables (jQuery with custom ruby DSL wrapper), data migrations, thor tasks, mailers; • Make pulls request reviews, help junior guys; • Work with pdfs generated by application (wicked_pdf gem); • Add documentation comments to each changed class or module, prepare big spec documents for new features; • Work with front-end part on CoffeeScript and jQuery, add markup on Bootstrap; • Refactor code wrote by previous contributors; • Fix old well-known bugs, that no one wanted to fix before; • Add foundation code for request specs for Active Admin; • Working with rubocop, fix all connected with changed code offenses; • Covering code with specs on RSpec, initiate spec for active admin part via request specs. Swan February 2018 – June 2018 Position: Full-stack Ruby on Rails developer [at Swan] Project description: 50k+ commits, 900+ models, 60+ bash scripts, TDD approach, test suite that passes for 27 hours on single machine (and ~100 Solano workers parallelism it), single unit test on RSpec can be up to 4000 lines. USA Government (Indiana Department of Child Services) management gateway for kids that need help. Tools and technologies: Ruby On Rails, ReactJS, PostgreSQL, jQuery, Bash Script, Docker, ElasticSearch, Github, RSpec, Karma, Jasmine, ESLint, Solano CI, npm, Yarn, Sass, Gulp, Vim, jQuery Migrate, Slack, PivotalTracker, Harvester, Jira. gems: rails 5, carrierwave, cancancan, coffee, devise, ffaker, haml, newrelic_rpm, rails-observers, resque, sass, sinatra, custom state_machines, typhoeus, unicorn, capybara, selenium-webdriver and more Duties: • Adding new functionality among the project and inner custom gems, using feature switchers (for switching on and off business logic). • Create resque jobs and optimise rake tasks. • Upgrade jQuery from 2 to 3, updating gems and node modules. • Removing NPM in favour of Yarn (change bash scripts, clean up). • Fixing and writing new validations for existing logic. • Refactoring legacy code, fixing SQL queries. • Writing specs on RSpec and Karma specs for front-end code. • Upgrade selenium-webdriver, geckodriver, firefox 60. • Taking part in pair-programming. • Fix plenty of bugs on the front-end and back-end side. Bina.az, Tap.az June 2017 – December 2017 Position: Full-stack Ruby on Rails developer Project description: More than 6kk advertisement requests per day. Bina.Az is a universal platform providing services for all participants of the real estate market. The project provides buyers with convenient access to the largest database of offers for the sale and lease of real estate, and real estate agencies, construction firms and individuals - the best way to deliver information to their potential customers. The project was founded in 2008 and at the moment is the largest resource in the real estate sector in the Azerbaijani market. Tools and technologies: Ruby On Rails, JavaScript, CoffeeScript, PostgreSQL, Github, Circle CI, Slim, MiniTest, HipChat. gems: rails 4, rails 5, capybara, simple_form, slimrails, whenever, cells, torba-rails, sass-rails, cancancan, scss_lint, letter_opener, pry and another gems and custom gems made specially for project. Duties: • Enhancing banners advertising system: adding advertising balancer with ability to monitor banners ether and rearrange dynamically percentage of it’s showing based on current performance of system. • Internal wallet (virtual money within the project). • VIP advertisement items feature. • Refunding money and reverting services functionality. • Updating Binaaz application and shared submodule from Rails 4 to Rails 5 (by myself within the whole project. 17k lines of ruby code. And not including old.custom.gems that is 5 years old). • Adding new features to the “shared” submodule to use among projects. • Writing unit, functional and integration tests Mauris laoreet quam ut dolor egestas posuere. iRonin September 2016 – May 2017 Position: Full-stack developer Project description: The EmployeeReferrals.com platform is the most sophisticated solution available, scaling from SMBs to Fortune 500s. Clients universally experience dramatic increases in referrals, as well as in applicants and hires from referrals. Jobs have been referred to over a million candidates worldwide and recruiters have been provided with an entirely new source of top quality passive candidates. Tools and technologies: Ruby On Rails, JavaScript, CoffeeScript, React.js, Backbone.js, MySQL, Sidekiq, Solr, Redis, Codebase, Github, Circle CI, HAML, 3Hub (for Amazon), HipChat. gems: sidekiq-pro, devise, rabl, paranoia, timecop, letter_opener, pry, rails 4 and 200 more. Duties: ● Diving into more than 265k lines of ruby code. ● Following best practices: decorators (draper), services, delegators and presenters (SimpleDelegator), queues (sidekiq), query objects, state transitions (state machine), policies (for conditions logic). ● Resolving critical tickets at the first month of working. ● Enhancements and changes on client side - React.js, Backbone.js, CoffeeScript and hamlc. ● Working with custom Chrome Extension for project (pure javascript). ● Adding rake tasks for simplifying running queues. ● Searching with Solr - indexing, conditions, pagination. ● Working with different ATS API. ● Error handling. ● Adding changes on UI, using Bootstrap. ● API versioning. ● Writing new functionality, doing enhancements, refactoring existing code. ● Writing specs (RSpec). ● Adding docs for new features to codebase Notebook. ● Using chat bot to perform merges and deploys. ● Using encrypted data (GPG) for db dump, letters, passwords. ● Close cooperation with the core team in both ways: real time and asynchronously. ● Working as full-stack developer on BE and FE sides Time Tracker Position: Ruby on Rails Developers Project description: The internal project for tracking time and management. Tools and technologies: Ember.js, Emblem.js, Ruby On Rails, JavaScript, CoffeeScript, Postgres, Sidekiq, Redis, Codebase, Github, HipChat, Trello, Pivotal. gems: sidekiq-pro, devise, puma, figaro, pry, doorkeeper, cancancan, rails 4. Duties: • Developing project, that consist of front-end part on Ember.js, back-end part on Ruby on Rails and Chrome Extension on Ember.js. • Chrome Extension functional for Codebase, Github, Trello, Pivotal. • Using serializers (active_model_serializers), interactors (https://github.com/collectiveidea/interactor), Postgres enum data types, Pods in Ember.js FE project (http://www.programwitherik.com/ember-pods/), services. • Adding rake tasks. • Covering with RSpec tests. Mind Studios March 2015 – August 2016 Position: Full-stack Ruby on Rails developer Project description: Project helps to find the best worldwide bartenders, develop cocktails and bar culture together by sharing great ideas, knowledge and passion. Tools and technologies: Ruby, Ruby On Rails, Javascript, PostgreSQL, Docker, nginx, Redis, Javascript, Git, Masonry. gems: acts-as-taggable-on, puma, carrierwave, sidekiq and others. Duties:
Recommended publications
  • Modern Web Application Frameworks

    Modern Web Application Frameworks

    MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Û¡¢£¤¥¦§¨ª«¬­Æ°±²³´µ·¸¹º»¼½¾¿Ý Modern Web Application Frameworks MASTER’S THESIS Bc. Jan Pater Brno, autumn 2015 Declaration Hereby I declare, that this paper is my original authorial work, which I have worked out by my own. All sources, references and literature used or ex- cerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Bc. Jan Pater Advisor: doc. RNDr. Petr Sojka, Ph.D. i Abstract The aim of this paper was the analysis of major web application frameworks and the design and implementation of applications for website content ma- nagement of Laboratory of Multimedia Electronic Applications and Film festival organized by Faculty of Informatics. The paper introduces readers into web application development problematic and focuses on characte- ristics and specifics of ten selected modern web application frameworks, which were described and compared on the basis of relevant criteria. Practi- cal part of the paper includes the selection of a suitable framework for im- plementation of both applications and describes their design, development process and deployment within the laboratory. ii Keywords Web application, Framework, PHP,Java, Ruby, Python, Laravel, Nette, Phal- con, Rails, Padrino, Django, Flask, Grails, Vaadin, Play, LEMMA, Film fes- tival iii Acknowledgement I would like to show my gratitude to my supervisor doc. RNDr. Petr So- jka, Ph.D. for his advice and comments on this thesis as well as to RNDr. Lukáš Hejtmánek, Ph.D. for his assistance with application deployment and server setup. Many thanks also go to OndˇrejTom for his valuable help and advice during application development.
  • Pro ASP.NET MVC 3 Framework Third Edition

    Pro ASP.NET MVC 3 Framework Third Edition

    Pro ASP.NET MVC 3 Framework Third Edition ADAM FREEMAN STEVEN SANDERSON ApressB Contents J About the Authors xxiii About the Technical Reviewer xxiv Acknowledgments xxv Part 1: Introducing ASP.NET MVC 3 1 Chapter 1: What's the Big Idea? 3 A Brief History of Web Development 3 Traditional ASP.NET Web Forms 5 What's Wrong with ASP.NET Web Forms? 6 Web Development Today 7 Web Standards and REST 7 Agile and Test-Driven Development 7 Ruby on Rails 8 Sinatra 8 Node.js 9 Key Benefits of ASP.NET MVC 9 MVC Architecture 10 Extensibility 10 Tight Control over HTML and HTTP 11 Testability 11 Powerful Routing System 11 Built on the Best Parts of the ASP.NET Platform 12 Modern API 12 ASP.NET MVC Is Open Source 13 Who Should Use ASP.NET MVC? 13 Comparisons with ASP.NET Web Forms 13 Migrating from Web Forms to MVC 14 Comparisons with Ruby on Rails 14 Comparisons with MonoRail 14 What's New in ASP.NET MVC 3 15 Summary 15 Chapter 2: Getting Ready 17 Preparing the Workstation , 17 Installing Visual Studio 2010 17 Installing the Essential Software 19 Installing Optional Components 21 Preparing the Server 22 Enabling the Web Server Role 23 Installing Additional Components 25 Setting up Web Deployment , 26 Getting Further Information 30 Summary 30 Chapter 3: Your First MVC Application 31 Creating a New ASP.NET MVC Project .31 Adding the First Controller 33 Understanding Routes 36 Rendering Web Pages 37 Creating and Rendering a View 37 Adding Dynamic Output 41 Creating a Simple Data-Entry Application 42 Setting the Scene 42 Designing a Data Model 43 Linking
  • Reglas De Congo: Palo Monte Mayombe) a Book by Lydia Cabrera an English Translation from the Spanish

    Reglas De Congo: Palo Monte Mayombe) a Book by Lydia Cabrera an English Translation from the Spanish

    THE KONGO RULE: THE PALO MONTE MAYOMBE WISDOM SOCIETY (REGLAS DE CONGO: PALO MONTE MAYOMBE) A BOOK BY LYDIA CABRERA AN ENGLISH TRANSLATION FROM THE SPANISH Donato Fhunsu A dissertation submitted to the faculty of the University of North Carolina at Chapel Hill in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Department of English and Comparative Literature (Comparative Literature). Chapel Hill 2016 Approved by: Inger S. B. Brodey Todd Ramón Ochoa Marsha S. Collins Tanya L. Shields Madeline G. Levine © 2016 Donato Fhunsu ALL RIGHTS RESERVED ii ABSTRACT Donato Fhunsu: The Kongo Rule: The Palo Monte Mayombe Wisdom Society (Reglas de Congo: Palo Monte Mayombe) A Book by Lydia Cabrera An English Translation from the Spanish (Under the direction of Inger S. B. Brodey and Todd Ramón Ochoa) This dissertation is a critical analysis and annotated translation, from Spanish into English, of the book Reglas de Congo: Palo Monte Mayombe, by the Cuban anthropologist, artist, and writer Lydia Cabrera (1899-1991). Cabrera’s text is a hybrid ethnographic book of religion, slave narratives (oral history), and folklore (songs, poetry) that she devoted to a group of Afro-Cubans known as “los Congos de Cuba,” descendants of the Africans who were brought to the Caribbean island of Cuba during the trans-Atlantic Ocean African slave trade from the former Kongo Kingdom, which occupied the present-day southwestern part of Congo-Kinshasa, Congo-Brazzaville, Cabinda, and northern Angola. The Kongo Kingdom had formal contact with Christianity through the Kingdom of Portugal as early as the 1490s.
  • Switching from Rails to Sinatra

    Switching from Rails to Sinatra

    Switching from Rails to Sinatra Rushi Shah 26 October 2015 So recently I created this little Ruby on Rails app that lets you embed your Github Contribution calendar into any HTML (or Markdown) as an image. I would show you a great example, but one of the downsides to PDFs generated with LaTeX is that you have to save the image locally (and in doing so, the magic of the app would be lost). However, if you want to see an awesome example, totally check out the github repo or just get your own on the site. It is simple, straightforward, but still pretty neat, if I do say so myself. But soon I decided to rewrite the application in Sinatra, and here's why. 1 Starting with Rails When I started this project, I dove in with rails because I had used it before on apps like a CNN article generator and a bookshelf. After I had my basic functionality down, the file structure looked like a typical rails app. For reference, here is the file structure at that point (created using tree). Gemfile Gemfile.lock README.rdoc Rakefile app assets images javascripts application.js chart.coffee stylesheets application.css chart.scss scaffolds.scss controllers application_controller.rb chart_controller.rb 1 concerns helpers application_helper.rb chart_helper.rb mailers models concerns views layouts application.html.erb bin bundle rails rake setup spring config application.rb boot.rb database.yml environment.rb environments development.rb production.rb test.rb initializers assets.rb backtrace_silencers.rb cookies_serializer.rb filter_parameter_logging.rb inflections.rb
  • Managing Data Constraints in Database-Backed Web Applications

    Managing Data Constraints in Database-Backed Web Applications

    Managing data constraints in database-backed web applications Junwen Yang Utsav Sethi Cong Yan University of Chicago, USA University of Chicago, USA University of Washington, USA [email protected] [email protected] [email protected] Alvin Cheung Shan Lu University of California, Berkeley University of Chicago, USA USA [email protected] [email protected] ABSTRACT Database-backed web applications manipulate large amounts of … <input value=‘title’ pattern=‘.+’ title=‘invalid title’/> persistent data, and such applications often contain constraints … that restrict data length, data value, and other data properties. Such constraints are critical in ensuring the reliability and usability of Field Type Null Default … these applications. In this paper, we present a comprehensive study on where data constraints are expressed, what they are about, how title varchar(30) NO NULL … often they evolve, and how their violations are handled. The re- sults show that developers struggle with maintaining consistent … data constraints and checking them across different components validates_length_of : title, maximum: 60, message: ‘title is too long’ Mysql::Error and versions of their web applications, leading to various prob- … lems. Guided by our study, we developed checking tools and API enhancements that can automatically detect such problems and Figure 1: Crossstack data constraints improve the quality of such applications. 1 INTRODUCTION 60 characters)” error; finally, she tried a title a little shorter than60 1.1 Motivation characters, but the web page then crashed with all the filled content Constraints are often associated with data used in software. These lost with some unreadable database error displayed. range from describing the expected length, value, uniqueness, and It turned out that different constraints were specified for the other properties of the stored data.
  • AN INTRODUCTION by Enrique Canals / @Ecanals ENRIQUE CANALS

    AN INTRODUCTION by Enrique Canals / @Ecanals ENRIQUE CANALS

    THE BEAUTY OF CSS PRE-PROCESSORS: AN INTRODUCTION by Enrique Canals / @ecanals ENRIQUE CANALS Software Developer @ The Hybrid Group Currently working with Sphero, creating cool things for connecting robots to the internet Worked on several interesting web projects with Pebble Current maintainer of the TextMate SCSS Bundle for syntax highlighting with support for Atom and Sublime @ecanals | www.enriquecanals.com WHAT WE'RE GOING TO COVER IN THIS SESSION PART 1 CSS basics and shortcomings What are CSS pre-processors How pre-processors work and don't work PART 2 Which one do I use? (Sass, Less, Stylus) Workflow Integration Using pre-processors in WordPress theme development PART 1 CSS BASICS AND SHORTCOMINGS BASIC CSS SYNTAX This is the CSS you're used to. html, body { width: 100%; height: 100%; overflow: hidden; } body { background-color: #fff; color: #000; line-height: 1; position: relative; } Simple enough. NOW SOMETHING A LITTLE MORE COMPLEX: .reveal.slide section, .reveal.linear section { -webkit-backface-visibility: hidden; backface-visibility: hidden; } .reveal .slides > section[data-transition=slide].past, .reveal.slide .slides > section:not([data-transition] -webkit-transform: translate(-150%, 0); -ms-transform: translate(-150%, 0); transform: translate(-150%, 0); } .reveal .slides > section[data-transition=slide].future, .reveal.slide .slides > section:not([data-transition] -webkit-transform: translate(150%, 0); -ms-transform: translate(150%, 0); transform: translate(150%, 0); } .reveal .slides > section > section[data-transition=slide].past, .reveal.slide .slides > section > section -webkit-transform: translate(0, -150%); -ms-transform: translate(0, -150%); transform: translate(0, -150%); } .reveal .slides > section > section[data-transition=slide].future, .reveal.slide .slides > section > section -webkit-transform: translate(0, 150%); -ms-transform: translate(0, 150%); transform: translate(0, 150%); } You can see how this get's ugly fast.
  • Zope Documentation Release 5.3

    Zope Documentation Release 5.3

    Zope Documentation Release 5.3 The Zope developer community Jul 31, 2021 Contents 1 What’s new in Zope 3 1.1 What’s new in Zope 5..........................................4 1.2 What’s new in Zope 4..........................................4 2 Installing Zope 11 2.1 Prerequisites............................................... 11 2.2 Installing Zope with zc.buildout .................................. 12 2.3 Installing Zope with pip ........................................ 13 2.4 Building the documentation with Sphinx ............................... 14 3 Configuring and Running Zope 15 3.1 Creating a Zope instance......................................... 16 3.2 Filesystem Permissions......................................... 17 3.3 Configuring Zope............................................. 17 3.4 Running Zope.............................................. 18 3.5 Running Zope (plone.recipe.zope2instance install)........................... 20 3.6 Logging In To Zope........................................... 21 3.7 Special access user accounts....................................... 22 3.8 Troubleshooting............................................. 22 3.9 Using alternative WSGI server software................................. 22 3.10 Debugging Zope applications under WSGI............................... 26 3.11 Zope configuration reference....................................... 27 4 Migrating between Zope versions 37 4.1 From Zope 2 to Zope 4 or 5....................................... 37 4.2 Migration from Zope 4 to Zope 5.0..................................
  • Web Development India

    Web Development India

    WEB DEVELOPMENT INDIA Similar sites like www.tutorialspoint.com www.w3schools.com www.java2s.com www.tizag.com www.mkyong.com www.codecademy.com www.roseindia.net docs.oracle.com/javase/tutorial/ www.stackoverflow.com tutorials.jenkov.com imp……………………………………………….. http://www.xislegraphix.com/website-types.html http://orthodoxdaily.com/types-of-websites/ http://webstyleguide.com/wsg3/1-process/6-types-of-sites.html http://www.virtualmv.com/wiki/index.php?title=Internet:Types_of_Website http://www.marketingcharts.com/wp/online/which-types-of-websites-do-most-americans-visit- frequently-37970/ http://www.2createawebsite.com/prebuild/website-needs.html http://www.tomakewebsite.com/types-of-websites.html http://one-blog-wonder.tumblr.com/post/29818346464/what-types-of-websites-are-there http://www.roseindia.net/services/webdesigning/corporatewebsitedesign/Different-Kinds-of- Website.shtml http://www.marketingprofs.com/charts/2013/12083/which-types-of-websites-are-visited-most- frequently http://webdesignpeeps.com/types-of-websites/ http://www.webdesignerdepot.com/2011/11/navigation-patterns-for-ten-common-types-of- websites/ http://www.teach-ict.com/gcse_new/software/web_design/miniweb/pg2.htm http://www.methodandclass.com/article/what-are-the-different-types-of-web-site http://www.webmasterview.com/2013/03/three-types-of-website/ http://www.chinkin.com/Web-Design/Types-of-Website http://www.designer-daily.com/8-types-of-sites-you-can-build-with-drupal-13924 http://www.mediatopia.co.uk/types-of-websites .................................................................................WEB
  • Theine2 Documentation Release Latest

    Theine2 Documentation Release Latest

    theine2 Documentation Release latest Dec 06, 2019 Contents 1 Installing 3 2 Upgrading 5 3 Using 7 4 Configuration 9 4.1 base_port and max_port.........................................9 4.2 min_free_workers............................................9 4.3 spawn_parallel..............................................9 4.4 silent................................................... 10 5 Speed up Theine 11 5.1 Tell Theine to use CRuby for the client................................. 11 6 Using with Foreman 13 7 Using with Docker 15 8 How it works 17 i ii theine2 Documentation, Release latest Theine is a Rails application pre-loader designed to work on JRuby. It is similar to Zeus, Spring and Spork. The problem with Zeus and Spring is that they use fork which doesn’t work on JRuby. An example: time rails runner"puts Rails.env" 48.31s user 1.96s system 242% cpu 20.748 total # normal time theine runner"puts Rails.env" 0.12s user 0.02s system 32% cpu 0.449 total # Theine Contents 1 theine2 Documentation, Release latest 2 Contents CHAPTER 1 Installing You need to install screen on your system. For example on Ubuntu: sudo apt-get install screen Then install the gem. gem install theine2 3 theine2 Documentation, Release latest 4 Chapter 1. Installing CHAPTER 2 Upgrading If you want to use CRuby for the client, you will probably need to re-run theine_set_ruby after upgrading. 5 theine2 Documentation, Release latest 6 Chapter 2. Upgrading CHAPTER 3 Using Start up the theine server in the root of your Rails project: theine_server or theine_start for a detached
  • Download the 2021 IEEE Thesaurus

    Download the 2021 IEEE Thesaurus

    2021 IEEE Thesaurus Version 1.0 Created by The Institute of Electrical and Electronics Engineers (IEEE) 2021 IEEE Thesaurus The IEEE Thesaurus is a controlled The IEEE Thesaurus also provides a vocabulary of almost 10,900 descriptive conceptual map through the use of engineering, technical and scientific terms, semantic relationships such as broader as well as IEEE-specific society terms terms (BT), narrower terms (NT), 'used for' [referred to as “descriptors” or “preferred relationships (USE/UF), and related terms terms”] .* Each descriptor included in the (RT). These semantic relationships identify thesaurus represents a single concept or theoretical connections between terms. unit of thought. The descriptors are Italic text denotes Non-preferred terms. considered the preferred terms for use in Bold text is used for preferred headings. describing IEEE content. The scope of descriptors is based on the material presented in IEEE journals, conference Abbreviations used in the Thesaurus: papers, standards, and/or IEEE organizational material. A controlled BT - Broader term vocabulary is a specific terminology used in NT - Narrower term a consistent and controlled fashion that RT - Related term results in better information searching and USE- Use preferred term retrieval. UF - Used for Thesaurus construction is based on the ANSI/NISO Z39.19-2005(2010) standard, Guidelines for the Construction, Format, and Management of Monolingual Controlled Vocabulary. The Thesaurus vocabulary uses American-based spellings with cross references to British variant spellings. The scope and structure of the IEEE Thesaurus reflects the engineering and scientific disciplines that comprise the Societies, Councils, and Communities of the IEEE in *Refer to ANSI/NISO NISO Z39.19-2005 addition to the technologies IEEE serves.
  • Ruby Best Practices.Pdf

    Ruby Best Practices.Pdf

    Ruby Best Practices Ruby Best Practices Gregory Brown foreword by Yukihiro “Matz” Matsumoto Beijing • Cambridge • Farnham • Köln • Sebastopol • Taipei • Tokyo Ruby Best Practices by Gregory Brown Copyright © 2009 Gregory Brown. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department: 800-998-9938 or [email protected]. Editor: Mike Loukides Indexer: Ellen Troutman Zaig Production Editor: Sarah Schneider Cover Designer: Karen Montgomery Copyeditor: Nancy Kotary Interior Designer: David Futato Proofreader: Sada Preisch Illustrator: Robert Romano Printing History: June 2009: First Edition. O’Reilly and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Ruby Best Practices, the image of a green crab, and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information con- tained herein. In March 2010, this work will be released under the Creative Commons Attribution- Noncommercial-Share Alike 3.0 License.
  • The Ruby Programming Language... It's Really Fun and It Feels Good!

    The Ruby Programming Language... It's Really Fun and It Feels Good!

    The Ruby Programming Language... it's really fun and it feels good! Dr. John Pagonis Pragmaticomm Limited, Athens Ruby Meetup #9, March 31st 2012 twitter: @greekrubymeetup @johnpagonis 1 1 Menu Why I got into Ruby? In search of a better way to code Ruby in twenty minutes (or thereabouts:-)‏ Why we should all have a look at it? 2 2 Before we start… a word ! A reminder from Fred. P. Brooks ‘’ No Silver Bullet - essence and accidents of software engineering’’,1986 ! ! There is NO silver bullet! 3 3 My experience with Ruby (mostly First got involved in 'Skunkworks' while at Symbian :-)‏ Ported with Pragmaticomm the Ruby 1.9.0.0 and Ruby 1.9.1p1 VM and some extensions to Symbian OS v9.1 (for Nokia's Symbian Research dept.)‏ I've used it for mobile programming, text filtering, classification, Web apps, machine learning, database access and Genetic Algorithm related work 4 4 Lately in my life (does it look familiar to you?)‏ There is a a lot of stuff I need to automate There are a lot of stuff I want to develop There are a lot of platforms I need to be using I need to be more efficient when coding. I have realised that my time and memory is MUCH more expensive than my CPUs’ time and RAM. I haven’t been getting any younger I haven’t been getting much smarter :-)‏ I think faster than I code! I am running out of time…. 5 5 Consequently Life is too short, to not have fun… !! ! I have to cheat! !There must be a better way to program… there must be!! 6 6 There must be a better way to program… there must be!! ..to clarify that !There must be a much better