Hubesco's Blog

Inside a software engineer mind

Update Linux Kernel on OVH VPS SSD

Rédigé par Pao 1 commentaire

It's been a while since I wanted to upgrade my linux kernel on my OVH VPS SSD. But for some reason I couldn't manage to do it. I was stuck understanding why I couldn't figure it out while I have been able to do so for other servers and Linux distribs. 

Here what I found after two evenings and a backup (using OVH snapshot option). Never forget to backup before messing with configuration.

Configuration

  • Provider : OVH
  • Server : VPS SSD 2016
  • OS : Debian 9 Stretch
  • Bootloader : extlinux (<= this is where I struggled)
  • Current Linux kernel : linux-image-3.16.0-4-amd64
  • Wanna be Linux kernel : linux-image-4.9.0-8-amd64

Step 1 - Install the new Linux kernel

Find the Linux kernel to install :

apt-cache search linux-image
linux-image-amd64 - Linux pour les ordinateurs 64 bits (métapaquet)
linux-image-rt-amd64 - Linux pour les ordinateurs 64 bits (métapaquet) avec PREEMPT_RT
linux-headers-4.9.0-8-amd64 - Header files for Linux 4.9.0-8-amd64
linux-headers-4.9.0-8-rt-amd64 - Header files for Linux 4.9.0-8-rt-amd64
linux-image-4.9.0-8-amd64 - Linux 4.9 for 64-bit PCs
linux-image-4.9.0-8-amd64-dbg - Debug symbols for linux-image-4.9.0-8-amd64
linux-image-4.9.0-8-rt-amd64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
... // more here 

Install the kernel

apt-get install linux-image-4.9.0-8-amd64

 

Step 2 - Update the bootlader

This is where I struggled. All the posts I found on Internet mention GRUB or syslinux. But nothing on extlinux even on the official Debian wiki.
Until when I found that extlinux is a variant of syslinux and OVH uses extlinux.

So I proceed to update the configuration as mentionned in the official extlinux wiki with :

extlinux --install /boot

But still no luck until then I found this serverfault answer that says :

I had the same issue, also on OVH after the last update. After looking in the boot folder, I had two different versions: vmlinuz-3.16.0-4-amd64 & vmlinuz-3.16.0-5-amd64 I changed in both extlinux.conf files the version and it worked.

Ah ! So I searched for this second config file :

locate extlinux.conf
/boot/extlinux/extlinux.conf
/extlinux.conf

Here you are !!! 
All what remains is then to update both files, reboot the server and TADA ! I have my new linux kernel.

Happy Ending <3

Google Design Sprint revisited

Rédigé par Pao 2 commentaires

This blog post is part of the "Revisited" series.

I just finished the book Sprint: How to Solve Big Problems and Test New Ideas in Just Five Days - Jake Knapp, John Zeratsky, Braden Kowitz. It describes the Google Design Sprint and how to run one.

The Design Sprint

The sprint gives teams a shortcut to learning without building and launching.

 

The sprint is a five-day process for answering critical business questions through design, prototyping, and testing ideas with customers. Developed at GV, it’s a “greatest hits” of business strategy, innovation, behavior science, design thinking, and more—packaged into a battle-tested process that any team can use.

Working together in a sprint, you can shortcut the endless-debate cycle and compress months of time into a single week. Instead of waiting to launch a minimal product to understand if an idea is any good, you’ll get clear data from a realistic prototype. The sprint gives you a superpower: You can fast-forward into the future to see your finished product and customer reactions, before making any expensive commitments.

This page is a DIY guide for running your own sprint.

http://www.gv.com/sprint/

 

Overview of the process

On Monday, you’ll map out the problem and pick an important place to focus.

On Tuesday, you’ll sketch competing solutions on paper.

On Wednesday, you’ll make difficult decisions and turn your ideas into a testable hypothesis.

On Thursday, you’ll hammer out a high-fidelity prototype.

And on Friday, you’ll test it with real live humans.

Full process can be found here.

 

Tips

Be prepared 

"Michael Margolis and Alex Ingram had interviewed staff at cancer clinics, and with help from Amy, they told us how trial enrollment worked" - page 62

 

The bigger the challenge, the better the sprint - page 26

"Here are three challenging situations where sprints can help :

  • High Stakes (before committing to any big changes and projects, the sprint will help to find the right direction),
  • Not Enough Time (there is a deadline and the project requires good solutions fast),
  • Just Plain Stuck (important projects are hard to start and a fresh approach to problem solving can help to find a way to start)."

 

The Decider must be involved in the sprint and below are some argument if the Decider is reluctant to spend 5 full days - page 31

  • Rapid Progress, emphasize the amount of progress you'll make in your sprint: in just one week, you'll have a realistic prototype. Some Deciders are not excited about customer tests.
  • It's an Experiment, consider your first sprint an experiment. When it's over, the Decider can help evaluate how effective it was.
  • Explain the Tradeoffs, show the Decider a list of big meetings and work items you and your team will muss during the spring week. Tell her which items you will skip and which you will postpone, and why.
  • It's About Focus, be honest about your motivations. If the quality of your work is suffering because your team's regular work schedule is too scattered, say so. Tell the Decider that instead of doing an okay job on everything, you'll do an excellent jon on one thing.

 

Recruit a team of seven (or fewer) - page 34

Who What Examples
Decider Who makes decisions for your team ? CEO, founder, product manager, head of design
Finance expert Who can explain where the money comes from and where it goes ? CEO, CFO, business development manager
Marketing expert Who crafts your company's messages ? CMO, marketer, PR, community manager
Customer expert Who regularly talks to your customers one-on-one ? Researcher, sales, customer support
Tech/logistics expert Who best understands what your company can build and deliver ? CTO, engineer
Design expert Who designs the products your company makes ? Designer, product manager

 

Nobody knows everything (Ask the experts) - page 70

"Instead, the information is distributed asymmetrically across the team and across the company. In the sprint, you've got to gather it and make sense of it, and asking the experts is the best and fastest way to do that"

  • Strategy : start by talking to the Decider
  • Voice of the Customer : who talks yo your customers more than anyone else? Who can explain the world from their perspective?
  • How Things Work : Who understands the mechanics of your product?
  • Previous Efforts : Often, someone on the team has already thought about the problem in detail. That person might have an idea about the solution, a failed experiment, or maybe even some work in progress.

 

Find Customers for Friday - page 119

"Recruit customers with Craiglist [...] The secret is to post a generic ad that will attract a broad audience, then link to a screener survey to narrow down to your target customers [...] We offer a small stipend or token of appreciation - usually a $100 gift card [...]".

 

Make honest decisions - page 139

"Sometimes when people work together in groups, they start to worry about consensus and try to make decisions that everybody will approve."

"During the sprint, Oscar had succumbed to camaraderie. He wanted to let the team make the decision. But the idea the team chose wasn't the idea Oscar was most excited about. Later, after the prototyping and testing were over, he reverted to his normal method of decision-making [...]."

 

Fake it - page 168

"But perhaps the biggest problem is that the longer you spend working on something - whether it's a prototype or a real product - the more attached you'll become, and the less likely you'll be to take negative test results to heart. After one day, you're receptive to feedback. After three months, you're committed".

 

Pick the right tools (Prototype) - page 186

  • If it's on a screen, use Keynote, PowerPoint, or a website-building tool like Squarespace.
  • If it's on paper, use Keynote, PowerPoint, or word processing software like Microsoft Word.
  • If it's a service, write a script and use your sprint team as actors.
  • If it's a physical space, modify an existing space.
  • If it's an object, modify an existing object, 3D print a prototype, or prototype the marketing using Keynote or PowerPoint and photos or renderings of the object.

 

Small Data (Interview, Friday) - page 195

"Newton didn't read the sample pages that evening. Instead, he handed them over to his eight-year-old daughter, Alice. Alice read them. About an hour later, she returned from her room, her face glowing with excitement [...]".

"Alice didn't analyze Harry Potter's potential. She didn't think about cover art, distribution, movie rights, or a theme park. She just reacted to what she read. Those grown-ups tried to predict what children would think, and they were wrong. Alice got it right because she actually was a kid. And her father was smart enough to listen."

 

The Five-Act Interview - page 202

  • A friendly welcome to start the interview
  • A series of general, open-ended context questions about the customer
  • Introduction to the prototype(s)
  • Detailed tasks to get the customer reacting to the prototype
  • A quick debrief to capture the customer's overarching thoughts and impressions

 

Checklists - page 232

"In the following pages, you'll find checklists for every part of your sprint. (You can also find these lists at thesprintbook.com)."

 

 

Resources

Classé dans : book Mots clés : aucun

Clean Code revisited

Rédigé par Pao 1 commentaire

Another blog post on the "Revisited" series.

This time it's Clean Code written by Robert C. Martin. I highly recommend this book because as an experienced programmer, it describes exactly what I have in mind when I write software or when I read code. Martin expresses clearly what I generally admit and sometimes difficult to explain what is clean code (interestingly, I wrote "good code" as a first intention. But here we talk about clean code. Craftsmanship. Not just "good enough"). He gives a lot of arguments for each of his points.
There is also a comprehensive list of what the author thinks what bad code is ("smells"). These "smells" are the same thing as code rule checkers (PMD, Checkstyle, Findbugs, ...) that are run automatically within a continuous integration system.

You will find a word on the author, a synopsis of the book and the tips that are the most important to me.

 

About the Author

Robert Cecil Martin (colloquially known as Uncle Bob) is an American software engineer and author. He is a co-author of the Agile Manifesto. He now runs a consulting firm called Uncle Bob Consulting LLC and Clean Coders which hosts videos based on his experiences and books.

Wikipedia

 

Synopsis

Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way. Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship . Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer—but only if you work at it. What kind of work will you be doing? You’ll be reading code—lots of code. And you will be challenged to think about what’s right about that code, and what’s wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft. Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code—of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and “smells” gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code. Readers will come away from this book understanding How to tell the difference between good and bad code How to write good code and how to transform bad code into good code How to create good names, good functions, good objects, and good classes How to format code for maximum readability How to implement complete error handling without obscuring code logic How to unit test and practice test-driven development This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.

Amazon UK

 

Tips

Data Abstraction and Objects 1 (Objects and Data Structures)

"The beautiful thing about [...] is that there is no way you can tell wether the implementation is in rectangular or polar coordinates."
"There is a reason that we keep our variables private. We don't want anyone else to depend on them. We want to keep the freedom to change their type or implementation on a whim or an impulse."
"Hiding implementation is not just a matter of putting a leayer of functions between the variables. Hiding implementation is about abstractions! [...] Rather it exposes abstract interfaces that allow its users to manipulate the *essence* of the data, without having to know its implementation."

Data Abstraction and Objects 2 (Objects and Data Structures)

"Objects expose behavior and hide data. This makes it easy to add new kinds of objects without changing existing behaviors."
"Data structures expose data and have no significant behavior."

Use Unchecked Exceptions

"The debate is over."
"However, it is clear now that [unchecked exceptions] aren't necessary for the production of robust software."
C#, C++. Python, Ruby don't have checked exceptions and yet it is possible to write robust software in all of these languages.
"The price of checked exceptions is an Open/Closed Principle violation."

Don't Return Null (Error Handling)

"When we return null, we are essentially creating work for ourselves and foisting problems upon our callers. All it takes is one missing null check to send an application spinning out of control."

Don't Pass Null (Error Handling)

"In most programming languages there is no good way to deal with a *null* that is passed by a caller accidentally. Because this is the case, the rational approach is to forbid passing *null* by default. When you do, you can code with the knowledge that a *null* in an argument list is an indication of a problem, and end up with far fewer careless mistakes."

"Clean code is readble, but it must also be robust" (Error Handling)

Exploring and Learning Boundaries (Boundaries)

"Third-party code helps us get more functionality delivered in less time."
"Learning the third-party code is hard. Integrating the third-party code is hard too,. Doing both at the same time is doubly hard. What if we took a different approach? Instead of experimenting and trying out the new stuff in our production code, we could write some tests to explore our understanding of the third-party code. Jim Newkirk calls such tests *learning tests*."

Keeping Tests Clean (Unit Tests)

"From release to release, the cost of maintaining my team's test suite rose. Eventually, it became the single biggest complaint among the developers. When managers asked why their estimaes were getting so large, the developers blamed the tests. In the end they were forced to discard the test suite entirely."
"But, without a test suite, they lost the ability to make sure that changes to their code worked as expected."
"Test code is just as important as production code."

Clean tests follow F.I.R.S.T. (Unit Tests)

  • Fast: Tests should be fast.
  • Independent: Tests should not depend on each other.
  • Repeatable: Tests should be repeatable in any environment.
  • Self-Validating: The tests shoukd have a boolean output.
  • Timely: The tests need to be written in a timely fashion.

Clean Systems (Systems)

​"An optimal system architecture consists of modularized domains of concern, each of which is implemented with Plan Old Java (or other) Objects. The different domains are integrated together with minimally invasive Aspects or Aspects-like tools. This architecture can be test-driven, just like the code."

Optmize Decision Making (Systems)

"We often forget that it is also best to postpone decisions until the last possible moment. This isn't lazy or irresponsible; it lets us make informed choices with the best possible information. A premature decision is a decision made with suboptimal knowledge."

Systems Need Domain-Specific Languages (Systems)

"Building construction, like most domains, has developed a rich language with a vocabulary, idioms, and patterns that convey essentiel information clearly and concisely. In software, There has been renew interest recently in creating Domain-Specific Languages (DSLs), which are separate, small scripting languages or APIs in standard languages that permi code to be written so that it reads like a structured form of prose that a domain expert might write."

Getting Clean via Emergent Design (Emergence)

"What if there were four simple rules that you could follow that would help you create good designs as your worked?"

  • Runs all the tests
  • Contains no duplication
  • Expresses the intent of the programmer
  • Minimizes the number of classes and methods

The rules are given in order of importance.

Myths and Misconceptions (Concurrency)

Myths:

  • "Concurrency always improves performance."
  • "Design does not change when writing concurrent programs."
  • "Understanding concurrency issues is not important when working with a container such as a Web or EJB container."

And so:

  • Concurrency incurs some overhead
  • Correct concurrency is complex
  • Concurrency bugs aren't usually repeatable
  • Concurrent often requires a funddamental change in design strategy

Concurrency Defense Principles (Concurrency)

  • Single Responsibility Principle
  • Limit the Scope of Data
  • Use Copies of Data
  • Threads Should Be as Independent as Possible

History of JUnit (JUnit Internals)

"JUnit has had many authors, but it began with Kent Beck and Eric Gamma together on a plane to Atlanta. Kent wanted to learn Java, and Eric wanted to learn about Kent's Smalltalk testing framework. "What could be more natural to a couple of geeks in cramped quarters than to pull out our laptops and start coding?" After three hours of high-altitude work, they had written the basics of JUnit."

 

Classé dans : book Mots clés : aucun

Keto Diet, 30 days later

Rédigé par Pao Aucun commentaire

October 1st, I decided to start a keto diet. 30 days later, I want to write a post where I capture what I felt during the month and the results I got. It changed a lot of things in my life.

 

What is ketogenic diet ?

The ketogenic diet is a high-fat, adequate-protein, low-carbohydrate diet that in medicine is used primarily to treat difficult-to-control (refractory) epilepsy in children. The diet forces the body to burn fats rather than carbohydrates. Normally, the carbohydrates contained in food are converted into glucose, which is then transported around the body and is particularly important in fueling brain-function. However, if there is very little carbohydrate in the diet, the liver converts fat into fatty acids and ketone bodies. The ketone bodies pass into the brain and replace glucose as an energy source. An elevated level of ketone bodies in the blood, a state known as ketosis, leads to a reduction in the frequency of epileptic seizures.

Wikipedia

Disclaimer : my post is not a descriptive guide to keto or give specific details on how-to (like how many carbs I had. By the way it was less than 20 grams a day) . There are plenty of links and posts everywhere explaining what it is, and how to be in ketosis. Here I will discuss about how I experienced the keto diet, my thoughts and my feelings.

 

How I ended up there ?

I always have been engaged in sports activities in some way but from 2012 to 2014 I didn't do so much I decided to reengage with sports and thus I started the gym. During two years, it was a way to move and spend some energy, but I didn't want to push myself. But one day I wanted to give a boost to my strength so last year in October 2016, I started with a personal trainer. She is a fantastic personal trainer. We had conversations about various topics, openly and friendly. She advised me first to eat less sugar and replace with more protein for my muscles to grow. Not a big deal, just removing the morning bread/honey and replace by egg/bacon instead.

Slowly during the year, I took less and less carbs but I was not strict. I always said that if gym (diet + workout) took too much space in my life, I would stop. Therefore, if I was offered cake, I would eat it with no hesitation. 
I don't remember the exact moment but one day I heard about the ketogenic diet. I was quite surprised to hear that "if you eat a lot of fat, you lose fat". Weird equation, but it also includes the fact that you do have to remove carbs from your meals. It tempted me a lot because I was already at the strength I wanted to be and I lost some fat too but I wanted to go deeper. Lose more fat. I didn't have to lose fat at all, I was already in a good shape but you know, I wanted to have the nice flat shape.

So I decided to give it a go.

 

The Experiment

When I started the diet, I was in the "let's do it!" and "let's see what happens!" mood to give me motivation and boost. But I think what really helped me was to see it as an experiment. I had an hypothesis and a goal, I set up boundaries and I selected tools.

My goal was to lose fat and my hypothesis would be that keto diet would help me burn fat. When I started, it was my only thought : "lose fat". But after three days, my focus shifted towards another goal : be in ketosis tomorrow. And tomorrow. And tomorrow... "Lose fat" was too vague (how much?), not easily measurable and as it is a long term goal. I felt impatient and it seemed non reachable. Instead, "be in daily ketosis" is specific, measurable and concrete. I used ketogenic stripes that told me in 15 seconds if my body was in ketosis state. The first morning I had been in ketosis, I saw it as a success and I was so happy. I could remove enough carbs from my meals. And when the next day I was again in ketosis, I felt I had another success. By the end of the experiment, I had not one but 30 successes to have been every single day in ketosis. One thing I will remember from this experiment is daily successes are far more achievable and rewardings than long term goals. Long term goals create the vision but I should always find daily successes that will motivate me to continue.

My experiment had a specific duration. One month, no less, no more. When I started, I thought I would sacrify one month of food that I really enjoy (steak & potatoes, yum!). I had to prepare myself mentally to change my diet and convince myself hard to not cheat at all. To make it easier, I was comparing one month with the duration of a lifetime. I came to think that one month was nothing and a lot at the same time. Nothing compared to the rest of my life so I could sacrify things to be better after, and a lot because all the experiences and feelings lived during that month could be powerful and change my life. I also wanted to give a chance to my body and my mind to adapt but it was also short enough to stop if it does not suit me. It felt good to know when it would stop.

To help me during the journey, I used tools to measure my diet but also add a bit of fun. 
First tool was ketogenic stripes. It showed me everyday if I was in ketosis. It is cheap and easy to buy. I would say it was a must have to be sure that I respected the diet. 
Second tool was My Fitness Pal. It is a fantastic mobile application. The main feature is select an objective of calories per day, then you insert what you eat (or scan your food!) and it tracks how many calories you eat, showing the breakdown per nutriment (fat/protein/carbs). Almost perfect but I used it during 2 days only. Although it is indeed very precise and useful, I couldn't resolve myself to use the app everyday for every meal. It was too much for me and I didn't even enjoy my meals because I knew I had to enter everything in the app. Instead of using the app, I made a list of high carbs / medium carbs / low carbs food and trusted myself to buy and eat only medium/low carbs food to avoid being over 20 grams per day of carbs. Keto specifies also that I had to eat more fat but that was the easy part. I added more olive oil, more cream, more cheese, more bacon in my meals.
Lastly, I wanted to keep a record of my journey. Something I could go back and remember. There is this blog post but I wanted to show progress. I like pictures so I installed Instagram. I felt it could be a great channel to share my workouts and my meals and everytime I cooked something new, I would post it and added some keto hashtags. It was motivating to see people like my pictures. In the end, I didn't use as much Instagram as I had thought (my first idea was to post everyday) but at least I now have something and I like it. Also I remember I wanted to post a picture before/after like, and see how transformed I was. But I didn't do it because I didn't want to measure the progress in terms of aesthetics or look but in terms of how much weight I lifted at the beginning and at the end.

 

The Results

Did I lose fat? With a diet that burns fat and 4 workouts per week, yes of course I did! Did I reach the flat shape? No I didn't. But it didn't matter because I experienced new things that I didn't expect when I started and these things motivate me to continue.

I didn't notice anything during the first 2 weeks of the experiment, and then it occured to me : my level of energy was high, very high and everyday. Like I could wake up in the morning without moaning, I could workout 4 to 5 times a week, I could recover quickly, I was light, I was calm, I was patient, I was listening, my mind was sharp, I had clear thoughts, I had lot of ideas, I was always ready to get things done, I was proactive, I was motivated and motivating, I was confident, I was happy and smiling, I was enjoying a lot more things around me. As far as I can remember, I never experienced that before. It felt so good. It became a drug, a state where I wanted to stay forever. Today I can't pinpoint exactly what drove me to that state, if it was because I was in ketosis, if had no alchohol during keto or if it was because I created a routine. I am guessing it was surely a combination of differents things. What I am sure of is if I wish to return to this high energy state, I could start another keto diet.

During the month, my body and my mind were adapting to this new lifestyle. I had to give time to process the changes. Little by little, I was creating a routine. I built my life around specific tasks at specific times (breakfast, workout, go to bed earlier) and I had to eat specific food to stay in ketosis. I gave a structure to my days and except unexpected events, I was always doing the same thing. By the end of the experiment, I tackled these recurrent tasks in a robot state. It released my mind of thoughts like "When should I do this ?", "Where should I do it ?", "Will I have the time to do it ?", "Should I finish what I am doing before lunch ?". My mind was ready for everything else instead of thinking about the daily needs and tasks.

Another benefit I found was the discipline I imposed myself to stay in ketosis during the whole month. It was a quiet month regarding going out with friends so I was lucky to not have too many external sollicitations that could made things harder. I still had to dine out four times but I always managed to find a keto meal in the menu. It was hard sometimes and people didn't always understand why I was doing that. I had to be patient and explain a lot. My big problem was I didn't really know why I was doing the diet except "losing fat" but people used to tell me "You don't have to lose fat". So I questionned a lot myself if finally it was worth it. As said previously in my post, daily success of being in ketosis state helped me a lot as my main reason of doing this became to be in ketosis.
Discipline didn't stop at the diet. It expanded to a lot more things than I expected. Keto diet was all about taking care of my body, and I could see the benefits of saying no to things than could harm it or harm the diet. As I gained this new power of saying "no", it occured that I used also to take care of my mind. I said no at work if I had no time to handle some tasks, I said no to hanging out if I was tired, I said no to watch-another-episode-before-going-to-bed, I said no to more food if I was not hungry anymore and I said no to probably more things. It just amazed me of how quiet and strong my mind was. It was resting and it saved me a lot of energy I could then use to tackle complex tasks.

Lastly, I would add that keto diet itself seemed to be suitable for my body. Before the diet, I experienced sometimes the "I ate too much", "I feel heavy", "I didn't manage to digest the previous meal". I don't really know of often but I had these thoughts but during keto, I never felt that. I was always hungry for meals and I was always light. My digestive system seemed to appreciate eating more fat and less carbs.

 

What's next ?

October 31st, I am not in ketosis anymore (it was so sad to not see the keto stripe turning keto coloured) although I wanted to continue after experienced such benefits I am very happy to have managed to complete the 30 days keto. I stopped because it was so difficult for me to cook things for lunch. Around where I work, it is practically impossible to find keto lunch, except two salads at a takeaway. Cooking the evening for the next day took time and energy that I would rather spend with my wife. It also required increased creativity and time to find new recipes. During the first 15 days, I had the motivation to cook but I lost it because it didn't suit me and at the end I was eating only these two salads for lunch.

My only rule post keto diet is I allow myself to eat only one meal with carbs per day. For instance if I eat rice during lunch, I can't eat carbs for breakfast or dinner. With this new rule, I am in a wait-and-see mode. I have no idea how I will change or which impact will occur. I still continue the workout 4 times a week. I see it is a new experiment. Let's see during 30 days if I can accomodate without keto diet.

 

Acknowledgements

I would like to thank you people who helped me to do this :
- my colleagues, who were comprehensive and keen to see the results
- my personal trainer, who motivated me and pushed me beyond my limits
- my wife, who supported me and cooked me delicious meals 

 

Classé dans : Non classé Mots clés : aucun

Facebook, or where your data live forever

Rédigé par Pao 38 commentaires

Facebook, or where your data live forever. Because it's not yours anymore.

OMG Facebook -_-

Back in 2015, after two years not using my Facebook account, I decided to delete it. I was using it only to keep in touch with people but in reality I used it only for birthday reminder. Not very useful.

I was looking for a way to not simply "deactivate" my account but also completely wipe all data. I did find some blog post back then saying that the only way to do so is to contact Facebook, sending them an email asking them to destroy your account.

So I did.

Present times, July 2017, I was involved in a project where we created a Facebook Messenger chatbot and in order to test it, I wanted to create a new Facebook account, using the same email address as previously.

So I did.

Everything was there. Photos, Videos, Likes, Friends, Personal Info, ... As I left them more than two years ago. No changes. No wipe. It's like leaving your home during holidays and you come back and everything is still there at the same place.

After the surprise, comes the anger. Seriously ? It's scarying. Your data don't belong to you anymore.
That's why I created my own server and domain to host my emails and other data.

Hubesco <3

Classé dans : Non classé Mots clés : aucun
Fil RSS des articles