AdrienBERTRAND–Projectsportfolio HereisaselectionofprojectsIhaveworkedon,onmyfreetime,overthethepastfewyearsas ofMay2016(includingongoingprojects). Youwillfindhereadescriptionofwhattheyare,myroleinthem,andtechnologiesinvolved. Websites • TI-Planet–https://tiplanet.org(2011–Present) Co-founderandco-administrator.Fullstackdeveloper. Builtaroundaforumenhancedwithmanycustomfeaturesandonlinetools,TI-Planetis theFrench,andpossiblyworldwide,leadingcommunityaboutTIcalculators,renowned foritsactivenewsportalandfilearchive.Thewebsitealsofeaturesawikigathering informationonTIcalculators.ManymajornewsarticlesarealsoavailableinEnglish. Asofmid-2016,we’vehadover6millionvisits,65000members,growingeveryyear. Myrole:especiallynowadays,itismostlyonthebackend(co-sysadmin,Debianserver), althoughIalsoliketocreateuser-facingtools,thusinvolvingfront-endcoding&design. Technologies(mostly):Apache,Nginx,Bash,PHP,MySQL,HTML/CSS/JavaScript,C,C++ • Inspired-Lua–https://inspired-lua.org(2011–Present) Co-founderandco-webmaster. Thiswebsite,andparticularlyitswiki,isawell-knownEnglishresourceforTI-NspireLua scriptingbeginnersandexperts,providinghelpfultutorials,documentation,examples… ItislinkedfromTI’sofficialwebsiteontheirTI-NspireLuapages. Myrole:initialsetupofthesite’sparts,writingcontent(articles,documentation…) Technologies:WordPress,MediaWiki,HTML/CSS/JavaScript,Lua,TI-NspireLua • ToutMonExam–https://toutmonexam.fr(2015–Present) Co-founderandco-webmaster(withXavierAndréani) Thiswebsite,aimedatFrenchstudents,helpsthembyprovidingadatabaseofpast, presentandfuturestateexamsinformationwithdates,details,questionscategories… Officialsubjectsandproposedsolutionsareputonlineassoonastheyareavailable,so thatstudentscanworkonthemearly,inordertobeaspreparedaspossible. Thewebsiteisgettingrelativelypopularratherquickly. Myrole:bothfront-end&backend:databasedesign/architecture,maincode,design… Technologies:PHP,MySQL,HTML/CSS/JavaScript(vanillaandwithframeworks) • Otherwebsites&onlinecommunities Ihavebeeninvolvedinnumerousonlineforums,andactiveandmatureenoughtobe, onsome,relativelyquicklyinvitedinthestaffteam,orevenmoderation. Ihavealsohelpeddeveloped(bothbackend+front-endcoding,design)personalsites. Web-basedtools/apps • TI-Planet’sProjectBuilder–https://tiplanet.org/pb(late2015-present) Creator.Fullstackdeveloper Thisisacomplex,althoughuser-friendly,webapponTI-Planetallowinguserstocreate programmingprojectsfortheirTIcalculators,inlanguageslikeBasic,C,Asm,Lua… Thewholepointofthisistoshowhoweasyandfunprogrammingcanbe,asprojects canbesharedandclonedamongusers(ifwanted),toencourageknowledgesharing… Currently,onlyone(butmajor)moduleoftheprojectbuilderisimplemented:Ccoding fortheCEcalculators,onbothbackend(server)andfront-end(client)throughacustom onlineIDEwithreal-timemulti-usercollaboration,syntaxcoloring,auto-completion... Userscansimplycodeeverywherewithouthavingtosetupalocal“toolchain”. Myrole:Back-endandfront-endprogramming,designing,promotingit… Technologies(mostly):HTML/CSS/JavaScript,PHP,MySQL,C,Bash,TI-eZ80calculators • Openspire–https://inspired-lua.org/openspire(≈2016) Co-creator(withJimBauwens) ThisisanonlineWISIWYGinterface(GUI)builder/editorthatmakestheuserableto visuallydesignGUIsfortheirTI-NspireLuascripts,easily–theydonotneedtoknow howtocodeinLua,asthescriptisgeneratedautomaticallybytheeditor.Thisis especiallyusefulforteacherswhowanttospendtimeoncreatingcontent,notcode. Myrole:initialsetupofthesite’sparts,writingcontent(articles,documentation…) Technologies:HTML/CSS/JavaScript(Bootstrap,Angular),Lua,TI-NspireLua • SeveralotherTI-calculatorsrelatedprojects Ihavealsodevelopedotheronlinetools(bymyselforwithothers),mostofthemon/for TI-Planet,integratedintheforumandotherpages.Forexample: - CalcMaster(HTML/CSS/JS,PHP,MySQL):interactiveQ&AsubsiteaboutTIcalculators - Calculatorcomparator(HTML/CSS/JS,PHP,MySQL):interactivecomparisontool - TI-Planet’sAPI(PHP,MySQL):providesawayfordeveloperstointeractwithTIPlanet’sfilearchivedatabase(search,browse,getfileinformation,etc.) - tivars_lib(PHP,C++,JS):Library/setoftoolstointeractwithTI-(e)z80calculatorfiles. WritteninbothPHPandC++(twodifferentneeds),andavailableinJSviaemscripten. • JamLegend3rd-partywebapps–notavailableanymore(≈2009) Creator JamLegendwasanonlinesingle-andmulti-player“GuitarHero”-likevideogame. Inadditiontobeingaveryactiveplayerandoneoftheactivecommunityleaders,I developedseveralonlinetoolsrelatedtothegame,suchasplayerstatsimage-signature generatorandplaylistcreator/sharer,bothusefulforcommunitymembers.Iendedup beinginvitedbythegamedevelopersinSanFranciscoforaday,meetingtheteametc. Myrole:bothfront-end&backend:databasedesign/architecture,maincode,design… Technologies:HTML/CSS/JavaScript,PHP,MySQL Desktopsoftware WhileIhavemademyselfmanysmallutilities,inBash,Lua,sometimesPython,herearetwo more“advanced”softwareI’vebeeninvolvedin. • CEmu–https://github.com/CE-Programming/CEmu(late2015-present) Contributor CEmuisa3rd-partyTI-84PlusCE/83PremiumCEcalculatoremulatorfocusedon developerfeatures.Thecore(eZ80CPU+specificcalculatorhardwareemulation)is programmedinC,andtherest(GUIetc.)inC++withQt. WhileI’mnotacoredeveloper,Ihelponseveralotherpartsoftheapplication. Recently,I’veaddedanautomatedtestingtool,inC++,allowingCEnativedevelopersto writetestsuitesfortheirprogramswhichcanruninanautomatedwaywiththecore. Myrole:testing,translating,helpingwithGUIdesign,codingsomedeveloperfeatures Technologies:C,C++,Qt Note:I’malsosimilarlyinvolvedina3rd-partyTI-Nspireemulator,called“Firebird”. • nRemote–https://github.com/adriweb/nRemote(mostly2012) Co-creator(withJérémyAnselme) ThisisanTI-Nspirecalculatorremotecontrolsoftware,especiallyusefulforteachers,as itallowsthemtoseethehandheld’sscreenfromtheapp,anddirectlyinteractwithit withavirtualkeypad.Sequenceofactionscanberecordedandplayedback.nRemote alsosupportsbeingconnectedtoseveralhandheldsatthesametime(inparticularwith theTI-NspireNavigatorwirelesssetup),whichisyetanotherclassroomusecase. Myrole:Mainprogramming Technologies:Java Mobile/Tabletsoftware Whilerecentwebsitesandweb-appsthatImakeareresponsive,I’vealsomadeafewnative (Objective-C)iOSappsbetween2011and2014,forinstance: • iResistor–https://appsto.re/i6Yc9Qd(Free) Conversionto/fromresistorvalues&colors,withadditionalinfoliketolerance,series… Theappisquitepopularinitscategory(downloadedabout23500timessofar). • iExams–https://appsto.re/i6Yw5Fc($0.99) Allowsstudentstosetup&organizeupcomingexamswithspecificinformationabout them.Theappisabletosyncwiththenativecalendar. • TI-Planet–https://appsto.re/i6Yc9Qr(Free) TheofficialTI-PlanetiOSapp.Itallowsuserstoreadthelatestnews(fetchedviaRSS), accessthemobileversionofthewebsite,andtalkwithothermembersonthechat. • ISENColles–notavailableanymore AlittleappformyclassatISENwhileIwasstudyingthere,thatallowedstudentsto checkforupcomingoralexams,providingdetailslikelocation,date/time,etc. Embeddedsoftware • FormulaPro–https://github.com/adriweb/EEPro-for-Nspire/(2012–present) Co-creator(withJimBauwens) FormulaProisoneofthebiggestTI-NspireLuascripts–it’sagraphicaleducationalapp aboutElectricalEngineering(andmodularenoughtoembedanyothertypeofdata) providingover700categorizedformulasintegratedinasmartsolverandtools. Thescriptisdoneinsuchawaythatit’sworkingonmorethanjustthehandhelditself: it’salsofullyworkingonthecomputersoftwareandtheTI-NspireiPadapp. FormulaProhasbeenfeaturedonseveralwebsites,includingTI’s,andhasbeenthe projectonwhichI’vebeennominatedforthe“Engineeroftheyear2013”title(student category)bytheFrenchperiodical“L’UsineNouvelle”. Myrole:Programming,testing,promotingit Technologies:Lua,TI-NspireLua&Basic • AppleWatchCEmuandTI-NspireCXCEmu ThosetwoappsImadewereproofs-of-conceptshowcasinghowthethird-partyTICE calculatoremulator’scorecouldrunonasmartwatchaswellasanother(higher-end)TI calculator.Nodownloadisavailable,althoughvideosshowingthemareonYouTube: https://youtu.be/xGh3T_o-E_Qandhttps://youtu.be/DzpmJoQHOwI • Manycalculatorprograms I’vestartedprogrammingonTIcalculatorsaroundtenyearsago,during/formathcourses, andhaven’treallystoppedsince.Infact,codingonthoseplatformsiswhatmotivatedme, notsolongafter,togetintomoreadvanced,computerprogramming. It’sworthnotingthatcalculatorseasilyqualifyas“embedded”astheyhaveaverysmall amountofRAMandprocessingpowercomparedtoalmostanyhandhelddevicetoday. HereareafewcalculatorprogramsIhavemadeovertheyears: - Games:ClassicslikePong,Snake,Connect4,2DTunnel(83+/84+Basic),2048(CEC, NspireLua),andabitmorecomplexoneslikeBasketball,DoodleJump,Breakout, FallDown,FlappyBird,TowerDefense(Nspire-Lua),etc. - Math:functionanalyzer,step-by-stepcalculustools,interactivecourseshelp, fractalsdrawer,etc. - Science:chemicalreactionanalyzer,FormulaPro(NspireBasic&Lua),eclipse schedules(83+/84+&NspireBasic),Physicsenginedemos(NspireLua),etc. - Utilities:musiceditor(83+/84+Basic,NspireLua),lowercaseenabler(z80/eZ80 ASM),GUIframeworks(83+/84+Basic,NspireLua),externalhardwaretools (83+/84+Basic,NspireLua),multi-calculatorchatetc.