ValiDrive: 500 liraya satılan 2TB USB stick vs. şeyleri test etmek için bir yazılım aracı.
ValiDrive: 500 liraya satılan 2TB USB stick vs. şeyleri test etmek için bir yazılım aracı.
Güzergaha göre hava durumu verecek bir uygulama var mı?
Örnek artvin denizli de 5 günlük hava durumu verecek

Navigasyon cihazları belki verebiliyordur ama anlık olacağı fikrindeyim.
Meteoroloji.gov’da karayolları hava hizmeti var. Oradan rota, tarih ve saat girerek yol boyu hava durumu alabiliyorsunuz. Uzun zamandır kullanıyorum. Başarılı.
Bu kadar denk gelir hocam 😀 yeni uygulama bu yaklaşık bir haftaya markette test süreçleri bitti google tarafında. Yol tarifi aldıktan sonra hangi noktaya saat kaçta varacaksınız o noktanın o saatteki hava durumumu seçiyor.

Yeni araç: https://filesion.com/video-cutter/
Evet, 15 dakikada yaptım. AI çok güzel. 🙂
Tarayıcıda FFmpeg çalıştırıyor.
@ozgurg bu iş için kendine has modeli mi var yoksa api mi kullanıyorsun
@alptekinck Antigravity bir IDE ve o kendisi API ile modellere bağlanıyor. Google'ın kendi modelleri olduğu gibi başka firmaların modelleri de var.
MP3 dosyalarının ses düzeyini eşitlemek için bir araca ihtiyacım var.. Kolay birşeyse, güzel olabilir. MP3 Gain var diyorlardı da denemedim daha.
@ozgurg Çok önemli birşey değil üstat, pazarı varsa düşünebilirsin..
Onun sunucu taraflı çalışması gerekiyor, tarayıcıda çalışmıyor. Bu da para demek ve para vermek istemiyorum. 😀
@loop CORS var. 🙂 filesion.com üzerinden youtube.com'a bağlanmak istiyorsan youtube.com'un buna izin vermesi gerekiyor.
ICO to PNG Converter 'nin tersi PNG to ICO de lazım. Bazen masaüstündeki oyunlara yeni iconlar yapıyorum. Birde PDF Compressor olursa iş yerinde işe yarar.
https://archive.org/details/telegramdaki-bir-gruptaki-dosyalarin-isim-listesini-alma
gerekli düzenlemeleri notepad ++ ile yapın.Shift sağ klik ile powershell çalıştır. Python komutu ile bu belgeyi çalıstır.
import os
import sqlite3
from datetime import datetime, timezone
import asyncio
from telethon import TelegramClient
from telethon.tl.types import DocumentAttributeFilename
import time
# Telegram bilgileri
api_id = 106101
api_hash = '7b0c7355ceaf469e5402'
chat_link = 'https://t.me/+lB'
# Yerel klasör
YEREL_KLASOR = r"F:\Al1999-2024 part1"
# Veritabanı dosyası
DB_DOSYA = 'telegram_dosya_hafiza.db' # İstersen yolunu değiştir
def veritabani_olustur():
conn = sqlite3.connect(DB_DOSYA)
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS dosyalar (
isim TEXT,
boyut INTEGER,
PRIMARY KEY (isim, boyut)
)
''')
cursor.execute('''
CREATE TABLE IF NOT EXISTS meta (
anahtar TEXT PRIMARY KEY,
deger TEXT
)
''')
conn.commit()
conn.close()
def son_tarama_tarihi_al():
conn = sqlite3.connect(DB_DOSYA)
cursor = conn.cursor()
cursor.execute('SELECT deger FROM meta WHERE anahtar = "son_tarama"')
sonuc = cursor.fetchone()
conn.close()
if sonuc:
return datetime.fromisoformat(sonuc[0]).replace(tzinfo=timezone.utc)
else:
return datetime(2000, 1, 1, tzinfo=timezone.utc)
def son_tarama_tarihi_kaydet(tarih):
conn = sqlite3.connect(DB_DOSYA)
cursor = conn.cursor()
cursor.execute('INSERT OR REPLACE INTO meta (anahtar, deger) VALUES ("son_tarama", ?)',
(tarih.isoformat(),))
conn.commit()
conn.close()
def veritabani_kayit_sayisi():
conn = sqlite3.connect(DB_DOSYA)
cursor = conn.cursor()
cursor.execute('SELECT COUNT(*) FROM dosyalar')
sayi = cursor.fetchone()[0]
conn.close()
return sayi
async def telegram_dosya_hafiza_guncelle(client):
veritabani_olustur()
conn = sqlite3.connect(DB_DOSYA)
cursor = conn.cursor()
try:
entity = await client.get_entity(chat_link)
print(f"Chat bulundu: {entity.title}")
except Exception as e:
print(f"Chat bulunamadı! Hata: {e}")
conn.close()
return
baslangic_tarihi = son_tarama_tarihi_al()
bitis_tarihi = datetime.now(timezone.utc)
print(f"Sadece {baslangic_tarihi.strftime('%Y-%m-%d')} sonrası yeni dosyalar taranıyor...")
eklenen_sayisi = 0
en_son_tarih = baslangic_tarihi
async for message in client.iter_messages(entity, limit=None):
if message.date bitis_tarihi:
continue
if message.date > en_son_tarih:
en_son_tarih = message.date
if message.media and hasattr(message.media, 'document'):
doc = message.media.document
file_name = "İsim_Bulunamadı"
for attr in doc.attributes:
if isinstance(attr, DocumentAttributeFilename):
file_name = attr.file_name
break
boyut = doc.size
try:
cursor.execute('INSERT OR IGNORE INTO dosyalar (isim, boyut) VALUES (?, ?)', (file_name, boyut))
if cursor.rowcount > 0:
eklenen_sayisi += 1
except Exception as e:
print(f"Ekleme hatası: {e}")
conn.commit()
conn.close()
if eklenen_sayisi > 0:
print(f"{eklenen_sayisi} yeni dosya hafızaya eklendi.")
son_tarama_tarihi_kaydet(en_son_tarih)
print("Son tarama tarihi güncellendi.")
else:
print("Yeni dosya bulunamadı.")
print(f"Toplam hafızada kayıt: {veritabani_kayit_sayisi()}")
def yerel_dosya_kontrol_et_ve_sil():
if not os.path.exists(YEREL_KLASOR):
print(f"Klasör bulunamadı: {YEREL_KLASOR}")
return
conn = sqlite3.connect(DB_DOSYA)
cursor = conn.cursor()
silinen_sayisi = 0
for dosya_adi in os.listdir(YEREL_KLASOR):
dosya_yolu = os.path.join(YEREL_KLASOR, dosya_adi)
if not os.path.isfile(dosya_yolu):
continue
# Sadece .zip dosyalarını kontrol et (istersen kaldırabilirsin)
if not dosya_adi.lower().endswith('.zip'):
continue
boyut = os.path.getsize(dosya_yolu)
cursor.execute('SELECT 1 FROM dosyalar WHERE isim = ? AND boyut = ?', (dosya_adi, boyut))
if cursor.fetchone():
try:
os.remove(dosya_yolu)
gb = boyut / (1024**3)
print(f"Silindi: {dosya_adi} ({gb:.2f} GB)")
silinen_sayisi += 1
except Exception as e:
print(f"Silme hatası ({dosya_adi}): {e}")
conn.close()
print(f"\nİşlem tamamlandı. Toplam {silinen_sayisi} dosya otomatik silindi.")
async def main():
print("Telegram'a bağlanılıyor...")
client = TelegramClient('session', api_id, api_hash)
await client.start()
print("Bağlantı başarılı!")
await telegram_dosya_hafiza_guncelle(client)
while True:
print("\n" + "="*60)
print(f"{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} - Yerel klasör kontrol ediliyor...")
yerel_dosya_kontrol_et_ve_sil()
print("60 saniye bekleniyor...\n")
time.sleep(60)
if __name__ == '__main__':
asyncio.run(main())
telegramdaki chat ile yerel klasörü karşılaştırır.Yerel dosyalar zaten telegramda varsa, yerel dosyaları siler.
import os
import time
import asyncio
import sys
from dotenv import load_dotenv
from telethon import TelegramClient
from telethon.errors import FloodWaitError
# .env dosyasını yükle
load_dotenv()
# Yapılandırma Kontrolü
try:
API_ID = int(os.getenv("API_ID"))
API_HASH = os.getenv("API_HASH")
BOT_TOKEN = os.getenv("BOT_TOKEN")
CHAT_ID = int(os.getenv("CHAT_ID"))
except Exception as e:
print(f"❌ .env dosyasında hata var veya eksik: {e}")
input("Kapatmak için Enter'a basın...")
sys.exit()
# --- KLASÖR AYARLARI ---
# ÖNEMLİ: Windows yollarını yazarken r"C:\Klasor" şeklinde 'r' harfi ekleyin
# veya düz slash "/" kullanın.
WATCH_DIRS = [".", r"C:\Users\Kullanıcı\Downloads"]
WATCH_EXT = (".zip", ".rar", ".7z", ".mp4", ".mkv")
MAX_PENCERE = 2
semaphore = asyncio.Semaphore(MAX_PENCERE)
def get_progress_bar(current, total, start_time, file_name):
elapsed = time.time() - start_time
if elapsed 15 else file_name
print(f"\r📤 {short_name} | %{percent:.1f} | {speed:.2f} MB/s", end="")
async def fast_upload(client, file_path):
async with semaphore:
file_name = os.path.basename(file_path)
start_time = time.time()
try:
print(f"\n🚀 Yükleme Başladı: {file_name}")
await client.send_file(
CHAT_ID,
file_path,
caption=file_name,
progress_callback=lambda c, t: get_progress_bar(c, t, start_time, file_name),
part_size_kb=512
)
print(f"\n✅ Tamamlandı ve Siliniyor: {file_name}")
os.remove(file_path)
except Exception as e:
print(f"\n❌ Yükleme Hatası ({file_name}): {e}")
async def watcher():
print("--- BAĞLANTI KURULUYOR ---")
client = TelegramClient("speed_session", API_ID, API_HASH)
try:
await client.start(bot_token=BOT_TOKEN)
print("✅ Bot Aktif.")
except Exception as e:
print(f"❌ Telegram Bağlantı Hatası: {e}")
return
# Geçerli klasörleri ayıkla (Hata almamak için)
valid_dirs = []
for d in WATCH_DIRS:
if os.path.exists(d):
valid_dirs.append(d)
print(f"📂 İzleniyor: {os.path.abspath(d)}")
else:
print(f"⚠️ UYARI: Klasör bulunamadı, atlanıyor: {d}")
if not valid_dirs:
print("❌ İzlenecek hiçbir geçerli klasör bulunamadı!")
return
active_tasks = set()
while True:
for folder in valid_dirs:
try:
files = [
os.path.join(folder, f) for f in os.listdir(folder)
if f.endswith(WATCH_EXT) and os.path.isfile(os.path.join(folder, f))
]
for file_path in files:
if file_path not in active_tasks:
active_tasks.add(file_path)
# Dosya yazım kontrolü
old_size = -1
while old_size != os.path.getsize(file_path):
old_size = os.path.getsize(file_path)
await asyncio.sleep(1)
task = asyncio.create_task(fast_upload(client, file_path))
task.add_done_callback(lambda t, fp=file_path: active_tasks.remove(fp))
except Exception as e:
pass # Anlık klasör hatalarını görmezden gel
await asyncio.sleep(3)
if __name__ == "__main__":
try:
asyncio.run(watcher())
except Exception as e:
print(f"\n‼️ KRİTİK HATA: {e}")
finally:
print("\n--- PROGRAM DURDU ---")
input("Kapatmak için Enter'a basın...")
ve aynı klasörde txt dosaysından .env dosyası oluştur bilgilerini gir. API_ID=1051
API_HASH=7b5402
BOT_TOKEN=81955387E4L5XU
CHAT_ID=-1002062
Yeni ve güzel bir araç: Btop4win
Linux'daki Top uygulamasının Windows'a uyarlanmış hali.

top değil de btop'un uyarlanmış hali demek daha doğru olur sanırım.

Favori rekoru kıracak o paylaşım.
https://www.youtube.com/watch?v=h-oTopZ7OZY
Bu ayarlar Windows'u sapıttırıyor, bir yerlerde bir şeyler mutlaka sorun oluyor. 3 yıldır bunun yüzünden irili ufaklı bir sürü sorun yaşıyorum 😀 Allah'tan yapay zeka tekte bulmaya başladı da uğraşmıyorum artık.
Teamviewer'i gittikçe artan sınırlamaları ve öyle bir şey olmadığı halde arada "ticari kullanıyorsun" diye ağlaması nedeniyle bırakmıştım.
Anydesk ile kısa bir aşk yaşadık ama o da çok kısa sürede sınırlamalar falan koymaya başladı, hoş olmadı, bıraktık.
Bir süredir RustDesk ile uğraşıyorum. Biraz kafa karıştırıcı, uğraştırıcı yanları var ama idare ediyor. Açık kaynak ve ücretsiz. Bundan sonra RustDesk bende kalıcı olur gibi.
Özellikle Macbook'ta Supremo diye bir program kullanıyorum. Sanki unutulmuş bir program ne reklamı var ne süre kısıtlaması var. Tavsiye ederim.
Teknik olarak güzel bir sistem ama ne AnyDeskin nede RustDesk alternatifi bu sistem.
1- Çok teferruatlı, olası bir yazılım sorununda, tüm sistemi erişlemez kılar.
2- Mobilde nasıl olacak bu iş?
Kısaca 7x24 erişilebilir, anıda yeni bir cihaz ile erişim imkanı, platform bağımsız MacOS, Linux, iOS, Android üzerinden erişim isteyen insan için bu maalesef çözüm değil.
Şimdi deneme imkanım oldu, tepkiselliği v.s. idare edebilir. Ben de rustdesk çi oldum an itibariyle... ama anydesk hala gecikmesizlik konusunda kral gördüğüm kadarıyla, oturup uzaktan video montaj yapamam rustdeskle, bu kararlılığı bir tek anydeste yakalamıştım

Geçmişteki bütün cep telefonu modellerini görüp maziye gidebileceğiniz mobil telefon müzesi.
https://www.mobilephonemuseum.com/phone-detail/nokia-9500-communicator Ofbe tam tuş takımı off off... 🙂
Kemer klipsi bile vardı off be. Sms bile yoktu daha bu zamanlar
şunun melodileri de çağın ötesindeydi. Dizaynı da öyle
https://www.mobilephonemuseum.com/phone-detail/philips-genie
https://www.mobilephonemuseum.com/phone-detail/d440
https://www.mobilephonemuseum.com/phone-detail/g450
https://www.mobilephonemuseum.com/phone-detail/gh688 (benzer çok hangisi tam hatırlayamadım)
https://www.mobilephonemuseum.com/phone-detail/t68m (harici radyo aksesuarı da aldım)
samsung i550w
Samsung S 3
Note 8
k700i fotosu nasıl olmaz ya, daha fazla girilmeli https://www.youtube.com/shorts/wyw9hgKHmZE bir tenis oyunu vardı baya sarıyordu hey gidi
Telefondaki galeriyi fotoğrafları buluta değil de bilgisayardaki bir klasörle eşleyen bir program var mı otomatik. Hatta klasöre gelip bunları telefondan kaldır burada kalsın diyebileceğimiz bir opsiyon belki.
Şu uygulamayı buldum şimdi:
https://play.google.com/store/apps/details?id=com.touchbyte.photosync&hl=en
Windows, Mac ve NAS üzerine yedekleme yapabiliyor, karşılıklı senkronizasyon da var görünüyor. WebDAV ve SMB desteği varmış.
Ben de deniyorum, güzel görünüyor.
Yüz tanıma da istersen
https://immich.app/
https://github.com/immich-app/immich
Bir de
https://nextcloud.com/home-users/
ve
Owncloud var. Bunlar daha geniş özellikli cloud sistemleri ama fotoğraf için de destekleri var.
https://owncloud.com/
Merhaba arkadaşlar.
Normalde Mi 15 Ultra gibi üst seviye bir telefona geçmeyi planlıyordum ama bir-iki yıl süre daha zor gibi. Telefonumun da bazı özellikleri bozuldu. Server kayıtlı Mi 14T ve resmi Honor 200 modelleri radarımda ve hemen hemen aynı fiyattalar. En önem verdiğim konu kamera, özellikle de telefoto kameralar. Sizce hangisini tercih etmeli?
Çok teşekkür ederim. Sanırım oldukça iyi. Bu markayı belki de Meizu ile yaşadığım bazı sıkıntılar neticesinde yok sayıyordum ama siz deyince inceleme gereği duydum.
- Kamerası, özellikle de telefoto kamerası yukarıdaki iki modelden ezici şekilde iyi.
- Tasarımı iyi. Honor 200 kavisli ekranmış. Ondan dün onu eledim. Şu anki telefonuma kavisli ekran koruyucuyu UV yapıştırıcı ile takarken telefonun orasına burasına yapıştırıcı kaçırarak bozmuştum. Tecno Camın 40 Premier'in düz ekranı avantaj.
- Su ve toz dayanımı rakiplerinden iyi.
- Bazı yerlerde 3, bazı yerlerde 5 ana sürüm güncellemesi verme sözü verdikleri yazıyor. 5 iyi, 3 biraz az ama 3 olsa da kamerası için alınır.
Sonuç olarak odağım Tecno'ya kaydı diyebilirim.
@coolnquiet kameralarını nereden karşılaştırdınız özellikle telefoto karşılaştırması için nereye baktınız
@loop Genel olarak ideal bir karşılaştırma olmasa da GSM Arena sitesindeki farklı incelemeleri kullandım.
Biri bu:
https://m.gsmarena.com/xiaomi_14t-review-2748p5.php
Biri de bu:
https://m.gsmarena.com/tecno_camon_40_premier-review-2847p5.php
Bu ikisinde iki farklı telefonla da benzer konumdan çektikleri fotoğrafları karşılaştırdım. Özellikle gece çekimlerinde aynı mekanlar vardı. Koşullar ne kadar farklı olabilir ki diye düşünüp onları karşılaştırdım.
Son bir saat içinde 207 ziyaretçi, 86 kayıtlı kullanıcı giriş yaptı.
Ayrıca http://www.grc.com buna benzer pek çok mini uygulamayı içeriyor.
500 liraya satılan 2tblik ürünü test etmeye gerek yok bence 😀
4gb mi 8gb mi testi 🙂