This pasta smells kinda weird… My mistake — that is just kitchen towel in my hands on fire.
Today I learned how much soy sauce is too much.
Mix random things, cook until slightly burnt. :(
Chop & char.
Before getting stuff from the package on the frying pan, package needs to be opened. #protip
“Fry until fully cooked” — define “fully cooked”! :(
I usually approach such as “slightly char, subtract two minutes from next attempt”.
Hot things burn.
Still can’t find soy sauce dose between “can’t feel it” and “gosh, like biting a salt block”. :(
Apparently my bookmarks on cooking hadn’t been visited in 900-1000 days… No wonder.
Time pasta and scrambled eggs to be cooked at the same time… Mission impossible. :(
Narrowly dodged hot frying pan. Pulse is racing.
It’s time to sharpen the knives! No, literally — they are dull. Using dull kitchen knife is dangerous, people.
I have fresh bread. Surprised me!
Whatever it is, you can probably add eggs to it.
I have tea and meat.
Fridge has more food than estimated. #winning
Sometimes I wish I could order month worth of food supply in a bag like I do for my cat.
Aaaaand burnt the meat. #FML
Fry X with eggs — creative and open-ended like that.
Cleaned stove went flames-of-hell on my dinner… uniformly warm food!
The Friday menu is being… rice-centric.
Longly heated parts of mutilated bird corpses.
Today on a quest for more condiments — tartar sauce with chopped pickles. Not bad for a stupid name.
Salt food with hand without open cut. #protip
In my quest for condiments bought hummus today. Tastes about as weird as its name.
Hummus is growing on me.
Apply heat until you are sure it’s dead.
I am out of frying oil. That is a crisis, next only to being out of tea.
Oh crap… The lid on steamer broke, that’s the only way I can manage to cook fish!
Procedure for stale bread: heat in microwave, throw out.
Ate nectarine with a fork. Civilized.
Meat broke out of my dinner alien style. o_0
Smetana was about to expire, so I attempted to drown blini in it, not without success.
Cut finger with an egg.
Last time I boiled khinkali to the explosion point. I guess this time I am having them near-frozen for the opposite data point.
Observes recurrently exploded khinkali …I start to question accuracy of instructions on packaging.
Too much hot liquid on flat plate — not good.
I will not explode khinkali this time, I will not explode khinkali this time…
I have a fork, I need a knife… …I have two forks?
Fried too much fries.
When you suddenly recall a forgotten food item in the fridge and are afraid to look.
I don’t eat much, but when I do it’s because stuff is about to expire.
I think my cooking evolution is missing a path to take from “apply heat” to something more… Advanced.
Found & fried.
Mystery injury — when you look at that burn and struggle to reconstruct an earlier kitchen action.
I have sugar! I just forgot what it’s used for.
Eastern veggies and green tea. Not because fancy, but because that’s what’s left.
When you grab a pan, expect it empty and washed, and weight tells you it’s not, and suddenly the fear of opening it shoots through.
Pain works in a stupid ways. I got the point, only touched that frying pan for like fraction of a second! No need to go on!
Fried chicken… components.
Set pasta on fire. :(
A. Dying in a fireball. Q. Really, what’s the worst that could happen while charging kitchen lighter?
How I see culinary — technique for reducing expenses by diluting meat with other materials.
Polishes meh pizza with bleh ice-cream.
How does one eat without microwave?
Was ordering meat grinder for grandmother and added air grill for myself. Excited to ruin meat in a new way this evening.
Strangely, overcooked meat and undercooked rice don’t add up to average meal.
The mission “Meat 2” into the new air grill is a go. Wish it luck.
The “Meat 2” mission had begun re–entry into kitchen space, thermal equalization in progress
“Meat 2” has no signs of ruinous heat damage and is detectably edible. The dinner future is secure.
Discovered the one true purpose of the air grill thing and it’s heating up frozen pizza (yes, it’s hawaiian, deal with it).
Snacked with a chunk of cold rigid dry meat like a man.
The Far Away Corners of the Fridge — episode number about next to last “Fish Sticks”.
Finally got both meat and marinade at the same time!
Calorie bomb class lasagna dinner to recharge after week of barely eating.
Gotta say I am not too fond of this “will meat marinate before I starve” game.
Had finally found the perfect 12 minutes mark on the convection oven timer (11 minutes is half-frozen, 13 minutes is charred).
Getting comfortable at using convection oven. I should bake something.
Potatoes are high–maintenance delicacy.
Is there expression for preemptive comfort food? anyway — pizza for breakfast.
Cut through the plate. Better than arm or something, I suppose.
Sharpened the kitchen knives. #scared
Think I am past “baking” stage here and simply am torturing this apple pie out of its misery. :(
Pro — edible.
Con — soul draining failure in the next galaxy to what it should be.
Rules:
Pie is a lie. :(
There is always something to fry in far corner of the fridge.
Ah, the crisp feeling of kitchen towel just out of laundry… drops it into mayo …it doesn’t last.
Cracked egg. With a knife. I recently sharpened. Split egg in two & stopped short of doing same to my hand. #nearmiss
All food can explode.
I don’t peel.
Hmmm… Hmmm… Hmmm… Forgot salt. >_<
Cook rice without salt for one day and you facepalm once. Cook rice without salt for five days and, well, you get the math.
Pack of veggies with mini corns. NOPE. with one single piece of mini corn. Boo.
Rather irrational pang of wanting to do the cooking over, because I started the timer with a wrong label (right duration).
After family event yesterday mom packed me raw meat to air grill. This is what happens when you admit to know what to do…
YouTube spams “how to master 5 basic cooking skills” video for me to watch… there are FIVE?
My most polished skill in the kitchen is stopping just short of hitting my head on open cupboards’ doors. Practice!
Made breakfast plans. Set things on fire. Made other breakfast plans.
Bought new frying pan. I wish these things just broke in two after a while instead of that coating subtly going to shit.
Good time for fried eggs — week you bought them.
Not good time — week you remembered you have some from long ago.
I had just figured out today that they actually sell pre–made pasta sauces. Wow.
Can You Eat Nothing But Cookies All Day, One Man’s Quest To Find Out
My general peeling technique is roughly “chop to the the cube form”.
941 0 days since pasta was set on fire.
Degradation of dinner plans:
cooking
cooking, but not dishes
not cooking, not dishes
…something?
bowl of hummus
My digital kitchen scales are weird. I weight spaghetti, break it in half, put it back, and and it weights less. What.
My omelets somehow got worse lately, I didn’t think there was a room for regress there.
Blew up a plate in the microwave. That’s new.
Morale boost dinner (ice cream).
A theory: people who diss soylent move houses instead of cleaning their stove.
(eggs) have a nice day!
(me) don’t make this awkward… approaches with a knife
They still print random stuff on them.
Pro — kitchen is not on fire.
Con — smoke and burnt plastic smell hint that it was the last pot of tea I got out of my tea maker earlier. :(
Got bunch of things done all over and picked up replacement tea maker. May this one not catch fire.
Current level of having it together — cake for breakfast because I screwed up with groceries yesterday.
Finally unpacking and setting up the replacement tea maker, may it not catch fire…
Dodged a shower of boiling oil and, while I need a new frying pan, this is most alive I’ve felt in a while.
Steamer lid crumbled into pieces. AGAIN. seriously, could they just make it from the same stuff as the rest of it?..
Reminded I am incapable of cooking beef.
I’ve learned that asparagus is expensive because it takes multiple years to grow and you need to have a specific gene to notice that it makes pee smell bad.
Worst. Superpower. Ever.
Got ingredients for honey garlic chicken thighs with green pepper and site with explanation how to cook them is down. Swell. :(
fries a pack of frozen veggies for lunch
Caught a falling sandwich. With my hip. Guess which side down.
I drowned the last stroopwafel in the tea cup, and everyone is mad at me.
Made guacamole, but forgot to buy potatoes for chips, so it had to be refactored into avocado egg salad.
Missed groceries run due to back pain, and my remaining foods are eggs, bacon, and bunch of grains. I can totally cook three meals out of this today! As long as one of them is ordering pizza.
Made banana pancakes, in spirit, if not in shape.
For a lunch salad I chopped vegetables onto a plate and squeezed mayonnaise onto myself, let’s call it a partial success.
Schrödinger’s kitchen mess — when you drop an open pack of Philadelphia upside down and you don’t know until you lift it…
The good news there was cheese to go with lunch, the bad news I found out what was smelling up the fridge. 🤢
Been scanning all the food barcodes into calorie tracker and I can happily report it confirmed that bar of chocolate is a valid dinner.
It’s nice that I was learning math for like 17 years of my life, so I can do complex calculations, like fit a pizza into diet’s daily calories limit…
Grabbed a small frozen pizza with groceries on weekend and discovered it was made with “cheese analogue”. LIES. there is no cheese analogue, there is only cheese and not cheese!!
Brown rice,
I tried to love you,
but no.
It’s been a while since I held a brush… painting BBQ sauce on a chicken breast.
Honestly, I was skeptical, but “pound chicken with your fist” is indeed an essential recipe step. it doesn’t cook as well if you don’t establish dominance upfront.
Culinary I am on intersection of:
sick of same stuff
shopping for groceries twice less often sucks
cooking the easiest stuff I can look up doesn’t look easy enough
#plague
The secret ingredient in the bachelor cooking is being hungry enough to eat it.
My cooking recipes rating system:
⭐ Yes, I would like to join you on a lifelong culinary journey, starting with a charming anecdote from your family travel history.
⭐⭐⭐⭐⭐ FFS, I just want lunch and this doesn’t need a spice rack.
Had this kitchen scale for years, I thought, what if one day it just runs out of battery in the middle of cooking and GUESS WHAT.
Working on a bachelor cooking bullshit scale:
While back I paid not for some potatoes, but a reminder that I would not peel potatoes.
Got the thingy that cuts entire apple into slices and using it feels a bit violent and slightly sexy.
Are we sure a moisture absorber pad is not edible, if fried with a nice steak.
Why are recipe sites always like “that’s enough to feed three people!”, then I add it up and “that’s 600 freaking calories total, ARE YOUR PEOPLE OK?”
Tried camembert bites for lunch, so lunch is camembert bites shells and camembert coated oven.
Apparently my bachelor cooking tweets give impression of a disaster. You only hear the failures! I eat fine and quite healthy, no worries. :)
]]>There had been several interesting nuances for me as experienced WP dev. This means to give you heads up on some challenges, not cover WordPress/Hugo completely.
WordPress has a target on its back in regards to other systems eager to import its content. Hugo isn’t concerned though. It suggests third party solutions or migrating WP to Jekyll first, then to import that.
As an experienced wheel reinventor, I ended up rolling own wprss2hugo importer. That took care of everything I needed and PHP implementation ensures I can reuse and adjust.
The /category-name/post-name
link structure is very popular in WordPress sites. Unfortunately, Hugo does not support it.
There are two possible approaches to handle it.
Hugo sections are a level of file organization and establish content types, an analogue of WP post types.
It might make sense to split posts from categories into sections and get URLs working that way.
But if the posts are similar or identical in nature, many different content types would be pointless.
There might be a way to find a good balance with subsections here, but I hadn’t found it yet.
A strong Hugo feature is the ability to assign any page to any arbitrary URL in the front matter. This makes it trivial to import existing posts and keep URLs working.
For new posts, you can start using a different link structure or continue to specify URL in the front matter.
I decided to stick with manual approach and use archetypes to pre–fill it.
You can nest terms in WordPress taxonomies, creating comprehensive layered organization.
Terms in Hugo are flat, they all live on a single level.
I got lucky that I only used terms in a flat way, this could get messy with manual URL assignments.
This one got a little mind–bendy for me. The concepts do not completely align between WordPress and Hugo.
WordPress post types can be hierarchical, with posts nested within each other. WordPress post archives only contain posts.
Hugo content sections determine, among other things, the content type of the pages. You can nest pages within sections, but sections can also contain other sections.
Said in WordPress terminology, you cannot nest posts in Hugo, but you can nest post archives.
It is possible to convert this. Would not be a trivial operation. The logic of nesting levels will change from post–like to archive–like. That impacts templates and more.
In WordPress, a raw link to some online services in content turns into embedded content.
Hugo does not do this, but it will be possible with Markdown hooks when the feature works for autolinks.
[updated 2022-06-10] This got ironed out and embeds can now be implemented with combination of autolinks and markdown render hooks, see example.
Taxonomy templates naming is a small thing, that nearly fried my brain.
In WordPress, a taxonomy archive template shows posts in a term of a taxonomy. There is no archive showing terms in a taxonomy.
In Hugo, taxonomy list template shows pages in a term of a taxonomy. Taxonomy terms template shows terms in a taxonomy.
Problem is — a list of pages in a term is taxonomy
kind
and list of terms in a taxonomy is taxonomyTerm
kind
. taxonomyTerm
templates apply to taxonomies (not terms) and taxonomy
templates apply to terms (not taxonomies).
I repeatedly wailed “why” before, during, and after figuring this out.
Coming from WordPress you use taxonomy template for your terms. Consider disabling taxonomyTerm
via disableKinds
, since there is no analogue in the WP site structure.
Hugo is written in Go programming language and uses html/template package for its templating.
The syntax is not at all C–like, conventions common to PHP and JavaScript are out of the window.
It closer to logic–less Mustache templates and meant for display of passed context data. Problem is — in Hugo you do not have direct control over the passed context. You do not have control over “back–end” implementation at all.
I use Twig and Mustache over native WordPress templates, so I did not expect the learning curve to be that steep. Coming from WordPress, expect this part to hurt.
It was a great experience, moving from a very open system like WordPress to a very closed like Hugo. I see constraints as important as goals, both in the design of my code and projects I use.
At the moment Hugo is viable alternative for WordPress content site. It aligns better with my current priorities. The learning curve was worth it, for the results I achieved.
Be ready to roll your eyes quite a few times, and have your mind blown a few more.
]]>Closures had immediately generates some push back against using them with WordPress hooks. That is where they can shine though!
Closure in PHP is a callable. You can use closure like any other callable. Both simpler (functions) and more complex (invokable classes).
In WordPress the common use of callable is a hook callback:
add_filter( 'answer', function () {
return 42;
} );
So closure can be a quick way to write a callback inline. Closures have many more uses, such as strategies and lazy service definitions.
A trivial function callback will only have access to its argument. And a global scope, which is a bad idea.
Closure has another way — it can inherit from parent scope:
foreach ( [ 32, 42, 52 ] as $answer ) {
add_filter( "answer_{$answer}", function () use ( $answer ) {
return $answer;
} );
}
This will create three different callbacks from one definition. Technically anonymous function is a Closure instance. So every time we create a new instance and it can inherit what we want from the current scope.
This is very powerful way to build elaborate callbacks that combine logic with data.
Wait, if a closure is an object, does it have $this ? Not a random question. A closure defined inside a class binds to the object’s context so $this refers to the object, not closure itself:
class Answer {
private $answer = 42;
public function __construct() {
add_filter( 'answer', function () {
return $this->answer;
} );
}
}
This is also a very powerful feature. We can build complex callbacks with access to object’s private methods and properties without exposing them as public API.
And here is the downside. In WordPress to remove an object–based callback from a hook you need access to the original instance. Without it there is no way to communicate to API which callback you want to be removed.
With closures this can be a challenge. More so when interacting with callbacks from code that is not your own.
But it is shortsighted to consider this downside of a closure! It is much more of a shortcoming on the side of WordPress core.
If you worry about this aspect there are both solid materials on removing closures and a ticket to improve this in WordPress core.
Anonymous function is a powerful PHP feature. It can be used to build both trivial and elaborate callbacks. Closures have unique abilities to inherit from parent scope and access the object where they were defined.
In WordPress context you don’t want to use closures excessively for hook callbacks, due to current API limitations.
But don’t hesitate to explore them for complex use cases! The benefits of closure outweigh the downsides.
]]>So I decided to make a record of my expenses for a month and post it for a more detailed look.
I live in Kyiv, Ukraine. Latest number on average income in the city is $500/mo and country average is $330/mo. The minimum pay is set by government at $151/mo or $0.91/h for 2019.
I am self–employed and my income is relatively high but very uneven.
I live alone in 52 square meters apartment, which I inherited. I cook my meals, I work from home, and I don’t drive.
My largest expense by far is conference travel. I don’t have any this month, so this will be more focused on actual living expenses.
So here we go.
Week total: $56.51
Week total: $82.15
Week total: $259.46
Week total: $116.32
Week total: $93.55
Some more things and their share in this month:
Other total: $28.72
Month total: $636.71
Yikes, that’s definitely up, no thanks to endless vortex of dental work.
My food expenses are up. I could spend less by buying more raw ingredients and shopping outside of city center (where I live), but that would waste more time. High food expenses relative to low income are typical in Ukraine. I’ve read studies show on average people spend over 50% of income on food. That’s working half the time just to eat. :(
Also this puts in perspective resources priced to richer countries. For example that JS course is $137 at full price. That’s more than couple weeks of food or bills for nearly two months on my scale.
]]>https://github.com/[USER]/[REPOSITORY]/releases/latest/download/[FILENAME]
These days I build my WordPress plugins for Composer install. I still provide standalone releases for people who don’t use it. Now and then people skip over install instructions and download the source of the plugin. Which does not work by itself.
I decided to improve this and provide a more visible direct download option in the readme files.
To host standalone release I generate a zip archive and attach it to a GitHub release. Before I linked to the releases section, e.g. https://github.com/Rarst/laps/releases
.
That page can look very busy and in current design links to attached assets are tiny.
You can now use a link that will always go to the latest release, e.g. https://github.com/Rarst/laps/releases/latest
.
But it still points to a page, not a direct download.
Direct download URL is available via GitHub API though. We need to get to it and a way to send a client to it.
The latest release API call will give us all the information about that, e.g. https://api.github.com/repos/rarst/laps/releases/latest
.
GitHub readme files are very static and cannot retrieve this information. For that, I had added a simple WordPress redirect endpoint to my own site. It queries GitHub API and a sends client to the direct download. I have added a white list and caching to it, so that the whole Internet doesn’t start to pipe things through my site. :)
Now I had the link that would always go to the latest release download: https://www.rarst.net/download/laps
.
While I researched this I had noticed that Shields badge service has a dynamic option. It can query arbitrary JSON file, extract data with jsonpath from it, and put into a badge image.
I already use Shields badges on readme pages. That looked like a good way to create a prominent image for the download button.
After some tinkering, I have made a button that queries GitHub API and extracts release file name from it:
https://img.shields.io/badge/dynamic/json.svg?<br></br>label=download<br></br>&url=https://api.github.com/repos/rarst/laps/releases/latest<br></br>&query=$.assets[0].name<br></br>&style=for-the-badge
And the result looks like this:
Now I combine the two and get a download button in the readme. It is completely static and GitHub is ok with it. But it will always show and send a client to the very latest release download.
]]>In it she suggests an interesting exercise to let your fear write you a letter. Here is what my fear wrote and my reply to it.
Dear Andrey,
This is your Fear writing. You have chased some things to the corners of our mind. I would like to put them straight.
You lack direction. You don’t know where are you headed. And if you did — you wouldn’t know how to start.
You are at the limit of your “smart”. Which was always about enough to get you a pat on the head. And not enough to make a difference.
You question your ambitions in life. And the truth is you have none. Which is for the better, because having them would be but a disappointment of not being able to reach them.
You get to speak out because the Internet gives a megaphone to everyone these days. You don’t get for that to matter any.
You make things no one cares for. And after that, you abandon them to rot.
You are tired of people leaving you. And it won’t be long before the rest of them do.
You are terrified that this is it. And it is.
]]>Dear Fear,
Thank you for getting in touch!
You have been trying to discuss this for a while. And I am sorry that I neglected to participate.
You seem to talk a lot about outcomes. And let us be honest here… When did we ever care about those? When did we care to do anything for a bestowed carrot and not a smug satisfaction of nailing it?
You talk about racing for significance. And I understand that the time for that is finite.
And I am an insignificant strand in the fabric of this marvelous humanity lifeform. Which fascinates me so much whenever I care to look. That left the caves, reached the skies, and heads for the stars.
(You got me a little teary–eyed here, you jerk.)
I might not matter any more as that tiny invisible strand.
But I cannot matter any less.
You talk about things and words we make for others. And they are not for the others, are they?
The things I do I believe in. The things I believe in I would do alone, in the dark, to the audience of a wind blowing them apart. And have a blast.
Many had left us. It was not for nothing. They left all the feelings, and memories, and lessons for us to thrive on.
And everyone who had left… we had to find first. And we will find the people to walk along with us, again and again.
Is this it? Well… this is plenty!
It’s a lovely sunny morning too. Let’s go find something to make.
Read it there. :)
]]>This is my… ordinary perspective. Meditation, naps, and getting well. From someone who gets through the days, too much screen time, and not enough sun.
That said there needs to be some challenge to make for an interesting story. Over recent years quite a few things had besieged my mind.
Fear, as my country went through the civil unrest and the hot phase of the war.
Grief, as my grandfather, father, and uncle had passed away.
Loneliness, as my small circle of friends almost disappeared.
Heartbreak, as loneliness veered me into unproductive and unwise romantic crushes.
Burnout, as the job that was everything I (thought I) wanted fizzled out.
Pain, as my body presented a bill for keeping up — in physical suffering.
Curiously through all of it I still… functioned. I could make a good living, travel, exercise, and even dress better.
In the ways many people would call vital I was fine.
It just… got hard to think. To dream. To write. To imagine and do.
In the ways that are vital to me I was not.
Genes determine about half of us. This number comes up again and again. 50% of alcoholism is genetic. So is 50% of happiness. 50% of this. 50% of that.
This locks us up into challenges that will be with us for life.
This frees us to be ourselves as we are. Embrace the parts of us that are constant. Regardless if we want them to be.
I had to face that I will never be a cheery and upbeat person. I had to stop trying.
The half of us might be set in stone. That means the other half is up to us.
We neglect what we can change, as we regret what we cannot.
I had to remember and look for what makes me better. Focus on what gets me through a single day and what improves me over a string of many.
For much of my life I perceived my mind as borderline separate from concerns of the body. It is easy for obsessive thinker type to do that.
Sooner or later life hammers into you the reality of their connection. As I aged and got buried in problems that became much more clear.
In practical terms that made me pay serious attention to getting enough rest. I always knew I need a good night of sleep. It was hard to commit to that also being an “owl”.
It was harder to face that sometimes I need the rest. Maybe before I even get to the bedtime.
I had practiced naps for a long time and wrote about my staple naps app pzizz before. As things got tough I had to revisit the habit and admit it can be a necessity, not luxury.
I wrote about meditation site Calm before as well. And turned out it took me a several months more of steady practice to get to the benefits.
The main downfall of an obsessive thinker is the obsessive part. It is second nature to burn away hours and days to spin the thoughts.
And all the thinking tends to leave little time and practice for feeling things.
Mindfulness meditation trains the mind to slow down.
To catch yourself. To draw a line between yourself and a thought. To draw a line between yourself and a feeling.
I realized how much I needed that once I learned to.
As promised this was an ordinary story. I made no heroic effort. I accomplished no heroic achievement.
Things that bring me down are still with me. Some of them will be with me for many years more.
Yet I find my way back to the things that are important to me.
I find my way forward through the things that are hard.
Such is life?
Some lurking observations grasped for the spotlight. My closet was full of things I hadn’t worn in years (or ever). What I did wear had degraded to jeans and conference t–shirts.
For something that we do every single day wardrobe gets little organized effort. Even less so for men, with lower social pressure on them about it.
I didn’t wear things outright ugly, or shoddy, or cheap, or otherwise problematic. But my concept of clothes was primitive:
I started to read information online for men like me — looking to update their messy ways.
The most helpful resources were:
I realized that my “polar” view of formality wrong:
I had confined myself to most casual and least flexible bottom of the range.
The other important aspects I neglected were:
So the steps I needed to take were:
While I had no need to go all the way to top of formal, I needed an upgrade from the bottom of informal.
All clothes I had passed through a critical look and several questions.
If I hadn’t worn this in years, why so?
Some things needed fixes. Or be remembered. :) A lot were too old to be presentable or still be something I would wear.
Does this fit my body well?
With some time and actual effort I improved about judging what does and doesn’t fit me. Some things with poor fit I liked… hanging in the closet, but not to actually wear. I needed to shorten all my jeans for a perfect fit on length.
Does this work with the rest of clothes I have?
One of the most important lessons was that clothes in neutral look and color work well with each other. Anything bright or ornamented clashes with most other things. Especially other clothes of such kind.
Everything that didn’t pass got the attention it needed or packed up and donated away. This is more of a continuous process though. Some things that did pass initial clear I still get rid of.
After clear out I went over I had left. This gave me some general idea on what types of clothes I prefer and what brands work well for me.
In recent years many clothes brands postponed entering our market or left it.
After some research I settled on one of the large mall. Among other thing it hosts shops from same “network” which share bonuses and discounts.
I did the two “kinds” of shopping — targeted and exploring.
For targeted I made a list of basics I need to get or replace and shopped for them.
For exploring I wait for sales and make an effort to explore respective store inside out. Note that I don’t buy things because they are on sale. I still look for things that fit in with what I need. Sales make it easier to explore and look for items that are not a priority.
On the cost one big change was thinking in cost per wear. Cheap thing that I won’t wear is an actual waste of money. Something of good quality and flexible will see a lot of use for a long time.
While it is too much to go over everything item by item, some things made a quick and easy difference for me.
I preferred plain tees before conference ones started to pile up.
Back to plain! They can be harder to find in a sea of colorful and trendy, but worth it. Quality cotton feels great and neutral colors are easy to combine with anything.
Blazer is a suit jacket without matching trousers. Modern blazers are available in more casual styles. It makes them perfect upgrade up a level of formal.
I have also discovered that blazer is very flattering item in an older age. More of those shoulders, less of that waist. Suits are menswear staple for a reason. Blazer gets you in on some advantages, without going all formal.
Trousers that are not jeans. If all you wear for years is jeans, anything makes for a refreshing and stylish change.
Challenging for me to find a good fit on these. But even first pair in staple khaki color added a lot of flexibility to the wardrobe.
I put together two baseline shoes–belt–watch “sets” in black and brown. It is a minor detail, but it feels good and serves as a skeleton for an outfit. Pick black or brown, fill in the rest with what goes well with them.
Still a cave–dwelling work–from–home creature on an average day. But being out and about, changes I made to the wardrobe are a lot of difference.
It is easier to pick what I wear and it adds up together to a better put together looks. Day over day I can now switch through outfits, not different tees. :)
I almost fit in at the parties now. With Sonja Leix at WordCamp Europe 2017.
Out at the conferences I gathered a lot of compliments for the changes I made. Both for the specific items (“Nice shirt/shoes/sweater!”) and the look (“You look different/nice/dapper!”). Which happened before never.
There had been a new breed of meditation apps and services, offering a more guided experience.
Calm is such a website/app.
Site offers selection of background sounds and narrated meditation guides. You can combine the two — ambiance that works for your taste and guide on specific topic.
Calm web site interface.
There is an introductory seven day program. It walks you through concepts and practice of mindfulness meditation.
The selection of background sounds is most comprehensive. You are bound to find the one you like. My personal favorite is “rain on leaves”.
I had found guides to be very practical. The tone and pace are right to be instructional, but not overbearing or boring. If you need some background without voice, there is a couple of options without guidance.
Mobile app repeats functionality of the site. That makes for a little clunky interface (more site than app), but everything is there and works.
Site is quite pushy to sell you a subscription and is mostly behind a paywall. Even programs, that used to be free before, are now under a paid subscription.
Outside of introductory course only unguided tracks and some samples are free. At $13 monthly price (less if paying for a longer time) it isn’t quite a no–brainer either.
My profile tells me I had 72 sessions, totaling 15+ hours. So I would say the site is quite nice to use and habit forming. I hadn’t found that much mental benefit, but it fits my day well to wind down after exercise.
If you are looking for more serious practice you would likely have to pony up for subscription. If the price tag is worth will be a quite individual decision.
Site Calm.com
]]>