Adrien BERTRAND – Projects portfolio

advertisement
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.
Download