I’m a programmer. I use in daily life four main programming languages: Python, Rust, Golang and Ocaml, and I’m very happy to use my Macbook to develop softwares everyday. As text editor, I use NeoVim everyday, and I hate programming languages with dedicated GUIs (like Pharo for example). As daily softwares, I use a lot Docker, Opera, Keybase, AirMail, Dropbox and Flux. I use The Evil (little tribute to trolls…) everyday: a beautiful early-2013 Macbook Air, 8Gbytes of RAM, 128Gbytes SSD and a dual core to code almost and surf the web 11 hours a day.
An approach to assess and improve the energy consumption of Android apps
Note: These observations are reported in my research report here, and a research paper is currently drafted on this. The source code of this approach is visible in Github. During my final internship at LATECE in Montreal, I developed an approach, supported by a Python framework, to evaluate the energy consumption of Android bad practices, using the source code of the app. This approach is called Hot-Pepper. Hot-Pepper helped us to find that 3 popular Android code smells may be considered as energy code smells: HashMap Usage, Internal Getter/Setter and Member Ignoring Method.
Welcome to the jungle
During undergraduate school, I completed 4 research internships and one research project. I learned a lot during those, especially how to reason in order to resolve a science problem. Most of my friends are continuing in PhD. I don’t. Not because I’m fed up but unfortunately for personal motives. Research projects are great for major things like: diversity, creativity, no pressure to develop a working prototype, to be part of the dynamic and awesome scientist community…
Back to the 60's
In my previous post, I talk about my joy to program my first operating system from scratch (arOS), using assembly and rust code. Steve Klabnik, initiator of the intermezzOS project, hasn’t explain his own solution to display some text on screen, easily and using Rust. The current code to display some text on the screen is the get the address of the VGA buffer (0xb8000), and to add manually our characters, one by one…
My fascination with computers turned faster as an obsession. I’m obsessed with my machine. Really, I’m not feeling all right if I don’t clean up my machine physically every week, and if I don’t reinstall a new clean operating system each 6 months. Obviously, before each clean install, I overwrite my entire hard drive with zeros… which takes me a full day for a 1 TB hard drive. When I was using a GNU/Linux OS, and before installing a new operating system on my computer, I always look up on distrowatch what’s new in the GNU/Linux world.
A post to better understand how to use list comprehension in Nim
Nim is a powerful programming language, developed by a strong and skillful community. Since my post on Twitter 2 days ago, I wrote between 2 and 4 hours a day to program in Nim, and it’s wonderful! I love Python - especially since I discovered the book “Fluent Python” by Luciano Ramalho. Python is a great programming language when you understand how it works, and some useful tricks like list comprehensions.
Hack the TV!
I love watching movies. I see almost four of five movies per week, without any subject restriction. One of my favorite movie director is David Fincher. He is the director of Se7en, Panic Room, Fight Club or Gone Girl. But, above those ones, for me, David Fincher is the director of The Social Network. The Social Network takes part of my ten prefered movies ever. The direction is awesome, actors are awesome, music is awesome and… it talk about tech!
Boys Don't Cry
In my personal life, I am very inquisitive, and I try to contribute a maximum to free and open source projects. Since I was 15 years old, I’m contributing to a few Mozilla’s projects, like the Firefox web browser, the Firefox operating system or the Rust programming language. I was a free translator (English to French), motivated to make the best documentation as possible, web and software developer, beta-tester, etc… and it was just awesome!
We, computer developers, have to develop our knowledge ourselves every day. This practice allows developers to keep ourselves informed about new technologies, new solutions and security issues. For the majority of developers, this “update” is not a pain. We have choosen to work with computers due to our passion with these awesome machines, and this “update” thing is just the best thing to do to maintaining this passion. You can, every day, consult some great tech news like HackerNews, TechCrunch, The Verge, Wired or Korben (for French guys) - and that’s already a good step.
"The End Is Near" #LOL
Abstract Skynet is a technology reached by the Terminator franchise. In this saga, Skynet is an artificial intelligence which thought that the Human race is malicious, and has to be exterminated (pretty optimistic…). This artificial intelligence has been developed by engineers to help Humans for some difficult situations but, obviously (we are in a science-fiction movie), the artificial intelligence has developed itself and became aware of itself. People who are afraid of artificial intelligence always bring up this example, whenever there is an artificial intelligence success.