CV for Jonas S Karlsson ======================= Work Home Jonas S Karlsson Jonas S Karlsson Kruislaan 413 Binnen Bantammerstraat 6a 1098 SJ Amsterdam 1011 CK Amsterdam The Netherlands The Netherlands Phone: +31 6 2423 8543 Fax : +31 20 5924199 Email : jonas@cwi.nl Name : Jonas S. Karlsson Date of Birth : 12th July-1968 Place of Birth: Enköping, Sweden Marital status: unmarried I n t r o d u c t i o n : Currently I'm finishing my PhD at CWI (Dutch Centre for Mathematics and Computer Science) under the supervision of Martin Kersten. The delivery of the thesis is expected in autumn 1999. Formerly, I was previously employed as a researcher at the database laboratory (EDSLAB) at IDA, Linköping University. My research interest is on Data Structures, Parallel Databases; Parallel Storage (LH*), Parallel Query Processing, Parallel Objects Handling. I focus on Scalable Distributed Data Structures (SDDSs) which involves dynamic hashing and dealing with multi-attributes, and their integration to DBMSs. I have also a keen interest in Main-Memory Database Systems, and their efficient implementation. Expericences from WS-Iris/AMOS developed by Tore Risch at HP-Labs and Monet developed by the Datamining theme at CWI/Amsterdam. I have broad expericence of automatically generating web-pages as interfaces to data storing systems. G o a l : The type of work I am looking for is in a free environment, where information and ideas are shared. Working in a group with a broad range of contacts is encouraging for me. I have participated in a number of projects where designs have been discussed, and later on implemented. It is encouraging to share and see others views. I also enjoy working on projects on my own - from idea/design to finished implementation. My area of interests is broad. Some words that captures part of it are: Data Structures, Data Storage, (O)DBMS implementations/prototyping, HTML/HTTP, Active web-pages. P e r s o n a l : I speak Swedish, since I'm native Swedish, my mother lives in Norway so I also easily make my self understood there. English is my technical language. German I studied for 5 years in "Gymnasium" and spend 1/2 year in Berlin. I do now speak fluently German. Lately, Dutch has been added to the set of languages that I do understand. Currently studying Spanish. Other interests include, movie (video) watching with friends, cooking, traveling, meeting new cultures, occasial "hacking" (programming interesting ideas, see projects at the end), reading Science Fiction, practicing Tai Chi, Fencing, and driving my Yamaha XJ750 through Europe! ( current homepage: http://www.cwi.nl/~jonas ) R e f e r e n c e s : * Martin Kersten, Professor, CWI, Email: mk@cwi.nl, (Dutch Center for Mathematics and Computers Science P.O. Box 94079, 1090 GB Amsterdam, The Netherlands) * Witold Litwin, Professor, Paris 5 Dauphine, IBM Almaden Email: Witold.Litwin@dauphine.fr * Tore Risch, Professor, Linköping University, works w. Litwin Email: torri@ida.liu.se (IDA/Department of Computer Science and Information Science, Linköping University, S-581 83 Linköping, Sweden) P r o f e s s i o n a l S k i l l s : * Broad knowledge/interest of programming lanugages, from object-oriented, to functional, procedural. Examples are: C (DB implementations), perl (scripting/prototyping), Erlang, lisp (simulations), C++, SmallTalk, Pascal. Fortran, HTML, SQL, Object Oriented SQLs, emacs; implementing my own specialized languages. * Early Unix experience (88-), used variants of UNIX:es (SGI, HP, AIX, Sun, Linux), MS-DOS, MS-Windows, OS/2, CPM * Protocolls hands-on implementations: HTTP, SMTP, RPC, KOM Web-server implementations, Import of emails/threading to DBMS. * Database Implementations: Memory Management, Data Structures, Query Evaluators/Interpreters/Compilers, Indices, Cost-Models Query Optimizer, Database Recovery and Logging, Main Memory awareness. * Parallel & threaded: Implemented a portable C-threads package, Multitasked a DBMS using it. LH*lh - Distributed Data Storage, implemented using threads for real-time performance. * Experiences in filtering, reformatting, and fast prototyping of ideas; using combinations Lisp/Perl/C/Web-servers. D i p l o m a s : * PhD due in 1999. (University of Amsterdam, The Netherlands) * Technical Licenciate Exam (1997 at Linköping University, Sweden) * Master of Science in Computer Technology and Computer Science (1993 at Linköping University, Sweden) L i s t o f p u b l i c a t i o n s : * J. S. Karlsson, M. L. Kersten Omega-Storage: (To be presented at the Australian Database Conference, Canberra, Australia, January 2000) * J. S Karlsson hQT*: A Scalable Distributed Data Structure for High-Performance Spatial Access. (Presented at Int'l Conf. on Foundations of Data Organization, Kobe, Japan, November 1998) * J. S Karlsson, M. L. Kersten Transparent Distribution in a Storage Manager (Was presented Int'l. Conf. on Parallel and Distributed Processing Techniques and Applications, Las Vegas, NV, USA, July 1998.) * Licentiate of Engineering Thesis No 609, by Jonas S Karlsson, 1997 A Scalable Data Structure for a Parallel Data Server ISBN 91-7871-918-6, ISSN 0280-7971. April, Linköping University.. (A Licentiate Thesis is a simpler form of PhD Thesis made about 3 years after the MSc, available only in Sweden. A full PhD these takes 2-3 more years.) * J.S. Karlsson, W. Litwin, T. Risch: LH*lh : A Scalable High Performance Data Structure for Switched Multicomputers. (In The 5th International Conference on Extending Database Technology (EDBT'96) Avignon, France, March 1996. * Karlsson, J. S. (1995). An Implementation of Transaction Logging and Recovery in a Main Memory Resident Database System. (Master Thesis LiTH-IDA-Ex-94-04, Department of Computer and Information Science, Linköping University, Sweden.) T e c h n i c a l R e p o r t s : * J. S Karlsson, M. L. Kersten Scalable Storage for a DBMS Using Transparent Distribution Technical Report INS-R9710, CWI, Amsterdam, The Netherlands, 1997. * Karlsson, J. S., Litwin, W., and Risch, T. (1995). LH*LH : A Scalable High Performance Data Structure for Switched Multicomputers . Technical Report LiTH-IDA-R-95-25, Department of Computer and Information Science, Linköping University, Sweden. Was presented at EDBT-96, Avinon, France. * J. S. Karlsson, S. Larsson, T. Risch, M. Sköld, M. Werner AMOS User's Guide, CAELAB, IDA, Department of Computer Science and Information Science, Linköping University, Sweden, Memo 94-01 edition, March 1994 Summary W o r k i n g E x p e r i e n c e (details below): Research (1995-1998) + Database Lab (EDSLAB) - 2 years + Teaching uni. courses - 9 months + CWI - 2 years Consulting (1986-1995) + Rektron AB - 3 years (1986-1992) + Schmidt+Haench - 6 months (1992) + Tech Prog, EDSLAB - 1 year (1993-1995) Technical work (1985) + Bahco AB - 3 months, (List is in reverse time order, time overlaps) Convention: year month : Event at a date, such as exam year month- : Activity started year-year : (partime) activity during period (time) : (estimated) working time spent on activity 1999 autumn CWI: Delivery of PhD thesis. 1998 Nov CWI: Referee ICDE'99 1997 Jul- CWI: Database Researcher, due to finish PhD in 1999. New spatial scalable distributed datastructure (SDDS). Integration of SDDS into a DBMS (Monet). 1997 Feb- CWI: Invited Guest (Researcher) involved in porting the (5 months) database system Monet to Parallel machine (Parsytec). Other activities includes applicance of SDDS (Scalable Distributed Data Structure to a database system, Monet). 1997 April EDSLAB: Technical Licenciate Thesis presentation. (could be described as "half-a-PhD", two years into PhD). 1994-1996 EDSLAB: PhD courses taken in: Principles of Modern Databases, (~8 months)Distributed Databases, Configuration Management, Advanced Computer-bases Learning Environment, Scientific Writing, Temporal Databases, Parallel Programming and Compilation Techniques, Debugging and Performance Monitoring with the TOPSYS Environment, Network Databases, Computer Network and Service Protocols, Multi-databases. 1993-1996 EDSLAB: Teaching in undergraduate courses (~9 months)Programming Abstractions and Methology. Lisp course.(lect/lab) Process Programming and Operating Systems. (lect/lab) Databases (labs) 1996 Mars EDSLAB: Presentation of LH*lh at EDBT´96 Avignon France together with prof. Tore Risch and prof. Witold Litwin (Paris 9, Dauphine). 1995 Feb- EDSLAB: Employment as researcher (PhD-student) at EDSLAB (still (Engineering Databases and Systems LABoratory), employed) IDA (Department of Computer and Information Science), LiTH (Linköping Institute of Technology). 1993 Aug- EDSLAB: Technical Programming support for CAELAB/EDSLAB (6 months) Extension of WS-Iris/AMOS database (C,lisp) 1993 Febr- EDSLAB: Master Thesis Work: An Implementation of Transaction (6 months) Logging and Recovery in a Main Memory Resident Database System. The work was done with for prof. Tore Risch. (C,lisp) 1992 Aug- Rektron AB: Networked multi-user version of Rektron GAUGE (6 months) database software. Further extensions on user defined database schemas, and user defined query plans. (Borland O.Pascal) 1992 Febr- Schmidt+Haench: Student Exchange program (COMETT II): (6 months) Programming and planning at the Product Development group at Schmidt+Haench, Berlin, Germany. Project for Sudzucker Industrie to handle information flow at chemical laboratory. Software for controlling of mechanical laboratory equipment was developed, as well as means for data storage. (B.O.Pascal) 1988-1994 Rektron AB: Database system & application design and product (2 years) development. The product is support for ISO-9000 calibration and tracebility in industry (Volvo, FMV...). The work took place during summers at Rektron AB in Stockholm, but also besides studies. Total time working time (hours counted) 2 years. (B.O.Pascal) 1987 July Joined studies at the Master of Science Program in Computer Science and Engineering at Linköping University. 1987-1995 Board of a diverse University Societies; Lysator - Lysator Academic Computer Club Society 2 year secretary + 1 year board member Admittansen - University Electronics Club 1 year vice president +other activites. 1987 Summer Rektron AB: Practical work. Porting/Hotting up DBase (3 months) application to newer DBase version in network environment. (basic) 1986 Summer Rektron AB: Practical work. Porting CPM Basic software (3 months) to (original) IBM PC.(basic) 1985 Summer Bahco Ventilation AB: Summer work, helping out with (3 months) technical drawings updates for air conditioning systems. L a n g u a g e s : * Swedish is my mother tongue. * English is my technical language. * Proficient in German. * Dutch I understand. * Learning Spanish. P r o j e c t s : I briefly mention some of my "fun" projects that I sometimes spend some "hacking" time on: * Built a crude "scanner" using my MCP-40 plotter. Hardware interface & Software for Oric-Atmos. (85) * Forth - wrote an interpreter/compiler for forth on a Z80, using Turbo Pascal 3, CP/M. (86) * Assembler - written for an digital project where we developed our own CPU/computer from VLSI-chips. (87) * Adventure Language - a project in lisp, developing a object-oriented language for implementing adventures in. (87) * MASCAL - my own Pascal, interpreter with loose typing, and types like "code", "expression" (lazy evaluation style) (89) * LISP - a lisp-interpreter written in Borland Pascal. (94) * Benchmarking Repository - interfaced AMOS MMDB (OSQL) with gnuplot facilities to plot and extract excessive amounts of data - later used for plots in EDBT paper. (95) * Querying External File Data - general interface for AMOSQL to query semi-structured external data, such as mail-files. (95) * QPM - Query Processing Memory manager in C, a memory managment and efficient ObjectLOG interpreter. I.e. the core of a DB system. Extensible with new datatypes and data structures, crude TUI.(96-) * JySKom - a web-interface for a Conference System (stored messages). Implemented an web-server (HTTP-protocol) from scratch in Perl, this server acts as a client to the Kom database using a plain-text RPC, it generates HTML-pages on the fly. (96-97) * KOM AMOSQL interface - query external specialized conference database system to facilitate Advance Object Queries. * cjtml - a preprocessing language for HTML, a simple but yet capable interpreter written in a few lines of Perl! (96) * Mankan Search - another "application" for the web-server code. Extracted and generated well-formed (legacy) data from web-pages, create well formed database that can be queried structured. (http://skiff.cwi.nl:2442/) (98) * MYLL - a new web-language based on cjtml, allows "active" web-pages. Is a inline text/string macro language, allows easy generation of HTML. Avoids the irritating quoting problem when generating HTML. Allows for *extremely* rapid prototyping of web-applications. For example the basic JySKom project could be "implemented" in a day using this language. Makan Search, can be replaced by a few pages of code. Uses XML-style "databases".(98-99) * Album - Automatic Photo-album (HTML-pages) generation for manual classification. Creates views and facilitate queries over picture collections. Implemented in MYLL. (99)