Resume of Brian Enigma

Total Page:16

File Type:pdf, Size:1020Kb

Resume of Brian Enigma This PDF document was automatically generated from an XML document using an XSL template on 2010-07-05. Brian Enigma [email protected] http://stackoverflow.org/resume/ 503-308-8765 Objective I am an innovative computer professional with over 20 years of programming and hardware experience (15+ professionally) with a passion for code. While my technical skills are deep in many areas, they are also broad. I love to learn new skills and keep ahead of the curve. My strong analytical ability, attention to detail, and communication skills allow me to tackle nearly any situation. Presently, I seek a challenging technical position that will put my skills to good use. Skills Computers, General Unix/Linux (Ubuntu/Kubuntu, BSD, Redhat, some Solaris), OS X, Microsoft operating systems, system administration, database administration (DBA), digital telephony, reverse engineering, security, encryption/cryptanalysis (theory and practical applications), user interface design Programming C/C++, Standard Template Library (STL), GNU programming tools (make, gdb), PHP, Objective-C, Python, Java, JSP, SQL, SQLite, assembly language on several platforms, Perl Programming Theory Object Oriented programming (UML, design patterns), unit testing (CppUnit, JUnit), inline documentation (Doxygen, Javadoc), software security/robustness, OS security, Agile methodologies (Scrum, Extreme Programming) Embedded Systems Realtime/Embedded Linux, cross-compiling toolchains (mainly ARM and PowerPC), remote debugging (gdbserver), boot loaders (u-boot, uMon, lilo, grub), J2ME, assembly language on several platforms, Cobalt Qube network appliance programming and architecture, "Home Brew" Sony Dreamcast software, some experience with other realtime operating systems (vxWorks, QNX) Chips and Processors Intel i386/i686, PowerPC, ARM, Atmel AVR, Marvell switches and packet processors, Vitesse Crosspoint Switches, Intel 8051, Motorola/Freescale 68HC11 Networks TCP/IP (socket) programming, firewalls, ipchains, IP masquerading, 7-layer OSI stack, network services (including many RFC specifications), Public Key Infrastructure (PKI), web technologies (HTML/CSS, JavaScript/ECMAscript, CGI, Apache, lighttpd, Tomcat, Weblogic) XML XML, validation (DTD, XSD, Schematron), transformation (XSLT), publishing/documentation (XSL-FO, DocBook XML), B2B business transactions (RosettaNet), transports (HTTPS, FTP, SMTP, raw sockets), Remote Procedure Calls (RPC) (RESTful/JSON, XML-RPC, SOAP/WSDL) Tech Hobbies electronics hobbyist, ham radio enthusiast (KE6TXX), Project Euler Work Experience 8/2004-present, Apcon, Inc., Senior Firmware Engineer Led a small team to bring the 2000-series product line (Layer 1, physical layer, network switches) from design to market. Tasks included: Reimplemented legacy code (a bare-metal 8051 application) as an embedded Linux architecture running on a custom ARM controller board Built a custom Linux system based around uClibc, buildroot, busybox, and uMon Created and modified Linux kernel drivers, including: I2C, GPIO, and SMBus for talking to the backplane, optical transceivers (SFPs, XFPs), temperature and fan controllers, realtime clock, and other digital components Designed and implemented a Remote Procedure Call (RPC) controlled core daemon process responsible for the business logic, resource contention, security enforcement, hardware monitoring, alarms, etc. Designed and implemented custom embedded web-based management interface, including back-end code and front-end HTML and CSS. Designed and implemented initial CLI (over SSH, telnet, and serial) management interface Contributed to SNMP management interface Resume of Brian Enigma 1 of 5 Performed "full stack" programming of features and bug fixes -- from studying datasheets to flipping bits on chips to kernel drivers to the core userland service, to a lightweight remote procedure call (RPC) library, to user-facing services (web, CLI, SNMP, XML, etc.) Designed and implemented remote-authentication modules for regular and two-factor authentication via TACACS+ and RADIUS with attributes Led the team that brought the 3000-series product line firmware (Layer 1 network switches with optional modules allowing for Layer 2 and 3 routing, aggregation, and filtering) from design to market. Tasks included: Ported apps and services from 2000-series (ARM) to 3000-series (PowerPC), accounting for processor differences (endianness), cross-compiler idiosyncrasies, and differing resources. This includs ongoing challenges in parallel development because the same apps must still run on both product lines Designed and implemented the enhancements to the core service and RPC for managing aggregations. Designed and helped implement the dual-controller high-availability failover mechanism. Updated the web interface framework to lighttpd and PHP, using Adobe Flash (Flex) front end, including a custom PHP extension to wrap the RPC framework. Extended u-boot to include manufacturing and development tools. Ongoing duties not tied to a particular product line included: Managed interoperability between the firmware RPC stack and the desktop GUI application team -- maintaining cross- platform compatibility between Linux (on PowerPC, ARM, and x86) and Windows. Linux administration of CVS server, Wiki, Mantis bug tracker, TestLink Buildmaster, responsible for maintaining a "one-click" build script, code branches and merges Developing and maintaining unit tests and automated test harness frameworks 8/2005-1/2006, Mind Candy, Puzzle Designer (contract) Developed several puzzle cards for the Perplex City collectable card game. The design work was not just the puzzle logic, but also the card's graphic design. The specific cards were Catcher, Confounding Cube, NAND, and Primer from the Season One set. The underlying skills covered paper engineering (like Oragami), digital electronic design theory, and prime number theory. 11/2001-8/2004, Drake Certivo, Team Lead/Senior Software Engineer Projects and job duties spanned two main products. First, for the distance-learning computer appliance, duties included: Led a development team in architecting and implementing a content management and distribution system for electronic courses across distributed learning centers. This system, written in PHP and MySQL, is AICC and SCORM compliant. Developed core architecture for a Linux-based network appliance that delivers electronic courseware. This appliance was deployed in Sylvan Learning Centers across the country. Second, for the business-to-business compliance test appliance product, duties included: Led a development team in porting an existing XML compliance application to an embedded platform (the Sun/Cobalt Qube). This system was used for RosettaNet B2B conformance testing. Initially led a development team in architecting and implementing a next-generation XML compliance application, allowing companies to test their conformance to the RosettaNet, OAG, and ebXML B2B standards. The main test engine is written in Java and runs on an embedded Unix platform, while the user interface is a Java application specifically designed to work well in Windows, OS X, and Linux. This system was put to use by automobile manufacturers. Member of a team developing an EDI validating proxy for Best Buy. This system runs a set of expert system rules against inbound messages, flagging bad messages as rejected or requiring manual editing. Assorted system administration duties: CVS server maintenance, user account maintenance, software and OS installs, etc. 11 months of remote work Resume of Brian Enigma 2 of 5 11/2000-09/2001, Metapa, Senior Software Engineer Headed a team responsible for writing software to encode, distribute, and track digital media assets. This included taking high volumes of media assets from customers (CDs, DVDs, music files, video files, etc), applying automated transforms, then getting them automatically imported into a distribution system for tracking and access control. The automated transforms included encoding, transcoding to different formats, and trimming to 30-second samples. The distribution system consisted of a custom HTTP server, with assets stored on Akamai, that allowed media owners to control which digital radio stations and online retailers had access to their media. The project used agile development methods to rapidly prototype in Python against constantly changing specifications, mainly because of its similarity to C++ and extreme flexibility. Bottlenecks -- for instance, the HTTP server -- were rewritten in C++ for speed and efficiency. For cost efficiency reasons, the core database was Oracle which fed multiple read-only MySQL databases in the web farm. The entire project was eventually ported to run as J2EE under a BEA WebLogic server. 09/2000-11/2000, AltaVista Transition Team, Senior Engineer (contract) This was a temporary position offered to key developers in the Irvine office. Since this office was closing and being consolidated with the main office in San Mateo, a number of web applications and internal tools had to be transitioned from a Windows IIS C++ COM architecture to a Unix-based Java servlet architecture. 05/1999-09/2000, AltaVista Shopping, Lead Engineer Headed the front-end web team. Responsible for syncing up with Marketing, AV Search, and Sales. Required drafting technical designs to solve issues for all involved parties. As lead architect, had the responsibility of always thinking of the "big picture" and making sound architectural decisions on how components, databases, and front-end software will
Recommended publications
  • Rockbox User Manual
    The Rockbox Manual for Sansa Fuze+ rockbox.org October 1, 2013 2 Rockbox http://www.rockbox.org/ Open Source Jukebox Firmware Rockbox and this manual is the collaborative effort of the Rockbox team and its contributors. See the appendix for a complete list of contributors. c 2003-2013 The Rockbox Team and its contributors, c 2004 Christi Alice Scarborough, c 2003 José Maria Garcia-Valdecasas Bernal & Peter Schlenker. Version unknown-131001. Built using pdfLATEX. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sec- tions, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”. The Rockbox manual (version unknown-131001) Sansa Fuze+ Contents 3 Contents 1. Introduction 11 1.1. Welcome..................................... 11 1.2. Getting more help............................... 11 1.3. Naming conventions and marks........................ 12 2. Installation 13 2.1. Before Starting................................. 13 2.2. Installing Rockbox............................... 13 2.2.1. Automated Installation........................ 14 2.2.2. Manual Installation.......................... 15 2.2.3. Bootloader installation from Windows................ 16 2.2.4. Bootloader installation from Mac OS X and Linux......... 17 2.2.5. Finishing the install.......................... 17 2.2.6. Enabling Speech Support (optional)................. 17 2.3. Running Rockbox................................ 18 2.4. Updating Rockbox............................... 18 2.5. Uninstalling Rockbox............................. 18 2.5.1. Automatic Uninstallation....................... 18 2.5.2. Manual Uninstallation......................... 18 2.6. Troubleshooting................................. 18 3. Quick Start 20 3.1.
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • Steve Pomeroy's Resume
    Steve Pomeroy Resume Education Fall 2000–Fall Bachelor of Science, Rochester Institute of Technology, Rochester, NY. 2005 Received a Bachelors of Science in Computer Science from the Rochester Institute of Technology. Concentrated in computer security, computer language construction, Japanese and psychology. Experience April 2013– Senior Software Engineer, LevelUp. present Developed Android application software, focusing on SDK design and development. 2007–2013 Systems Designer & Lead Mobile Developer, MIT Mobile Experience Lab. Lead the development of and participated in the design of numerous projects. Functioned as lead developer for most of their implementations. Duties in projects mostly centered around Android app development, but also included concept development, on-site techni- cal assistance, UI design, technology research and consulting, photography, embedded programming, and hardware prototyping. See mobile.mit.edu/research for a complete list of projects. Designed and developed an Android-based mobile application framework for creating location-based media apps (Locast); implemented a number of apps using this framework. Designed and developed Android-based libraries to modularize some parts the above framework. See github.com/mitmel for some of the aforementioned projects. Directed consolidation of lab’s electronic identity; designed, built, and maintained infras- tructure for the lab’s internal computing and public web resources; misc. web development. 2007–2008 Systems Programmer, MIT Media Lab. Technical lead for main website redesign. This was implemented using a popular free software CMS, which was extended by way of custom pluggable modules to support synchronization with internal databases. Designed and built tool for creating content- managed, stylized masthead graphics. Designed and developed a web-based management tool for student SVN repositories.
    [Show full text]
  • Setting up a Portable Intellivision Development Environment on Your Android Phone
    Portable Intellivision Development Environment for Phones December 27, 2019 Setting up a Portable Intellivision Development Environment on Your Android Phone Written by Michael Hayes [email protected] Date of Last Modification: December 27, 2019 (Note: don’t let the length of this document intimidate you. It’s designed to be easy-to- follow, not concise. Also, this is something you will only have to do once.) Introduction You have a portable Android phone and a physical keyboard connected to it. You now have some experience developing in IntyBASIC. You would like to do future development using only your phone and keyboard, so you can develop anywhere you’re at in the cracks of time in your busy schedule. You may not know a darn thing about Linux and can’t be bothered to “root” your phone. This document is for you. Disclaimer I feel it is imperative to put this on the first page: Neither I nor Midnight Blue International, LLC are responsible for anything bad that happens to you or your phone for the use of any of the information in this text. Neither I nor Midnight Blue International, LLC are responsible if you get fired from your job because you got caught writing games on company time. Neither I nor Midnight Blue International, LLC are responsible if your Life Partner walks out on you because you’re too busy making games anymore. Standard data rates apply with your mobile carrier, blah blah blah. You will need: • A phone with Android 7 or higher and about 550M internal storage space.
    [Show full text]
  • Setting up a Portable Intellivision Development Environment on Your Android Tablet
    Portable Intellivision Development Environment for Tablets April 29, 2020 Setting up a Portable Intellivision Development Environment on Your Android Tablet Written by Michael Hayes [email protected] Date of Last Modification: April 29, 2020 (Note: don’t let the length of this document intimidate you. It’s designed to be easy-to- follow, not concise. Also, this is something you will only have to do once.) Introduction You have a portable Android tablet and a physical keyboard connected to it. You now have some experience developing in IntyBASIC. You would like to do future development using only your tablet and keyboard, so you can develop anywhere you’re at in the cracks of time in your busy schedule. You may not know a darn thing about Linux and can’t be bothered to “root” your tablet. This document is for you. Disclaimer I feel it is imperative to put this on the first page: Neither I nor Midnight Blue International, LLC are responsible for anything bad that happens to you or your tablet for the use of any of the information in this text. Neither I nor Midnight Blue International, LLC are responsible if you get fired from your job because you got caught writing games on company time. Neither I nor Midnight Blue International, LLC are responsible if your Life Partner walks out on you because you’re too busy making games anymore. Standard data rates apply with your mobile carrier, blah blah blah. You will need: A tablet with Android 7 or higher and about 750M internal storage space.
    [Show full text]
  • Apache-Ivy Wordgrinder Nethogs Qtfm Fcgi Enblend-Enfuse
    eric Ted fsvs kegs ht tome wmii ttcp ess stgit nut heyu lshw 0th tiger ecl r+e vcp glfw trf sage p6f aris gq dstat vice glpk kvirc scite lyx yagf cim fdm atop slock fann G8$ fmit tkcvs pev bip vym fbida fyre yate yturl ogre owfs aide sdcv ncdu srm ack .eex ddd exim .wm ibam siege eagle xlt xclip gts .pilot atool xskat faust qucs gcal nrpe gavl tintin ruff wdfs spin wink vde+ ldns xpad qxkb kile ent gocr uae rssh gpac p0v qpdf pudb mew cc e afuse igal+ naim lurc xsel fcgi qtfm sphinx vmpk libsmi aterm lxsplit cgit librcd fuseiso squi gnugo spotify verilog kasumi pattern liboop latrace quassel gaupol firehol hydra emoc fi mo brlcad bashdb nginx d en+ xvnkb snappy gemrb bigloo sqlite+ shorten tcludp stardict rss-glx astyle yespl hatari loopy amrwb wally id3tool 3proxy d.ango cvsps cbmfs ledger beaver bsddb3 pptpd comgt x.obs abook gauche lxinput povray peg-e icecat toilet curtain gtypist hping3 clam wmdl splint fribid rope ssmtp grisbi crystal logpp ggobi ccrypt snes>x snack culmus libtirpc loemu herrie iripdb dosbox 8yro0 unhide tclvfs dtach varnish knock tracker kforth gbdfed tvtime netatop 8y,wt blake+ qmmp cgoban nexui kdesvn xrestop ifstatus xforms gtklife gmrun pwgen httrack prelink trrnt ip qlipper audiere ssdeep biew waon catdoc icecast uif+iso mirage epdfview tools meld subtle parcellite fusesmb gp+fasta alsa-tools pekwm viewnior mailman memuse hylafax= pydblite sloccount cdwrite uemacs hddtemp wxGT) adom .ulius qrencode usbmon openscap irssi!otr rss-guard psftools anacron mongodb nero-aac gem+tg gambas3 rsnapshot file-roller schedtool
    [Show full text]
  • Dissertation Submitted to the Graduate Faculty of Auburn University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy
    Repatterning: Improving the Reliability of Android Applications with an Adaptation of Refactoring by Bradley Christian Dennis A dissertation submitted to the Graduate Faculty of Auburn University in partial fulfillment of the requirements for the Degree of Doctor of Philosophy Auburn, Alabama August 2, 2014 Keywords:Refactoring, Code Smells, Patterns, Non-functional Requirements, Verification Copyright 2014 by Bradley Christian Dennis Committee: David Umphress, Chair, Associate Professor of Computer Science and Software Engineering James Cross, Professor of Computer Science and Software Engineering Dean Hendrix, Associate Professor of Computer Science and Software Engineering Jeffrey Overbey, Assistant Research Professor of Computer Science and Software Engineering Abstract Studies of Android applications show that NullPointerException, OutofMemoryError, and BadTokenException account for a majority of errors observed in the real world. The technical debt being born by Android developers from these systemic errors appears to be due to insufficient, or erroneous, guidance, practices, or tools. This dissertation proposes a re- engineering adaptation of refactoring, called repatterning, and pays down some of this debt. We investigated 323 Android applications for code smells, corrective patterns, or enhancement patterns related to the three exceptions. I then applied the discovered patterns to the locations suggested by the code smells in fifteen randomly selected applications. I measured the before and after reliability of the applications and observed a statistically significant improvement in reliability for two of the three exceptions. I found repatterning had a positive effect on the reliability of Android applications. This research demonstrates how refactoring can be generalized and used as a model to affect non-functional qualities other than the restructuring related attributes of maintainability and adaptability.
    [Show full text]
  • Secure Content Distribution Using Untrusted Servers Kevin Fu
    Secure content distribution using untrusted servers Kevin Fu MIT Computer Science and Artificial Intelligence Lab in collaboration with M. Frans Kaashoek (MIT), Mahesh Kallahalla (DoCoMo Labs), Seny Kamara (JHU), Yoshi Kohno (UCSD), David Mazières (NYU), Raj Rajagopalan (HP Labs), Ron Rivest (MIT), Ram Swaminathan (HP Labs) For Peter Szolovits slide #1 January-April 2005 How do we distribute content? For Peter Szolovits slide #2 January-April 2005 We pay services For Peter Szolovits slide #3 January-April 2005 We coerce friends For Peter Szolovits slide #4 January-April 2005 We coerce friends For Peter Szolovits slide #4 January-April 2005 We enlist volunteers For Peter Szolovits slide #5 January-April 2005 Fast content distribution, so what’s left? • Clients want ◦ Authenticated content ◦ Example: software updates, virus scanners • Publishers want ◦ Access control ◦ Example: online newspapers But what if • Servers are untrusted • Malicious parties control the network For Peter Szolovits slide #6 January-April 2005 Taxonomy of content Content Many-writer Single-writer General purpose file systems Many-reader Single-reader Content distribution Personal storage Public Private For Peter Szolovits slide #7 January-April 2005 Framework • Publishers write➜ content, manage keys • Clients read/verify➜ content, trust publisher • Untrusted servers replicate➜ content • File system protects➜ data and metadata For Peter Szolovits slide #8 January-April 2005 Contributions • Authenticated content distribution SFSRO➜ ◦ Self-certifying File System Read-Only
    [Show full text]
  • Software Engineer
    Steve Pomeroy Software Engineer Experience 2021-preset Staff Engineer, Grubhub, Boston, MA. Android frontend platform engineer. 2020-2021 Media & Hardware Engineer, Grubhub, Boston, MA. Special projects: designed (visual, mechanical, electrical), engineered (mechanical, elec- trical, software), and fabricated a custom LED-based wall-scale art installation that was installed in the elevator lobby of the Boston office. Collaborating with a team of artists, engineered (mechanical, electrical) and fabricated a second large (9m×2.5m) LED-based art installation for a different floor’s elevator lobby. 2015–2020 Embedded Systems Engineer, LevelUp, Boston, MA. Team lead for Hardware team: migrated from a hand-rolled Linux distribution to Yocto. Streamlined the LevelUp Scanner product to make warehousing, deployment, and integra- tion simpler and improve reliability. Wrote kernel-level optimizations of camera driver to improve scanning performance. Developed and maintained standalone Android merchant payment device custom Android ROM & mobile app. 2013–2015 Senior Software Engineer, LevelUp, Boston, MA. Developed Android application software, focusing on internal SDK design and development. 2007–2013 Systems Designer & Lead Mobile Developer, MIT Mobile Experience Lab, Cambridge, MA. Lead the development of and participated in the design of numerous projects. Functioned as lead developer for most of their implementations. Duties in projects mostly centered around Android app development, but also included concept development, on-site techni- cal assistance, UI design, technology research and consulting, photography, embedded programming, and hardware prototyping. Designed and developed an Android-based mobile application framework for creating location-based media apps; implemented a number of apps using this framework. Designed and developed Android-based libraries to modularize some parts the above framework.
    [Show full text]
  • Investigating Performance Issues in Mobile Apps
    Doctoral Thesis Investigating Performance Issues in Mobile Apps PhD Program in Computer Science: XXX cycle Supervisor Prof Massimiliano Di Penta Author: [email protected] Teerath Das [email protected] Co-supervisor Ivano Malavolta [email protected] February 2020 GSSI Gran Sasso Science Institute Viale Francesco Crispi, 7 - 67100 L'Aquila - Italy Abstract The world is moving at a dynamic pace, and this has led to the technological advance- ment of mobile applications. This rise in the advancement of the mobile application comes with critical concerns to end-users in terms of the performance, especially when implementing high intensive features. Moreover, enjoyable user experience in terms of performance is often considered as the main parameter to measure the success of any app. Poor implementation of source code, lack of developers knowledge, and time con- straints on resolving performance issues are few of the major potential performance drawbacks in Android applications. To overcome these performance issues, in this dissertation, we focus on investigating the performance-related issues in open-source Android application (mainly apps from GitHub). Our thesis can be divided into four key research objectives: (i) initially we investigate on the extent to which developers consider performance issues in their com- mits (while maintaining their apps) and how they document it, (ii) to complement this study, we conduct an experiment to study the evolution of Android specific performance issues detected by Android Lint, and based on the obtained results, (iii) we introduce an Eclipse plugin that can be used to automatically resolve seven types of performance- related issues detected by Android Lint; in addition to this, we performed a survey-based study to analyze the self assessed performance refactoring code of the proposed tool from the developers' perspective; and (iv) we design and conduct a measurement-based study to examine the impact of performance violations at run-time.
    [Show full text]
  • Extracting Examples for API Usage Patterns / Hudson Silva Borges
    EXTRACTING EXAMPLES FOR API USAGE PATTERNS HUDSON SILVA BORGES EXTRACTING EXAMPLES FOR API USAGE PATTERNS Dissertação apresentada ao Programa de Pós-Graduação em Ciência da Computação do Instituto de Ciências Exatas da Univer- sidade Federal de Minas Gerais – Departa- mento de Ciência da Computação como requisito parcial para a obtenção do grau de Mestre em Ciência da Computação. Orientador: Marco Túlio de Oliveira Valente Belo Horizonte Março de 2014 HUDSON SILVA BORGES EXTRACTING EXAMPLES FOR API USAGE PATTERNS Dissertation presented to the Graduate Program in Ciência da Computação of the Universidade Federal de Minas Gerais – De- partamento de Ciência da Computação in partial fulfillment of the requirements for the degree of Master in Ciência da Com- putação. Advisor: Marco Túlio de Oliveira Valente Belo Horizonte March 2014 c 2014, Hudson Silva Borges. Todos os direitos reservados. Borges, Hudson Silva B732e Extracting Examples for API Usage Patterns / Hudson Silva Borges. — Belo Horizonte, 2014 xxi, 102 f. : il. ; 29cm Dissertação (mestrado) — Universidade Federal de Minas Gerais – Departamento de Ciência da Computação Orientador: Marco Túlio de Oliveira Valente 1. Computação – Teses. 2. Engenharia de software – Teses. 3. Software – Reutilização – Teses. I. Orientador. II. Título. CDU 519.6*32(043) Agradecimentos Agradeço a todas as pessoas que me ajudaram a chegar até aqui, desde o primário até o término do mestrado. Agradeço especialmente aos meus pais, Diva e Hugo, que sempre estiveram ao meu lado apoiando minhas decisões e dando todo suporte necessário. Agradeço a minha amada noiva, Elisângela, que foi a pessoa que esteve ao meu lado a todo momento durante esses dois anos.
    [Show full text]
  • Atari 7800 Bios (E).Rom
    Atari 7800 bios (e).rom Continue From 8BitDev.org - Atari 7800 Development Wiki A7800 is a fork driver MAME Atari 7800, with several enhancements added: Support emulation Proline Joysticks, VCS Joysticks, Lightguns, Scales, Driver Controllers, Keyboards, Trak-Balls, Amiga Mice and ST Mice. Maria DMA's timing has been improved further, with the addition of accurate DMA hole penalties. Improved saturated/normalized colors with a choice of palette. An optimized user interface that includes menu options to have the Focus of the Atari 7800 system. Fixed an error in the existing RIOT emulation. POKEY improved sound emulation. SALLY (CPU) and MARIA (graphic chip) performance adjustments. Frame rate updated to 50 Hz/60 Hz. Audio indications are not ROM uploaded to silence. BIOS files are no longer required and are not mandatory. The implementation of XM control registers has been updated. MAME and syntax are compatible, allowing you to reuse MAME and front ends files. Download and install Notes Download and follow the instructions for your platform of choice, below. The A7800 is available under a GPL v2 license, with no guarantee of support or suitability of any kind. The latest released version of the A7800 can be downloaded through the github project page. Direct links to gihub packages are available in the installation notes below. Windows download Windows 32-bit Binary has been granted, which should be compatible with most modern Windows. Unpack the provided file into a folder, such as the C:A7800. Create a BIOS folder for a7800.zip (NTSC) or A7800p.zip (PAL) BIOS ROMs such as C:A7800.bios.
    [Show full text]