Name: Ryan Ginstrom
Born: 1970
Education: BA Stanford with honors, 3.96 GPA
Location: Okinawa, Japan
I'm an independent software developer, but sometimes do freelance work. I'm not interested in a full-time or in-house position at this time.
Contact information
Languages
Selected Examples of Software Developed
| Project |
Language(s) |
Frameworks/technologies |
Points of interest |
| Felix |
C++, Python |
WTL, COM |
- Add-ins for Microsoft Word, Excel, and PowerPoint
- Switch GUI language between English/Japanese on the fly
- Main application can be controlled by automation (e.g. scriptable)
- Custom templating language written in C++ (specs here)
|
| Analyze Assist |
Python, C |
wxPython, COM |
- Includes custom Python modules written in C
- Performance bottlenecks removed via COM servers written in C++
- File list box with drag and drop and file icons
- Switch GUI language between English/Japanese on the fly
- Supports multiple document formats
- Supports Felix and TMX memory formats
- User-customizable match ranges
- Command-line version also provided
|
| Count Anything |
Python |
wxPython, COM |
- Drill-down on results in Web page interface
- File list box with drag and drop and file icons
- Switch GUI language between English/Japanese on the fly
- Reverse engineers MS Word's word-count algorithm
- Command-line version also provided
|
| Memory Serves |
Python, C |
cherrypy, SQLAlchemy, wxPython, Mako |
- Registers functions in SQLite database, from custom python modules written in C
- Serves translation memories in local database over LAN via HTTP
- Web browser interface
- Program API
- Stand-alone wxPython app to facilitate uploading of data
|
| Tag Assist |
C++, Python |
WTL, ActiveX, COM |
- Interface for translating HTML/XML files using Felix translation memory
- Coordination of file content between multiple tabs
- WYSIWYG edit tab using DHTML edit control
- Source edit tab using Scintilla edit control
- Browser preview tab using MSHTML browser control
- Search and replace, encoding handling, tag handling
- Custom file browser control in tree-view pane
|
| Honyaku mailing-list archive |
Python |
django |
- Automatically updates archive database from mailing list
- Supports viewing by discussion thread
- Parses search queries
- Sanitizes emails and creates links for URLs
|
| IJET Website |
PHP |
CakePHP |
- Fully bilingual: click English/日本語 on any page to bring up the Japanese/English language version of that page
- Scheduler for admins with drag-and-drop interface using AJAX
- Admin-editable content
- RSS feed
|
| Count on It |
Python |
cherrypy, Mako |
- Reuses large amounts of code from Count Anything
- Processes uploaded files
|
| Word Speaker |
Visual Basic |
COM, MS Office, SAPI |
- Add-in for MS Word with toolbar
- Persistent preferences
- Uses asynchronous speech APIs to enable stop/pause during playback
- Voice-chooser dialog
|
Open-source Code
- winpaths
A Python module that retrieves standard Windows paths. Relies only on ctypes module.
- mailer
A Python module that simplifies sending email
- subdist
A C extension for Python that calculates fuzzy substring distance based on an adaptation of Levenshtein distance
- wchartype
A Python module that detects the types of double-byte characters (e.g. Kanji, Katakana, Hiragana, double-byte numbers/letters)
- Honyaku mailing list archive
Mailing-list archive written with the django framework
- Word Speaker
A text-to-speech add-in for MS Word written in VB.
Other Info
I have strong technical-writing abilities, and am fluent in Japanese and Spanish. I have experience with project management, build automation, testing, QA, and interface design (desktop GUI and web interface).
Here is my profile on Stack Overflow.