tech
tutorial
Docker Development Workflow for Hugo Themes
Setting up a consistent development environment across different machines is crucial for theme development. Here’s my Docker-based workflow.
The Setup
FROM hugomods/hugo:exts-0.120.4
WORKDIR /src
COPY . /src/themes/nomad-tech/
CMD ["hugo", "server", "--bind", "0.0.0.0", "--buildDrafts"]
Docker Compose Configuration
services:
hugo:
build: .
volumes:
- "./exampleSite:/src"
ports:
- "1313:1313"
Benefits
- Consistency: Same Hugo version everywhere
- Security: Pinned, official images only
- Isolation: No local Hugo installation needed
- Portability: Works on any machine with Docker
Development Commands
# Start development server
docker-compose up
# Build for production
docker-compose run hugo hugo --minify
# Clean up
docker-compose down
This workflow has saved me countless hours of environment setup!
tech
tutorial
React Hooks Complete Guide
Master React Hooks with practical examples and best practices.
Essential Hooks
useState
const [count, setCount] = useState(0);
useEffect
useEffect(() => {
document.title = `Count: ${count}`;
}, [count]);
useContext
const theme = useContext(ThemeContext);
Custom Hooks
function useLocalStorage(key, initialValue) {
const [value, setValue] = useState(() => {
return localStorage.getItem(key) || initialValue;
});
const setStoredValue = (newValue) => {
setValue(newValue);
localStorage.setItem(key, newValue);
};
return [value, setStoredValue];
}
Hooks make React development so much cleaner!
nomad
lifestyle
Digital Nomad Budget Breakdown: $2000/Month
How I manage to live comfortably on $2000/month as a digital nomad.
Monthly Expenses
Accommodation ($600-800)
- Airbnb/coliving spaces
- 1-month stays for better rates
- Shared apartments in nomad hubs
Food ($300-400)
- Local restaurants: $3-8/meal
- Groceries: $100/month
- Occasional splurges: $50
Transportation ($200-300)
- Flights: $150/month average
- Local transport: $50
- Scooter rental: $100
Work Setup ($100-150)
- Coworking spaces: $80
- Mobile data: $20
- Coffee shops: $50
Entertainment ($200-250)
- Activities and tours
- Gym memberships
- Social events
Money-Saving Tips
- Cook at home 3-4 times/week
- Use local transport
- Book flights in advance
- Choose emerging destinations
Living the nomad dream doesn’t have to break the bank!
tech
tutorial
TypeScript Best Practices 2024
Essential TypeScript patterns and practices for better code quality.
Type Definitions
// Use interfaces for object shapes
interface User {
id: string;
name: string;
email: string;
createdAt: Date;
}
// Use type aliases for unions
type Status = 'loading' | 'success' | 'error';
// Generic constraints
interface Repository<T extends { id: string }> {
findById(id: string): Promise<T>;
save(entity: T): Promise<T>;
}
Utility Types
// Partial for updates
function updateUser(id: string, updates: Partial<User>) {
// Implementation
}
// Pick for specific fields
type UserSummary = Pick<User, 'id' | 'name'>;
// Omit for exclusions
type CreateUser = Omit<User, 'id' | 'createdAt'>;
Best Practices
- Enable strict mode
- Use unknown instead of any
- Prefer type assertions over type casting
- Use const assertions for immutable data
TypeScript makes JavaScript development so much safer!
tech
nomad
After working remotely from 15+ countries, here are the tools that keep me productive anywhere.
Communication & Collaboration
- Slack/Discord: Team communication
- Zoom/Meet: Video calls with good mobile data usage
- Notion: Documentation and project management
- Figma: Design collaboration
Development Environment
- VS Code: With Settings Sync enabled
- GitHub Codespaces: When local setup isn’t possible
- Docker: Consistent environments everywhere
- Tailscale: Secure access to home lab
Connectivity & Backup
- Speedtest CLI:
speedtest-cli
for quick connection checks - Multiple ISPs: Always have 2+ internet sources
- VPN: Essential for accessing geo-restricted services
- Power Bank: 20,000mAh minimum for long coding sessions
Productivity Hacks
# My daily setup script
#!/bin/bash
speedtest-cli
git status
docker-compose up -d
code .
Location-Specific Tips
- Thailand: AIS has the best coverage
- Indonesia: Telkomsel for reliability
- Portugal: MEO fiber is excellent
- Mexico: Telmex for stable connections
The key is redundancy - always have backups for your backups!
Tech
Hugo
Themes
This is an example post to demonstrate the Nomad Tech Theme features.
Features
- Modern design
- Multilingual support
- Portfolio integration
- Social media links
Customize this theme by editing your hugo.toml
configuration file.