Your Personal Database (PostgreSQL)

I was reading Choose FI: Your Blueprint to Financial Independence and one of the chapters concluded with a question like:
“What would you do if you didn’t have to work?”

Something rose to the surface. Even if I didn’t need to work to earn money, I would still practice data analysis using SQL.

This awakened my desire to set up a SQL server-database for personal use. Back-end database access where I can write queries. I miss this dearly from my previous job, where I had an in-house electronic record system and superuser access. I’ve tasted the forbidden fruit and cannot go back to measly front-end, web-browser button clicking to configure reports with limited functionality and flexibility. The power of back-end querying is what I seek, but this is challenging when my company doesn’t currently have a database. Setting one up is notoriously hard, even for professional developers.

I emerged through some struggles to set up a personal SQL database so I can practice queries with my own data. I like the IDE called Datagrip by Jetbrains (free with a student email address) and PostgreSQL (also free) which is what I used in the previous job. Here’s how to set it up.

Step 1: Download PostgreSQL
It’s free.
https://www.postgresql.org/download/

Step 2: Install PostgreSQL and set up postgres User Password and Port.

The super user credential will be used to set up the database connection in the IDE.
Username is postgres (by default). You define the Password.

The default port of 5432 worked for me and should work for most people.

Step 3: Complete PostgreSQL Installation. Restart computer to apply downloaded updates.

Step 4: Download and set up DataGrip.
It’s free with a student email account. There are other free IDEs such as DBeaver too.
https://www.jetbrains.com/help/datagrip/postgresql.html

Step 5: Set up the database in DataGrip.
In the “Database” pane on top left, click the + icon > new Data Source > PostgreSQL.

Give it a name. I called it Personal Postgres.

Use localhost, port 5432, and Authentication type as User & Password.
Enter the User: Postgres and the Password you defined in step 2. Choose your Save password preference (Forever is convenient for a personal computer).

Test the connection. If it works, then hit Apply and OK.

Note: If you get an error message like this, that means the PostgreSQL was not installed correctly (step 2).
You MUST use the username and password. The “No Auth” feature did not work for me.

Step 6: Savor the connection!
The database will take a few minutes to connect to an online server so that you can use PostgreSQL SQL functions. If you have very strict firewall settings on your computer, you might need to allow Windows firewall or similar to allow the 5432 port connection.

If everything is good, you’ll get a small Connected status update on the bottom right Event Log:


In a future post, I’ll share how to upload your first database table from a CSV file.

Happy querying!

Advertisement

Jan & Feb Egg Count

As a Chicken Tender, I raise some of the happiest chickens on the planet.
And as an analytical data tender, I like to track how many eggs have been laid and by whom.

People ask me how many eggs I collect in a week, and I’m a nut about calculating costs too. So I will share monthly updates on how many eggs were gathered and the average cost per dozen. Figuring out these numbers is satisfying. It’ll be interesting to see how the egg count and cost per dozen changes as we approach June where the longer daylight results in more egg laying, and then tapers down as we approach winter solstice.

I currently raise 6 layer hens. They eat organic chicken feed and garden greens, range freely, and slurp up tasty worms like noodles.

Here’s our monthly Egg Count for January and February 2023:

Month (2023)Laying HensEggs per Day (avg)Eggs per WeekDozens per WeekEggs per MonthDozens per MonthFeed CostCost per Dozen
Jan62.719.41.6836.9$ 30.00$ 4.30
Feb63.827.72.31078.9$ 30.00$ 3.33

Observations:

– Two of the reinas (2+ year old hens) resumed laying when they finished their winter molt (feather shedding and regrowth) in late Jan and early Feb. This increased the Feb egg count.
– The three bebitas (1 year old hens) laid daily last summer, but this tapered down to a rate of 0.8 per hen (or 4 eggs every 5 days) in January. This is to be expected due to short daylight.

The unchangeable “No.”

When someone tells you, “No,”
don’t react emotionally and close control.
“No” may open up a surprising new world to you.
“No” may unexpectedly lead you to good people.
If you begin to push back against the unchangeable “No,”
you will suffer in the process and miss other opportunities.

Your boss asks you to run an errand that has little to do with your job.
Rather than getting annoyed, just do it and let it go.
Do not turn something trivial into a major source of agony
by wasting time and energy thinking about it endlessly.

*

If I had to summarize the entirety of most people’s lives in a few words,
it would be endless resistance to what is.
As we resist, we are in constant motion trying to adjust,
and yet we still remain unhappy about what is.

If I had to summarize the entirety of an enlightened person’s life in a few words,
it would be complete acceptance of what is.
As we accept what is, our minds are relaxed and composed
while the world changes rapidly around us.

Haemin Sunim 혜민스님, “The things you can see only when you slow down.”

Insightful nugget from one of the best books I’ve read (many times).

Maybe this is why I enjoy being with chickens and in nature.
Chickens are not endlessly stressing about and resisting their circumstance.
They accept and adapt. Sometimes they get pecked. But they pick themselves up and keep eating, searching for grubs, delighting in muddy puddles of rainwater to quench their thirst, roosting every night and rising the next morning, ready to start a new day without existentially wondering about ‘why’ life is an endless cycle of suffering.

There’s been frustrating challenges at work, and through the process I’ve discovered a band of great colleagues who remind me that this workplace has good, hardworking people who care. I wouldn’t have discovered this camaraderie were it not for a stress-inducing process with endless, seemingly unchangeable “No’s” coming from above. I’ve started to let it go and have been resting better.

Discipline = Freedom

From LeBron James, “Routine and Ritual”, Train Your Mind Vol. II series on Calm.com

Ever since that time with the Walker family, I’ve always carried it with me. The desire for a routine. It’s one of the pillars of my success.

Everything in my life is planned and scheduled. I’m talking meals, meeting, workouts, naps, snacks…everything.

Two hours naps in the afternoon: planned.
Half time snack: planned.
Protein shake after the game: planned.
And I’ve got that playlist on repeat day in and day out.

It’s not what you do once or twice, it’s what you do every day.

It’s not just effort, it’s effort multiplied by consistency…year after year…that’s when I start to see my full potential.

I’ve got hectic days, flight delays…the key is to create that routine for yourself, based on what’s important to you. Based on what helps you connect and get locked in.

One of the most powerful things I can do with my time is to plan my time. Put what’s most important on my schedule and defend it. Slip into the groove of a routine and ride it. And when there’s a crisis you need to take care of, you can manage it. Or…You can say no with confidence.

Effort multiplied by consistency.

It’s discipline, not desire, that determines your destiny.

LeBron James

This is what’s keeping me going and grounded this year. 7 week streak of studying and practicing Python programming 4+ days a week, and we’re 7 full weeks into 2023. Running 2+ times a week, every week, to work my way up towards my first half marathon later this year. IT band issues be damned, I’ll do whatever physical therapy and training it takes to take care of my body and work it towards that goal. Going to bed earlier, waking up earlier so that I get my morning coding time in before anything else pulls at my attention. Saving a part of every paycheck and socking it away into retirement accounts for future, wrinkly me to live a relaxed and happy life.

Discipline and Consistency = Freedom.

Homestead Gingerbread

Here’s a recipe for a less-sweet gingerbread with bare-bones spices and minimal dishes to wash. Add whatever nuts, chocolate chips, or fruit toppings you fancy.
I’ve tried: Cranberries studded on top, chopped walnuts, peanuts (strong flavor; walnuts are better), and chocolate chips.
I didn’t include allspice or nutmeg, typically in gingerbread recipes, as I don’t find those necessary.

Yield: About 8 slices, from a 9-inch round pan

Ingredients:

  • 200g flour (all-purpose or whole wheat OK)
  • 1 teaspoon baking soda
  • 1/2 teaspoon salt
  • 2.5 teaspoon ground ginger (add more if you like spicy)
  • 1 teaspoon ground cinnamon
  • half stick (or 55g) unsalted butter, melted
  • 55g sugar
  • 120mL molasses, dark unsulfured
  • 160mL boiling water
  • 2 eggs
  • Toppings: chocolate chips, chopped walnuts, fruit

Directions:

Mix Sweet + Wet ingredients First, then add in Dry.

  1. Pour 55g sugar and 120mL molasses into mixing boil.
  2. Boil water
  3. Melt butter in a microwave-safe cup for about 20 seconds
  4. Pour butter into mixing boil, then pour boiling water into the cup to clean it out.
  5. Whisk items in bowl. When warm (cooled down), add eggs and whisk.
  6. Whisk 200g flour, 1 teasp baking soda, 1/2 teasp salt, 2.5 teasp ginger, 1 teasp cinnamon into the wet ingredients.
  7. Add semi-sweet chocolate chips and any toppings. Whisk till combined, no lumps.
  8. Bake at 350’F for 25-30 minutes.

About Me & Nest Café

About this site:

Welcome to Nest Café ~ Café Nido, where I share about my life of homesteading and learning data analysis/coding. Different aspects forge who I am. I’m happy to share my thoughts with you through this blog, as if we were enjoying conversation at a favorite café.

About me:

Korean Chicken Tender.
Homesteader.
Small Farmer.
Efficient Optimizer.
Data Analyzer and Presenter.
Bridge-Builder between technical concepts and non-technical audiences.
Logic Lover.
Language Learner.
Nature Observer.

Awaken the bread machine!

Last year, I received a bread machine from a neighbor who had previously received it from another neighbor. It sat unused for years at her home so she passed it on. Alas, the tradition continued as it sat on my shelf for many months, yearning for yeast and flour.

I resolved that 2023 was going to be different. I would awaken this bread machine from its deep slumber.

Also, I jogged with a friend along the lake, and we chatted about schmalzkuchen (German beignets), sourdough, and this bread machine. Thank you to this friend for sharing the joy of running and making bread!

Here is a 1 pound loaf, which is the smallest size possible with this machine. The machine kneaded away my fears with its automatic mixing, gentle heat application as the dough rose (proofing), and finally the actual baking. It took 2.5 hours from start to finish with very little hands on and cleaning effort. This cube loaf is chewy and tastes like normal bread! The crust is a little tougher through than store-bought loaves, but I will eventually figure out how to amend this. The yield is a perfect amount for me to enjoy in one week, 1 to 2 half slices per day as part of breakfast or a snack with vegan butter and homemade invasive blackberry jam.

Also: The proofed dough is an exquisite texture that I highly recommend patting. Far better than a baby’s bum!

I was curious…
How much did this 1 pound loaf of homemade bread cost?

IngredientGrams in packageCost of packageCost/gramGrams in loafCost for loaf
Water240g (1 cup)$00240g$0
Olive Oil (organic)1832$15.99$0.00872828g$0.24
Honey
(organic, raw)
2040$19.99$0.00979930g$0.29
Salt453$2.00$0.0044158g$0.04
All-Purpose Flour
(organic, 5 lb bag)
2268$3.49$0.001539300g$0.46
Active Yeast (2 lb)908$7.49$0.0082494.2g
1.5 teaspoons
$0.03
Sunflower Seeds, Toasted, Unsalted, Shelled454$2.99$0.00658660g$0.40
1 Loaf Total670.2g
(about 1 lb)
$1.47
Note: All ingredients were from Costco except for the flour (Grocery Outlet) and Sunflower Seeds (Trader Joe’s).

So I made 1 week’s worth of organic bread for just 147 cents! Definitely a tasty and inexpensively repeatable activity. Next time I will mix sunflower seeds into the dough (I love seed-rich, “bird food” bread) and maybe use a third or half whole wheat flour for more nuttiness.

*Update February 19, 2023*
I’ve now made this recipe 4 times. By happy accident, I discovered that doubling the honey from 15g to 30g somehow produced a softer, chewier bread (did not dry out as quickly) without noticeable sweetness. I also add 60g of sunflower seeds which gets mixed into the dough and gives nice texture. Trader Joe’s has the best value on these. The final bread weight is lighter than adding all the raw ingredients due to water evaporating as it bakes.

If you have a bread machine, you can follow the Ingredient + Grams in Loaf columns to get the recipe. I poured the ingredients in this order (top to bottom) in the Breadman Plus machine.

Curtain Hemmer

If you asked me who am I, as in my role, title or vocation, I would tell you:

My name is Michu, Chicken Tender and a Hemmer.

I recently went to a sewing class at Cultivate South Park (an art studio above Resistencia Coffee) and the teacher, Emily, helped me remember how to use a sewing machine. I had once learned over 4 years ago. I emerged from the first class with a pair of hemmed hiking pants. After the second class I could confidently wind a bobbin and had repaired a shopping bag with button thread, now ready for another thousand grocery hauls.

There are miscellaneous projects at my home that require the precision, speed, and secure stitching of a sewing machine and not hand-sewing. One of these is a pair of curtains. They drape lightly against the floor and have visibly rough edges that were pasted with some kind of glue. My first home sewing challenge! This waited a few weeks as I didn’t have any pins. I followed the Uber Frugal Month’s recommendation to wait 72 hours before buying non-necessities…lo and behold, a few weeks later I found a mysterious tomato pin cushion deep in my sewing box. I don’t know how I have this; the pin cushion I remember from 4 years ago are at my parent’s place, and this one is different. Once I discovered this tomato I threaded up the machine, pinned the curtain hem, and pushed the foot pedal.

I’m pleased because the finished curtain hem is barely noticeable. It wouldn’t catch your eye because it looks factory-made. Which for someone with little sewing experience, is a pleasing achievement!

After that second sewing class, I felt ready to have my own machine. I scoured the used marketplace and found one from an alterations store that was closing (congrats to the owner who is retiring to a farming community on Camano Island!). I like that this Brother is mechanical and not digital (less maintenance complications) but still has a sleek and sturdy design.

It feels good to have acquired a machine for the same price I sold mine for 4 years ago.
It feels satisfying to fix things and do little improvements for my cozy home.
It feels right to buy useful, thoughtfully-planned things that are within my means (this was part of my monthly $200 ‘homestead garden’ budget).

Come on over if you have anything that needs a-hemmin’!

Uber Frugal Month Goals

Next month, I’m going to partake in the Frugalwoods Uber Frugal Month. Step 1 is to establish your goals. I’m going to do that here.

  1. Why are you participating in this Challenge?

    I want to learn new ways to be frugal. I want to curb the tug of consumerism, materialism, and shopping which is a vacuous hobby that delivers fleeting bliss. I want to be surrounded by others who are like-minded and feel encouraged and supported by them. I want to learn ways to save money and dedicate it towards what is most meaningful to me. I want to become more attuned and aware of my spending and saving habits and my relationship with money. I want to develop a healthy, peaceful, and happier relationship with money, personal finances, and finances with my family.

  2. What do you hope to achieve?

    I hope to achieve a better understanding of my saving and spending habits so that I understand how much realistically I spend in a month/year. This will give me a sense of how much money I’ll need to live when I retire (early), happily veering off this rat race and living a sustainable, fulfilling, self-sufficient life on a small farm or homestead.

    I also hope to achieve a better relationship with money. It becomes a strained topic when I bring it up with my partner. I want to ask my parents about how they manage their money, but I freeze up and haven’t asked them. I want to grow comfortable talking about money with my partner, my parents, my family and friends without it resulting in hurled insults or harsh feelings.

  3. What are your longterm life goals?

    Where do you want to be in 5 years?
    In 10 years?

    This is the first time I am penning this publicly.
    I want to achieve FIRE (Financially Independent, Retire Early).

    I want to have the option of not working for a company (full time office-work) and that if I choose to, it’s because I enjoy it, not begrudgingly because I need the paycheck.

    I want to have this option while I feel the fire and joy of keeping a productive homestead, which means the sooner, the better.

    Something in me dies when I imagine slaving away in the rat race for another 5 years. (That something is a putrefied rat corpse). I’d like to exit the rat race in 5 years, but it might be more like 10 years (when I’m about 40). I’m pretty confident I can achieve FIRE by age 50. No matter how many years it is, you damn well better bet that I’ll be enjoying the journey. I may have an office job by day but I am also tending the happiest chickens on earth, growing nutritious fruits and veggies, making mulch and vermicompost, building wooden coop structures, and more. No one can tell me a work meeting is more important than these things. My own conviction is firm.

    I want to graduate from Chicken Tender and try other forms of animal husbandry. Raising hens from chick-stage. Raising quail. Raising 2+ kunekune pigs. Possibly pasture-raising and butchering meat-chickens.

    I want to get good at growing my own crops and making good, homemade food so that I do not need to rely on going to a store. It’s late December and I am enjoying frozen cherry tomatoes and canned tomato sauce from my September harvest. I hope to grow and process enough tomatoes each year that I don’t need to buy them from a store (this post’s photo is from a batch of canning tomatoes). Same goes with strawberries, lettuce and mustard greens. There will be more crops I get good at growing and preserving. Even with chicken eggs, I have not had to buy any all year, and I enjoy a 2-egg skillet breakfast most mornings.

    In 5 years, I want to be on my way towards having a 2nd type of animal (my working companions).
    I want to be self-sufficient in tomatoes, berries, and leafy greens.
    I want to have savings towards a possible small farm or rental property.
    I want to be frugal and save money smartly while still enjoying life, without guilt from either.

    In 10 years, I want to be debt-free. I’ll have paid off my house or be on the way.
    I want to be a small farmer, sharing my organic, flavorful eggs and produce with customers.
    It’s possible I may still be working – if so, I want to be happy while at it.
    I will never stop learning. I want to always be learning – whether it’s a programming language, gardening strategy, animal husbandry, ice-skating, a new bike route, or frugal hack. Usually it’s multiple things like this at the same time, because my life is multi-faceted and I don’t hone into 1 sole obsession.

  4. What about your current lifestyle might prevent those goals from happening and what can you do about it?

    My mindset. I am practical, pessimistic, negative. There’s good and bad sides to this.
    Knowing me, my saving nature and practicality would have me financially ready for FIRE in some years. But I may not take the leap (ie leaving job, getting a pig) until I am very sure. And not taking the leap sooner means delaying happiness.

    Currently it’s difficult to talk about money and work things out with my partner. This makes me take on extra burden of paying a larger share of bills, which means less money saved for future pig-tender me. This needs to change, and I believe it gradually will.

    Another hindrance is my fear, timidness, cowardice to ask questions about money to my parents, who have been good financial role models for me. Time to start breaking the ice. Even writing about this on my blog is a form of breaking the ice.

    Unplanned spending is dangerous. Buying items not on the originally grocery shopping list is dangerous. Stick to the shopping list like Sara’s weekly $100 grocery shopping (from the Youtube Channel Matt & Sara). Be disciplined.

    Don’t go thrift shopping for fun without a specific, well-thought out need in mind. If the goal is to shop for fun, then have allocated dollars for just this.

    Finish the food I have. I buy or acquire more food in a week than I can consume. This has been one of the final and harder parts of minimalism for me. “Food minimalism”. This would make me spend less on food and waste less and enjoy more fridge and pantry space.

    Onwards!

Compounding Knowledge

It’s been one year since I started studying programming using Codecademy.com. I set out to study 4 to 5 times a week, every week, 1 lesson page at a time. My longest streak on record is 12 weeks in a row. I’ve completed 86% of the Learn Python 3 course (a hefty course that covers programming fundamentals) and finished the Command Line course too (Linux terminal is not so scary anymore!)

I just finished an online project called ‘Fending the Hacker’ where I read and write to CSV and JSON files programmatically with Python. I didn’t realize this till the end, but this project built on prior lesson topics:

  • Functions
  • Loops
  • Lists
  • Dictionaries
  • Modules (JSON, CSV)
  • Files – Programmatic File Reading/Writing

Looking back on what I’m comfortable with now and how much I’ve learned in one year amazes me. I don’t look back much nor often. But I recall a sinking, confused feeling about not understanding loops, when to use a function, and the purpose of lists and dictionaries. Now I can’t imagine doing any Python analysis or mini project without loops and lists at a minimum. I’m comfortable using them, something distinctly different from before.

This shows me the power of bite-sized but consistent practice. Most lesson topics are divided into about a dozen pages, and I do the reading and practice for 1-2 lesson pages each sitting. That’s 10 minutes or less of light and easy studying. I don’t let long stretches of days pass between each sitting. Recently I’ve shifted my Python study time to earlier in the day to ensure I get it done. I feel the power of compounding knowledge and love it. Is this what the power of compounding interest is also like? The journey along the way has actually been fun.

Onward to the next and final lesson of Python 3, Classes!