Love dropping in with three other talented strangers and trying to build something while everyone is hitting their 4am breaking point. Had to learn everyone’s strengths and weaknesses in a short amount of time to ship. Now that the AI agent is building code, we spent less time on implementation details and more time on team dynamics and building something people actually want.
Meet our project: **Scrollodex**: Personal gamified contact Pokédex with viral invite loop and relationship health status.
AI Coded with Cursor in Next.js with Convex backend. Other technologies used were fal and OpenAI API.
We had the one pizza team of: – Chen Chen for UX/UI design – Kaelan Wan for Full-stack engineering – Tatsuya (Tats) Kohrogi for product management and vision – Brent Deverman to help fill in the engineering and other gaps
I was looking to add a Solarized theme to my Mac OS Terminal and I found that there is a site dedicated to themes for terminals including Ghosty which I also use.
I needed to find if my Synology was showing on my network and after rebooting. Upon researching I found this command that will give you a list of ips and the MAC address for all your network devices on MacOS Sequoia:
arp -a
Once I had this list I could find the MAC address for the Synology and then identify the ip address to connect of my NAS.
In 2014 a camera crew came to Shenzhen to spend a week filming me for a China wide CCTV4 broadcast of a television show called “Foreigners in China”. They spent a week following me around as I ran my business NowShenzhen.com in China.
I had to speak a lot in Chinese and the video narration is in Chinese. Thanks to the magic of AI translation the English transcript is below. You can watch the video on YouTube and follow along with the English translation below.
Next up is "Foreigners in China"
00:00:00,001 --> 00:00:04,320
I came to this place last time, but it wasn’t open yet. Let me go check it out.
00:00:05,900 --> 00:00:08,420
Venturing into Shenzhen, he encounters a series of life challenges. We’re going to Hong Kong to eat Western food.
00:00:08,840 --> 00:00:14,500
Or, we’ll go to Hong Kong to buy some food and bring it back.
00:00:28,580 --> 00:00:18,420
Over 14 years, Manager Shen turned him from an exhibition participant into the "King of Teams."
00:00:18,480 --> 00:00:23,960
Now, I’m not afraid to talk to others or anything like that. It’s no problem. A small hobby has turned into a big career.
00:00:25,540 --> 00:00:31,800
See how he achieves success. "Foreigners in China" is about to make a spectacular appearance.
00:00:32,060 --> 00:00:37,700
Shenzhen Overview Zither Harp
00:00:43,880 --> 00:01:14,420
One, two, three
00:01:00,400 --> 00:01:02,840
One, two, three
00:01:28,980 --> 00:01:30,380
In a bar at a five-star hotel in Shenzhen’s Futian District, an American named Brent Deverman is nervously bustling about. The wine and knowledge-themed party he organized is set to start in just one hour. At this moment, his partners arrive together, making Brent’s expression even more tense. What exactly has happened?
00:01:35,040 --> 00:01:57,000
This is Shenzhen’s well-known wine and knowledge-themed event.
00:02:03,620 --> 00:02:04,740
The participants are foreigners from all walks of life.
00:02:06,040 --> 00:02:07,160
Such events are held once a month and are very influential among foreigners in Shenzhen. So, what makes it so special?
00:02:08,520 --> 00:02:14,600
Let’s go and experience it together. Hi, Brent, hello!
00:02:14,940 --> 00:02:22,960
Excuse me, good evening.
00:02:23,740 --> 00:02:25,400
Thank you, thank you. I see a lot of people have come today.
00:02:25,870 --> 00:02:28,700
Yes, a lot more than I expected.
00:02:29,060 --> 00:02:32,460
Way more than expected, yes.
00:02:33,480 --> 00:02:35,000
Yes, they all find it interesting.
00:02:35,000 --> 00:02:36,400
Would you like something to drink? Sure, great.
00:02:38,800 --> 00:02:41,180
Enjoying rich red wine and the smooth exchange of knowledge, more and more guests arrive. Amid casual conversations and an American-style party atmosphere, Brent’s nervous mood seems to ease a bit.
00:02:42,360 --> 00:02:56,400
We had a beer station set up, but the beer they brought had no fizz, so our members couldn’t drink it. That’s a problem. I need to communicate with them so this doesn’t happen again next time.
00:03:02,320 --> 00:03:17,940
So, how did you resolve it at the time? Did you need some emergency solutions?
00:03:18,300 --> 00:03:22,660
We worked with the hotel to substitute another beer, but it wasn’t as good.
00:03:26,660 --> 00:03:29,500
This wine and knowledge-themed party has been running in Shenzhen for 11 years. Despite setting high standards from the start—using five-star hotel venues and charging a 380-yuan entry fee—foreigners still flock to attend. Now, it has become one of Shenzhen’s most influential large-scale themed parties.
00:03:39,200 --> 00:04:00,620
Why do people like this kind of event?
00:04:06,300 --> 00:04:07,700
Because
00:04:08,400 --> 00:04:09,220
We can just
00:04:10,520 --> 00:04:11,540
Meet other foreigners. Chinese people call it making friends. For us foreigners, it feels happier to connect like we did back home.
00:04:15,680 --> 00:04:24,020
We all really like China, but sometimes, we need to be with other foreigners because we share the same problems.
00:04:25,640 --> 00:04:34,700
At the event, the organizer Brent Deverman also doubles as the host. He tells us that setting up a raffle is both to liven up the atmosphere and to give back to the attendees. It’s also a marketing tactic.
00:04:45,680 --> 00:04:57,500
I feel the atmosphere is very harmonious. Everyone is very friendly, exchanging business cards and getting to know each other. You could say that.
00:05:00,360 --> 00:05:09,700
It’s a
00:05:14,280 --> 00:05:15,680
Great platform.
00:05:10,600 --> 00:05:11,880
Brent Deverman in Shenzhen
00:05:15,760 --> 00:05:17,160
Has lived here for 14 years and successfully organized thousands of parties, big and small. Among the different party formats, the one constant is that Brent is always the focal point at the scene. Watching him navigate conversations with ease among the crowd, it’s hard to imagine that 14 years ago, he was known as a shy, introverted "homebody."
00:05:17,360 --> 00:05:40,360
At the beginning, I had a pretty introverted personality. But I realized that if I wanted to run this company, I needed an extroverted personality. So, I changed a lot. Now, I’m not afraid to talk to others or anything like that. It’s no problem. So, this is a huge change.
00:05:44,620 --> 00:06:04,500
So, what exactly changed Brent? The story starts in 2000. Fourteen years ago, Shenzhen, as a frontier of China’s reform and opening-up, attracted many foreigners seeking opportunities. As one of them, Brent, newly arrived, soon encountered difficulties. He found that venues catering to foreigners were mostly located in the bustling Futian and Luohu districts, while the area outside the city center where he lived was far less convenient.
00:06:08,420 --> 00:06:38,880
When you first came to Shenzhen, was it hard to find food you were used to eating? Yes.
00:06:39,180 --> 00:06:45,100
It was quite difficult to find these things. Yes, during my first year in Shenzhen, I didn’t even know there was a place called Shekou. Shekou has a lot of foreigners and many Western restaurants. But I only found out about it after a year. At that time, there was no subway, so going to Shekou was very far and expensive. So, we rarely went there to eat Western food. We might have to go to Hong Kong to eat Western food or buy some food to bring back.
00:06:45,100 --> 00:07:18,320
Hong Kong, just across the water from Shenzhen, was the place Brent frequented most for shopping and dining. The familiar bars, Western food, and wine culture often evoked nostalgia. So, every weekend, Brent would gather a few friends to roam the streets of Shenzhen, searching for authentic Western restaurants and bars, carefully recording the information he gathered. Within just a year, Brent became a "living map" of Shenzhen in the foreigner community.
00:07:22,360 --> 00:07:52,580
This is both a hobby and work. So, when I’m on the street, if I see a new restaurant or company, I definitely have to go in and check it out to see if my members would be interested.
00:07:54,880 --> 00:08:10,360
Nowadays, some foreigners say he’s the "Mayor of Shenzhen" because his influence is so great that, in their minds, he knows everything—where new places open, where ceremonies are held, where the best food is, and where the fun spots are. He knows it all.
00:08:10,580 --> 00:08:25,680
"If you have a problem, find Brent." This phrase quietly spread among the foreigner community in Shenzhen. Brent strongly felt that too many of his foreign friends faced the same life challenges as he did. When they met, the most common topics were which restaurant had the best steak, which made the best fish, or which brewed the best coffee. Gradually,
00:08:27,620 --> 00:08:50,080
Brent came up with an idea.
00:08:50,560 --> 00:08:52,220
Thank you.
00:08:52,520 --> 00:08:53,360
At that time, we had a lot of needs, and I thought others must have these needs too. So, we felt that if we discovered something, we could tell our friends, and they’d know where to buy this thing or where to eat this dish.
00:08:56,860 --> 00:09:17,080
So, we wanted to solve our friends’ problems because this is...
00:09:30,380 --> 00:09:33,180
It would help them a lot.
00:09:25,100 --> 00:09:26,819
Setting up a consultation platform to share the information he knew with foreigners in Shenzhen and those planning to come to Shenzhen, Brent shared this idea with three friends who shared the same interests. They hit it off immediately. The four young men began enthusiastically discussing the functional positioning of a website. They unanimously decided that since it was a hobby, they’d start by organizing a party each month, bringing together most of the foreigners in Shenzhen for both relaxation and information sharing.
00:09:28,899 --> 00:10:01,960
Why did the few of you think of starting a website like this back then?
00:10:04,720 --> 00:10:07,640
We’d go out every day to see what new restaurants or fun bars were around. Then we thought, we’ve seen so many bars that are new and pretty empty. So, we said, we have a lot of friends, we can bring our friends to these bars, and we can choose the music ourselves, DJ ourselves, or whatever. Then we can
00:10:12,380 --> 00:10:37,300
Make the bar more fun. Making things fun was the original motivation for Brent and his friends to build the website. The four young men worked their day jobs, and after work, they’d stay in their dorms, busy building the website. In August 2001, after 48 days of relentless revisions, Shenzhen’s first English-language information media website, ShenzhenParty.com, was born.
00:10:38,980 --> 00:11:05,200
When you first started doing this, building a website and sharing this information with everyone, what kind of reactions did you get from your friends around you?
00:11:05,200 --> 00:11:15,040
A lot of people told me, "I like your website, but you should add this, or you should add that, or you should change this."
00:11:17,700 --> 00:11:26,560
At that time, Brent built the website purely out of interest. He never even thought about making money from it. But soon after, an incident changed his initial intentions.
00:11:30,139 --> 00:11:41,480
YoYo Television Series Exclusive
00:12:10,600 --> 00:12:10,620
As the website progressed smoothly, three partners chose to leave at the same time.
00:11:46,260 --> 00:11:51,019
They didn’t want to invest money, so they thought this
00:11:55,860 --> 00:12:00,880
I couldn’t
00:12:11,880 --> 00:12:13,279
Support it alone.
00:12:02,800 --> 00:12:03,899
How would they overcome this困境?
00:12:04,440 --> 00:12:07,220
"Foreigners in China" continues with excitement.
00:12:08,740 --> 00:12:10,140
Today, I’m with Brent Deverman.
00:12:10,440 --> 00:12:12,380
We’re attending a wine event together. Brent says he attends events like this at least once or twice a week.
00:12:12,620 --> 00:12:18,980
But I noticed he’s not like other friends who
00:12:19,300 --> 00:12:21,540
Fully enjoy the party. Instead, he’s always busy. So, what is he busy with?
00:12:21,740 --> 00:12:26,480
Okay, okay.
00:12:26,920 --> 00:12:27,860
Hello, Brent.
00:12:28,600 --> 00:12:29,420
I see you’ve been busy. What are you working on?
00:12:31,240 --> 00:12:33,320
I’m busy taking photos. When I attend these events, I need to document them. I might report on my website what I ate and whether it was good or not.
00:12:34,820 --> 00:12:51,680
If it’s at a party.
00:13:20,220 --> 00:13:21,620
YoYo Television Series Exclusive. After two years of development, ShenzhenParty.com played a significant role in Shenzhen’s foreigner community. On May 1, 2003, Brent and his friends were organizing a party with over 50 participants as usual. Little did he know, a rare opportunity was approaching.
00:13:50,800 --> 00:14:08,579
Then they said, "Next month, we’re opening a bar at our hotel. Would you like to host a party at our hotel?" We thought about it and felt this was a good opportunity. They had live music, which I thought was interesting because Shenzhen didn’t have a good venue for live music.
00:14:08,300 --> 00:14:32,860
It turned out that the venue setup, event planning, and professional DJ at this party caught the attention of an important guest—the PR manager of Shenzhen’s Venetian Hotel. He immediately decided to entrust Brent’s team with organizing the opening event for the hotel’s soon-to-open bar. However, faced with this sudden good news, the young team found themselves in a dilemma.
00:14:38,420 --> 00:15:01,580
We had a problem: we didn’t know how to charge for planning events. We had never charged before. So, how much should we ask for? We didn’t know. We just made a rough calculation of how to charge. Also, when working with a hotel, you need a contract and so on, which we didn’t have. So, the hotel ended up drafting the contract, and it was fine. That event was very successful, with over 100 people attending.
00:15:05,020 --> 00:15:44,860
The success of the Venetian Hotel party not only brought Brent his first pot of gold through the website but also boosted the website’s reputation among Shenzhen’s foreigner community. However, just a few days after this high, Brent’s career hit a low. In 2000, the disposable camera company he worked for was overwhelmed by the flood of digital products in the market and went bankrupt. Brent lost his job as a result. To make ends meet, he started looking for work everywhere.
00:15:48,860 --> 00:16:18,480
The maintenance of the website had to be put on hold. I might have to shut down my website or something because if I don’t work on it, it’s too big now. I can’t do it alone. It needs investment. If I don’t invest, it might not survive.
00:16:27,080 --> 00:16:41,420
Just as Brent was struggling to find a job and feeling lost, an email from a website user seeking help sparked an idea.
00:16:51,480 --> 00:16:55,779
I thought, so many people already know about my website. I don’t even know these people, but they’ve used it and seen it. So, I felt there should be a market.
00:16:59,319 --> 00:17:08,079
I should be able to make money. The almost mythical "Shenzhen speed" gave Brent immense confidence. In just six years, Western restaurants and bars had sprung up everywhere around him. Entertainment and leisure venues for foreigners were abundant. If he could provide this information to clients, allowing them to choose freely without leaving their homes,
00:17:12,679 --> 00:17:32,580
The website would definitely have development potential. It’s a huge change in Shenzhen’s growth. We’re sitting in Shenzhen’s CBD now. When I first came, there was no CBD. So, when the CBD started developing, Shenzhen became very lively. Many new foreign companies entered Shenzhen, so foreigners came, and they wanted a good quality of life.
00:17:40,679 --> 00:18:05,880
However, when Brent excitedly proposed to his three partners to register a company and turn ShenzhenParty.com into a commercial venture, the three partners didn’t see a future for the website. Not only did they not support him, but they also chose to withdraw at the same time.
00:18:08,419 --> 00:18:23,140
They didn’t want to invest money, so they thought I could handle it on my own.
00:18:26,060 --> 00:18:34,120
The withdrawal of his three friends left Brent somewhat discouraged, but he still firmly believed the website would create commercial value. To reach more clients, he started running around Shenzhen’s streets every day by himself.
00:18:38,200 --> 00:18:52,960
We were the first English website in Shenzhen, so all the foreigners knew about it. Even many Chinese people knew about it.
00:18:59,020 --> 00:19:06,900
So, we’re not afraid. Do you feel like you’ve already established a certain status?
00:19:10,580 --> 00:19:10,980
Yes, exactly. No other website or platform has been around this long or maintained such high standards.
00:19:11,139 --> 00:19:23,000
Please don’t hesitate to like, subscribe, share, and support Mingjing and Diandian channels with tips. What truly boosted Brent’s confidence was the rise of China, this Eastern dragon, capturing the world’s attention. In 2000, the number of foreigners entering China reached 10.16 million. Since then, this number has been increasing by 10% annually. The successful hosting of the 2008 Beijing Olympics alone saw over 48 million foreign entries and exits in that year. As one of China’s most vibrant cities, Shenzhen attracted a large number of foreigners to study, work, invest, and do business. Facing this growing demand, Brent keenly sensed a business opportunity.
00:19:50,740 --> 00:20:10,420
After 2008, development sped up. At that time, Shenzhen quickly became an international city. Foreigners could accept this city. The subway system was completed, so you could take the subway to many places. So, now, opening a restaurant or something is much easier to succeed. I think many foreigners want to live in Shenzhen now.
00:20:15,080 --> 00:20:40,680
So, how should the future direction of the website be planned? Beyond gatherings and entertainment, what are the greater needs of clients? Brent had to start thinking deeply.
00:20:45,559 --> 00:20:54,840
I started thinking from their perspective. If I were in a foreign country with no friends or relatives, just arrived with no money, and I could find a website to help me, make friends, find a job, find a place to live, and even have activities to join, I would feel incredibly convenient.
00:20:56,360 --> 00:21:18,700
He was the first person to create this website in Shenzhen. He worked on it every day, doing a little bit for his website. After a few years, the result was that it grew big. He met a lot of people, and many people knew about his website. As you said, it’s becoming more and more professional.
00:21:18,799 --> 00:21:42,240
To understand common needs, Brent set up a survey questionnaire during user registration. Feedback showed that most foreigners were concerned about practical life issues like where to find a dentist or where their children could go to school. As the research deepened, Brent began posting extensive life information on the website—schools, hospitals, entertainment, fitness, lawyers, and more. At the same time, he had to spend a lot of time convincing businesses to promote their unique services on the website to earn a small income.
00:21:45,100 --> 00:22:18,419
At first, we only organized events. Then we realized we could post classified ads. After doing classified ads, we knew we should have a database of restaurants and so on. Later, there were many different events hosted by others, so those events also needed to be on our website. So, every year, this changes.
00:22:19,100 --> 00:22:51,059
It’s precisely because of Brent’s dedication that not only in Shenzhen
00:22:53,000 --> 00:22:56,039
You wouldn’t understand
00:23:29,779 --> 00:23:31,179
The website needs maintenance.
00:23:22,620 --> 00:23:23,700
The vast amount of information needs constant updating. Sometimes I collaborate with bars or negotiate with hotels, so I need to understand the difficulties in these industries and know how to solve them.
00:23:25,280 --> 00:23:40,059
On the solitary journey forward, challenges abound. How will he face them? "Foreigners in China" continues with excitement. Today, Brent came to Shenzhen’s Futian District in Overseas Chinese Town. While seemingly strolling, whenever a bar or hotel opens, he goes in right away to introduce his website’s content and purpose to the owners. To attract clients to his website,
00:23:40,280 --> 00:24:09,420
He even offers businesses a free one-month advertising slot.
00:24:17,880 --> 00:24:19,280
Don’t you feel tired?
00:24:13,400 --> 00:24:14,780
I do feel tired, but I find it fun. I think these challenges are great. I like to give myself challenges. I like to give myself challenges.
00:24:18,220 --> 00:24:28,000
This is a new restaurant. They make Peking duck, but unfortunately, they’re still in preparation, and only the owner can taste it. He said we can’t eat here today. What’s your name?
00:24:29,400 --> 00:24:45,620
My name is Steven.
00:24:45,900 --> 00:24:46,460
Steven, OK. I’m Brent. I run a website called ShenzhenParty.com. I might have forgotten to bring my business card, but I’ll call again. I want to feature some new restaurants on my website.
00:24:46,680 --> 00:24:59,900
And then
00:25:14,760 --> 00:25:15,880
A month ago, I came by to see you were preparing this restaurant. So today, while I was in Huanglan Coast, I thought I should come check if you’ve opened yet.
00:25:04,519 --> 00:25:13,220
Right now, our restaurant hasn’t opened yet.
00:25:16,039 --> 00:25:17,440
We’re still in the preparation phase.
00:25:17,760 --> 00:25:19,419
And everything we’re doing now is for internal testing among our own staff.
00:25:20,039 --> 00:25:27,500
Is that so? Like a simulation, I understand.
00:25:27,720 --> 00:25:29,820
Yes, and we’re not open to outside guests yet.
00:25:32,080 --> 00:25:33,000
So, right now, it’s like this every day.
00:25:38,080 --> 00:25:39,000
OK, so when will you officially open? It should be at the beginning of August.
00:25:41,480 --> 00:25:43,880
Beginning of August, right? OK, great. OK, so your email is here, right? And your phone number? I’ll have my assistant contact you, and we can help promote your place on our website. Can I take a look around?
00:25:44,059 --> 00:26:04,960
You can, but it might not be very convenient to open it up right now.
00:26:05,240 --> 00:26:09,520
It might not be convenient to show you around. Oh, is that so? OK, OK, OK, fine. Because after we officially open,
00:26:11,340 --> 00:26:15,120
We want to present the best to you. What you see now isn’t excellent; it’s just normal.
00:26:15,980 --> 00:26:20,799
OK, OK, fine, fine. Next time then, right?
00:26:21,140 --> 00:26:24,280
Next time, after we officially open to the public. The hotel manager politely declined
00:26:24,280 --> 00:26:30,100
Brent’s request.
00:26:30,159 --> 00:26:30,880
Scenes like this
00:26:31,299 --> 00:26:32,320
Seem to be something Brent is already accustomed to.
00:26:32,860 --> 00:26:35,039
Even though it’s late at night,
00:26:35,620 --> 00:26:37,659
He still has to keep moving forward,
00:26:38,039 --> 00:26:39,840
Seeking new opportunities.
00:26:40,299 --> 00:26:41,539
Thank you, everyone.
00:27:10,720 --> 00:27:10,740
Doing this work
00:26:44,100 --> 00:26:46,640
Is actually much harder than just organizing events at the beginning.
00:26:46,780 --> 00:26:50,820
Yes, going from a hobby to running a company has changed a lot. I didn’t expect so many changes, but I also didn’t expect Shenzhen to change so much. So, my website has changed along with Shenzhen, becoming a better city and a better website together. Walking the streets and alleys,
00:26:51,299 --> 00:27:22,200
It seems Brent works harder than others, but in his eyes, being able to move forward and breathe together with China’s fastest-developing city, he always feels lucky.
00:27:23,940 --> 00:27:36,180
Thank you.
00:27:46,580 --> 00:27:47,980
So, what do you think has been your greatest achievement in these 13 years?
00:27:38,900 --> 00:27:43,180
My greatest achievement in these 13 years is that I can do what I love and learn what I want to learn. I think that’s very successful.
00:27:45,220 --> 00:27:55,620
With the arrival of the 4G network era, people’s demand for information has become increasingly broad. For Brent, this is undoubtedly another major challenge. Shenzhen is a young city, offering endless possibilities to dreamers like Brent.
00:27:59,900 --> 00:28:16,340
And Brent continues to persevere,
00:28:25,380 --> 00:28:26,780
Persisting in turning his efforts into the success of his dreams.
00:28:22,740 --> 00:28:24,140
Brent, what kind of content does your website have now?
00:28:27,620 --> 00:28:30,420
Now, there’s a lot of content.
00:28:30,700 --> 00:28:32,720
It started with just events, but now you can find jobs,
00:28:33,300 --> 00:28:36,640
Rent houses, and more.
00:28:36,640 --> 00:28:38,360
Oh, and shopping and education. The content is really comprehensive.
00:28:48,580 --> 00:28:43,580
It’s very comprehensive now. Every year, we add more features.
00:28:43,799 --> 00:28:47,120
I’ve noticed that Brent’s website is no longer just about organizing parties. It now covers various aspects of daily life, especially meeting the needs of foreigners living in Shenzhen. Over 13 years, Brent’s website content has become increasingly rich, and he says he will continue to expand into new areas. Behind these changes is the rapid rise and development of Shenzhen as a city. Brent, I want to eat the most authentic and affordable Cantonese food tonight. Do you have any good recommendations? I do have a good recommendation.
00:28:47,760 --> 00:29:19,220
We have a Cantonese food section, and this restaurant, Lei Gai, should be pretty good. Can we have dinner together tonight?
00:29:21,179 --> 00:29:27,780
Sure.
00:29:28,160 --> 00:29:28,400
OK, great.
00:29:28,600 --> 00:29:29,600
Subtitle Volunteer: Yang Qianqian, YoYo Television Series Exclusive
00:29:42,820 --> 00:30:26,720
The Shortcuts App on iOS has an automation section that lets you schedule shortcuts to run at a certain time. On the Mac, Shortcuts application lacks this ability.
The other morning, my Mac calendar notification went off, and it woke up my wife.
To prevent this, I wanted to make a shortcut that ran every evening to mute the volume on my Mac.
Create the Shortcut
It is a simple shortcut to set the volume to zero percent.
Create a simple mute volume shortcut.
Running Shortcuts from the command line
What you can do is run Shortcuts from the command line and given this capability it means you can schedule it to be run.
shortcuts run "Mute Volume"
Scheduling the Shortcut
There are multiple ways to schedule processes on the Mac, and I decided to use launchd Dameon with launchctl. I chose this because this is the most “native” Mac way of scheduling.
Launched relies on a property list file (“plist”) in a certain format. An example format is below:
After the “run” parameter you can change “Mute Volume” to your shortcut name.
Then you can change the hour and minute integers for when you would like the shortcut to run. There are other configurations that you can research online for other scheduling options.
Edit the above XML in a text editor and save it to the following location:
~/Library/LaunchAgents/
You should come up with a reverse domain name as a unique name for this run. I named my shortcut as:
org.deverman.mutevolumeshortcut
Save it in the above folder with a “.plist” suffix:
This showed me that in System Settings ->Login Items & Extensions that the shortcut was active:
In System Settings Login Items & Extensions shows your new shortcut launcher.
You can even disable the shortcut here if necessary without editing the plist file.
Ensure the Mac wakes up to run the shortcut
Below is the command you should run to ensure your MacBook is awake when your shortcut runs. You will need to enter your system root password.
sudo pmset repeat wakeorpoweron MTWRFSU 00:59:00
This will make sure your computer is awake Monday (M) through Sunday (U) at 12:59am.
Managing and Validating with Lingon Application
For an extra $24USD, there is an app that manages “.plist” launchd files called Lingon Pro. This is probably great if you want to do more complex scheduling settings.
Lingon Allows you to view your shortcut launch settings.
Summary
It’s a lot of work to schedule a shortcut. Hopefully, Apple will put more attention on shortcuts so we can avoid this, but until then, this should help.
I’ve been using Ulysses for years, and it’s been great, but lately, I’ve realized it’s become a bit of a dumping ground for all sorts of notes and old projects I don’t need anymore. I got into Ulysses because of Markdown—love that simplicity—but over time, I got trapped in their proprietary XML format, which isn’t the easiest to work with outside their ecosystem. So, I decided it’s time to clean house, get back to Markdown, and focus Ulysses on just the content I’m actively publishing. Today, I’m gonna walk you through how to export your Ulysses groups to external folders as Markdown or other formats, and share some of the quirks and workarounds I’ve discovered along the way.
Let’s make sure you can see external folders in Ulysses. I actually had this turned off in my preferences for a while, so I had to flip it back on. Head to your Ulysses settings, and check the box for “External Folders” to make them visible in the sidebar. Once that’s done, you’ll see them listed, ready for action.
External Folders should be checked so they are visible in the sidebar
Step 2: Create a New Folder for Your Exports
Next up, let’s create a spot for your exported files. I’m doing this in Finder on my iCloud Drive, but you can store these anywhere. Just a heads-up—if you’re using a cloud service like iCloud, make sure no one else is messing with the files at the same time, or you might run into sync issues. For me, these are personal files, so iCloud works fine. Create a new folder and then drag it into the “External Folders” section in Ulysses. You’ll see it highlight as you drop it in.
Create an Empty External Folder
Step 3: Configure the Folder Format (Markdown or TextBundle?)
When you drop the folder into Ulysses, a dialog box pops up, and this is where you decide how your files are gonna be saved. My goal is Markdown, so I check the box for “Read and Write Markdown Files.” If you leave it unchecked, Ulysses will just store its own format in the external folder, which isn’t what I’m after—I’m trying to break free from that! You can also pick your Markdown extension (I go with .md).
There’s another choice below Markdown called TextBundle or TextPack. I did some digging, and TextBundle is this open standard that a bunch of Mac apps support. It uses the Mac package format to bundle everything together—text, images, all of it—into what looks like a single file. TextPack is just a compressed version of that, but I prefer TextBundle since I want easy access to the raw Markdown files without unzipping anything.
Configure your folder to support only Markdown or Textbundle instead of Ulysses. If you don’t check the box you will just store the Ulysses formatted docs in your filesystem.Textbundle is an open file format that is better for storing images.
Step 4: Drag Your Group to the External Folder
Now, pick the group in Ulysses you want to export. I recommend dragging the entire parent group over to the external folder. Why? Because if you’ve got sheets at the root of the group (not in subgroups), they won’t come along unless you grab the whole thing. When you do this, Ulysses might warn you about data loss—stuff like images or annotations might not make it through, depending on the format you picked. More detail below.
First drag the parent group to the external folder in Ulysses.Annotations and Image will be lost when you copy out of the Ulysses library if you choose Markdown. They will be kept if you choose Textbundle.
Step 5: Markdown vs. TextBundle—What Gets Lost?
Alright, let’s talk about what happens when you export. I did some experiments, and here’s the deal:
Markdown: If you choose straight Markdown, it’s super clean for text, but images? Forget it. They don’t copy over. You’ll see empty image links in the Markdown file, and there’s no URL or reference to even track down the original image. If your sheets are image-heavy, linking them back manually is a pain.
TextBundle: When I dragged my group to a TextBundle-configured folder, the images came along. They’re stored in an “assets” folder inside the bundle, and I can double-click to see them. You can right-click a TextBundle in Finder, choose “Show Package Contents,” and peek inside—there’s an info.json, the Markdown text file, and the assets. It’s all readable and editable with other text editors. The catch? Annotations still don’t survive—Ulysses doesn’t support them in external folders, so they’re gone no matter what.
So, while I wanted pure Markdown files, TextBundle is a solid compromise since it preserves more of my data, especially images.
Step 6: Clean Up the Folder Structure
After exporting, you might notice Ulysses creates a nested folder structure in Finder that mirrors your group hierarchy. I didn’t want two levels of folders, so I went into Finder, selected the visible files (ignore the hidden ones Ulysses uses for tracking), and dragged them up a level. The sidebar in Ulysses updates automatically to reflect this. Then, I deleted the empty subgroup folder to keep things tidy.
Go to the Finder and move the contents of the folder one level down to reduce the folder hierarchy.
Special Case: Exporting from Ulysses Projects
Ulysses has this “Projects” feature where a project takes over the whole sidebar, hiding your external folders. If you’ve got a group in a project you want to export, you’ll need to open a new Ulysses window. Drag the group from the project window to the external folder in the second window. It’s a bit of a workaround, but it gets the job done. This is handy if you’re trying to move away from projects and keep only essential publishing stuff in Ulysses.
Drawback: Publishing to WordPress with External Files
One bummer I ran into is with publishing to WordPress. If your content is in a TextBundle, the images preview fine in Ulysses and seem to publish to WordPress without issues. But if you’ve got a Markdown file with images referenced in a subfolder in Finder (not as part of a TextBundle), Ulysses won’t upload them to WordPress. It just fails in the preview stage because it doesn’t translate those file system references. So, if blogging is your thing, TextBundle might be your best bet for exporting while keeping images intact for publishing.
Files referenced in the file system won’t be converted and uploaded to WordPress like they are if you use the Ulysses native library.
Final Thoughts
That’s pretty much it, folks! Exporting from Ulysses to Markdown or TextBundle is a great way to declutter and get your content into a more portable format. TextBundle ended up being my go-to since it saves images, even if I lose annotations. It’s not perfect, but it works for what I need. If you’ve got questions or run into snags, drop a comment below (if you’re reading this on my blog or watching the video on YouTube), and I’ll do my best to help out.
I was just reminded of a successful approach to prevent problematic code from contaminating our codebase from a previous project. In our project we used HTML, PHP, JavaScript, CSS and we frequently had failed deployments to our staging server due to syntax errors. With multiple devs working and users performing UAT on this server it really slowed us down. The following quality control measures dramatically increased our team’s velocity and stability.
Git pre-commit hook
Git can run a bash script before a commit happens using a pre-commit hook. Our team created this bash script that looped through the committed files and ran various checks on them to make sure they met criteria agreed by the dev team.
Coding Standards in PHP
For the main language of PHP, we used two tools, the first being the PHP Interpreter to ensure that the PHP could compile, and then a linter that would ensure that the PHP was also meeting the team’s agreed upon coding standards.
Blacklisted items
We had to create a special list of items and functions that we did not want to see in the code base. This included:
These checks were manually added in bash. These blacklisted items applied to both PHP and JavaScript.
JavaScript
Separately, we used another tool to validate the JavaScript before allowing it in our repository. This area is much more mature in terms of tools than when we implemented this.
Drawbacks
Since we used this technique, DevOps has gotten more sophisticated and a lot of these checks are usually put in the DevOps pipeline. However, for large code bases this can give a more immediate feedback to the developer.
Developers need to set up tools on their local machine.
If a developer wanted to, they could bypass this, so putting these checks in the DevOps pipeline is also a good idea these days, especially for open-source software.
Summary
Focusing on these areas above to make sure the code worked with the interpreter and met the team’s agreed upon standards reduced the amount of time that our server was down and increased the team velocity.
Craig speaks fluent Japanese and organizes walks across Japan. He is very open about his personal life in the interview and has a great story how he met the famous Japanese star Tamori after nominating the city of Morioka in the New York Times 52 best city list.
Brent led a large Oracle database migration to PostgreSQL and Azure, persevering through to project completion and successfully bringing four environments into production across two cloud regions.
He established the initial timeline, budget, and resources for the project and consistently guided the team to adhere to them.
Engaging Microsoft under a consulting contract ensured regular team communication to build and validate the correct solution architecture and resolve issues with PostgreSQL on Azure.
His engineering mindset fostered a strong understanding of project requirements and enabled him to effectively communicate with the platform team, driving the project forward.
Brent collaborated with the platform team to identify dependencies between building environments, migrating data, and converting Java code.
I would highly recommend Brent as a team member for your next technical project! – Gilles Pelvin Associate Director, Programme Delivery Vitality @ AmplifyHealth
Brent successfully transitioned from the role of developer to product manager, with roadmap responsibility for one of CNN’s most distinct and popular international properties: CNN Travel. He proved to be an ideal fit for the role — not only technically savvy, but driven to make the product a powerful destination for consumers and advertisers. – John J. Hashimoto AI Product Strategist | Board @ The Assembly (NC)
I worked with Brent when I was associate editor at CNNGo.com, which at the time was Turner Broadcasting’s first real go at a regional focused lifestyle, travel and destination geared site. Brent was “the guy who got things done” when I was there. Digital media and social media was still really coming into it’s own at the time and it was always a challenge to figure out exactly what is needed when it comes to content management systems. What I loved about working with Brent was his ability to provide what I needed editorially within a system that was challenging to work with. He would constantly strive to make things as easy as possible for the editorial staff and have the site running silky smooth.
Brent is smart, intelligent and, more importantly, passionate about his work. With his analytical and data focused mind, he has made significant contributions to CNN Travel. His communication skills and down to earth attitude makes him a very likable person and an asset to any organization. – Krishna NairKrishna Nair
Brent is a great person to work with because he is friendly, helpful and reliable. If you ask Brent to take care of a task then he’ll make sure that it gets completed efficiently and on time. – Jenny Wong
I worked with Brent on CNN Travel project for almost 3 years. He is one of those rare people that have a healthy balance of technical and people skills. He is the epitome of a true leader/manager: he leads by example, helps you if you’re stuck, respects and considers your suggestions, shows his appreciation for your work and gratitude to your extra effort, and gives insightful feedback and positive criticisms. He always seems to have lots of creative ideas on how to improve our site and/or leverage new technologies or APIs.
Likewise, he developed further my creative side on thinking outside of the box, especially for investigating/fixing hard bugs. I’ve learned also from him on how to prioritize tasks and implement them effectively and efficiently. He is very supportive also of open-source projects. He encourages his developers to contribute back to community and share what we have learned. I have a number of successful open-source projects because of him. Essentially, he made me a better person and developer.
I will highly recommend Brent for any development team because he is an exceptional person. He has high expectations on his developers, but even if he’s your boss, you will feel that he values your work and he is your friend. A number of times, I’ve heard him say that he wants his developers to be smarter than him (I bet only few managers could openly say that) which only further illustrates his selflessness, humility, and team-playing skills. – I worked with Brent on CNN Travel project for almost 3 years. He is one of those rare people that have a healthy balance of technical and people skills. He is the epitome of a true leader/manager: he leads by example, helps you if you’re stuck, respects and considers your suggestions, shows his appreciation for your work and gratitude to your extra effort, and gives insightful feedback and positive criticisms. He always seems to have lots of creative ideas on how to improve our site and/or leverage new technologies or APIs.
Likewise, he developed further my creative side on thinking outside of the box, especially for investigating/fixing hard bugs. I’ve learned also from him on how to prioritize tasks and implement them effectively and efficiently. He is very supportive also of open-source projects. He encourages his developers to contribute back to community and share what we have learned. I have a number of successful open-source projects because of him. Essentially, he made me a better person and developer.
I will highly recommend Brent for any development team because he is an exceptional person. He has high expectations on his developers, but even if he’s your boss, you will feel that he values your work and he is your friend. A number of times, I’ve heard him say that he wants his developers to be smarter than him (I bet only few managers could openly say that) which only further illustrates his selflessness, humility, and team-playing skills. – Ranel Padon
I had the pleasure of working with Brent on CNN Travel Drupal website project. I was particularly impressed by his ability to handle our team because of his strong and broad technical and project expertise. He was able to help us to provide solutions, keep us always focused and motivated. He always ensures that we are working on the right tasks, and our work will be completed in the expected time frame. I am grateful for his professionalism, hard work, loyalty and friendship. Brent is not only an exceptional manager, he is also a great Agile coach. – Jonathan Jacinto
I’m really thankful working with Brent. I learned lots of things besides Drupal stuff. He teach me how to be a better programmer, debugging and code defensively. Making better decisions is also what Brent thought me. He is a reliable project and development manager that I would recommend for both small and large projects. – Adrian Cruz
Brent is an extremely intelligent, focused and detail oriented person who is able to deliver on everything he sets his mind to. While not the natural socialite, he has been able to build and grow Shenzhen’s most popular social networking site and deliver on all other commitments. – Andy Clark
Brent has been a good friend and business partner since I moved to Shenzhen 5-6 years ago. He is the go to person for both business and pleasure inquiries in Shenzhen. Whether it be the best restaurant in town or the best office to rent, Brent will be able to help. Brent is professional, enthusiastic and is greatly knowledgeable about marketing in South China. – Deborah Negrash
Brent joined my team at an early stage in the development of CNNGo, spearheading the technical production aspects of the product, and directly managing the engineering team. Brent was able to quickly take the lead in the planning and execution of our product development, which included upgrading and migrating the product to a considerably more robust and scalable state, and using his extensive Drupal experience to its fullest. Brent has a detail-oriented and logical approach to his work, meaning that you can count on him to capture and prioritize tasks, plan systematically, and manage the delivery of customer value consistently. He has a strong knowledge of the SDLC and web development methodologies, as well as the important human factor required to get the best out of diverse and distributed teams. He makes a great lead for any kind of digital production team. – Josh Webb
I enjoyed working with Brent on the CNNGo.com website. Brent has grown the site from a few select cities to something that spans the globe. To facilitate this expansion Brent overhauled how the site was developed and managed. Brent had a vision and set about making it happen. Today’s travel.cnn.com is a testament to the work of Brent and his team. – Dave Hall
Brent and I started within the same week at CNNGo and he proved to be a genuine person who is great to work with. He has a broad knowledge on what it takes to run a successful online publishing site, meaning that he’s able to straddle many of the intricate parts involved. He sets realistic deadlines and reasonable expectations, meaning he is more reliable than most others. – Mun Yin Liu
Brent is one of the best technical managers I have ever worked with and his knowledge of Drupal is second to none. He was instrumental in implementing the SCRUM agile process at CNNGo / CNN Travel and in making continuous performance improvements to the stability and responsiveness of the site. I appreciated his keen sense of being able to prioritise and execute large backlogs of work with highly constrained resources. I wouldn’t hesitate recommending him for both large and small projects. – David Gilbert
Brent and I worked together on a few photography assignments several years ago. He also helped bring exposure to my photography business and my events through his website. – Jesse Warren
With his rich experience and skill in Event management and Social management in Shenzhen, Brent took over the Shenzhen Wine and Cheese club with ease and made each gathering a success. He knows lot of people, lots of new and interesting places in Shenzhen and top notch wines suppliers. I really enjoy attending the club’s events and would highly recommend Brent to anyone who wishes to use the services that he has to offer. – Erna Chou
Brent has worked hard to make the ShenzhenParty THE primary source for information about what is going on in Shenzhen for it’s English reading viewers and members. When we have an event to promote it is always ShenzhenParty. When we want to find out where we can find something, we use ShenzhenParty. You know it has a strong market position as people constantly refer to it as the source for their information around town and in different circles.
Brent is also very proactive to share information or lend a helping hand. He has helped me many times by connecting me with valuable contacts of both a personal and professional nature. I’m very happy and confident to recommend Brent Deverman. – AJ Boelens
Shenhenparty has been a great place to advertise. We have received higher returns from them than from any other place we advertise online. His team is great and is always willing to help. – Drew Eric Noftle
It is my pleasure to write a recommendation for Brent Deverman. For about a decade, Brent and his website http://www.ShenzhenParty.com have been making Shenzhen a more enjoyable place to live by organizing events and providing an online forum for the rapidly growing population of expats in town. I vote Brent “Shenzhen Expat of the Decade” for the service he has provided to the community. – Michael (Mike) Bellamy
Brent has been a great asset to the Shenzhen Wine & Cheese. He excels at organizing great events and helping people make great business and personal connections in the community. – Niamh (Furey) Given
Back when I first met Brent at I was coming to Shenzhen on business trips and began using ShenzhenParty.com to find my way around town. Later I moved to Shenzhen and used the site to connect with people for business and fun. I find my self using Shenzhen party more for finding fun events to take my family to. – Sid Mewara
I’ve used Brent’s services via shenzhenparty.com many times since 2002. This has been through attendance of parties, comedy shows, and other events organized or promoted by the site, by use of their ads section to sell items, and through search of the site’s extensive trove of information about all things Shenzhen. I’d heartily recommend both Brent and shenzhenparty.com. – David Learn, CAS
SHENZHEN PARTY, BRENT AND MYSELF HAVE WORKED SIDE BY SIDE FOR MANY YEARS. ME AS A CLIENT, SHENZHEN PARTY AS A SERVICE PROVIDER.IN ALL OUR ASSOCIATION SHENZHEN PARTY AND BRENT HAVE ALWAYS FULLFILLED MY REQUIREMENTS.JOB APPLICATION SUCCESSES, SOCIAL OUTLETS AND INVITATIONS, WHATS ON IN THE COMMUNITY, WHATS ON FOR EX PATS.AS AN EXPAT IT IS SOMETIMES VERY LONELY EXISTANCE LIVING AWAY FROM FAMILY AND FRIENDS BUT BRENT AND SHENZHEN PARTY FILL THIS VOID SOMEWHAT.MANY THANKS SHENZHEN PARTY AND BRENT, I FOR ONE AM VERY PLEASED TO HAVE MET YOUR ACQUINTANCE. – SUE INMAN
When the bucket was passed on to me by Grace Granlund to run & manage the Shenzhen Wine & Cheese Club, I felt I had to do as great a job as she did. Tough to do as she was a really great hostess. Then after a few years had gone by and I had to move away, only one person I know can do an even better job than myself, Brent Deverman. Brent and Cherry are a great team, professional and courteous, they know a lot of people and seem to carry on the events with ease. I’m very happy to know that the Club is in very good hands because of Brent and the ShenzhenParty team. I’m looking forward to attending some of the Club’s events in the years to come. – Shierley Koval
Brent helped Shenzhen, China get on the map with the first english website portal. We all look to this site when first coming to Shenzhen and are often there for finding the newest events and job postings.
His site also helped Shenzhen Team coworking get lots of attention and visitors at opening parties and other events. – Michael Michelini
Brent has been a great supporter of our businesses in Shenzhen; both as a customer and a business partner via Shenzhen Party. We use the site to advertise promotions at Xpats and the The Kitchen plus have recently hired staff via the classified adverts section. Shenzhen party is a real focal point for expatriates in Shenzhen and Brent is very focussed on providing a leading edge website and supporting local businesses. He is one of the best known people in the city and well respected by his vast network. – Ian Jones
As founder of Shenzhen party, you brought exposure to our business and provide information that helped me in my life in Shenzhen. Thank you for the convenience and confort you have contributed to. – Francois Lachman
Brent is the one constant in the ever changing City of Shenzhen……. He has been at the leading edge of both business and social development for China’s most rapidly evolving city. Shenzhen Party the website which he has founded, stands out among the pack for the range of information and tools which it provides for the English speaking community. Therefore, Brent has made a difference for many individuals and companies in Shenzhen. – Matthew Siegel
We hired Brent three times to organize companies opening throughout his platform shenzhenparty.com. Every time we worked with Brent things went very smoothly. His ability to study the environment, define the exact needs and deliver things on schedule at each step of the process are much appreciated from all. Highly recommended as well to organize online advertising campaign or web consultancy. – Mihran (米然) Papazian
First of all, thanks to Brent’s inspiration in creating the website Shenzhenparty.com and his hard work and dedication building it up over years, it is now an indispensible part of expat life in this under-rated and huge new-China city. Brent himself is basically also an essential part of Shenzhen despite betraying the motherland with forays into the free world of HK.
The shenzhenparty.com website is highly recommended for recruitment and advertising needs, packing a punch more serious than the ‘party’ moniker would suggest.
Brent is a verified China Hand and possibly one of the first people you would nominate as a Shenzhen Hand (that is, if enough people outside had heard of Shenzhen enough to care to find hands for it). – George Baily
Shenzhen Party provides a valuable service to the English speaking population of Shenzhen. I have used the website successfully to market our restaurants over the past 5 years. – Joel Silverstein
a honorable and sincere nice guy with good work – Chester Chen陈志康
Brent is a well-known figure in the social circle in Shenzhen. We have worked together in several occasions to launch new products with effective results. He has a strong personal relationship with all his business partners and will never fail to promote his business partners whenever he can. I will not hesitate to recommend Shenzhenparty.com as the preferred webiste media partner to those who wish to build their brands in Shenzhen. – Vincent Leow
On Several Occasions Brent and I have worked together on Projects in Shenzhen, Brent has deep and valuable experience with Event management and Socil management in Shenzhen. I would recommend to anyone who wishes to work with brent or use the services he has to offer – Scott Welsh
Brent and his company ShenzhenParty.com are real professionals and a solid media partner to work with here in Shenzhen. – Steve Hitchcock
Brent has done an incredible job of creating a focal point for the expat community in Shenzhen, China to refer to when planning their social activities and finding local service providers. It’s a pleasure to know Brent and to see how this website has evolved over the years…..if you want maximum visibility in Shenzhen area, consider http://www.shenzhenparty,com – Desmond Koval
Brent has provided one the best resources in Shenzhen cultural scene. Great concept, implementation and a wonderful resource for ex-pats as well as locals. – Mehdi Rashidi
Prior to my locating to Shenzhen China I was in need of general information about what part of the city I should live, where to locate needed services, and also looking for consulting work. For all of this I turned to Brent Deverman’s web site. In addition I posted advertisments looking for an assistant and to secure some translation work. Brent does very good web services, content development for his clients advertising campaigns, and is available to answers questions. His web site has become famous in Shenzhen and beyond because of his dedication and hard work. For these reasons I recommend Brent Deverman, – Kevin McGuire