Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The makings of Beenux (Bee for Linux) by Gerardo Richarte

89 views

Published on

This is an experience report on my somehow successful attempts to port Bee from Windows to Linux. I've followed some paths I've backtracked, and took some shortcuts with a clear direction. Taking an incremental constructive approach, the first milestone was gone and the next will be done probably at the time of the talk. The rest will probably be left as an exercise for the future .

Published in: Technology
  • Login to see the comments

  • Be the first to like this

The makings of Beenux (Bee for Linux) by Gerardo Richarte

  1. 1. The Makings of Beenux richie & the Bee Team
  2. 2. The Makings of Beenux richie & the Bee Team
  3. 3. BeeLibrarian forBuilding generateAll bee.exe bee.exe 0000 4d 5a 90 00 03 00 |MZ..............| 0010 b8 00 00 00 00 00 |........@.......| 0020 00 00 00 00 00 00 |................| 0030 00 00 00 00 00 00 |................| 0040 0e 1f ba 0e 00 b4 |........!..L.!Th| 0050 69 73 20 70 72 6f |is program canno| 0060 74 20 62 65 20 72 |t be run in DOS | 0070 6d 6f 64 65 2e 0d |mode....$.......| 0080 34 3f 69 32 70 5e |4?i2p^.ap^.ap^.a| 0090 cd 11 91 61 60 5e |...a`^.ay&.a_^.a| 00a0 79 26 92 61 68 5e |y&.ah^.ap^.a.^.a| 00b0 79 26 94 61 7f 5e |y&.a.^.auRXa.^.a| 00c0 46 78 0d 61 d6 5e |Fx.a.^.ap^.aj^.a| 00d0 79 26 84 61 d9 5e |y&.a.^.ay&.aq^.a| 00e0 79 26 96 61 71 5e |y&.aq^.aRichp^.a| 00f0 00 00 00 00 00 00 |........PE..L...| 0100 0d 62 ca 4e 00 00 |.b.N............| 0110 0b 01 09 00 00 6c |.....l..........| 0120 dd 1c 07 00 00 10 |..............@.| 0130 00 10 00 00 00 02 |................| 0140 05 00 00 00 00 00 |.........P......| 0150 e1 7e 15 00 02 00 |.~..............| 0160 00 00 10 00 00 10 |................| 0170 d0 3e 13 00 87 01 |.>......L.......| 0180 00 e0 19 00 a4 6c |.....l..........| 0190 00 00 00 00 00 00 |................|
  4. 4. What is Bee? ?
  5. 5. BeeLibrarian forBuilding generateAll bee.exe bee.exe 0000 4d 5a 90 00 03 00 |MZ..............| 0010 b8 00 00 00 00 00 |........@.......| 0020 00 00 00 00 00 00 |................| 0030 00 00 00 00 00 00 |................| 0040 0e 1f ba 0e 00 b4 |........!..L.!Th| 0050 69 73 20 70 72 6f |is program canno| 0060 74 20 62 65 20 72 |t be run in DOS | 0070 6d 6f 64 65 2e 0d |mode....$.......| 0080 34 3f 69 32 70 5e |4?i2p^.ap^.ap^.a| 0090 cd 11 91 61 60 5e |...a`^.ay&.a_^.a| 00a0 79 26 92 61 68 5e |y&.ah^.ap^.a.^.a| 00b0 79 26 94 61 7f 5e |y&.a.^.auRXa.^.a| 00c0 46 78 0d 61 d6 5e |Fx.a.^.ap^.aj^.a| 00d0 79 26 84 61 d9 5e |y&.a.^.ay&.aq^.a| 00e0 79 26 96 61 71 5e |y&.aq^.aRichp^.a| 00f0 00 00 00 00 00 00 |........PE..L...| 0100 0d 62 ca 4e 00 00 |.b.N............| 0110 0b 01 09 00 00 6c |.....l..........| 0120 dd 1c 07 00 00 10 |..............@.| 0130 00 10 00 00 00 02 |................| 0140 05 00 00 00 00 00 |.........P......| 0150 e1 7e 15 00 02 00 |.~..............| 0160 00 00 10 00 00 10 |................| 0170 d0 3e 13 00 87 01 |.>......L.......| 0180 00 e0 19 00 a4 6c |.....l..........| 0190 00 00 00 00 00 00 |................|
  6. 6. Roadmap ELFileWriter debug OS Abstraction FFI
  7. 7. Roadmap FFI PoC ELFileWriter debug ELFileWriter ELFileWriter debugFFI debug OS Abstraction OS Interface Remote debugging Smalltalks 2017 tests
  8. 8. ELFFile ELFileWriter
  9. 9. objcopy ELFileWriter
  10. 10. loader.c FFI PoC
  11. 11. LibDLSO FFI
  12. 12. LinuxDynamicLibrary FFI
  13. 13. LinuxDynamicLibrary FFI
  14. 14. OS Abstraction ? It’s a jungle out there
  15. 15. Foreign Functions OS Abstraction FFI
  16. 16. Existing Abstraction OS Abstraction
  17. 17. Existing Abstraction OS Abstraction FFI KernelDLL UserDLL ...
  18. 18. KernelDLLLinuxAdaptor OS Interface
  19. 19. KernelDLLLinuxAdaptor OS Interface
  20. 20. KernelDLLLinuxAdaptor OS Interface
  21. 21. Integration Test test
  22. 22. Integration TestRemote debugging
  23. 23. Last change this weekSmalltalks 2017
  24. 24. RemoteGDBProcessRemote debugging
  25. 25. Future?
  26. 26. Future? HTTP GUI you OsX NOS 64
  27. 27. TheEnd not ? ? ? ? ?? [Audience hasQuestions] whileTrue: [ self answer: Audience nextQuestion]. Audience do: [:you | self thank: you]. richie returnTo: Audience

×