Things I like, some tech stuff and coffee

  • Speciality Coffee in Amsterdam

    Once you start buying beans from a speciality coffee roaster, there is no turning back. For some people the taste of speciality coffee is not like coffee and more like some aromatic tea. Some might not enjoy with this. Because the big coffee chains(hint: Starbucks) and supermarkets coded that burned taste into our tongues. They do this because they cannot sell as fresh as local roasters do and they have to sell the same consistent taste which is the burned coffee taste in this case.

    But coffee can have multiple different flavors. There could be multiple factors that affects flavor of the beans such as where the bean grown, other plants around the coffee farm, drying methods and roasting processes. That’s why you can see different tasting notes on the packaging of a speciality coffee product. Which is something great. Losing all these with over roasting is a huge shame.

    (Source: www.moyeecoffee.com)

    Coffee Is Getting Expensive

    It’s not cheap. We should admit that. Coffee is an expensive commodity and getting expensive each year. Due to that we can see the reflection on the prices. If you compare a cup of filter coffee or latte price at a speciality coffee house with the big coffee chain, you can see it’s much more expensive at coffee roasters. Or if you compare 500g bag of coffee bean at a supermarket with the bag at roasters, again you can see the price differences. That comes from the quality and the effort that put into quality grown coffee. Those roasters cannot access coffee with cheap prices like big chains. Because of that they have to reflect it into prices. And the coffee farmers are the ones that suffer the most and earn the least in this equation. According to Moyee Coffee, 90% of the total coffee value disappears into the pockets of a handful of large multinationals, which we call Big Coffee. This means that the coffee farmers are left with only 10% of the value. It’s even worse, because there is nothing is added to this value– only 2% of that amount is actual profit. So if you consider all, it’s actually not that expensive.

    It’s Not Coffeeshop, It’s Coffee House

    Netherlands ruined the word “coffeeshop” for me. It is used to be one of my favorite word. “Going to coffeeshop”, “working from coffeeshop”, “getting a takeaway latte from a coffeeshop”. I was using the word excessively. But “coffeeshop” means “drug store” in the Netherlands. If you ask anyone on the road for the nearest coffeeshop, they will show you the place where you can smoke some weed and get high. So now it’s “coffee house”. Or with a bit more hipster way, “coffee roaster”. I’m getting used to it. If you are visiting Netherlands, especially Amsterdam and if your intention is not the drugs, keep that it in mind 😉

    My Favorite Coffee Houses

    Amsterdam has a really good coffee scene. There are many good quality coffee roasters and coffee houses around. I think it’s one of the two best speciality coffee cities in Europe. The other one is definitely Berlin. During my last two years in the Netherlands I created a list of my favorite coffee houses and roasters. Of course these are not all of them. It’s impossible to list all but these are mostly the ones that I visited and bought coffee. The ones that I enjoy and suggest with wholeheartedly.

    Bocca Coffee

    I’m a bit biased with Bocca to be honest. It’s my first coffee roaster that I met in Amsterdam and the first one that I buy coffee beans. Even before moving to the Netherlands I bought beans from them. But objectively, they are one of the top coffee roasters in Amsterdam. Coffee is great and their store has a great atmosphere in the heart of the Netherlands. They also have great workshops for people who wants to dive into coffee brewing or making latte art. I took one of them and it was a great experience. Bocca is also selling many coffee making equipments. Even some unique tools like GINA Smart Brewer.
    Location: https://goo.gl/maps/tuQaThyreSvg8scU8

    Lot61 Coffee Roasters

    Even though I haven’t sit and drunk coffee that much at the store, Lot61 is the roaster that I buy most of my beans for home brewing alongside with Bocca. I like the taste of roasting profile and also I found it the best value for money. Their regular blend coffee beans are perfect match for my daily filter coffee machine routine and espresso beans have rich, and bold taste.
    Location: https://goo.gl/maps/zSjNP1L5kDxkAgqd7

    Toki

    I cannot stress enough how much I like this place. They don’t have their own roasted beans as far as I know. Last time I checked beans were coming from Berlin. But this cafe has small, cozy and warm vibe. Located very close to my favorite street Haarlemmerdijk. With good coffee, nice desserts, foods and hipster people profile, it’s a lovely place. If you are around, definitely stop by Toki.
    Location: https://goo.gl/maps/8yfFc2qDWeH8vbWf7

    Friedhats FUKU Cafe

    Shining star of Bos en Lommerweg. This cafe was one minute walking distance away from my old house in Amsterdam. It was a great location for me to go and takeaway a coffee then walk in Westerpark. I always loved the vibe of FUKU. Nice cafe, good latte and tasty bites. And I know the name sounds like the F@$! word.
    Location: https://goo.gl/maps/EjcU18pEVL4hZ56V8

    White Label Coffee

    Another place where you can find good coffee at west. In between two beautiful parks of Amsterdam, Erasmus and Rembrandt park. I haven’t bought coffee online from them for a while but I was happy with the coffee when I do. What I also like is the cozy interior space.
    Location: https://goo.gl/maps/Xt7CKBn6xQZPiF1CA

    Back to Black

    I’ve been into the store where located in Weteringstraat. Although I don’t have strong opinions about the coffee at Back to Black, I liked the interior. Nice place to hang with friends. Take a cup of latte, eat a croissant, read your book and give some love to the cat that sleeps on the chair.
    Location: https://goo.gl/maps/a1LoUeBMcAknSyam7

    Rum Baba

    Usually I search on maps before finding a new coffee roaster. But sometimes I just come across a cafe while walking on the streets of Amsterdam. Rum Baba is one of them. I was so happy when I find this roaster. Their colorful interior and delicious beans makes this place a great coffee house. There was not enough space to sit but since it’s located on beautiful Elandsgracht, it’s even better to take a cup coffee from there and walk in Amsterdam. I also recently learned that they have walk-in workshops. Keep following for new ones.
    Location: https://goo.gl/maps/B92xfJ3PSAYDQ81HA

    Scandinavian Embassy

    Do you want Fika in Amsterdam? Then Scandinavian Embassy can be a right place for you. It has spacious and cozy interior. As you might imagine delicious Swedish desserts like cinnamon rolls and cakes. Combine it with coffee and relax. Location is also great. Near Sarphatipark and close to Albert Cuypmarkt.
    Location: https://goo.gl/maps/WmLKS5T6ZvTEWxvg8

    Monks Coffee Roasters

    This is another coffee house that I discovered randomly while riding my bike on the crazy traffic of bike lanes. Immediately loved the place. During my visit I enjoyed reading one of the Standart magazine on the shelf and drank my coffee. I remember that I liked the “pastel de nata” tart that they serve. Good coffee companion.
    Location: https://goo.gl/maps/G6zpFncywpMj8RWU9

    Buying Online

    Almost every month, there is a transaction on my bank account for coffee beans. It’s one of my fixed costs. Since it’s an expensive purchase, I look for the best value for my money. Along with coffee quality, the smooth online shop experience is also important for me. After trying multiple online stores, I decided on these four roasters for now. Bocca Coffee, Lot61, Wakuli, Manhattan Coffee Roasters. All have good online stores and delivery options. In terms of coffee, I can’t say one is way better than the other but if you want me to pick two favorites, Bocca Coffee and Manhattan Coffee Roasters are the best. But also the most expensive ones. So not every month I can buy from them. I usually distribute my purchases amongst all four of these stores. By the way, I need to mention that Manhattan Coffee Roasters is not from Amsterdam. They are based in Rotterdam. Even though this guide is about Amsterdam, I have to mentioned their excellent quality beans. They are only online store and no cafe to visit so it suits my online buying section. I strongly advise to try.

    Among those four, Wakuli is a bit different. They have the best subscription model and best price to be honest. You can easily start your subscription based on your preferred frequency. Weekly, bi-weekly or monthly it’s up to you. If you have too much coffee at home, just skip next delivery. Or suddenly you ran out of coffee, then request for an emergency batch. And if you want to pause your delivery for a while, it’s very easy and convenient to do that. Beautiful online shop, smooth experience. And it combined with good coffee. I highly suggest if you are looking for a coffee subscription service that you can manage based on your budget and schedule.

    There Are More

    Of course there are more coffee houses and roasters in Amsterdam. Also in other cities like Utrecht, Rotterdam or Den Haag in the Netherlands. But these are just the ones I experienced and suggest without any hesitation. Please let me know if you know other coffee roasters in the Netherlands. Maybe we can update the guide next year.

  • For the Love of Street Photography

    Let me start by mentioning that I’m not a professional photographer. Not even a hobbyist photographer I would say. I’m just a guy who loves capturing moments that I see unique and worth capturing. Particularly street photography is my favorite. To me street photography is the most appealing area of photography. Streets and people are always changing. There is always something to tell. The moment you capture has a background story. It can be an impression on a person’s face or a light that shine upon an object. I always look for things that inspires me. Things that might look so ordinary but when captured, you can realize it can be interpreted by each person differently. Whenever I visit a new city, I look for these and usually hate taking touristic photos and selfies. But I should admit that I have another collection of photos that full of them.

    Berlin
    Amsterdam

    Black and White Photos

    There is something magical with black and white photography. I believe the colors are a bit distraction and without them, black and white photos are much more about the scene and the story of the captured moment. Let’s also not forget the nostalgia effect. I usually prefer setting my camera directly to black and white film simulation (Acros in Fujifilm) and look through my viewfinder without the colors rather than post editing to black and white. I’m not even shooting in RAW. Just JPEG with film simulations applied. Don’t hate me. I’m so impatient and lazy for post editing. I only care about the scene. And Fujifilm color science and default film simulations are just perfect.

    Milano
    Amsterdam
    Berlin

    Not Easy

    I should admit that street photography is not easy. You should be patient. Either you can let it flow and catch the moment randomly while you are wandering around or wait till the scene matures for the photo. I think I’m on the first camp for now. Also I’m still shy about pointing my camera to a scene or people. Especially capturing people is risky. Because either they can get angry about being captured or they can notice that they are being captured and the natural scene disappears. No one wants a posed photo. Another thing is not liking the photo you took. Most of the time I take hundreds of photos. Amongst those, I only love one or two of them. Usually after few weeks I come back to archive and find new ones that I think good enough for my liking. This is another beauty of street photography. Because sometimes you don’t even realize you captured a story worthy moment. Only can be seen after some time passes.

    Amsterdam

    My Camera

    At first I had a Canon M50. Best known for it’s vlogging capabilities. But I wasn’t interested in vlogging or anything. I love shooting some random memory videos and that camera was great for it. Besides it was a relatively small mirrorless camera. Easy to carry for my travels. Good quality photos and videos. Unfortunately it was stolen from me during a train ride within Europe. After that I researched a bit for a camera which is compact, stylish and not so expensive. Finally bought my self a Fujifilm XE4. It is a perfect camera for street photography and travel. There are things I like and don’t like with this camera but since this is not a review, all I can say is I’m in love with it and enjoy using it.

    Stockholm

    For more photos you can follow my Instagram profile. My journey on street photography is in the beginning and I will continue.

  • GINA Smart Coffee Maker

    I have many tools to brew coffee at home. For a long time, I was just a simple Hario V60 dripper user. But after moving to the Netherlands, I said new home, new life and decided to broaden my coffee making tools. I wanted to be able make espresso based beverages, but at the same time didn’t want to go too serious about it. An entry level manual espresso machine would do the work for me. I bought Sage(Breville) Barista Express. It’s looking good at my coffee corner and good value for money.

    V60 dripper or espresso machine is good if I make the coffee for myself or maximum two people. But if you have friends and family visiting you, making coffee to everyone can be a daunting task and you may regret why you didn’t buy a proper filter coffee machine. And sometimes, during a work day, you just want to drink one cup of coffee after the other. You just want to drink plain black coffee without any fancy way of brewing. Then you need a filter coffee machine. For that purpose, I bought the lovely local brand of the Netherlands, Moccamaster. With variety of color options, retro looking design and well build quality it is the best filter coffee machine that can be bought on the market.

    The machines aside, I still find the best coffee taste with the pour over methods. This year I moved my experience to a whole another level. My lovely wife gifted me a birthday present that I have long been admired. The GINA Smart Coffee Maker. I would say one of the best birthday present ever. It completely bumped up the joy of making coffee.

    GINA is a dripper with the ability to brew your coffee in three different ways: with pour-over, immersion, and cold drip. Yeah, all three methods possible with this beautifully designed coffee making tool. And speaking of design, it is a real beauty and even have a reddot design award from 2018. It’s something that you want to keep on your kitchen counter with proud. There is an app connected smart version and basic version. Mine is smart one. Or kinda smart, I will talk about it later. The basic version of it has the same design and can be seen at many coffee houses. Baristas enjoy using it. And it definitely looks nice on the bar.

    Design

    This brewer is absolutely beautiful. It comes with three color options. Mine is the white-silver combination and honestly this is the most beautiful option. Shiny metal body and white ceramic funnel looks gorgeous. Bronze precision valve completes its award winning design. Overall it has very well build quality. Definitely doesn’t look cheap. The pitcher is tall, nicely shaped and sturdy. And the white Goat logo looks really nice on it. Remember the smart part, I will talk in more detail but all the electronic gadgets are at the bottom of the GINA. Under the rubber surface there is a smart scale. No display or buttons on it. It comes with a micro usb charging cable and charging port is behind the scale. With the bluetooth connection, you can see all the information on your app. More on it later. This bottom part is also heavy and gives a nice weight distribution to the brewer.

    Some Negatives

    There are three things that I don’t like about it. Upfront conclusion, I can live with them. First, the immersion lid of the ceramic funnel is not tightly closing the top and with a small shake it can slide and fall. When you do immersion, it can get hot and hard to pick up while it is sliding. Second is about the metal frame welding points. Well they are strong, no issues on that but they are bit too obvious to the eye. Or maybe I’m acting a bit obsessive. On the other hand, with the metal color it looks industrial with those welds. Finally, a minor issue but when I unbox it, there were some packaging tapes around the frame. Removing those leaves some initial marks on the metal and rubber plate on the bottom. It can come off, but you need to spend some time. On the other hand, it has a really nice and secure packaging. I couldn’t throw the package to recycling bin until I really had to.

    What is so special about it?

    First off all, just the bluetooth app connection can make it a very special device for many tech savvy people. But for a coffee geek, it’s the precision valve. With this valve, you can control the flow of water and the duration of water coffee interaction. By completely closing the valve, you can achieve the perfect blooming. Here is another benefit, since the ceramic funnel can be detached from the frame, you can easily do the swirling. Which is something hard to do with Hario V60. With GINA, you don’t need to stir. This is something important. According to James Hoffmann, swirling results in much better coffee taste compared to string with a tool. Can’t you achieve this with other drippers? Yes you can but with GINA it’s much more natural and easy to achieve.

    Brewing Options

    Pour over is the main method of GINA. It’s the most straightforward method you can use. It works like a regular V60 dripper but with more precision. You have more control over your brew thanks to precision valve. It comes with its own branded V60 paper but any other brand still works. After finishing the ones that comes with the box, I kept buying Hario paper. Mobile app has pour over section. It will guide you through ratio calculation, blooming timing and total duration of the brew.

    Immersion is not a method I use a lot. It results in a different coffee taste. A more bolder, stronger taste I would say. With the help of precision valve and ceramic funnel lid, immersion method can be applied easily. Mobile app also guides you for immersion. You follow the instructions on it.

    Another method that you can do with the GINA is cold drip. If you are patient enough. Honestly I’m not a fan of cold drip. Even in the 38 celcius degree hot summer days. I don’t like the taste of cold coffee. But that’s me and if you are a fan of cold drip, GINA can help you. For this purpose, it has cold drip module with its specific paper. You can use mobile app for guidance. Honestly haven’t tried yet but I kinda trust it will nail it.

    Cold drip equipments

    Mobile App

    At first, I got really excited about the mobile app functionality of GINA. Charged the battery of the bottom scale, installed the app and make the connection. Then started browsing the app a bit. My first impression was good. Of course it is not the smoothest mobile app or totally bug free. UI of the app is outdated but OK, it is working smooth enough. Best part is bluetooth connection works good and never struggled to connect. There are some useful tools under side menu and you can even use the scale without starting the brew flow.

    Under brew tab, it has four different options to brew such as pour over, immersion, cold drip and brew bar. When you select one of them, you can start your brewing flow and it shows you information about the time, water-coffee ratio and the amount of coffee that you will get in the end. Also guides you when to start adding water, when to stop blooming and when to stop brewing. These are all good and essential features that mimics the manual methods. Things that you can do with an electronic scale and V60. One of my complaints starts here. I was expecting more information. Maybe something about the flow of water. Some extra information about my brewing statistics. There is a room for improvement for the app not just on the UI but also with these type of data and information displaying.

    Other problem I have is with the community feature. This was not a feature that I expect to be existed in this app honestly. You can create your profile, and after finishing your brew it gives you a screen to fill some details about your brew. About the taste, the ratio, the whole information on the brewing(time, grams etc.), your comments and grade for the different aspects of the cup. You can also add a photo. If you want, you can save the data privately or you can share with the community under your profile. Really nice ha? Well if it works. App has an annoying bug that only let me save randomly. Most of the time it’s not able to save my data. That part of the app doesn’t work properly and in time, I stopped using it. In fact this annoyed me so much, I wrote multiple reviews and even sent an email about why app needs to be fixed. But it isn’t getting any better. Maybe this is something related with the Android app, or specific to Pixel device I use or some bug on my profile data. Whatever the root cause is, I had a bad experience using it. In time I find myself stop using the app all together and use the GINA like a basic model on top of a digital scale. To summarize, mobile app and the community feature is really something. I think the idea is great. But the execution of it is subpar. It needs improvement and constant maintenance. Otherwise I don’t see any reason to give extra €75 to upgrade from basic to smart version.

    Overall Thoughts

    Do I recommend it? Absolutely. It definitely elevates your brewing experience. You feel like a scientist and experimenting with the different aspects of the coffee. It looks good on your coffee corner and will be a conversation starter with your guests. Speaking of design, I highly recommend the white-silver model. Best looking combination I would say. Do I still recommend smart version? Well, as a nerdy mobile app engineer I still love connected technologies. If you are into it, give it a try. Your experience might be better than mine. Otherwise, I don’t suggest to pay extra cash for smart version. Basic version looks the same and if you already have a digital scale, you are good to go. Most baristas are using the basic version. If you are planning experiment with different brewing methods or want to add another option to your coffee brewing tools, GINA is a great choice. Check out their shop. They sell different tools, mugs and grinders. Also they recently started their new kickstarter campaign for Otto, a Turkish coffee pot which we call “cezve” in Turkish. Sounds interesting.

    Thanks for reading!

  • Recap: Year 2020

    Almost everyone have something to talk about 2020. What a year! It’s definitely a year that we will tell to our children and grandchildren as bed time stories. But this won’t be a story of how the Covid-19 shake the world. Rather it will be short summary of important events in my life this year.

    Meeting with Jibble Product Team

    Well, that’s actually an event of December 2019. Since the motivation and all the funny moments of that event have effected the whole 2020, I need to mention it. 

    Jibble yearly event(also the first one) took place in Istanbul. It was a great one week long event. Because Jibble is a fully remote company, most of us met with each other for the first time in a physical world. We worked, planned upcoming year, made decisions on new products to develop and of course had a lot of fun. Oh, no need to mention that we ate a lot!

    Team photo at Kolektif House, Istanbul

    Looking back now, I’m so grateful that we had that event and created memories to remember. If Covid-19 was not exists, we might be having second one around this time of the year. 

    Jibble 2.0

    I was working on a good product. Especially after it’s redesign in 2019, it became much more appealing. We were in fast growth stage. Earning new users everyday. Adding new features almost every two weeks. And I was enjoying to work on it.

    Since we are a team that always look for better, we decided that we can make this experience much better than it is now. An app that will have much more features, more user friendly, new and unified design language for the whole brand, up to date technology(sometimes cutting edge technologies) stack.

    Discussing with Pedro, Daniel and Alex

    We doubled the mobile, web frontend and backend teams. Amazing new colleagues joined our team. Worked hard to accomplish our goals. It was not easy. Faced a lot of challenges. But we were sure that this will be a product that will give rocket speed to our growth. I think this gave us the motivation to continue no matter how hard it is.

    Soon it will be publicly available. Even if I’m no longer part of the team anymore, I’m so proud and excited to be part of this journey.

    Covid-19

    This is the topic that I don’t want to talk about too much. Worst thing of the year. Many people died. Many people effected by its impacts on the economy. Some lost their jobs. Quarantines (still writing this from a weekend quarantine), breathing under a mask and living with the fear of getting infected. These are enough reasons to make this year a terrible year.

    I’m thankful that I already had a job that runs entirely remote. No need to commute in crowds or working in offices. But even though, me and my wife got infected by Covid-19. In November this year, we went for a PCR test after showing some symptoms. And the result was positive.

    Either I got it from a coffee shop I go bi-weekly or my wife got the virus from the factory where she work. We don’t know how but we stayed in quarantine, took our medicine and thankfully all the symptoms stopped after one week. In anyway, it was a bad experience. All the muscle pain, fever and other small symptoms are things that I don’t want experience again.

    Family

    This year made me cry few times. My grandma died at the beginning of the year. I miss her a lot. Then losing my cousin’s father due to cancer was second emotional shock to me. 2020 will never be a good year to remember.

    Travel

    I realized that there is no title in this post that I can talk without mentioning about the Covid. It’s the trending topic of the year, right? 

    Me and my wife really love traveling. Almost each year, we were traveling to at least three different countries. Plus having great summer vacations here in Turkey. Like every citizen of the planet Earth, we stuck with local traveling this year. At the beginning of the year, we had plans to visit Japan, Portugal and Sweden. In fact we bought our flight tickets to Sweden but then all the flights cancelled.

    Enjoying remote work by the pool

    Instead we had two amazing summer trips here in Turkey. First one was at the beginning of June. We planned it like half remote work and half holiday experience. So I was with my laptop. I enjoyed working by the beach and in front of our hotel swimming pool. First stop was Alaçatı. Then we moved to Bodrum. And finally ended our holiday in Kaş. There were not much people or tourists due to restrictions. Thus it was a quite and isolated holiday.

    Enjoying my coffee at our favorite hotel in Kalkan — Fidanka Hotel

    Second part of our summer holiday was in September. This time we headed to Adrasan/Çıralı first. It was our first time to visit this part of the Turkey. Honestly fell in love by its nature. Long and inhabitant beaches, forests behind, it was marvelous. We had an amazing boat tour with my wife on her birthday. Visited beautiful coasts of Adrasan. I wish we visit again some day in the future. 

    From the boat tour. Heading to Suluada.

    We ended our vacation in Kaş. This is the second time we visit this place in 2020. I admit, we really love Kaş.

    And of course I have to mention about amazing balloon experience we had in Cappadocia. We woke up very early, it was cold but I can honestly say it worth all of it. Watching that peaceful landscape from 1000 meters high was breathtaking. I will definitely try again.

    A shot from our balloon

    Moving to Amsterdam

    Photo by Liam Gant on Pexels.com

    Not everything is sad or terribly bad this year. Exciting times ahead for our small family. We decided to move Europe and our next home will be in Amsterdam!

    After almost 3 wonderful years and working with great people on exciting products, I’m leaving Jibble. And I’m joining Backbase as a Senior Android Engineer.

    If everything goes well, we will relocate to Amsterdam at the beginning of 2021. This is so exciting and we are curious what the life holds for us in the upcoming years.


    Thanks for reading!

    Ask me on TwitterInstagram or Linkedin

  • Another Navigation in Android Multi Module Architecture

    At Jibble, we moved to a multi module architecture. Alongside with that, we have Kotlin Multiplatform that powers our core business logic and gives us a shared code between Android and iOS. It’s a monorepo project and we only use Kotlin Native for pure business logic code. Everything else related with iOS and Android is being handled on native side. The project is mainly a MVVM architecture. But we have extra couple of layers. Main components are:

    • View → Activity or Fragment
    • ViewModel → Communicator between Interactor and the View
    • Interactor → Kotlin Native shared logic.
    • Assembler → Assembles ViewViewModel, Interactor and Route.
    • Route → Not the Router

    This can be another post topic but in short, the main benefit of this architecture for us is to avoid logical differences between platforms and reduce the amount of time to write Unit Tests for each platform. Cause we write tests for our core business logic only once, which are Interactors.

    I will show a small example of how we use navigation in our multi module application. This example will be a shortened version of our actual navigation architecture without showing all the details about Assembler and Interactor. But rather it will focus on navigating from a Main App Module to Feature A Module and then navigation from Feature A Module to another Feature B Module.

    You might ask, what’s the issue in here? Well, app module depends on featureModuleA and featureModuleB. Thus, it can easily start FeatureScreenAActivity and FeatureScreenBActivity. But what if we need to start FeatureScreenBActivity from FeatureScreenAActivity and vice versa. They don’t know about each other. And if we give dependency to each other, then we create a circular dependency graph which won’t work.

    One way to achieve calling non-dependent activities is via defining the class package name on Intent creation.

    val intent = Intent()
    intent.setClassName(this,“com.uludagcan.navigation.SampleActivity”)
    startActivity(intent)

    Actually you can find a good article about this approach on this link from Gaël Marhic
    https://proandroiddev.com/easy-navigation-in-a-multi-module-android-project-2374ecbaa0ae

    But our solution to this problem will be a bit different. 🤔

    Core Module and Route Contracts

    Let’s introduce a core module to the project. That module will be the lowest level module in our module dependency graph. All modules will be dependent on it either directly or by depending on other module. Specifically, feature modules will have api dependency to core module. And main app module will have implementation dependency to feature modules. By doing that, app module will also be dependent to core module.

    // Inside :featureModuleA module build.gradle file
    dependencies {
    api project(':core')
    }

    // Inside :app module build.gradle file
    dependencies {
    implementation project(':featureModuleA')
    implementation project(':featureModuleB')
    }

    Next thing is to create Route contracts for each screen to navigate. Inside core module, we create Route interfaces for each screen.

    Here is how each of these contracts designed.

    interface FeatureScreenARouteContract {
    fun setup(dataToPass: String)
    fun present(fromActivity: Activity)
    }interface FeatureScreenBRouteContract {
    fun setup(dataToPass: String)
    fun present(fromActivity: Activity)
    }

    There are two functions. setup() is for passing data to that screen. And present() is to navigate to that screen. Each Route contract is a blueprint about how to navigate to itself. Not to other screen. This is why I said it’s not a Router.

    Where do we put the concrete implementation of these routes?
    👉 In each feature module’s screen package.

    Let’s look at how each of these Routes are implemented.

    class FeatureScreenARoute: FeatureScreenARouteContract {

    private var data: String? = null

    override fun setup(dataToPass: String) {
    data = dataToPass
    }

    override fun present(fromActivity: Activity) {
    val intent = Intent(fromActivity, FeatureScreenAActivity::class.java)
    val bundle = Bundle()
    bundle.putString("data", data)
    intent.putExtras(bundle)
    fromActivity.startActivity(intent)
    }
    }

    As I mentioned before, this is not Router. For example the above class is the definition of how to navigate to FeatureScreenAActivity. It defines which data will be passed to that screen and what is the present logic.

    class FeatureScreenBRoute: FeatureScreenBRouteContract {

    private var data: String? = null

    override fun setup(dataToPass: String) {
    data = dataToPass
    }

    override fun present(fromActivity: Activity) {
    val intent = Intent(fromActivity, FeatureScreenBActivity::class.java)
    val bundle = Bundle()
    bundle.putString("data", data)
    intent.putExtras(bundle)
    fromActivity.startActivity(intent)
    }
    }

    We also removed the bundle data passing mechanism with the help of Assembler classes but that’s another topic to discuss.

    Help of Dependency Injection

    Another important component for this system to work is Dependency Injection. It could be Dagger2 or Koin. For the simplicity, we picked Koin for our architecture. (Also we had some issues with Annotation processor of Dagger and Kotlin Multiplatform) We need to define our contract classes in DI. To do that, we have a RouteModule file.

    val routeModule = module {
    factory<FeatureScreenARouteContract> { FeatureScreenARoute() }
    factory<FeatureScreenBRouteContract> { FeatureScreenBRoute() }
    }

    We will put this DI package into app module.

    We are ready to call screens from Activities. 🚀

    How do we call FeatureScreenAActivity from MainActivity?

    First of all, let’s imagine our app layout like below. Two buttons to navigate each screen. And on Screen A, we have another button to navigate us to Screen B.

    MainActivity.kt (Left) , FeatureScreenAActivity.kt (Right)

    Here is how we call Screen A from MainActivity. With the help of ViewModel and LiveData.

    We send button clicks to ViewModel class. And here is what happen in ViewModel.

    MainViewModel.kt

    We inject our Routes to ViewModel class. From this ViewModel, we can navigate to both A and B screens. And when button clicked, we are also setting up the data we want to pass to each screen. After making route ready, we are ready to pass it to LiveData. That LiveData is being observed by the Activity.

    MainActivity.kt

    When Route object observed, present() function will be called by passing the Activity instance as this . And Screen A will appear.

    How do we call FeatureScreenBActivity from FeatureScreenAActivity?

    It’s actually simple and the method is same. Here is the Activity and ViewModel classes.

    FeatureScreenAActivity.kt
    FeatureScreenAViewModel.kt

    Well, that’s all. ScreenA and ScreenB are on the different modules. But you can easily access to each other. Here is how it works:

    You can access the full sample code from the link below.

    canuludag/MultiModuleNavigationDemoAppThis repo is the sample demonstration code of my Medium article about Multi Module Navigation in Android app. …github.com

    Originally posted on https://medium.com/@uludagcan/another-navigation-in-multi-module-architecture-1d4945c1fed0

    Thanks for reading ❤️


    Ask me on TwitterInstagram or Linkedin

  • Kotlin Preconditions in API Design

    When designing your API/SDK functions in Kotlin, there are some useful functions that called Preconditions. Those functions can help you to ensure your functions are used in proper way. You can always define what are the requirements of your function in documentation. But Preconditions can prevent false use of the functions even if developer doesn’t care about reading the documentation.

    Preconditions.kt file

    I will show two of them in an example. require() and check()

    Let’s say we are writing a function to read characters in a file. This functions takes an argument as filePath: String and returns the character count as Int.

    OK, maybe not the best example but it tells the story 🙂

    We designed our function only to read .txt files. But developer can pass a path String to an .xls file. We can prevent this by require() function check. Basically require() will check the String whether it contains .txt. (Just take it as a dumb example)

    And if it is something else, it will throw an IllegalArgumentException. So developer can know that it’s only possible to pass txt files.

    Another function to use is check() . Let’s continue with the same dumb example.

    What if developer passed the txt file but it’s an empty one? With check() we can check the state of the function whether the result have character sum. And if it’s zero, it will throw and IllegalStateException with a message.

    Actually both require and check are very similar in terms of behavior. But the main use case distinctions are:
    require: way to specify expectations on arguments
    check:
     way to specify expectations on the state

    I’m sure there can be many other scenarios to use Preconditions rather than my dummy sample. We can make code self checking. And even the need for Unit Tests can be reduced.

    Other options are:

    requireNotNull() , checkNotNull and error()

    You can check the source code here https://github.com/JetBrains/kotlin/blob/master/libraries/stdlib/src/kotlin/util/Preconditions.kt

    Originally posted on https://medium.com/@uludagcan/kotlin-preconditions-in-api-design-548e44a2579a

    Thanks for reading ❤️


    Ask me on TwitterInstagram or Linkedin

  • Observable(LiveData/Rx) Bind Extensions

    Often times I find myself observing simple values from LiveData or Rx observables and setting them to view items like TextViews or EditTexts. Or setting visibility of a Button or TextView.

    Post values in ViewModel
    Observe values in MainActivity

    Well, it looks ugly to me. We can do it more readable. RxSwift has bind() function to simply do this operation.

    It binds ViewModel value to Label or Image Field

    In order to achieve something similar, we can use Extension functions. So I created a file that called ReactiveBindExtensions in our project.

    Here are some of the functions

    With the help of these extension functions, we can convert our bindings into much readable and clean version. Even cleaner than RxSwift bind() function 🙂

    Makes binding much readable

    You can find the sample extension code in this gist.

    import android.graphics.Bitmap
    import android.graphics.drawable.Drawable
    import android.view.View
    import android.widget.ImageView
    import android.widget.TextView
    import androidx.lifecycle.LifecycleOwner
    import androidx.lifecycle.LiveData
    import androidx.lifecycle.Observer
    import com.jakewharton.rxrelay2.BehaviorRelay
    import io.reactivex.disposables.CompositeDisposable
    import io.reactivex.rxkotlin.addTo
    fun <T> LiveData<T>.bindText(lifecycleOwner: LifecycleOwner, textView: TextView?) {
    this.observe(lifecycleOwner, Observer { textView?.text = it.toString() })
    }
    fun LiveData<Bitmap>.bindBitmap(lifecycleOwner: LifecycleOwner, imageView: ImageView?) {
    this.observe(lifecycleOwner, Observer { imageView?.setImageBitmap(it) })
    }
    fun LiveData<Drawable>.bindDrawable(lifecycleOwner: LifecycleOwner, imageView: ImageView?) {
    this.observe(lifecycleOwner, Observer { imageView?.setImageDrawable(value) })
    }
    fun LiveData<Boolean>.bindVisibility(lifecycleOwner: LifecycleOwner, view: View?) {
    this.observe(
    lifecycleOwner,
    Observer { value ->
    view?.visibility = if (value) View.VISIBLE else View.GONE
    })
    }
    fun <T> BehaviorRelay<T>.bindText(textView: TextView?, bag: CompositeDisposable) {
    this.subscribe { textView?.text = it.toString() }?.addTo(bag)
    }
    fun BehaviorRelay<Boolean>.bindVisibility(view: View?, bag: CompositeDisposable) {
    this.subscribe { view?.isSelected = it }?.addTo(bag)
    }

    Originally posted on https://medium.com/@uludagcan/observable-livedata-rx-bind-extensions-4f2188a53ad1
    Thanks for reading ❤️


    Ask me on TwitterInstagram or Linkedin

  • Eight Docuseries I Liked in 2019

    I know 2019 haven’t end yet. But if something new pops out for me, I think I can update this list quickly.

    I like watching docuseries on different topics. And mostly all of them in very different categories. The list that I write below is mostly a combination of Netflix docuseries (well, almost all of them) but I know there is more than that. I’m a bit lazy and rather than searching, I’m feeding my appetite with what Netflix offers to me. Luckily there are tons of content there and while watching some of them, I’m really having fun. Here is the list!

    One Strange Rock (Netflix)

    image from imdb.com

    One strange rock is mainly about our blue planet Earth. How and why it exists. And all the creepiest and weirdest way of its existence. With the narrative of Will Smith(I think he will be the new God of documentaries after Morgan Freeman) and beautiful visuals, you will truly be mesmerized. Also you’ll hear from 8 astronauts that spend many days in space. Their experiences, and feelings about our strange rock. I think these are very valuable experiences.

    Watch @ https://www.netflix.com/title/81071666

    Abstract: The Art of Design (Netflix)

    image from imdb.com

    Abstract is all about design. But in every way. It varies from costume design to architectural design, from UX design to typeface design. In each episode, one talented person is being examined. Her/his contributions, creations, way of thinking and many more. And also you’ll see how design impacted their lives. I really enjoyed watching every episode of it.

    Watch @ https://www.netflix.com/title/80057883

    The Great Hack (Netflix)

    image from imdb.com

    If you’re in tech or politics, you may heard of Cambridge Analytica and how it impacted the results of 2016 U.S. presidential election. And possibly many other countries’ elections. The Great Hack examines this data company crisis and how data can create devastating affects on every field. I watched from beginning to end with a great excitement.

    Watch @ https://www.netflix.com/title/80117542

    AlphaGo (Netflix)

    image from imdb.com

    As a person who have great interest in Machine Learning and AI, I watched AlphaGo documentary with a great interest. The story is about how Deepmind team beat the ancient game of China, Go. There are a lot of efforts to create such an AI. And I really admired them and their passion to find General AI. 100% recommend this documentary to the people who have interest in AI and Machine Learning.

    Watch @ https://www.netflix.com/title/80190844

    Inside Bill’s Brain: Decoding Bill Gates (Netflix)

    image from imdb.com

    Well, everyone knows Bill Gates. Or do we? I think I’m away from Microsoft ecosystem for more than five years. But I was aware of Bill & Melinda Gates foundation and their projects about eradicating Polio disease and reinventing toilet for poor countries. But after watching this 3 part series, I really respect his contributions to the world. From fighting diseases to find better nuclear energy solutions. He is more than Microsoft. I think after he grown older and older, he really found the true meaning of life and pointed his all weapons to fight with the problems of our planet and society.

    Watch @ https://www.netflix.com/title/80184771

    Rams – A documentary about Dieter Rams (hustwit.com)

    image from imdb.com

    Dieter Rams is one of the most influential designers alive. He is mostly known with Braun products. He left his mark on design industry with his over fifty years of career. And also if you love Apple products, you must thank him because he is the man behind Apple’s minimal and clean design philosophy. You can rent or buy this documentary hustwit.com

    Watch @ https://vimeo.com/ondemand/ramsfilm

    Explained (Netflix)

    image from imdb.com

    Explained is a short series of documentaries about many different topics. And the title says it all. It explains a topic in each episode. Episodes are from 15 to 20 minutes long and fun to watch. Episodes are varying from tattoo to extraterrestrial life and from K-pop to cryptocurrencies.

    Watch @ https://www.netflix.com/title/80216752

    Street Food (Netflix)

    Image from imdb.com

    Delicious docuseries from around the globe. First season was about Asian street food culture. Really enjoyable episodes and on each of them, you’ll find different tastes. And also how our cultural differences affect our foods. With each episodes you’ll witness the life of a street food master and her/his success.

    Watch @ https://www.netflix.com/title/80244996


    Thanks for taking time and reading this! ❤️

    Ask me on TwitterInstagram or Linkedin

  • Kahveyi nereden alıyorum?

    Kahve en sevdiğim içecek diyebilirim. Hatta bir gün boyunca su içmeyi es geçtiğim ama kahve içmeyi atlamadığım zamanlarım olabiliyor. Bu durum kötü alışkanlıklar statüsünde tabiki, kabul ediyorum. 

    Kahve içerken de artık, üniversitedeki umursamaz zevksizliğimi bir kenara koyacak olursam, ciddi anlamda seçici davranmaya çalışıyorum. Çok uzun bir süredir öğütülmüş kahve almayı, hatta bir coffee shop’tan(bunu hep İngilizce olarak söyleyeceğim sanırım, Türkçe’sine dilim alışamadı) kahveyi taze çektirme işini de geride bıraktım. Yanlış okumadıysam, çekilmiş(öğütülmüş) kahvenin bayatlama ömrünün 5 gün civarında olduğunu biliyorum. Bu nedenle Starbucks gibi bir kahveciye gidip, muhtemelen çekirdeği de bayatlamış olan bir kahveyi öğüttürüp eve getirmek istemiyorum.

    Tabiki bir süre kahve çektirip eve getirme işlemini sürdürdüm. Fakat bu işlemi, eşimin bana hediye olarak aldığı öğütücü ile sonlandırma kararı aldım. Bundan sonra çekirdek kahve alıp, kendi ihtiyacım kadar öğütecektim. Ve öyle de oldu. Artık kahve bir seviye daha lezzetliydi benim için.

    Bali’de, Luwak Kahvesi sunan bir işletmede çektiğim kahve çekirdekleri.

    Tabi sadece kahve öğütmek işin bir bölümü. Kahvenin çekirdeğinin kalitesi burada en büyük rolü oynuyor. Başlarda çekirdeklerimi herhangi bir Starcbucks’a gidip alıyordum. Ve hemen hemen her yerde oldukları için de tedarik etmek kolay oluyordu. Fakat sonraları, şehirdeki farklı kahvecileri denedikçe, kahvenin çok başka bir tadının olabileceğini, büyük kahve firmalarının bizlere sunduğu standart kahve tadının aslında neredeyse hikayesiz olduğunu görmeye başladım. Burada hikayeden kastım, bir 3.dalga coffee shop edebiyatı değil. Daha çok çekirdeğin içinde barındırdığı tatlar ve bu tatlara sebep olan yetişme şekli, doğası ve etrafından beslendiği kaynaklar. Kimisinde baharatımsı, kimisinde meyvemsi ve benzer şekilde sayısız farklı tadı barındırdığını görmeye başlamamla birlikte; büyük kahve zincirlerinin bu anlamda, her ne kadar rengarenk desende paketler yapsalar da, çok zayıf olduklarını gördüm. Ve sanırım bu, benim için yeni bir serüvenin başlangıcı oldu. O noktadan itibaren farklı çekirdekler sipariş edebileceğim yerler arayışına girdim.

    Bu uzun girişin ardından, yazının devamında kahve sipariş ettiğim bu yerleri ve nelerini sevdiğimi sizlerle paylaşmak istiyorum. Bu serüven ileride değişiklik gösterebilir tabiki. Yeni yerler öğrenebilir, daha farklı tekniklerden bahsedebilirim. Çünkü bu iş neredeyse bilimsel çalışmaya uzanıyor. Kahvenin çekirdeği, suyun sıcaklığı, kullanılan malzemeler demleme yöntemleri ve daha nicesi. Hele ki demleme yöntemleri konusu ayrıca bir blog yazısına gider. Ben çok uzun bir süredir en keyif aldığım yöntem olan V60 ile hayatımı sürdürüyorum. Farklı opsiyonlar hakkında bilgi almak isterseniz Fatih Arslan’ın kaleme aldığı İngilizce içerikli şu yazıya göz atabilirsiniz.

    https://arslan.io/2017/01/04/starting-your-coffee-journey/

    Gelelim listeye. Tek bir kahve türüne takıntılı değilim diyebilirim. Değişik çekirdekleri, yöresel farklı tatları, farklı kavurmacıların(roastery kelimesi bundan sonra kavurmacı olarak anılacaktır) ürünlerini deneyimlemek hoşuma gidiyor. O nedenle de kahve çekirdeği aldığım yerleri mümkün mertebe çeşitlendirmeye çalışıyorum. Şu ana kadarki listem aşağıdaki şekilde:

    Probador Collectiva

    Merkezi İstanbul’da olan bir kavurmacı. Sürekli değişen bir kahve portföyleri var. Dönemine göre en taze kahveyi sunduklarından emin olabilirsiniz. Web siteleri üzerinden 250 g ve 1 kg paket opsiyonları şeklinde, öğütülmemiş olarak sipariş verebilirsiniz. En son baktığımda filtre veya espresso için öğütülmüş olarak gönderim opsiyonları bulunmamaktaydı. Ayrıca farklı kahve türlerinden oluşan ve içinde 100’er gramlık kahve çekirdeklerinin de bulunduğu örneklem setleri mevcut. 

    Paketleri ve paketle birlikte gelen bilgilendirme broşürleri çok hoş.

    Elinize ulaşan çekirdekler güzelce paketlenmiş oluyor. Ve bu paketler aç kapa mekanizmaları ile hem kullanışlı, hem de çekirdeklerinizin uzun süre bayatlamadan kalmalarına yardımcı oluyor. Paketlerin üzerinde çekirdeklerin degassing tarihleri yazılı olarak geliyor. Ve genelde bu tarihler sipariş sizin elinize ulaştıktan 1–2 haftalık süreler içerisinde tamamlanıyor. İçmeden önce o süreyi beklemek isteyebilirsiniz. 

    Probador, paketlemesini en sevdiğim kavurmacı olabilir. Çünkü her pakette o çekirdeğin hikayesi yer alıyor. Hangi ülkeden, yöreden veya köyden gibi bilgiler detaylıca anlatılmış. Ayrıca paketlerin yanında demleme yöntemlerine dair bilgilendirme broşürleri de geliyor. Çok faydalı bilgiler içerdiğini söylememe gerek yok sanırım. Web sitesinde ayrıca kahve ekipmanları satın alabileceğiniz bir kısım da mevcut. Çekirdek öğütücüden demleme aparatlarına, temizlik ürünlerinden filtre kağıtlarına kadar bir çok ihtiyacınızı karşılayabilirsiniz.

    Montag Coffee

    İstanbul’da bulunan başka bir kavurmacı ise Montag Coffee. Çekirdek çeşitliliği Probador’a göre daha az. Genelde aynı çekirdek türlerini barındırıyor. Tabiki dönemsel değişiklikler oluyor. Sitesinin ve markanın sade bir görünümü var. Paketlemeleri de aynı ölçüde sade. İlk defa sipariş verecekseniz Sample Box setleri tavsiye edebilirim. İçerisinde 125’er gramlık örnekler mevcut. Farklı çekirdekleri deneyip, daha sonrasında isteğinize göre bir çekirdek ile devam edebilirsiniz. 

    Paketlerin güzel bir sadeliği var.

    Sipariş opsiyonlarınız arasında 250 g ve 1 kg opsiyonları bulunmakta. Ayrıca 3 farklı tipte çekirdekleriniz gönderilebiliyor. Öğütülmemiş olarak, filtre makinesine göre öğütülmüş olarak ve French Press için öğütülmüş olarak. Bu opsiyonların bulunması, kahve serüvenine yeni başlamış ve gerekli teçhizata sahip olmayanlar için güzel olacaktır. Çekirdeklerin degassing tarihleri paketin altında yazıyor. Ve elinize ulaştığında içime hazır olarak gelmiş oluyor. Beklemenizi gerektirecek bir durum oluşmuyor. Ya da benim şansıma tarihler bu şekildeydi.

    Sitede bir de ekipman bölümü mevcut. Buradaki opsiyonlar çok az. Fakat yine de güzel ürünlerden oluşuyor.

    Baristocrat

    Şimdiki kavurmacımız ise İzmir’den. İzmirin farklı noktalarında mevcut. Baristocrat’ın işinin ehli bir görüntüsü var. Web sitesine girdiğinizde de bunu görebiliyorsunuz. Çekirdek çeşitliliği gayet yerinde. Ayrıca siyah paketlemeleri çok seksi duruyor itiraf etmeliyim. Fakat diğer kahve kavurmacıların sunduğu açılır kapanır paket özelliği bu paketlerde bulunmuyor. Bu durumun bir eksiklik yarattığını söyleyebilirim. Paketi açtıktan sonra kavanoza koymanız gerekebilir. Kapanabilir mekanizma yerine üzerlerinde bir adet kağıt kıskacı(adı budur sanırım) ile geldiler. Açtıktan sonra ağız kısmını katlayıp sıkıca kapatmak için kullanılabilir belki. Ama yine de hava almasını yeterli oranda engellemeyebilir.

    250 g ve 1 kg’lık paket opsiyonları Baristocrat’ta da mevcut. Fakat buna ek olarak öğütme çeşitliliği çok fazla. Aeropress’ten Türk kahvesine skala çok geniş. Her ne kadar sadece çekirdek siparişi veriyor olsam da bu opsiyona sahip olma durumunu sevdim.

    Siyah paket rengi çok hoş.

    Sitede ürün satışı bulunmuyor. Fakat eğitim adı altında çok güzel bir bölüm bulunmakta. Baristocrat bünyesinde farklı paket opsiyonları ile baristalık eğitimi almanız mümkün. Özellikle Home Barista isimli 3 saatlik eğitimin ilgimi çektiğini söyleyebilirim. Fiyatlar da makul duruyor.

    Ayrıca not düşmeliyim. Sipariş verdiğimde, sırf paketlerin üzerindeki etiket henüz hazır olmadığını, istersem bu şekilde alabileceğimi ya da 1 gün daha beklemem gerekeceğini belirtmek için beni bilgilendirecek kadar da naziklerdi.

    Overdose

    Overdose ile Bursa’daki Nordic Coffee isimli coffee shop vasıtasıyla tanıştım. İzmir merkezli bir başka kavurmacı. Kahve opsiyonları çok fazla. Sitede kıta bazında(Asya, Güney Amerika) bir kategorizasyon yapılmış ki bu da hoşuma giden bir özellik. Seçtiğiniz bölgeye göre kahveleri ülke bayrakları ile gösteren site tasarımı da ayrıca güzel. Birini seçtiğinizde de kahvenizin hikayesini görebiliyorsunuz.

    Kese kağıtlı ve açılır kapanır mekanizmalı paketler. Biraz iri duruyorlar. İnsana 250 gramdan fazla varmış hissi veriyor.

    500 gramlık sipariş verme opsiyonunu göremedim sitede. Bunu bir eksi olarak belirtebilirim. Fakat onun dışında çekirdek ve farklı çekim opsiyonları bolca bulunuyor.

    Sitelerinde bir ürün satışı bulunmuyor. Bu konuda tedariğiniz diğer opsiyonlardan yapabilirsiniz. Derdim sadece kahve diyorsanız onlarca çekirdek opsiyonu ile tavsiye edebileceğim bir yer.

    Petra Roasting

    Petra Coffee yine çok bilinen kavurmacılardan. İstanbul’da bir çok noktada bulabilirsiniz. Kolektif House içerisinde bulunabilmesi çok güzel. Sitede çok fazla çeşit kahve olduğu söylenemez. Diğerleri ile karşılaştırdığımdaki durum buydu en azından. Beğendiğim bir özellik aylık kahve aboneliği. Benim gibi çok sık kahve tüketenlerdenseniz ve 250 gramlık kahveyi sürekli tedarik etme ve kahvesiz kalmama telaşına düşebilirsiniz. Bu duruma güzel bir çözüm olabilir aylık üyelik.

    Sade ve şık bir paketleme. Kese kağıdının dokusunu ve görüntüsünü sevmişimdir her zaman.

    Siparişlerinizi 250 gram ve 500 gram olarak yapabilirsiniz. Ayrıca öğütülmemiş, çekirdek halinde, ve farklı demleme yöntemlerine göre öğütülmüş olarak siparişinizi verebilirsiniz. Elinize ulaşması çok da uzun sürmüyor.

    Dükkan bölümü altında, güzel ekipmanlar satılıyor. Özellikle profesyonel çekirdek öğütücü makinelerine bayıldım. Tabi fiyatları biraz yüksek oluyor bu makinelerin.

    Tchibo

    İlk bakışta bir pazar yeri gibi “her şey satılıyor ya burada” dediğiniz bir yer Tchibo. Tabiki o ürün çeşitliliği bizim konumuz içerisine girmiyor. Fakat kahve çekirdekleri konusunda bir opsiyon sunuyor olması güzel bir şey. Starbucks’tan çekirdek almaya çalıştığım ve bambaşka dünyaların varlığından habersiz olduğum dönemlerde, ekonomi yapmak adına Tchibo’yu tercih ediyordum. Mağazalarından 100 gramlık ya da 250 gramlık opsiyonlarla çekirdek aldığım ve bir çok markaya göre daha hesaplı olduğunu gördüğüm uzun bir dönemim oldu. Yalan değil kahvesi de lezzetli geliyordu.

    Biraz daha hesaplı çekirdek almak ve bu keyiften mahrum kalmamak için kesinlikle deneyebileceğiniz bir alternatif Tchibo. Ayrıca filtre kahve makinesi filtre kağıdı, ölçekler, uygun fiyatlı demleme ve öğütme ekipmanlarını da buradan temin edebilirsiniz kolaylıkla. Benim düzenli alışverişim genellikle filtre kağıdı için oluyor.

    Starbucks

    Evet, vazgeçilmez markamız Starbucks. Artık buradan çekirdek almıyorum. Açık söylemek gerekirse bunun en büyük nedeni de çekirdeklerin bayatlamış olması ve çok yanık derecede kavrulmuş olmaları. Hatta bu Starbucks’un mağazada sunduğu kahvede de görülebiliyor. Farklı yerlerden çekirdek alıp deneyimlediğimde aldığım tattan çok daha acı bir tat ile karşılaşıyorum.

    Çekirdek kahvelerinin paketlemelerinin havalı, rengarenk ve desenli olması gerçekten insanın elini cüzdanına götürüyor bu yalan değil. Ama tamamen ondan ibaret olduğunu düşünüyorum.

    Paketlemeler gayet endüstriyel ve hoş.

    Diyeceksiniz ki neden gidiyorsun? Evet gidiyorum. Ve sürekli gitmeye de devam edeceğim. Tamam biraz yanık bir tat sunuyor olabilir ama çok daha berbat kahveler içtim (co-working ortamında da içmeye devam ediyorum) ve onlara kıyasla hala güzel kalıyor tadı. Ayrıca bambaşka artıları var Starbucks’ın.

    Neler mi? İnsanların yatıp uyuyabildiği ve kimsenin de gelip git buradan demediği nadir yerlerden Starbucks. Saatlerce bilgisayarınızla çalışsanız da kimse sizi dürtmez. Fiyat olarak da cüzdan dostu denebilir. Ayrıca bir mobil uygulama geliştiricisi olarak da uygulamalarını kullanmaktan büyük keyif alıyorum. Keyifli ve pratik bir ödeme deneyimi sunuluyor. Puan kazanma ve hediye sistemi güzel işliyor. Tüm bunları düşününce, gönlümde her zaman bir yeri olacağını düşünüyorum bu devasa zincirin.

    Burada listelediğim kavurmacılardan bir döngü halinde, farklı tarihlerde farklı çekirdeklerden alarak kahve içme keyfimi sürdürüyorum. Lezzet olarak birini diğerlerinin çok önüne koyabileceğimi, sürekli X kavurmacısından alınmalı diyebileceğimi sanmıyorum. Çekirdeklerin lezzeti ve tadı değişse de, genel olarak tüm bu kavurmacıların taze ürün sunması sayesinde hepsini deneyimlemeye devam edeceğim.

    Kapanışa doğru biraz da Bursa’ya yolunuz düşerse gitmenizi tavsiye edebileceğim kahve lokasyonlarını aşağıda listelemek istiyorum. Çalışmak ve güzel kahve içmek için gayet hoş yerler.

    Luwak Kahvesi (@Bali, Endonezya)

    Coffee Sinky

    Nordic Coffee

    Muggle’s Coffee Roastery

    Starbucks Parkora

    Starbucks FSM


    Okumaya zaman ayırdığınız için teşekkürler!

    Sorularınız için bana TwitterInstagram ya da Linkedin üzerinden ulaşabilirsiniz.

  • Remote Work: Home or Co-Working Space

    I’ve been working remotely for more than a year. I should admit that it’s a wonderful opportunity. Less commuting time and stress, creating your own schedule(well, I’m definitely not talking about sleeping by day and being a night owl), allocating more time to your loved ones and being with them when they need your help are some of the perks of being a remote worker. I truly experienced some moments that I was so thankful for all of the above.

    But this post is not about the perks of being a remote worker. It’s more of a comparison between working from home and a co-working spaces. During my remote work experience, I created myself a home office space that I can work comfortably all day long. All the essentials were a good chair, a desk, and your computer. If your company provide home office support budget you can create your dream office.

    My Home Office Space (I know it’s not so fancy)

    Having a beautifully designed office space and creating great products in your personal magical place is really something great. And If you can create a discipline for yourself, you can be much more productive than working from an actual office building. Because it’s less distractive and you have your time to arrange everything. I can honestly say that I created a good time planning for myself like I’m going to an actual office every day. And mostly followed 9 to 5 rule. By working like that I also get a chance to sync my time with my wife’s and my friend’s. After working for a few months with that discipline, being a remote worker became so natural to me and this affected my output at work in a good way.

    But some people follow a different path while working remotely. A cooler or hispterish(is there a word like that?) way. Traveling the world! It’s another option that I find myself thinking about it time to time. Wouldn’t be great if we pack our bags and fly to Ubud for a few months? After that go to Europe just for no reason and spend some time. Yeah, that would be awesome. But also it’s hard if you’re married. And if one of the couples have a job in an actual office space, things can be harder. So it’s not impossible but it easier to create excuses for not doing this. Oh! BTW speaking of Ubud, it’s a wonderful place for nomads or remote workers. During my short stay for a vacation, I thought about that almost every day. Working and living from there would be extraordinary. But this can be another story.

    You’re waking up to this view every day. Just think about that.

    Let’s talk about another option that I also start experimenting recently. Working from home is great. Don’t want to emphasize this again and again. But also it has some drawbacks or some side effects. Being alone is one of them. Even if you speak with your colleagues every day online, still you’re alone at home(accept that). But of course, this also leads to a better productivity by focusing on your work. Another thing is the problems on work-life balance. Ok, so you’re waking up early in the morning and after breakfast you’re getting into your little room. And when the day ends, you’re leaving your room but you’re still at home. Even if you want to go out at nights, your partner may not want like you do. She/he can be tired after a long terrible day and want to relax at home and just want to watch some Netflix shows. At some point, this cumulates and being 80% home person can be frustrating for you. You have to deal with that successfully for your social life. That’s happening to me from time to time. So in order to fight with that, I decided to give co-working space a try. And I started to buy a monthly subscription. Am I happy now? Yeah, much better.

    So what are the benefits of working from co-working space? First of all, leaving home for a while is a good thing. And I think healthier too. Meeting with new people and feeding your social side is another part. Co-working spaces are much better than working from coffee shops. Because everyone around you is mostly a like-minded person. And everyone is working on something. (And also you can leave your computer behind when you go to the toilet without scaring if it can be stolen). With all those creative people around you, new ideas can nourish. That creates a motivation for you to work all they long without getting bored. It’s hard to get that at coffee shops. Coffee shops are more of a short motivation boosters.

    Trust me, there are some people around. It’s just early in the morning.

    After working at a co-working space for a while, I realized that leaving my little home office behind and working as an office person from there whole your time isn’t necessary. I have options and I should combine them. After realizing that, I started to use both of them. And also coffee shops. Now I go wherever I want. Do I need to focus on hard problems and need a giant external monitor or a whiteboard? Then stay at home. Do I need to socialize and feel the air? Then go to co-working space. Do I need more inspiration? Then go to a coffee shop and enjoy a good cup of coffee and cheesecake. After following this pattern, now I’m fully enjoying my remote work experience.

    To summarize them all, I want to list the pros and cons of working from home and co-working spaces. And I want to summarize that these are my observations and humble opinions based on the experience. Let the judging begin!

    Working From Home — PROS

    • You can have any tools and gadgets you want. A large desk, a giant monitor, green plants.
    • Focusing on hard problems and working quietly is much easier.
    • You can dress highly informal (I don’t suggest that)
    • You can grind your own coffee and brew it freshly. (This is so important for me)
    • By leveraging the commuting time, you can use your day and working hours much more efficiently.
    • If you have kids, you can watch them grow and spend more time with them.

    Working From Home — CONS

    • Being alone can be boring. And in time it can harm your emotions.
    • Your home can become an unmeaningful place for you and you may want to be run out of it.
    • Spending most of your time at home can create relationship issues between couples.
    • If you cannot create disciplined working hours, your job may suffer from that.
    • You can gain fat. (Of course not me, but you )

    Working From Co-Working Space — PROS

    • Meeting new and like-minded people.
    • Attending talks and events. Or sometimes giving talks.
    • Fast and stable wifi.
    • Free foods and drinks.
    • Finding new ideas and possible clients.(if you’re a freelancer)
    • Managing your time by creating fixed work hours.

    Working From Co-Working Space — CONS

    • Co-working spaces can sometimes be noisy.
    • If you socialize too much, you can lose your focus on work and start chatting with people unnecessarily.
    • Tables and chairs are not usually the best. It can be bad for your ergonomics.
    • You won’t have your gadgets like external monitor unless you set them up at co-working space. (That’s usually possible with extra pay)
    • If your company doesn’t have support for co-working space, it would cost you extra.
    • Coffee is usually terrible. (This can be a valid reason for me to quit a co-working space)
    • You’ll have extra commuting time and sometimes you should dive into the traffic nightmare.

    If you can find the optimum working style, remote work is really a great opportunity. I tried to share my observations and experiences of working from home and co-working spaces. I’d like to hear yours.

    Thanks for taking time and reading this!


    Ask me on TwitterInstagram or Linkedin