asseki hotspot
Tuesday, April 7, 2026
9 Tricks to Master Laravel Jetstream for Efficient Development
Starting Point: When I Hit That Authentication Block
=====================================================
Six months ago, I built a Laravel 7.x app with manual authentication. The result? 40+ different routes, 20 controllers just for login, 30 Blade files, and zero email verification.
Security holes. Race conditions. Users confused. My team's sanity tanks.
Enter Laravel Jetstream.
Fast-forward: Zero auth pain. Secure out-of-the-box. Beautiful UI. Response: from days to hours.
Today, Jetstream is not just an auth tool—it's a productivity multiplier. Let's break it down with real code.
1. Laravel Jetstream: What's It Really?
========================================
Jetstream is Laravel's authentication & UI framework. Think: **secure + beautiful + fast**.
Key Features:
- Pre-built authentication (login, register, password reset)
- Two-factor authentication (2FA)
- Email verification
- Role-based permissions
- Multi-tenant support
- User CRUD management
- Socialite integration
- Custom user roles
- Team management
- API token management
What You Get:
- Secure authentication (Laravel Sanctum integration)
- Beautiful UI (Inertia.js, Vue.js, Blade)
- Email templates
- Password policies
- Session management
- Two-factor auth
- Social login ready
- Team features
- Custom roles & permissions
The Problem: You Spend Days/Days Building Custom Authentication
===============================================================
Without Jetstream, you need:
- 10-20 HTML/Blade files per model
- API controllers for authentication
- Custom email templates
- Password policy validation
- Two-factor authentication logic
- Session & token management
- Multi-tenant support
- User CRUD pages
With Jetstream, you get 90% of this out of the box.
Installation (Super Simple)
============================
Step 1: Create Laravel Project
command:
composer create-project laravel/laravel my-app
Step 2: Install Jetstream
command:
composer require laravel/jetstream
Step 3: Choose Middleware
command:
php artisan jetstream:install blade
Jetstream choices:
- Blade: Simple, fast, user-friendly
- Inertia.js: Modern SPA feel
- Vue.js: Clean UI, minimal code
Step 4: Run Migrations & Seed Database
command:
php artisan migrate --seed
Step 5: Configure CSFR Token
.env:
APP_URL=https://your-app.com
APP_KEY=base64:your-secret-key-here
Step 6: Add Socialite (Optional)
command:
php artisan jetstream:team
Quick Nova Setup (5 Steps)
===========================
1. Run composer install
2. Run php artisan jetstream install blade
3. Run php artisan migrate --seed
4. Add user model
5. Done! Launch Jetstream access
Dashboard UI (Pre-Built for You)
=================================
Jetstream includes:
- Login page (minimalist design)
- Registration page (with email verification)
- User profile management
- Password change page
- Two-factor authentication page
- Team management page
- Custom role management
- API token management
layouts/login.blade.php:
@extends('layouts.app')
@section('content')
...
@endsection
profiles/edit.blade.php:
@extends('layouts.app')
@section('content')
User Profile:
Name: {{ $user->name }}
Email: {{ $auth->email }}
...
@endsection
Custom Security Features
========================
1. Password Policy
Auth.php:
rules:
'password' => 'min:8|max:255|min_letters|numbers'
2. Two-Factor Authentication
TwoFactor.php:
public function twoFactorView()
{
return view('jetstream.user.login-two-factor', [
'user' => $user->twoFactorEnabled
]);
}
3. Email Verification
EmailVerification.php:
public function emailVerification()
{
return view('jetstream.email-verification');
}
4. API Token Management
Token.php:
public function getTokens()
{
return $user->tokens();
}
Performance Considerations
==========================
Before migrating to Jetstream:
- Slow auth (load times 2-5s)
- Security holes (no 2FA, no email verification)
- Race conditions
- Manual password resets (100+ lines)
After installing Jetstream:
How to Create a Simple and Intuitive Dashboard with Laravel Nova
Starting Point: When I Hit That Dashboard Block Twelve months ago, I built a Laravel 6.x app with 200+ manual database queries, 40 custom Blade templates, and zero adminpanel. Maintenance was a nightmare. Every day, I answered the same question from the client:
"Can I just see the data easier?"
I was drowning in custom CRUD, zero insights. Frustrated. So I switched to Laravel Nova.
Bam. Zero days to adminpanel. Intuitive UI. Built-in filtering, search, export. Response time? From hours to minutes.
Today, Laravel Nova is not just a tool—it's a productivity hack. Let's break it down with real code. 1. Laravel Nova: What's It Really? Nova is a full-featured adminpanel for Laravel. Think: simple, intuitive, and fast.
Key Features:
- Self-contained (no backend dev needed)
- Speed: 5x faster dashboard builds
- Reporting tools built-in
- User-friendly UI
- Laravel ecosystem integration
What You Get:
- Pre-built CRUD for your models
- Authentication (login, password reset, role-based access)
- Filtering, sorting, pagination
- Export to CSV/Excel
- Statistical views
- Notification system
- Real-time search
The Problem: You Spend Days Building Custom Adminpanels
=======================================================
Without Nova, you need:
- 10-20 Blade files per model
- API controllers for CRUD
- Custom filtering logic
- Export to CSV functionality
- Authentication management
- Role-based access control
- Dashboard stats
With Nova, you get 90% of this out of the box.
Installation (Super Simple)
============================
Step 1: Install Laravel Nova
command:
composer require laravel/nova:^4.0
Step 2: Publish Nova Assets
command:
php artisan nova:install
Step 3: Publish Nova Console Commands
command:
php artisan vendor:publish --provider="Laravel\Nova\NovaServiceProvider"
Step 4: Add Nova Planning Resources Route
RoutesServiceProvider.php:
\AppServiceProvider::routes->get('/nova', function () {
return redirect()->to('/nova-dash');
});
Step 5: Add Nova User to User Model
User.php:
class User extends Authenticatable implements Recacheable
{
use HasApiToken, Notifiable;
protected $fillable = [
'name', 'email', 'password',
];
protected $hidden = [
'password', 'remember_token',
];
protected function casts()
{
return [
'email_verified_at' => 'timestamp',
'created_at' => 'timestamp',
'updated_at' => 'timestamp',
];
}
}
Step 6: Add Nova Resources
Nova User.php:
public static function routes(NovaRequest $request)
{
return [
index->index(get_user:user()->index()),
show->get('get_user:user()->show($user)'),
];
}
Quick Nova Setup (5 Steps)
===========================
1. Run composer install
2. Run php artisan nova install
3. Run php artisan vendor:publish
4. Add Nova cost hoteloUserController
5. Done! Launch Nova access
Dashboard UI (Pre-Built for You)
=================================
Nova includes a Dashboard with:
- Resource count cards
- User activity metrics
- Revenue/insights charts
- Custom widgets
widgets/dashboard-widget.php
dashboard-content
header-widget activity-widget
chart-widget
custom-widget
This is pre-built and responsive.
Nova Resources (Middleware & Permissions)
==========================================
Nova allows role-based access. Define in AppServiceProvider:
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
Nova::permissions([
'admin' => 'Role: Administrator',
'user' => 'Role: User',
]);
}
}
Creating Resources (Quick)
===========================
TaskResource.php:
public function fields(NovaRequest $request)
{
return Nova::fields([
Text::make('Name')->sortable()->rules('nullable|unique:tasks,name'),
Select::make('Status')->options([
'pending' => 'Pending',
'completed' => 'Completed',
'overdue' => 'Overdue',
])->sortable()->rules(['required', 'in:pending,completed,overdue']),
Text::make('Description')->sortable()->nullable(),
Date::make('Due Date')->nullable()->sortable(),
Numeric::make('Priority')->default('medium')->sortable()->min(1)->max(10),
User::make('Assigned To')->nullable()->required(),
]);
}
Actions (What You Can Do)
==========================
Task Actions.php:
public function actions(NovaRequest $request)
{
return [
Button::make('Mark as Completed')->text('Complete Task')->middleware(':task_action:complete')->class('success'),
];
}
Usage:
public function completeTask(NovaRequest $request, Task $task)
{
$task->status = 'completed';
$task->updated_at = now();
$task->save();
return 'Task marked as completed';
}
Filters (Data Control)
=======================
Task Filters.php:
public function filters(NovaRequest $request)
{
return [
TextFilter::make('Name'),
SelectFilter::make('Status')->options([
'pending' => 'Pending',
'completed' => 'Completed',
'overdue' => 'Overdue',
]),
DateRangeFilter::make('Due Date'),
SelectFilter::make('Assignee')->options(function (NovaResource $resource) {
return User::pluck('name', 'id')->toArray();
}),
];
}
Charts (Data Insights)
=======================
TaskCharts.php:
public static function indexCharts()
{
return [
Schema::make('Task Status')
->add('status', 'cards')
->filterBy('completed'),
Graph::make('Hits per Month', 'month_hits', 'users').->chart(),
Metric::make('Total Tasks')->total('tasks_students_total'),
];
}
Custom Widgets (Your own things)
=================================
Resource Custom Widget.php:
public function component()
{
return 'memberWidgetCustom成指';
}
public function data(NovaRequest $request)
{
return Task::all();
}
Performance Considerations
==========================
Before migrating to Nova:
- Slow queries? Use indexes.
- Large datasets? Disable low impact.
- Export too heavy? Use deferred export.
After installing Nova:
- Fast admin (requests stay <100ms -="" 1.="" 100="" 10="" 2-3="" 2-5s="" 2.="" 5="" adminpanel:="" adminpanel="==============================================" authentication:="" auto="" best="" built-in="" click="" code="" comparison:="" crud="" csv:="" custom="" days="" don="" eager="" export="" fast="" fields="" filtering="" filters="" high="" keep="" laravel="" leaks="" lines="" load="" loading="" logic="" low="" maintenance:="" manual="" memory="" minimal="" minutes="" ms="" needed="" nova:="" nova="" of="" one="" only="" optimize="" optimized="" overcomplicate="" performance:="" practices="=============" pre-built="" queries="" s="" setup="" show="" slow="" t="" time="" times="" use="" vs.="" what="" wisely="" with-="" zero="">get())
- Cache frequently queried data
- Use indexes
3. Security First
- Enforce role-based access
- Secure routes
- Validate inputs
4. User-Friendly UI
- Use clear labels
- Provide help links
- Use breadcrumbs
Common Pitfalls
===============
1. Overcomplicating Logic
- Don't add complex validation unless needed
- Keep fields simple
2. Forgetting to Clear Cache
- Always optimize after installation
- Clear routes/views caches
3. Ignoring User Testing
- Test with real users
- Get feedback early
4. Not Scaling Properly
- Use Horizon for queues
- Implement caching
- Optimize for load
Scaling Tips
============
1. Separate Nova Instance
- Use Docker containers
- AWS ELB for load balancing
2. Optimize Database
- Caching indexes
- Use read replicas
3. Use Queue System
- Horizon for background tasks
- Export asynchronously
4. CDNs Integration
- Cloudflare for static assets
- Reduce server load
5. Monitoring
- Nova Analytics for insights
- Alert system setups
When NOT to Use Laravel Nova
=============================
For Simple Static Sites:
Nova is overkill. Use basic Laravel or even Hugo, Jekyll.
For Highly Custom UI:
If you need custom admin panels unusual to Laravel, consider Laravel Abate or custom admin panel.
For API-First Projects:
Nova is Laravel-specific. Use Postman, Insomnia, or custom UI instead.
Conclusion
==========
Laravel Nova is a game-changer for **simple and intuitive dashboards**.
What You Get:
- Zero days to adminpanel
- Built-in search & filtering
- Pre-built auth & roles
- Fast queries
- Minimal maintenance
Result:
- 3x faster dashboard builds
- 10x faster maintenance
- Zero frustration
Not just a tool. A productivity hack.
Your move: Switching to Nova now?
Updated: April 8, 2026
Author: Aan (Laravel Developer)</100ms></p>
Monday, April 6, 2026
Ubuntu Pro Free Tier: 5 Enterprise Features Every Small Business Should Activate
Ubuntu Pro free tier gives enterprise features at zero cost for 5 machines. Here are the 5 features worth activating immediately.
What Is Ubuntu Pro Free
Canonical enterprise subscription. Free personal tier for up to 5 machines includes live kernel patching, ESM extended security, FIPS crypto, CIS benchmarks, and automated compliance. Features costing $1,500/year per server elsewhere, free.
Feature 1: Live Kernel Patching
Kernel CVEs patched without any reboot. Ubuntu patched 14 critical vulnerabilities in 2025 with zero downtime. For 99.9% uptime SLA clients this is a competitive advantage. One command and all 5 machines enabled.
Feature 2: Extended Security Maintenance
Ubuntu 18.04 reached end of standard LTS but ESM kept it secure until 2028. Buys time for migrating legacy systems without rushing risky upgrades under pressure.
Feature 3: FIPS 140-2 Cryptography
Government healthcare compliance requires FIPS validated crypto. Usually means expensive third-party modules. Ubuntu Pro includes FIPS-validated OpenSSL at no cost. Essential for HIPAA and government data handling.
Feature 4: CIS Benchmark Compliance
Automated CIS benchmark checking and remediation with pro fix for automatic security hardening. Used to require custom Ansible playbooks and hours of manual auditing.
Feature 5: Livepatch Service
Runs automatically after activation zero configuration needed. Check status with pro status. When new CVE drops, livepatch applies within hours without any manual intervention.
Activation Steps
Create free Ubuntu One account. Get token from ubuntu.com/pro/dashboard. Run sudo pro attach TOKEN. Under 2 minutes per machine.
Pros and Cons
Pros: Free for 5 machines. No reboot downtime. Extended security lifecycle. FIPS included. CIS automation built-in.
Cons: Only 5 free. Commercial tier needed beyond that. Some features overlap paid offerings. Livepatch limited to certain kernel versions.
Verdict
Zero reason not to activate. Zero cost, zero complexity for enterprise features. First thing to do after initial hardening.
Zero Trust Network with pfSense and MikroTik: Small Business Firewall Guide
Built zero trust for 40-person company using pfSense + MikroTik. Replaced $12,000/year Zscaler with $1,300 hardware. Annual savings $10,700.
Zero Trust Architecture
Never trust, always verify — every connection authenticated regardless of source. Old network perimeter died with remote work. You can build zero trust without expensive proprietary tools.
The Stack: pfSense + MikroTik
pfSense at perimeter: Suricata IDS, pfBlockerNG DNS blocking, WireGuard remote access.
MikroTik RB5009 behind it: inter-VLAN routing, QoS, WiFi via CAPsMAN.
Trunk link between them with strict VLAN segmentation.
Layer 1: pfSense Perimeter
Dual WAN failover. Suricata intrusion detection. pfBlockerNG DNS threat blocking. WireGuard VPN for remote workers. VLAN interfaces per network segment. Each remote worker gets unique WireGuard key pair for individual revocation capability.
Layer 2: MikroTik Internal Routing
VLANs: corporate, servers, IoT, guest, management. Servers accept only specific ports from corporate VLAN. IoT and guest completely blocked from corporate and server networks. MikroTik firewall rules enforce this at wire speed.
Layer 3: Corporate WiFi
CAPsMAN centralized management. RADIUS auth to pfSense for corporate WiFi. Guest WiFi isolated with captive portal. Enterprise WiFi capability without enterprise cost.
Layer 4: Identity via Authentik
Open source SSO and MFA. Integrates with pfSense VPN auth and WiFi RADIUS. Free enterprise-grade identity provider replacing expensive commercial IAM solutions.
Pros and Cons
Pros: 85% cost savings. Full security control. No cloud dependency. Open source throughout. Enterprise-grade features.
Cons: Complex setup requiring networking skill. Two platforms to manage and learn. No unified dashboard. Community support only, no SLA.
Bottom Line
Enterprise zero trust at small business price. The $10,700 annual savings funds training, consulting, and still leaves money. Keeps security infrastructure under your control.
Rust vs Go 2026: Which Language Should You Learn for Backend Development?
Production microservice rewrite from Go to Rust took 3 weeks, 70% less memory, found compile-time bugs before production. Honest 2026 backend dev comparison.
Where Rust Wins
Performance: Same throughput at one-third RAM. On cloud billing that means 2 instances vs 10 on same budget.
Compile-time safety: Borrow checker prevents data races, null panics, use-after-free at compile time — no 3 AM nil pointer crashes.
Type system: Algebraic data types, pattern matching, traits encode business rules at type level. Invalid states become unrepresentable.
Where Go Wins
Developer velocity: Working HTTP API in 20 minutes vs hours fighting borrow checker. Go compilation is seconds, Rust is minutes on large projects.
Concurrency: Go routines launch millions easily. Rust tokio async requires entire books dedicated to explaining futures and pinning.
Hiring: Go devs plentiful and affordable. Rust devs cost 20-40% more and genuinely difficult to find outside tech hubs.
Head to Head
Performance: Rust. Memory: Rust. Developer velocity: Go. Concurrency: Go simpler, Rust more powerful.
Safety: Rust compile-time guarantees. Ecosystem: Go mature, Rust growing.
Hiring: Go easy, Rust expensive and scarce.
Cloud cost: Rust cheaper per workload. Compilation: Go seconds, Rust minutes.
Error handling: Go verbose but explicit and predictable.
When to Choose
Choose Go for REST APIs, web services, microservices, team velocity.
Choose Rust for infrastructure, data pipelines, high-throughput where cloud bills dominate.
I use 80% Go, 20% Rust for the 20% where performance justifies the extra development investment.
Not a religious war — both earned their place for different layers of modern backend architecture.
MikroTik CHR in AWS: Turn a $50 Router Into Your Cloud VPN Gateway
MikroTik CHR on AWS t3.small at $0.02/hour = complete cloud VPN gateway for remote workers. CHR license $45 one-time. Total $15/month vs $300+/month equivalent AWS VPN.
What Is CHR
Cloud Hosted Router is full RouterOS virtual edition for AWS, GCP, Azure, DigitalOcean, any KVM VPS. BGP, OSPF, WireGuard, IPsec, layer 7 firewall, QoS — all running on pennies per hour instance.
AWS Setup
Find CHR on AWS Marketplace. t3.small for 10-30 workers at $0.0208/hour. Security group: SSH from management IP only, WireGuard UDP 51820 from anywhere.
Initial Config
SSH in. Set admin password. Assign IP to ether1. Configure DNS. Update RouterOS v7.
WireGuard VPN
Unique key pairs per worker. WireGuard interface on 51820. Persistent keepalive=25 for NAT traversal. Each worker unique key for individual revocation.
NAT and Routing
IP masquerade on WAN interface. VPC subnet routing through tunnel interfaces.
CHR vs AWS VPN
Cost: CHR $15/month + $45 license, no bandwidth charges. AWS VPN $360/year/tunnel plus per-GB transfer.
Features: CHR full BGP/OSPF/firewall/QoS. AWS just IPsec tunnels.
Flexibility: CHR portable to any cloud. AWS locks into their networking.
Pros and Cons
Pros: $15/month. Full RouterOS features. No vendor lock-in. One-time $45 license. Migrate between clouds by exporting config.
Cons: Manual maintenance. Security group complexity. No HA without second instance. Community support only.
Verdict
Cheapest cloud VPN gateway available. Perfect for remote worker VPN, multi-cloud bridges, testing before physical deployment.
Ubuntu as an AI Inference Server: Ollama + NVIDIA GPU Setup Guide 2026
I set up Ubuntu Server 24.04 as AI inference server with RTX 4090 running Ollama. Result: Llama 3 70B locally for $0.60/month electricity vs $5,000/month OpenAI API equivalent.
Why Self-Hosted AI
AI API costs destroy startup budgets. Same model on AWS vs your hardware: pennies vs thousands. Ubuntu has best NVIDIA driver support, making it the AI inference platform.
Hardware Budget
RTX 4090 24GB at $1,600. Previously required $15,000+ pro cards. 32GB system RAM. NVMe SSD. Ubuntu Server 24.04.
NVIDIA Driver Installation
sudo ubuntu-drivers autoinstall. Reboot. Verify nvidia-smi shows GPU and CUDA version. Install CUDA toolkit from NVIDIA repo for ML frameworks.
Ollama Setup
One-line installer creates service and starts on localhost:11434. ollama pull llama3.2 downloads and ready in minutes. For production: add Caddy reverse proxy with HTTPS, rate limiting, API authentication.
Benchmarks
Llama 3 70B quantized: ~15 tokens/sec on RTX 4090. OpenAI runs ~50 tokens/sec but costs 100x more per token. Most business apps are fine at 15 tokens/sec.
Pros and Cons
Pros: 50-100x cheaper. Complete data privacy. NVIDIA support best on Ubuntu. Scales with GPU purchases. Works with Open WebUI for ChatGPT-like interface.
Cons: $1,600 upfront. 300-500W 24/7 power. Limited by VRAM. No automatic model updates.
Verdict
$1,600 GPU investment pays in first month vs API costs. For any org with significant inference volume, self-hosting on Ubuntu is the only financially responsible approach.