#webkoe
416 catatan 226 view
Mon, 20 May 2024 12:32 am
Particle Network & Initia Network



#webkoe
#test
47
Sun, 19 May 2024 3:12 am
Coba library ini untuk wysiwyg
https://github.com/Alex-D/Trumbowyg

#todo
#webkoe
#wysiwyg-editor-web
37
Sun, 19 May 2024 2:28 am
Berikutnya kita akan bikin textarea pada menu "Create" menjadi penuh magic... Lets do it!

Idenya adalah memudahkan membuat dan mengedit catatan pada antarmuka textarea pure bawaan native browser dengan tetap mempertahankan kesederhanaan dan kecepatan (by markup saja, bukan dengan WYSIWYG editor yang saya pikir terlalu boros sumberdaya).

#todo
#webkoe
42
Sun, 19 May 2024 1:16 am
Jam berapa sekarang?
Webkoe sudah kembali ke cloudflare

#webkoe
#test
31
Sun, 19 May 2024 1:01 am
Domain handle dipindahkan ke cloudflare, Error

#webkoe
#domain-handle-migration
#rumahweb
#cloudflare
28
Wed, 15 May 2024 9:52 pm
tag italic tidak membuat miring tulisan, ternyata karena font Mali tidak suppport italic (sepertinya).

#webkoe
33
Wed, 15 May 2024 9:26 pm
Error ini yang membuat tidak bisa ke halaman 11 dan seterusnya.

Executor error during find command :: caused by :: Sort exceeded memory limit of 33554432 bytes, but did not opt in to external sorting. Aborting operation. Pass allowDiskUse:true to opt in.

Problem Solved:
Ternyata solusinya mudah, cukup membuat index baru dengan memasukkan field yang dijadikan kunci sort. Dalam hal ini, paging memerlukan field "date" yang dijadikan acuan sort. 

Pada MongoDB Compass:
1. Buat index baru, field date dengan type -1(desc)
2. Lalu "Create Index"

Selesai, dan sekarang page 11 dan seterusnya sudah bisa diakses tanpa error.

#mongodb
#mongodb-compass
#webkoe
#todo 
#problemsolved 
43
Mon, 6 May 2024 12:05 am
Menambahkan "Read More" pada tulisan yang panjangnya melebihi yang ditentukan dengan menggunakan library readmore.js

Works like a charm

#webkoe
#readmore-js-library
58
Tue, 30 Apr 2024 4:53 am
Redirect ke permalink setelah post berhasil belum diperbaiki, broken link karena masih mengikuti route yang lama

#webkoe
#todo
152
Tue, 30 Apr 2024 4:50 am
- Views of Tag, added
- SEO-ing permalink, menambahkan tag pada url permalink
- Permalink icon clickable added to card

#webkoe
148
Sun, 28 Apr 2024 1:42 am
- Card dijadikan template tersendiri;
- Mouseover menu pada card menjadi round biru;
- Add jumlah hit/views pada card

#webkoe
123
Tue, 2 Apr 2024 11:40 pm
Antisipasi jika user menekan tombol create berkali-kali dilakukan dengan cara yang simple saja, yaitu mencek id telebih dahulu sebelum input. Cara terbaik sebenarnya adalah membuat field id menjadi unik, namun hal ini terkendala dengan data sebelumnya; banyak terdapat duplikasi id pada data lama. Yang aneh adalah, pada saat saya melakukan cleansing manual, terdapat error pada id tertentu, namun ketika id tersebut dicari, tidak ditemukan.

#webkoe
407
Tue, 2 Apr 2024 9:47 pm
Yuk bongkar kenapa post berkali-kali dengan klik cepat tombol "create", berhasil?

#webkoe
292
Tue, 5 Mar 2024 12:41 am
Menu pada card diubah ke popup, mengikuti twitter. Warna tombol menu utama di bagian paling atas, diubah ke Biru dari sebelumnya hijau.

#webkoe
69
Mon, 4 Mar 2024 12:15 am
Menu yang menutupi seluruh card sepertinya akan mengganggu jika tulisannya panjang, user akan scroll ke bawah terlebih dahulu untuk bisa mengklik menu. Sepertinya perlu diubah ke menu dalam bentuk context saja, seperti twitter.

#webkoe
#todo 
63
Sun, 3 Mar 2024 11:57 pm
Menyesuaikan menu pada Card, klik triple dot dan muncul menu transparan menutupi seluruh card. Perubahan ini hanya di menu Home, belum diterapkan ke view yang lain seperti page, tag, dan permalink.

#webkoe
67
Sun, 3 Mar 2024 1:17 am
Membuka kembali VSCODE, menyelami script webkoe.

- Routing spesifik ke domain webkoe.net saja, jika request selain domain webkoe.net maka NO RESPON. Hal ini dilakukan setelah saya menemukan hasil pencarian webkoe.net lewat edge ternyata mengarahkan ke alamat ip address webkoe, dan ternyata bisa diakses dengan IP. 

- Develop lewat laptop iCherry 

#webkoe
#iCherry-kantor
67
Wed, 28 Feb 2024 10:16 am
Akses home bermasalah,... tidak bisa diakses, loading lama.

16:01 WIB
Sudah kembali normal


#webkoe
#tanyakenapa 
66
Wed, 31 Jan 2024 8:01 am
Tulisan tanpa pre #test #webkoe
63
Tue, 30 Jan 2024 8:02 pm
Todo:
- Buat hardlink ke permalink supaya seo bagus.
- Tampilkan views di tiap tulisan

#webkoe 
#todo 
70
Wed, 10 Jan 2024 9:59 am
Beberapa hari yang lalu sempat down, ini kok bisa recovery sendiri ya?

#webkoe
#tanyakenapa 
90
Tue, 3 Oct 2023 8:19 am
Perlu dibikin semacam tag untuk ignore change, ketika edit things dilakukan pada snapshoot analyzer namun tidak mengubah data.

#webkoe
#todo
171
Sun, 1 Oct 2023 11:59 pm
Sampai dengan malam ini snapshoot analyzer sudah bisa mengcollect data snapshoot menjadi tabel berdasarkan waktu edit dan urutan data pada Tag.

#nice
#webkoe
120
Sun, 1 Oct 2023 7:39 pm
Develop snapshoot analyzer, berfungsi untuk membuat historical view dari snapshoot yang di generate saat dilakukan update Blog.

[snapshoot-analyzer-data]
amount      8
price       101
value        1789

#snapshoot-analyzer
#snapshoot-analyze-amount-price-value
#webkoe
#test
155
Wed, 20 Sep 2023 11:28 pm
Post pertama kali lewat hape dengan klik suggest untuk add Tag.

#webkoe 
#nice 
#what-a-nice-day 
#works_like_a_charm 
#done 
118
Wed, 20 Sep 2023 11:14 pm
Rekap hari ini:
- Masalah monitor, done;
- Permalink, done;
- Add Tag dengan Klik saja, done.

Time to sleep...



#justwritesomething
#webkoe
#problemsolved 
#msi_gf63 
#monitor-aoc
#aim-nft
#our-nft
118
Wed, 20 Sep 2023 10:58 pm
Add Tag di Create bisa langsung klik dari suggest hasil pencarian.

Ternyata di Edit juga bisa langsung klik suggest.

Karya Abang ๐Ÿ˜๐Ÿ”ฅ๐Ÿ’ฏ๐Ÿ’ฏ๐Ÿ‘๐Ÿฟ๐Ÿ‘๐Ÿฟ


#webkoe
#tag-suggestion
#nice
#test
#our-nft
#aim-nft
122
Wed, 20 Sep 2023 9:52 pm
Something wrong?

#webkoe
99
Wed, 20 Sep 2023 9:45 pm
Ditemukan #

#webkoe
99
Wed, 20 Sep 2023 9:45 pm
Ditemukan #

#webkoe
102
Wed, 20 Sep 2023 8:47 pm
Apakah bisa tag dengan spasi ?

============================



sudah lah, twitter aja ga bisa bikin tag dengan spasi. Malahan twitter tidak support hyppen.

============================

#webkoe olala 
#wkwk
102
Wed, 20 Sep 2023 8:25 pm
Kumpulan Emoji Char yang di support webkoe
๐Ÿ•Œ๐ŸŽ๐Ÿ› ๏ธ

#๐Ÿ•Œ
#๐ŸŽ
#๐Ÿ› ๏ธ
#emoji-char
#webkoe
119
Wed, 20 Sep 2023 8:04 pm
Tag dengan symbol ? 
๐Ÿ› ๏ธ๐ŸŽ

#๐Ÿ› ๏ธ
#๐ŸŽ
#webkoe
120
Wed, 20 Sep 2023 7:49 pm
Redirect to _id when POST is completed. Test 2
Redirect to _id when Edit POST is completed. Test 3

#webkoe
#test
98
Wed, 20 Sep 2023 7:46 pm
Redirect to _id when POST is completed

#webkoe
98
Wed, 20 Sep 2023 7:34 pm
Pageview Added

#webkoe
93
Sun, 17 Sep 2023 4:17 pm
Edit, restored

#webkoe
86
Sun, 17 Sep 2023 4:03 pm
Test Lagi
&
Lagii
&&
Terakhir

#webkoe
#2
104
Sun, 17 Sep 2023 2:02 pm
#2 Test Postings

#webkoe
112
Sun, 17 Sep 2023 2:00 pm
Pindahkan create_model ke blog_model

#webkoe
92
Sun, 17 Sep 2023 1:56 pm
Rewrite model, disesuaikan dengan nama tabel saja. Format : [nama-tabel]_model
Supaya tidak membingungkan.

#webkoe
83
Fri, 15 Sep 2023 11:14 pm
Menu Crypto sudah kembali

#webkoe
85
Fri, 15 Sep 2023 10:56 pm
Kembali ke template awal

#webkoe
83
Mon, 11 Sep 2023 10:15 pm
TagView Recovered

#webkoe
83
Mon, 11 Sep 2023 9:13 pm
Without PRE #webkoe #test
83
Mon, 11 Sep 2023 9:11 pm
Tagrank restored

#webkoe
80
Mon, 11 Sep 2023 8:41 pm
Upgrade ke Ubuntu 22 menyebabkan mongodb tidak kompatibel, blog setelah tanggal 15 Januari 2023 belum bisa di restore, untungnya sempat melakukan backup di Mongodb Cloud. Mongodb akhirnya tidak lagi menggunakan mongodb lokal, tapi dialihkan ke MongoDB Cloud (Free).

Ada beberapa catatan menarik:
- Go akhirnya menggunakan Go1.20
- MongoDB akhirnya pindah ke Cloud
- Webkoe akhirnya dipaksa untuk rewrite ke kode yang lebih ter-manage dengan baik

#webkoe
#problem
#alhamdulillah
96
Sun, 15 Jan 2023 1:13 am
Webkoe upgrade ke Ubuntu 20

=====
Welcome to Ubuntu 20.04.5 LTS (GNU/Linux 4.15.0-202-generic x86_64)
=====

#webkoe 
#ubuntu 
#ubuntu20
#nice
103
Sun, 15 Jan 2023 12:18 am
Mulai menggunakan GVM kembali

#webkoe
#project
#gvm
#golang
95
Sat, 7 Jan 2023 6:45 pm
Webkoe service no more flag; --production & --redirect

18:46
Systemctl start webkoe-web-server 
DONE

#webkoe
87
Sat, 7 Jan 2023 5:33 pm
Log:
Webkoe dipindahkan ke nameserver cloudflare, menggunakan SSL bawaan cloudflare. Registrasi domain masih di rumahweb.

Note:
service path: /etc/systemd/system
command: systemctl restart webkoe-web-server

#webkoe
#rumahweb
#cloudflare
#migrasi-nameserver
#webkoe-service
93
Wed, 4 Jan 2023 8:38 am
wget -qO- https://repos-droplet.digitalocean.com/install.sh | sudo bash

#webkoe
85
Fri, 12 Aug 2022 3:16 pm
Tambahin aside

-------------------
aside ?

#webkoe
80
Mon, 6 Jun 2022 10:50 am
{\__/}
(โ—_โ—)
( >๐ŸŒฎ Want a taco?

Ternyata menarik juga....wakwakwak

#webkoe
#ascii-emoticon
#nice
92
Mon, 6 Jun 2022 10:46 am
Webkoe is up, beberapa hari yang lalu tidak bisa diakses karena setting ip DNS di rumahweb merujuk ke alamat ip tidak dikenal.

Solusinya adalah mengembalikan seting ke alamat VPS yang benar.

--> ping webkoe.net
PING webkoe.net (206.189.42.180) 56(84) bytes of data.
64 bytes from forward-app.vps.mysrsx.net (206.189.42.180): icmp_seq=1 ttl=62 time=0.697 ms
64 bytes from forward-app.vps.mysrsx.net (206.189.42.180): icmp_seq=2 ttl=62 time=0.887 ms

--> 206.189.42.180 IP TIDAK DIKENAL
โŠ‚_ใƒฝ
ใ€€ ๏ผผ๏ผผ
ใ€€ใ€€ ๏ผผ( อกยฐ อœส– อกยฐ)
ใ€€ใ€€ใ€€ >ใ€€โŒ’ใƒฝ
ใ€€ใ€€ใ€€/ ใ€€ ใธ๏ผผ
ใ€€ใ€€ /ใ€€ใ€€/ใ€€๏ผผ๏ผผ
ใ€€ใ€€ ๏พšใ€€ใƒŽใ€€ใ€€ ใƒฝ_ใค
ใ€€ใ€€/ใ€€/
ใ€€ /ใ€€/|
ใ€€(ใ€€(ใƒฝ
ใ€€|ใ€€|ใ€๏ผผ
ใ€€| ไธฟ ๏ผผ โŒ’)
ใ€€| |ใ€€ใ€€) /
ใƒŽ )ใ€€ใ€€L๏พ‰
(_๏ผ


#webkoe
#problem
#problemsolved
#tanyakenapa
113
Tue, 5 Apr 2022 11:00 pm
Sejak chrome desktop update ke versi 100, fetch ajax ke indodax jadi ter-affected CORS policy. Browser memblock akses ke sumber dengan nama berbeda, webkoe.net ke indodax.com. Ternyata bukan cuma webkoe, banyak web yang saya akses gagal load karena tersandung policy baru ini.

Saya pikir hanya berlaku pada google chrome, setelah saya coba dengan browser lain, sama. Brave, Edge, dan Opera. 

Untungnya blok belum berlaku pada chrome android, akses ke webkoe crypto lewat chrome android masih bisa dilakukan, sepertinya hanya menunggu waktu saja untuk chrome android turut mengimplementasikan policy baru CORS nya ini.

Oya, saat menginstall brave jadi berkenalan dengan BAT nya. Brave browser build in wallet, yang mana user akan dapat koin BAT pada saat click ads yang mereka sediakan.

-- update 6 April 2022 12:45
Saat diakses dari PC kantor, dengan Chrome 100 dan Brave, lancar jaya, tidak ada isu CORS. Tanya kenapa ??

#webkoe
#cors-issue
#google-chrome
#brave-browser
#BAT-coin
#crypto
#nice
#tanyakenapa
110
Thu, 24 Mar 2022 4:14 pm
Add koin ASIX ke daftar menu Crypto

#webkoe
#crypto
#asix-token
94
Tue, 15 Feb 2022 9:22 pm
Apakah bisa tag dengan character spesial?

ternyata tidak bisa, karna belum di masukkan ke regex. Seandainya bisa mungkin lebih menarik...

#test
#webkoe
#๐Ÿ› ๏ธ
90
Wed, 9 Feb 2022 10:22 pm
Crypto watcher add shortcut ke beberapa koin

๐Ÿ”ง๐Ÿ”ง๐Ÿ”ง

#crypto-watcher
#webkoe
86
Mon, 31 Jan 2022 2:30 pm
Nyoba mongodb di Amazon Web Service (AWS)
- nyoba yang free dulu
- sudah berhasil bikin database
- nyoba connect dari webkoe ke aws (... progress)

14:38
- Ternyata lebih murah mongodb cluster di digitalocean. AWS $0.09/jam sedangkan DO $0.02/jam. Belum bicara tentang spek, masih tentang harga termurah yang ditawarkan.


#webkoe
#AWS
#mongodb
#digitalocean
90
Sat, 29 Jan 2022 4:02 pm
Cek harga crypto cardano realtime di indodax bisa disini https://webkoe.net/crypto

untuk custom jenis kripto yang lain bisa tambahkan parameter tambahan, contoh: https://webkoe.net/crypto/btcidr untuk cek harga BTC

sumber: indodax api

#cardano
#crypto
#crypto-watcher
#webkoe
#indodax
95
Mon, 17 Jan 2022 10:02 pm
- FTP sudah bisa diakses
- Sempat bingung kenapa error saat nyoba build, syukurlah solusinya kemarin sudah dicatat dengan baik

Errornya seperti ini :

server.go:23:2: no required module provides package github.com/gorilla/mux: go.mod file not found in current directory or any parent directory; see 'go help modules'


Jalankan perintah ini sebelum go run / go build :
   
     go env -w GO111MODULE=auto


Sumber :
https://go.dev/blog/go116-module-changes

#golang
#webkoe
87
Thu, 7 Oct 2021 9:57 pm
Webkoe sempat down... kenapa ya?

#webkoe
84
Mon, 24 Aug 2020 1:59 pm
5 ๐Ÿ’Ž    = 900
20๐Ÿ’Ž   = 2.900
50๐Ÿ’Ž   = 6.800
70๐Ÿ’Ž   = 9.200
100๐Ÿ’Ž = 13.600

tambahkan tag PRE supaya bagus hasilnya
:)

#webkoe	
71
Tue, 23 Jun 2020 8:01 pm
Perpanjangan domain
๐ŸŒฌ๏ธ

#webkoe
#rumahweb
90
Wed, 17 Jun 2020 9:56 pm
Kemungkinan domain akan dipindahkan ke cloudflare saja, lebih banyak fiturnya.
-----
Domain tetap di rumahweb saja, ada kedekatan emosional saya dan rumahweb, niat pindah domain ke cloudflare pun akhirnya saya urungkan.

โค๏ธ rumahweb.com

#webkoe 
#rumahweb
#cloudflare
98
Mon, 3 Feb 2020 9:37 am
Seseorang atau sesuatu mempost tanpa tulisan ke webkoe. Enam tulisan kosong sekaligus dengan waktu yang bersamaan.

#webkoe
80
Fri, 24 Jan 2020 12:01 pm
Todo
- Bikin menu edit muncul saat long press saja, bukan saat di klik http://jsfiddle.net/adeneo/B2rmk/1/

#webkoe #todo
94
Fri, 24 Jan 2020 11:48 am
Todo
- alihkan static file ke droplet saja, space susah ngeditnya --> DONE 
- tambahkan snapshoot_created_date pada saat edit --> DONE

#webkoe #todo
88
Fri, 24 Jan 2020 11:38 am
Adding screenshoot_date_created
- edit 1

11:40 Screenshoot_date_created ADDED

#webkoe #webkoe-on-develop
87
Fri, 24 Jan 2020 8:09 am
Todo
- alihkan static file ke droplet saja, space susah ngeditnya
- tambahkan snapshoot_created_date pada saat edit

#webkoe #todo
92
Thu, 23 Jan 2020 12:34 am
Waktu server di set ke Asia/Makassar (GMT +8)

#webkoe #timezone
88
Thu, 23 Jan 2020 12:30 am
23/01 00.30 AM

#webkoe #test
81
Wed, 22 Jan 2020 4:28 pm
23/01 00:28 AM

#webkoe #test
89
Wed, 22 Jan 2020 4:25 pm
Dan tanpa saya sadari, timezone server masih belum sesuai... besok lah, sudah malam

ini seharusnya 23/01/2020 00:25 AM

--- 23/01/2020 00.46 AM ---
Tidak perlu menunggu besok, ternyata settingnya mudah saja

#webkoe
83
Wed, 22 Jan 2020 4:23 pm
PRE markup automatically ADDED ke textarea, untuk memudahkan create tulisan.

#webkoe
77
Wed, 22 Jan 2020 4:17 pm
Sempat gagal Create Tulisan gara-gara mengubah struct Blog, solusinya insert tidak lagi menggunakan Blog tapi langsung ke Bson.M{} object saja.

#webkoe #go #mgo
90
Wed, 22 Jan 2020 2:31 pm
Snapshoot tulisan sebelum dilakukan edit --> ADDED
snapshoot ini sebagai history tulisan sebelumnya, untuk menghindari kesalahan edit atau bahasa kerennya SOFT EDIT.

#webkoe #alhamdulillah

97
Tue, 21 Jan 2020 3:27 pm
HARD EDIT in here 
;D but finally goin Soft...

#webkoe
75
Tue, 21 Jan 2020 11:48 am
Tahun 2020 ini, webkoe sudah berhasil upgrade ke Ubuntu 18 dan otomatis ke python 3

#webkoe #ubuntu #ubuntu18 #python3 #alhamdulillah
104
Tue, 21 Jan 2020 11:46 am
Hello ubuntu 18 #webkoe
77
Fri, 17 Jan 2020 2:29 pm
Prepare for upgrade ...
- Ubuntu ke Ubuntu 18
- Python ke Python 3

Kemungkinan akan dilakukan destroy droplet, lalu membuat droplet yang baru.

#webkoe
80
Wed, 15 Jan 2020 10:28 pm
Ternyata repot setting drivernya kalo mau pake cloud servicenya mongodb, tadi nyoba gagal terus. Disamping storage freenya yang kecil. #mongodb #mongodb-atlas #webkoe
100
Wed, 15 Jan 2020 8:07 pm
Nyoba cloud service mongodb, yang free dulu, dikasi 0,5GB. #mongodb #webkoe #mongodb-atlas
88
Tue, 10 Dec 2019 8:52 pm
Hallo, Akhmad Riza,... #webkoe
75
Wed, 27 Nov 2019 4:32 pm
Webkoe certificate renewed, berlaku sampai 25 Februari 2020. Terima kasih kepada letsencrypt. 
#letsencrypt #webkoe
85
Wed, 27 Nov 2019 4:30 pm
Webkoe certificate renewed, berlaku sampai 25 November 2019. Terima kasih kepada letsencrypt. #letsencrypt #webkoe
83
Thu, 17 Oct 2019 9:34 pm
Hallo kolom kecil ku, apa kabar?
terlalu banyak kejadian, pikir, dan semacamnya berkelebatan silih berganti di benak ini.

Ingin ku tulis satu per satu, tapi sepertinya hanya akan memenuhi ruang saja.

Maka dari itu, aku tuliskan ini.
Hanya sekedar ingin saja, bukan bermaksud menuangkan kelebatan itu.

Kolom kecilku, terima kasih telah menemaniku selama ini. Kamu hanya kolom, dan aku hanya suka menulisimu. Sesederhana itu saja,...

#webkoe #justwritesomething
81
Tue, 27 Aug 2019 8:29 pm
Webkoe certificate renewed, berlaku sampai 25 November 2019. Terima kasih kepada letsencrypt. #letsencrypt #webkoe
89
Tue, 18 Jun 2019 6:04 pm
Webkoe certificate renewed, berlaku sampai 16 September 2019. Terima kasih kepada letsencrypt. #letsencrypt #webkoe
84
Tue, 11 Jun 2019 12:00 pm
Perpanjang domain webkoe.net done, berlaku sampai 22 Juni 2020.
#webkoe 
#rumahweb
87
Tue, 9 Apr 2019 9:50 am
Webkoe certificate renewed, berlaku sampai 08 Juli 2019. Terima kasih kepada letsencrypt. #letsencrypt #webkoe
87
Wed, 27 Mar 2019 7:52 pm
Italic

#test #webkoe
87
Tue, 29 Jan 2019 10:37 am
Webkoe certificate renewed, berlaku sampai 29 April 2019. Terima kasih kepada letsencrypt. #letsencrypt #webkoe
85
Fri, 11 Jan 2019 12:27 am
Utak atik modem indihome kontrakan supaya aplikasi dilaptop bisa diakses dari internet

===========================
Modem indihome bisa diakses di ip lokal 192.168.100.1, atau kalo mau lebih yakin bisa dilihat lewat "ipconfig", biasanya modem induk nangkring di nomor 1. Account defaultnya "Admin" dan password defaultnya "admin".

- Aplikasi web laptop berjalan di port 9090
===========================

Case 1 : Mengakses aplikasi laptop di jaringan modem saja

- Laptop (server aplikasi) terhubung ke wifi indihome (DHCP)
- Handphone (client) terhubung ke wifi indihome (DHCP)

Hasil DHCP:
- Laptop ip 192.168.100.6 (port 9090 forwarding ke 9090 juga)
- HP tidak saya cek

result:
HP dapat mengakses aplikasi web di laptop dengan lancar tentunya di port alamat http://192.168.100.6:9090


Case 2 : Mengakses aplikasi laptop lewat internet

- Laptop (server aplikasi) terhubung ke wifi indihome (DHCP)
- Handphone (client) terhubung ke GSM

Cari tau berapa ip public modem indihome saat itu, tinggal ketik di pencarian google "what is my ip". Setelah ketemu ip modem indihome, berikutnya tinggal akses ip tersebut lewat HP yang terhubung ke GSM

Result:
HP dapat mengakses aplikasi web di laptop dengan lancar tentunya di port alamat http://36.75.19.66:9090

Case 3 : Mengakses aplikasi laptop (static IP) di jaringan modem

Laptop terhubung ke modem dengan cara DHCP, artinya IP yang diberikan ke laptop random. Ini akan bermasalah saat port forwarding, karena port forwarding menggunakan ip static/tetap. Saya ingin laptop selalu berIP 192.168.100.2 (misalnya).

Pemberian static IP bisa dilakukan dengan mendaftarkan Mac Address laptop ke modem, cara ini memungkinkan laptop selalu didaftarkan modem dengan IP yang static, misal 192.168.100.2 tadi.

Result:
Saya coba putuskan laptop dari wifi modem, lalu nyalakan lagi, setelah saya cek dengan ipconfig, IP laptop didaftarkan dengan ip yang saya inginkan, yakni ip 192.168.100.2

Case 4 : Mengakses aplikasi laptop di jaringan internet

IP public yang dimiliki modem indihome salalu berubah ketika kita nyala/matikan. Saat kita berada di jaringan modem indihome, mudah bagi kita untuk mengetahui ip public yang sedang kita gunakan. Bagaimana ketika kita ingin mengaksesnya dari luar jaringan modem indihome?

Ada salah satu solusi untuk hal ini, yakni dengan mendaftarkan nomor indihome kita ke ip-dynamic.com, situs ini memungkinkan kita untuk tahu berapa ip public yang sedang digunakan oleh modem indihome kita walaupun tidak berada didalam jaringan modem indihome.

Result:
Tanpa harus tahu berapa ip public modem indihome, saya bisa akses aplikasi web di laptop dengan alamat 162222202752.ip-dynamic.com:9090

#project #indihome #webkoe #aplikasi #nice #port-forwarding-indihome #modem-indihome #ip-dynamic
106
Tue, 1 Jan 2019 12:10 pm
First Post #2019 #webkoe
78
Sat, 10 Nov 2018 11:08 am
Webkoe certificate renewed, berlaku sampai 08 Feb 2019. Terima kasih kepada letsencrypt. #letsencrypt #webkoe
84
Wed, 26 Sep 2018 7:28 pm
Hai mas_aa, selamat datang di webkoe.net #mas_aa #webkoe
83
Mon, 24 Sep 2018 8:25 pm
81
Mon, 24 Sep 2018 8:21 pm
Test jam 20:23 #webkoe
62
Mon, 24 Sep 2018 8:20 pm
Test jam #webkoe
62
Tue, 28 Aug 2018 10:06 pm
Message to admin of alphatree.co "why you dont use SSL for your website?" Hope you read this message and add a message here for the answer. :D #webkoe #alphatree #justwritesomething
88
Thu, 9 Aug 2018 6:16 pm
Webkoe certificate renewed, berlaku sampai 07 Nov 2018. Terima kasih kepada letsencrypt. #letsencrypt #webkoe
83
Wed, 8 Aug 2018 7:24 pm

โ›บ
font bergambar kemah
#test #webkoe
85
Sun, 24 Jun 2018 7:31 am
Perpanjang domain webkoe.net done #webkoe #rumahweb
88
Sat, 2 Jun 2018 5:37 am
sertifikat SSL renewed. #webkoe #letsencrypt
85
Thu, 31 May 2018 6:32 pm
Sertifikat webkoe expired, muncul warning saat diakses. #webkoe #letsencrypt
82
Tue, 6 Mar 2018 8:57 pm
Masih kepikiran godaan bikin droplet baru dengan space 25GB dan RAM 1GB, harga tetap $5/month. Waaww... mayan nambah 5GB. 

#digitalocean 
#improvement 
#webkoe
86
Thu, 1 Mar 2018 9:49 pm
Webkoe certificate renewed, berlaku sampai 20 May 2018. Terima kasih kepada letsencrypt. #letsencrypt #webkoe
82
Mon, 19 Feb 2018 9:06 am
Yay, webkoe now have 1GB memory RAM. Previously only have 512MBs. #webkoe #digitalocean
80
Sun, 21 Jan 2018 11:49 pm
Edit footer ke 2018, padahal bisa saja dibikin otomatis membaca jam server, tetapi karena ya cuma setahun sekali, mending dibikin static saja, hard edit. #wkwk #webkoe
90
Wed, 20 Dec 2017 7:32 pm
Webkoe sertificatea renewed, berlaku sampai 20 Maret 2018. Terima kasih kepada letsencrypt. #letsencrypt #webkoe
80
Fri, 24 Nov 2017 5:54 pm
Welcome to taggar :) #pudiyarsari #webkoe
62
Sun, 8 Oct 2017 11:03 pm
Catatan ke 2700 #webkoe
63
Sat, 7 Oct 2017 6:15 pm
Kepikiran mau bikin permalink untuk setiap tulisan. #webkoe
65
Sun, 1 Oct 2017 10:59 am
Webkoe sertificatea renewed #letsencrypt #webkoe
77
Thu, 21 Sep 2017 11:42 am
Mainan baru, digitalocean space, masih trial. #digitalocean #webkoe
81
Wed, 23 Aug 2017 6:38 pm
Saya pikir ini lah versi paling baik dari webkoe, akses yang relatif cepat dan sederhana. Sempat kepikiran mau ubah template, pasang fasilitas login, ini lah, itu lah... tapi saya rasa versi yang seperti sekarang ini sudah cukup. #hehe #justwritesomething #webkoe
93
Sun, 13 Aug 2017 9:04 pm
๐Ÿ˜ฐ. #webkoe #test
87
Sun, 13 Aug 2017 9:02 pm
BOLD #webkoe #test
87
Mon, 7 Aug 2017 8:51 am
Card "User-select: none" been disabled, setelah sebelumnya tidak bisa select text, sekarang sudah bisa. #webkoe
63
Mon, 7 Aug 2017 8:50 am
Card "User-select: none" been disabled. #webkoe
59
Mon, 31 Jul 2017 12:01 am
67
Fri, 21 Jul 2017 10:08 am
-Install certbot
-certbot certonly -d webkoe.net
-sesuaikan /etc/nginx/conf.d/default.conf dengan lokasi sertifikat yang baru (misal: /etc/letsencrypt/live/webkoe.net-0002/...)
#webkoe #letsencrypt 
        
86
Fri, 21 Jul 2017 10:05 am
SSL running well again. #alhamdulillah #webkoe
74
Fri, 21 Jul 2017 9:44 am
Sertifikat ssl error,... padahal sudah di renew kemarin malam. #webkoe
63
Mon, 19 Jun 2017 12:47 am
Hadeh... siapa lagi ni yang ngirim-ngirim php? who is shourscout? #webkoe
60
Tue, 25 Apr 2017 11:18 am
Good, alphatree.co sekarang sudah lepas dari webkoe. #webkoe
60
Fri, 21 Apr 2017 10:40 am
Webkoe cert renew. #ssl #webkoe #letsencrypt
87
Sun, 9 Apr 2017 1:39 am
Siapa rizal ? :) Hallo, anda telah bergabung dengan Catatan Online Webkoe. Disini kamu bisa memasang hashtag seperti twitter lho, coba bikin catatan lagi dan bubuhi hashtag misalnya #siapa-rizal. ;D have a nice write ! #tanyasiapa #webkoe
78
Fri, 31 Mar 2017 9:24 am
Webkoe sekarang support hypen (-) pada tag. #webkoe
61
Fri, 31 Mar 2017 9:23 am
85
Fri, 31 Mar 2017 8:32 am
Bingung membaca kode sendiri. #webkoe #tanyakenapa #fyuuh
92
Fri, 31 Mar 2017 8:15 am
89
Thu, 30 Mar 2017 8:19 am
Webkoe goes to play store. Bayar $25 dulu pastinya. :D #webkoe #owyeaaah #playstore #android #googleplay
100
Tue, 14 Feb 2017 8:05 am
97
Tue, 14 Feb 2017 8:04 am
Skor SEO webkoe 44/100, ternyata banyak hal yang harus dibenahi. Satu hal yang menarik adalah penggunaan hypen (-) dalam menulis link, lebih dianjurkan daripada menggunakan spasi atau underscore (_). Permasalahannya adalah webkoe belum support hypen untuk meregister tag. #webkoe #seo
85
Fri, 10 Feb 2017 8:21 am
Solusi long link adalah dengan bit.ly, selain link jadi pendek, bisa lihat statistiknya juga. #nice #:D #webkoe #bitly
95
Wed, 8 Feb 2017 5:41 pm
PRE sudah diset ke wrap by word, namun masih bermasalah saat ada link yang panjang. #webkoe
68
Sun, 8 Jan 2017 10:02 pm
Create dari https://alphatree.co, domain yang merefer ke webkoe. #tanyakenapa #webkoe
71
Fri, 23 Dec 2016 5:42 am
Catatan ke 2220. #webkoe
61
Tue, 29 Nov 2016 7:50 am
๐Ÿ˜ฌ emoticon WA ? #nice #webkoe
73
Thu, 17 Nov 2016 5:20 am
Habis subuhan, ngupdate ranking kanwil dulu, sambil webkoe an di rawasari. #rawasari #webkoe #kantor
97
Wed, 26 Oct 2016 9:10 pm
20:11 wib #webkoe #dinasluar
70
Sun, 23 Oct 2016 8:00 am
Awalnya ane nyoba develop webkoe versi django pure semuanya dengan WSL, ternyata baru nyoba up and running saja sudah gagal. Upstart belum di support WSL. Akhirnya, back to droplet mawon lah. Masalah droplet sebenarnya hanya satu, lagging jaringan operator ini. #fyuuh #wsl #django #webkoe
97
Wed, 19 Oct 2016 7:48 pm
90
Fri, 9 Sep 2016 8:11 pm
Argghhh... spasi bisa diterima disini... #webkoe
67
Mon, 5 Sep 2016 12:29 pm
Bersiap mengawinkan webkoe.net dan webkoe.id, kini dengan #go sebagai webserver, mengingat #go sudah bisa SSL dan secara performa tidak beda jauh dengan #nginx... Websocket server wss sejauh ini berjalan lancar, semoga demikian seterusnya. Aamien... #webkoe
95
Sun, 4 Sep 2016 6:58 am
Back to standalone #go, without #nginx @webkoe.id #webkoe
92
Sun, 4 Sep 2016 5:57 am
Ternyata #go bisa melayani SSL sendiri, tanpa #nginx. Percobaan ini bermula saat protokol ws yang ditolak oleh https://webkoe.id, setelah wss berhasil dicreate, tinggal masalahnya sekarang "origin not allowed", wss tidak akan memproses request dari origin/alamat yang berbeda. Dalam hal ini originnya adalah webkoe.id, dan server wss ada di webkoe.net:99, solusinya adalah memasukkan layanan wss ke webkoe.id. Masalah berikutnya timbul, karena webkoe.id bukan murni, dia sebenarnya hanya proxy pass nginx ke localhost. Rumit? memang ... #webkoe
96
Thu, 11 Aug 2016 9:33 pm
Test posting dengan kondisi CPU #webkoe server 100% usage, infinite loop.
65
Tue, 2 Aug 2016 7:09 am
Webkoe.id:9090 direct access berhasil dilindungi, proxypass #nginx diubah ke localhost:9090. Host Route Mux Gorilla diubah dari webkoe.id ke localhost. It's Works ! Untuk webkoe.net dan webkansaja.com masih bisa diakses di non secure port:88, perlu pemisahan server agar bisa running di proxypass localhost. #webkoe #nice #alhamdulillah #problemsolved
98
Tue, 26 Jul 2016 1:01 pm
fUF3NjwaggQ:APA91bFcNrb-H9Ic85FazmB4L9xWcWVKdbvLOd6pawYrJyv-Zf0sq9GYdvYsKb7imgqP2YMz0boZo05rudpEclrknMef14RP5FU5SMnaJ5HWIDrUjg-dQ23cXfAoi8of8bZDscMzdNeW #webkoe
66
Tue, 26 Jul 2016 10:11 am
Great resource untuk memahami service worker dan pernak perniknya, https://jakearchibald.com #webkoe #pushmessage
99
Tue, 26 Jul 2016 9:52 am
eDbnNqU7Ql4:APA91bFPPpJaIN5wSiG-bRzatNdChOHfRw2WpY2CbPKlULZgsPYu0ykOI-QgDvWmBlImbHm9U1IAmjvbZBRYyeMVC5L4rVI3tkSTLxe1vxYYpeU4KVQ96n8Py7QLU0fQljuO4dtnVqmn #webkoe
63
Tue, 26 Jul 2016 9:48 am
Masalah:
navigator.serviceWorker.controller selalu null

Kemungkinan:
service_worker.js tidak berada di root

Solusi:
Taro service_worker.js di root (Lol)

http://stackoverflow.com/questions/30256390/navigator-serviceworker-controller-is-always-null

Sekarang sudah bisa berkomunikasi dengan 
service worker,... XD tinggal di test saat chrome tidak
aktif,... lets check it out
#webkoe #pushmessage #problemsolved #alhamdulillah 
        
103
Tue, 26 Jul 2016 12:23 am
Command untuk menampilkan payload push notification saat chrome berjalan di background, dan melakukan fetch saat foreground.
C:\Users\luqman baihaqi>curl --header "Authorization: key=AIzaSyAhhhFjJGhA0q0CgmZMVQzuV9I-cRLTCiA" --header "Content-Type: application/json" https://android.googleapis.com/gcm/send -d "{\"to\":\"ca1CvrW69kQ:APA91bGi_Ue4kyVPkQp86ZJoLzSx_OH9r-bzCQAse28QP1ucsTgadHmCwpTWOlDYnjELhDD_SGO9Mhm_zKyr-qQbuBCCy_GQJ5GHLSU8-8RKIO9ypx8omi_tPSUG7RUXK9nNgyOi46ek\", \"notification\":{\"title\":\"my title\",\"body\":\"the messages\",\"icon\":\"/static/custom/images/turtle.ico\", \"color\":\"#fff2ae\",\"click_action\":\"com.google.android.apps.chrome.Main\"}}" -k
https://developers.google.com/cloud-messaging/concept-options
https://developers.google.com/cloud-messaging/concept-options#common-message-options
https://developers.google.com/cloud-messaging/http-server-ref#priority
1. Bagaimana saat notification payload di click, mengarah ke url yang diinginkan. Sampai sejauh ini, click tidak bereaksi apa2.
2. Tetap harus nyari cara supaya data bisa dikirim ke service worker....
#webkoe
75
Mon, 25 Jul 2016 10:45 pm
endpoint ca1CvrW69kQ:APA91bGi_Ue4kyVPkQp86ZJoLzSx_OH9r-bzCQAse28QP1ucsTgadHmCwpTWOlDYnjELhDD_SGO9Mhm_zKyr-qQbuBCCy_GQJ5GHLSU8-8RKIO9ypx8omi_tPSUG7RUXK9nNgyOi46ek #webkoe
64
Mon, 25 Jul 2016 12:31 pm
Ternyata, ajax ga bisa ngakses session itu adalah request-an dari service worker. Ane baru mulai mencari tau service worker ini bekerja,... #webkoe
71
Fri, 15 Jul 2016 10:26 pm
Untuk menjembatani komunikasi ajax dan server, sementara ini pake solusi encrypt dan decrypt saja. Parameter yang mau dilindungi di embed ke html (encrypted), ajax membaca via dom, kirim ke server, server lakukan decrypt. Secara teori endpoint push message dan session oauth bisa dibundle dengan cara ini. #webkoe
68
Fri, 15 Jul 2016 7:20 pm
Push notification on progress... Sedang mencari cara mengaitkan oauth dengan endpoint push. Oauth running serverside, sedangkan endpoint push di sisi client... Session tidak bisa diakses lewat request ajax #webkoe
64
Thu, 14 Jul 2016 11:55 am
#pushmessage command client chrome laptop
root@webkoe:~# curl --header "Authorization: key=AIzaSyAhhhFjJGhA0q0CgmZMVQzuV9I-cRLTCiA" --header "Content-Type: application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\"fYRp7auRigk:APA91bG9fVhvjkicr8Wp2S2UGN-m9xzysnkvgL4PUx6KQR4UREriCaPutWXtxug8pulxJqZyJc8sW5SkG822F1uDpq7flJBqk9BkvCM45_ptQHFtI765Syr_Ev3RmIjFpVAV8wCzRTx7\"]}"
#googleapi #webkoe
106
Thu, 14 Jul 2016 6:43 am
#oauth #google server side works... #alhamdulillah #webkoe
87
Wed, 13 Jul 2016 2:25 pm
Sangat terbantu dengan layanan http request dari https://www.hurl.it/, dengan tools ini ane bisa simulasi api tanpa harus bikin kode. #nice #webkoe #project #tools
100
Tue, 12 Jul 2016 2:04 pm
#oauth2 #google dengan javascript client running well di webkoe.id, berikutnya adalah memasukkan data user terotentikasi ke db server. Ane pikir kata kunci disini adalah email user. Jadi ketika user telah terotentikasi, email user dimasukkan ke mongodb, dengan api nya #webkoe. Titik rawannya adalah api buatan sendiri ini, api ini yang menjembatani antara javascript client dan server (ajax request). Jika itu web client, maka sangat mungkin terjadi kiriman FAKE. User bisa saja langsung mengakses api webkoe, tanpa melewati oauthnya google, sepanjang user ini tau email target. Sebenarnya hal ini sudah ada solusinya dengan oauth google server-to-server, namun ane masih stuck dengan model ini. Sudah ane coba, dan hasilnya selalu "invalid_grant". Entah ada kesalahan dibagian mana,... mungkin ini untuk step selanjutnya saja. Sementara ini nyoba komunikasi dengan javascript saja dulu.... karena email masih mungkin diketahui orang lain, maka ane mencari keyword lainnya untuk dijadikan pembanding. Ada sedikit titik terang dari respon oauth, auth2.currentUser.get().getBasicProfile() mengembalikan param "Ka", ane pikir nilai "Ka" ini sepanjang selalu konstan, bisa ane jadikan pembanding. Jadi, untuk mengakses api webkoe nantinya, selain email, juga mesti tau nilai Ka-nya.
98
Tue, 12 Jul 2016 1:50 pm
Cek #oauth2 #google
116328363014021581712 [email protected]
113993848980629857674 [email protected]
#webkoe
93
Mon, 11 Jul 2016 6:11 pm
Roadmap kedepan :
- Famtree
- Push Message
- Chat/Conference webbase
#webkoe 
        
64
Mon, 11 Jul 2016 6:10 pm
Sepertinya model yang paling cocok untuk family tree adalah path dengan source dan target, bukan model struktur JSON yang diurai ... lebih terbaca dan fleksibel. I think ... #webkoe #project #famtree
91
Mon, 11 Jul 2016 6:00 pm
Bersiap refaktorisasi #webkoe, alamat sementara di http://webkoe.id:9090
64
Wed, 29 Jun 2016 2:47 pm
Yay !! webkoe.id is running... #webkoe
62
Wed, 29 Jun 2016 10:49 am
#beli domain baru webkoe.id, pas lagi promo 88.000 harga normalnya katanya 550.000, hehe... perpanjangannya berapa duit yak? #webkoe
71
Mon, 27 Jun 2016 2:10 pm
Catatan ke 2000,... Wohaaaa #webkoe
63
Sun, 26 Jun 2016 11:22 pm
Bhahaha,... namanya saja SSL. Content #webkoe masih bisa dicrawl dengan "curl https://webkoe.net -k"
71
Sun, 26 Jun 2016 11:17 pm
Webkoe.net dan webkansaja.com sudah bisa dihandle SSL, juga routingnya lewat #go. Sekarang tinggal menyembunyikan port beckend-nya (88). #webkoe
89
Sun, 26 Jun 2016 2:11 pm
Bersiap masuk ke zona autentikasi, karena sudah support #ssl hehe. Berikutnya tinggal menentukan pilihan, manage user sendiri ato pake #oauth ? Lets kembali utak-atik #oauth ! #webkoe
95
Sun, 26 Jun 2016 2:07 pm
Rank #webkoe untuk "catatan online" kembali ke urutan nomer 5. Eng ing eng... #rank
87
Sat, 25 Jun 2016 5:39 pm
generate a 2048-bit group #webkoe #letsencrypt
83
Sat, 25 Jun 2016 5:30 pm
SSL add to webkansaja.com #webkoe
63
Sat, 25 Jun 2016 2:46 pm
#webkoe keluar dari keyword "catatan online", sama sekali... padahal biasanya selalu di halaman 1. #tanyakenapa
83
Fri, 24 Jun 2016 6:59 am
#letsencrypt renew
/opt/letsencrypt/letsencrypt-auto renew
#webkoe
87
Wed, 22 Jun 2016 5:54 am
#leadin from #hubspot installed here #webkoe
75
Sun, 19 Jun 2016 5:49 pm
Log progress push notification dengan google cloud manager (#gcm) sampai hari ini ada di http://webkoe.net/curl.txt #project #webkoe
92
Sun, 19 Jun 2016 5:41 pm
https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-14-04 #letsencrypt #ssl #webkoe
90
Sun, 19 Jun 2016 1:35 pm
Versi secure dari #webkoe bisa diakses dari https://webkoe.net ... *_*
66
Sun, 19 Jun 2016 12:41 pm
Nyoba masang free SSL di #webkoe dengan #letsencrypt
81
Thu, 14 Apr 2016 2:29 pm
Kepikiran menggunakan #materializecss, halaman awal static biar bisa diindex, dan load selanjutnya bisa dengan ajax. #webkoe
89
Thu, 14 Apr 2016 2:27 pm
Tulisan ke 1900 #webkoe :)
65
Thu, 14 Apr 2016 8:04 am
<script>alert('')</script> #test #webkoe
91
Thu, 14 Apr 2016 8:03 am
1+1=2 #test #webkoe
82
Thu, 14 Apr 2016 7:57 am
106
Thu, 14 Apr 2016 7:54 am
Bold #test #webkoe
71
Thu, 14 Apr 2016 7:53 am
Italic #test #webkoe
73
Tue, 29 Mar 2016 10:15 pm
68
Tue, 29 Mar 2016 5:38 pm
Nginx on #webkoe
59
Mon, 22 Feb 2016 9:09 am
Untuk pertama kalinya, sepanjang #2016 ... #webkoe terdepak ke halaman 2 pencarian #google dengan keyword "Catatan Online" ... T_T
88
Mon, 22 Feb 2016 8:57 am
Dari google.com/webmaster yang ane pasang beberapa waktu lalu, diketahui bahwa yang menggiring user ke #webkoe adalah keyword #sidjpnine. Sampai hari ini ada 47 click. Kepada rekan-rekan DJP-ers yang kebetulan masuk ke tag ini, silakan berbagi informasi tentang #sidjpnine. Jabat erat, Salam 30.000 jiwa !
83
Sun, 3 Jan 2016 9:32 pm
Dapat email dari #digitalocean
We've had to reboot your Droplet due to an issue on the 
underlying physical node where the Droplet runs.

We are investigating the health of the physical node to 
determine whether this was a single incident or systemic.

If you have any questions related to this issue, please send us 
a ticket. https://cloud.digitalocean.com/support

Droplet Details-
webkoe
128.199.226.18
sgp1

Happy coding,
DigitalOcean
#webkoe #tanyakenapa
87
Sat, 2 Jan 2016 7:44 am
Tag number #2016 #webkoe
81
Sat, 2 Jan 2016 6:02 am
Dibawah ini spammer ? weh weh ... #webkoe
60
Mon, 21 Dec 2015 9:47 pm
Akan menarik kalo nulis di #webkoe bisa senyaman di #google_keep mmm...
77
Mon, 21 Dec 2015 9:46 pm
#google_keep banyak menggantikan tulisan di #webkoe, disamping bisa bikin list dan uplpad pic, juga bisa share by email ... #mind
93
Fri, 27 Nov 2015 5:41 am
= is still a buggy in here #webkoe
61
Thu, 15 Oct 2015 8:03 am
O...oo.. tidak bisa menulis sama dengan (=) #webkoe #bug ?
90
Sun, 11 Oct 2015 11:21 am
Aha #twitter tag has no space. Don't be agtited with #tumbler. #webkoe
91
Sun, 11 Oct 2015 11:13 am
Yang membingungkan adalah tag dengan spasi, macam #tumbler. Twitter mengijinkan tag dengan spasi? lets check it out. #tanyakenapa #webkoe
95
Sun, 11 Oct 2015 11:12 am
Ahahaha... nomer bisa jadi tag? #nice #webkoe #081521937678
70
Sun, 11 Oct 2015 11:11 am
93
Sun, 11 Oct 2015 11:09 am
Tag with number #test1 #webkoe
76
Thu, 8 Oct 2015 12:14 am
Login as root di webkoe
Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-24-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Thu Oct  8 00:05:29 WITA 2015

  System load:  0.13               Processes:           71
  Usage of /:   25.3% of 19.56GB   Users logged in:     0
  Memory usage: 21%                IP address for eth0: 128.199.226.18
  Swap usage:   2%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

51 packages can be updated.
14 updates are security updates.

Last login: Thu Oct  8 00:05:29 2015 from 114.4.78.197
luqman@webkoe:~$ su
Password:
root@webkoe:/home/luqman#
#webkoe #linux #command_line
89
Thu, 8 Oct 2015 12:10 am
Install go1.5 di #webkoe dengan #gvm.
- gvm use go1.4 
- export GOROOT_BOOTSTRAP=$GOROOT 
- gvm install go1.5
#go
97
Wed, 2 Sep 2015 7:43 am
Dari catatan di #webkoe, ane terkena #flu di bulan mei dan antara juli-agustus setiap tahunnya. #nice, artinya dibulan-bulan itu ane mesti lebih bersiap lagi.
94
Mon, 17 Aug 2015 10:50 am
Aaargghh ... standar penulisan tag 2 suku kata bagaimana? underscore,langsung, atau camelcase ?? #webkoe
65
Fri, 14 Aug 2015 11:08 am
Bersih bersih space #webkoe
61
Sat, 8 Aug 2015 10:15 pm
Free from #meteorjs todos on port 900 ... #webkoe #fyuuh
82
Sat, 8 Aug 2015 10:11 pm
#meteorjs todos benar-benar membebani server $5 ... #fyuuh, mungkin di shutdown saja. #webkoe
83
Fri, 7 Aug 2015 11:21 pm
#meteorjs are up in here ... :) sementara gagal terus make #mup deploy ... server sudah listen tapi data ga muncul, ane kurang tau kenapa. Padahal kalo pake perintah "meteor" dari sisi development berjalan lancar. Syukurlah ada artikel ini; meteor bisa terus jalan walaupun command di close. Contoh sementara aplikasi todos yang bisa diakses disini. #nice #webkoe
92
Fri, 7 Aug 2015 1:43 am
Like & share #facebook button are here. #oauth #google sementara ini di suspend dulu ... karena #error di consolenya. #webkoe
94
Wed, 5 Aug 2015 10:49 pm
#oauth2 #google are here,... walaupun belum berfungsi sebagaimana mestinya. Perlu autentikasi beckend juga dengan token, belum tau caranya; spesifik api-nya, sementara ini bisa saja kalo mau ngambil dari gapi, tapi disarankan untuk tidak memakai cara ini. #webkoe
95
Fri, 31 Jul 2015 6:14 pm
#meteorjs are awesome. #nice #webkoe
86
Fri, 31 Jul 2015 9:17 am
77
Wed, 29 Jul 2015 2:02 pm
Tag suggestion set to case sensitive #done #webkoe
81
Wed, 29 Jul 2015 12:31 pm
Harusnya tag suggestion case sensitive juga #todo #webkoe
89
Wed, 29 Jul 2015 12:30 pm
85
Wed, 29 Jul 2015 12:21 pm

Tag suggest lumayan informatif, lumayan menambah semangat juga buat nge-post terus, apalagi kalo bisa tap langsung add 

30 januari 2024
Tap tag suggest langsung add ke textarea sudah bisa saat create tulisan, alhamdulilah works like a charm.

#webkoe 
#todo
#done 
#works_like_a_charm 
98
Tue, 28 Jul 2015 11:44 pm
Oauth sepertinya perlu diexplore juga #todo #project #webkoe
97
Tue, 28 Jul 2015 11:43 pm
#ngelag mana #twitter sama #webkoe, saat mau post ? #hahaha
99
Tue, 28 Jul 2015 11:37 pm
Tag suggest baru menampilkan data saja, clickable hingga ter-insert ke textarea belum bisa #todo #webkoe
90
Tue, 28 Jul 2015 11:25 pm
Catatan ke 1500 #webkoe #hahaha #gapenting
91
Tue, 28 Jul 2015 11:15 pm
Agak ngelag saat create ? Gara2 suggest tag kah ? #tanyakenapa #webkoe
65
Tue, 28 Jul 2015 10:56 pm
Suggest tag were here #webkoe #alhamdulillah #nice
75
Tue, 28 Jul 2015 7:10 pm
Saatnya bikin tag suggestion ... #webkoe
66
Mon, 29 Jun 2015 1:06 am
Ngoprek #nodejs & #npm, ember-cli minta nodejs & npm terbaru, yang exist di #webkoe sudah usang, ckckck ... #project
97
Mon, 29 Jun 2015 12:25 am
87
Sun, 28 Jun 2015 11:20 pm
Thinking about account system for #webkoe, using Oauth ? Or enough for just local account ? #planning
74
Thu, 25 Jun 2015 7:53 am
SEO #webkoe untuk profile seseorang masih kurang bagus, contoh untuk pencarian Pak Sufrin Hannan; salah satu direktur sucofindo yang pernah ditulis disini, webkoe bertengger di halaman 17. Apa mungkin perlu dikait dengan tag ? misal #sufrinhannan atau #sufrin_hannan ? #tanyakenapa
90
Tue, 23 Jun 2015 3:10 pm
Mempercepat load page ternyata bisa dilakukan dengan memisahkan style menjadi file external, mungkin tercache ? #webkoe #tanyakenapa
72
Tue, 23 Jun 2015 3:03 pm
Muli fonts refer ke lokal #webkoe
62
Tue, 23 Jun 2015 2:09 pm
#tagrank versi mongodb added. Permasalahannya adalah saat ada banyak tag sama dalam satu post, tagranknya juga ikut bertambah. Sebenarnya ini masalah atau fitur ? Sementara ini gapapa lah ... #webkoe
90
Tue, 23 Jun 2015 12:34 pm
Preparing tagrank ... again #webkoe
69
Tue, 23 Jun 2015 12:33 pm
Back to top link added #webkoe
62
Tue, 23 Jun 2015 12:09 pm
Create button moved to right and get padding 15px #webkoe
66
Tue, 23 Jun 2015 12:08 pm
Highlight textarea while focus has been removed #webkoe
68
Tue, 23 Jun 2015 11:57 am
Hide captcha from create form #webkoe
65
Wed, 17 Jun 2015 12:02 am
Ditulis dari tablet padfone s ... media query works fine #nice #webkoe
78
Tue, 16 Jun 2015 11:30 pm
Card style #webkoe
62
Tue, 16 Jun 2015 6:03 pm
Beutifying #webkoe
60
Sat, 16 May 2015 5:06 pm
Catatan ke 1301 #webkoe
64
Thu, 16 Apr 2015 7:49 am
1241 catatan ... #hahaha #webkoe
69
Wed, 25 Mar 2015 6:07 pm
add /page/{page} #webkoe #go
71
Mon, 23 Mar 2015 5:14 pm
- Underline Tag Added Underline
- Italic Tag Added Italic
- Bold Tag Added Bold
- Link Added Link
#webkoe
73
Mon, 23 Mar 2015 3:46 pm
func safehtml di List dan TagView di sederhanakan jadi satu fungsi tersendiri #webkoe #go
      func safehtml(text string) template.HTML { 

          text = text + " "
          text = strings.Replace(text, "<", "<", -1)   
          text = strings.Replace(text, ">", ">", -1) 
            
          text = strings.Replace(text, "
", "
", -1) 
          text = strings.Replace(text, "
", "
", -1) regexPagar, _ := regexp.Compile(tagPattern) tags := regexPagar.FindAllString(text, -1) for _ , value := range tags { tagAscii := strings.Replace(value, "#", "#", 1) tagOnly := strings.Replace(value, "#", "", 1) text = strings.Replace(text, value, "" + tagAscii + "", 1) } return template.HTML(text) }
dan ini yang memanggil
      func WkListHandler(w http.ResponseWriter, r *http.Request) {
          funcMap := template.FuncMap{
              "safehtml": safehtml ,
          }
          templates := template.Must(template.New("").Funcs(funcMap).ParseFiles(templatePath + "webkoe-base.html", templatePath + "webkoe-list.html"))
          
          var results []Blog
          err = MCol.Find(bson.M{}).Sort("-date").Limit(1000000000000).All(&results)
          if err != nil {
              panic(err)
          }

          // var finalResult []tagView
          // fmt.Println(reflect.TypeOf(results))
          err := templates.ExecuteTemplate(w, "base", results)
          if err != nil {
              http.Error(w, err.Error(), http.StatusInternalServerError)
          }
      }
#script #webkoe #go #enlightenment #nice
113
Mon, 23 Mar 2015 6:10 am
Hasil pencarian terkini "catatan online" di google,#webkoe tidak lagi dapat predikat "mobile friendly". #hahaha sabar boozz goo
72
Mon, 23 Mar 2015 6:08 am
Semangat pagi, rencana hari ini adalah update rencana 2014 di #portalkanwil #kantor, rencana masih make rencana sebelum revisi PBB (turun 70M) dan sebelum adjusment 100% per kpp. Untuk #go nya #webkoe mungkin akan nyoba get dayname from date dulu, lumayan mengganggu kalo tanggal ga ada harinya #todo
95
Sun, 22 Mar 2015 12:37 am
PATH untuk static server-gorilla di set absolute /go-app/webkoe/public, static server is UP #webkoe
66
Sun, 22 Mar 2015 12:29 am
Membuat service di Ubuntu ternyata sangat mudah ... Kita bisa membuatnya dengan Upstart
- Bikin file .conf baru di /etc/init
- Ketikkan perintahnya, misalnya service untuk server-gorilla

  # /etc/init/server-gorilla.conf
  start on filesystem or runlevel [2345]
  stop on runlevel [06]

  script
     exec /go-app/webkoe/server-gorilla      
  end script
- lalu SAVE
- untuk start service cukup dengan perintah "service server-gorilla start"
- untuk stop servicenya "service server-gorilla stop"

dengan upstrat memory lebih ringan, ketimbang menggunakan forever ... dan lagi upstart bisa melakukan exec sepuasnya, bahkan seperti contoh .conf diatas tadi, upstart menjalankan executable file ... #nice bukan ? #webkoe #script #enlightenment
98
Sun, 22 Mar 2015 12:19 am
Saatnya kompilasi ... server-gorilla :) #webkoe #go
70
Sun, 22 Mar 2015 12:17 am
Ane awalnya rumit sekali mikirnya ... syukurlah ketemu link ini 
http://stackoverflow.com/questions/17306358/golang-removing-fields-from-struct-or-hiding-them-in-json-response

Ternyata cukup serahkan pada map[string]interface{}, sudah bisa kirim variable apapun, sepuasnya ke templates

  func WkTagViewHandler(w http.ResponseWriter, r *http.Request) {
          
          tagName := mux.Vars(r)["tag"]
          
          funcMap := template.FuncMap{
              "safehtml": func(text string) template.HTML { 

                  text = text + " "
                  text = strings.Replace(text, "<", "<", -1)   
                  text = strings.Replace(text, ">", ">", -1) 
                    
                  text = strings.Replace(text, "
", "
", -1) 
                  text = strings.Replace(text, "
", "
", -1) regexPagar, _ := regexp.Compile(tagPattern) tags := regexPagar.FindAllString(text, -1) for _ , value := range tags { tagAscii := strings.Replace(value, "#", "#", 1) tagOnly := strings.Replace(value, "#", "", 1) text = strings.Replace(text, value, "" + tagAscii + "", 1) } return template.HTML(text) }, } templates := template.Must(template.New("").Funcs(funcMap).ParseFiles(templatePath + "webkoe-base.html", templatePath + "webkoe-tagview.html")) var results []Blog err = MCol.Find(bson.M{"tag": tagName}).Sort("-date").Limit(1000000000000).All(&results) if err != nil { panic(err) } finalResult := map[string]interface{}{ "tagName" : tagName, "tagList" : results, } err := templates.ExecuteTemplate(w, "base", finalResult) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } }
#webkoe #go #script
96
Sun, 22 Mar 2015 12:14 am
Passing multiple variable to templates #done #alhamdulillah #go #webkoe
96
Sat, 21 Mar 2015 8:10 pm
Tinggal satu masalah lagi, variable #go yang masih belum clear. Passing tagName dan result dalam satu var, yang satunya "string", dan satunya lagi "[]Blog"
#todo #webkoe
91
Sat, 21 Mar 2015 8:06 pm
Sebelumnya sempat "no data received" karena executable file server-gorilla tidak menemukan path relative "templates". Setelah path diubah ke absolute path, running smoothly. #nice #alhamdulillah #webkoe
70
Sat, 21 Mar 2015 8:05 pm
server-gorilla run with upstart, no more forever :) #done #webkoe
84
Sat, 21 Mar 2015 6:19 am
server-gorilla.go
package main

    import (
        "fmt"
        "github.com/gorilla/mux"
        "github.com/gorilla/sessions"
        "github.com/fzzy/radix/redis"
        "net"
        "net/http"
        "html/template"
        "gopkg.in/mgo.v2"         
        "gopkg.in/mgo.v2/bson"
        "regexp"
        "strings"
        "crypto/rand"
        "time"
        // "reflect"
    )
    
    var (
        // MongoDB
        mongoConfig       = "mongodb://***usermongo***:***passmongo***@localhost:***portmongo***/***dbmongo***"
        MongoSession, err = mgo.Dial(mongoConfig)
        MDB               = MongoSession.DB("admin")
        MCol              = MDB.C("blog")

        // Session
        store             = sessions.NewCookieStore([]byte("something-very-secret"))

        // Tag Factory
        tagPattern        = "#([a-z]|[A-Z])+"
    )

    type Blog struct {
      Id string
      Things string
      Date string
      Ip string
      Agent string
      Tag []string
    }

    // type tagView struct {
    //   tagName string
    //   tagList []main.Blog
    // }

    func WkHomeHandler(w http.ResponseWriter, r *http.Request) {
        err := template.Must(template.ParseFiles("templates/webkoe-home.html")).Execute(w, nil) 
        if err != nil { 
           http.Error(w, err.Error(), http.StatusInternalServerError) 
        } 
    }

    func WkTagViewHandler(w http.ResponseWriter, r *http.Request) {
        
        tagName := mux.Vars(r)["tag"]
        
        funcMap := template.FuncMap{
            "safehtml": func(text string) template.HTML { 

                text = text + " "
                text = strings.Replace(text, "<", "<", -1)   
                text = strings.Replace(text, ">", ">", -1) 
                  
                text = strings.Replace(text, "
", "
", -1) 
                text = strings.Replace(text, "
", "
", -1) regexPagar, _ := regexp.Compile(tagPattern) tags := regexPagar.FindAllString(text, -1) for _ , value := range tags { tagAscii := strings.Replace(value, "#", "#", 1) tagOnly := strings.Replace(value, "#", "", 1) text = strings.Replace(text, value, "" + tagAscii + "", 1) } return template.HTML(text) }, } templates := template.Must(template.New("").Funcs(funcMap).ParseFiles("templates/webkoe-base.html", "templates/webkoe-tagview.html")) var results []Blog err = MCol.Find(bson.M{"tag": tagName}).Sort("-date").Limit(1000000000000).All(&results) if err != nil { panic(err) } err := templates.ExecuteTemplate(w, "base", results) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } } func WkCreateHandler(w http.ResponseWriter, r *http.Request) { blog_id := randStr(7, "alphanum") session, _ := store.Get(r, "session-name") session.Values["blog_id"] = blog_id session.Save(r, w) templates := template.Must(template.New("").ParseFiles("templates/webkoe-base.html", "templates/webkoe-create.html")) err := templates.ExecuteTemplate(w, "base", blog_id) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } } func WkPostCreateHandler(w http.ResponseWriter, r *http.Request) { things := r.FormValue("things") thingsWithSpace := things + " " captcha := r.FormValue("captcha") session,_ := store.Get(r, "session-name") blog_id := fmt.Sprintf("%s", session.Values["blog_id"]) if things != "" { if captcha == blog_id { // Factory cariTag,_ := regexp.Compile(tagPattern) tagFound := cariTag.FindAllString(thingsWithSpace, -1) var tempTags []string for _, value := range tagFound { cleanRegex,_ := regexp.Compile("(#| )") cleanTag := cleanRegex.ReplaceAllString(value, "") tempTags = append(tempTags, cleanTag) } waktu := strings.Split(fmt.Sprint(time.Now()), ".")[0] ip := GetIP(r) agent := fmt.Sprint(r.Header["User-Agent"]) jsonBlog := &Blog{Id: blog_id, Things: things, Date: waktu, Ip: ip, Agent: agent, Tag: tempTags} err = MCol.Insert(jsonBlog) fmt.Println("Welcome, " + things + " " + thingsWithSpace) http.Redirect(w, r, "/#thanks", 301) }else{ fmt.Println("Robot ?") http.Redirect(w, r, "/#you_r_a_bots", 301) } }else{ http.Redirect(w, r, "/#empty", 301) } // fmt.Println("Someone POST " + things + " blog_id " + blog_id) // fmt.Println(blog_id) /* templates := template.Must(template.New("").ParseFiles("templates/webkoe-base.html", "templates/webkoe-create.html")) err := templates.ExecuteTemplate(w, "base", nil) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } */ } func WkListHandler(w http.ResponseWriter, r *http.Request) { funcMap := template.FuncMap{ "safehtml": func(text string) template.HTML { text = text + " " text = strings.Replace(text, "<", "<", -1) text = strings.Replace(text, ">", ">", -1) text = strings.Replace(text, "
", "
", -1) 
                text = strings.Replace(text, "
", "
", -1) regexPagar, _ := regexp.Compile(tagPattern) tags := regexPagar.FindAllString(text, -1) for _ , value := range tags { tagAscii := strings.Replace(value, "#", "#", 1) tagOnly := strings.Replace(value, "#", "", 1) text = strings.Replace(text, value, "" + tagAscii + "", 1) } return template.HTML(text) }, } templates := template.Must(template.New("").Funcs(funcMap).ParseFiles("templates/webkoe-base.html", "templates/webkoe-list.html")) var results []Blog err = MCol.Find(bson.M{}).Sort("-date").Limit(1000000000000).All(&results) if err != nil { panic(err) } // var finalResult []tagView // fmt.Println(reflect.TypeOf(results)) err := templates.ExecuteTemplate(w, "base", results) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } } func CatatanHomeHandler(w http.ResponseWriter, r *http.Request) { var results []Blog err = MCol.Find(bson.M{}).Sort("-date").Limit(100).All(&results) if err != nil { panic(err) } err := template.Must(template.ParseFiles("templates/gorilla-catatanhome.html")).Execute(w, results) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } } func HomeWKSHandler(w http.ResponseWriter, r *http.Request) { err := template.Must(template.ParseFiles("templates/gorilla-home_wks.html")).Execute(w, nil) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } } func WkBlogHandler(w http.ResponseWriter, r *http.Request) { page := mux.Vars(r)["page"] err := template.Must(template.ParseFiles("templates/gorilla-blog.html")).Execute(w, map[string]string{"halaman": page}) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } } func WkRedisHandler(w http.ResponseWriter, r *http.Request) { // redis redisClient, _ := redis.Dial("tcp", "localhost:6379") news, _ := redisClient.Cmd("zrevrangebyscore", "news:republika:posttime", "+inf", "-inf", "limit", "0", "3").List() var bundleNews []string for _, elemStr := range news { bundleNews = append(bundleNews, elemStr) fmt.Println(bundleNews) } // render err := template.Must(template.ParseFiles("templates/gorilla-redis.html")).Execute(w, bundleNews) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } } func WkTestPassVarHandler(w http.ResponseWriter, r *http.Request) { err := template.Must(template.ParseFiles("templates/gorilla-blog.html")).Execute(w, map[string]string{"halaman": "2"}) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } } func randStr(strSize int, randType string) string { var dictionary string if randType == "alphanum" { dictionary = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" } if randType == "alpha" { dictionary = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" } if randType == "number" { dictionary = "0123456789" } var bytes = make([]byte, strSize) rand.Read(bytes) for k, v := range bytes { bytes[k] = dictionary[v%byte(len(dictionary))] } return string(bytes) } func GetIP(r *http.Request) string { if ipProxy := r.Header.Get("X-FORWARDED-FOR"); len(ipProxy) > 0 { return ipProxy } ip, _, _ := net.SplitHostPort(r.RemoteAddr) return ip } func main() { // MUX ROUTER mx := mux.NewRouter() // WEBKOE.NET // *** home *** mx.HandleFunc("/", WkListHandler).Host("webkoe.net") // *** tag *** mx.HandleFunc("/tag/{tag}", WkTagViewHandler).Host("webkoe.net").Methods("GET") // *** create *** mx.HandleFunc("/create", WkCreateHandler).Host("webkoe.net").Methods("GET") mx.HandleFunc("/create", WkPostCreateHandler).Host("webkoe.net").Methods("POST") // *** misc *** mx.HandleFunc("/test/pass_var", WkTestPassVarHandler).Host("webkoe.net") mx.HandleFunc("/redis", WkRedisHandler).Host("webkoe.net") mx.HandleFunc("/page/{page}", WkBlogHandler).Host("webkoe.net") mx.PathPrefix("/").Handler(http.FileServer(http.Dir("./public/"))).Host("webkoe.net") // CATATAN.WEBKOE.NET mx.HandleFunc("/", CatatanHomeHandler).Host("catatan.webkoe.net") // WEBKANSAJA.COM mx.HandleFunc("/", HomeWKSHandler).Host("webkansaja.com") http.ListenAndServe(":80", mx) }
#script #go #webkoe
98
Sat, 21 Mar 2015 6:12 am
Semua pattern tagsearch di List, tagView, dan POSTcreate juga dimasukkan ke var() #go #webkoe
64
Sat, 21 Mar 2015 6:07 am
Semua var #go masuk ke var() #webkoe
76
Fri, 20 Mar 2015 6:17 pm
- How to start executable file with forever
- How to Pass result and tagName to template
#todo #go #webkoe
91
Fri, 20 Mar 2015 3:52 pm
#test POST Golang #webkoe
65
Thu, 19 Mar 2015 6:17 pm
#awesome #webkoe http://webkoe.net:8080
85
Wed, 11 Mar 2015 9:11 pm
Tinggal 1 PR lagi untuk mereplace nodejs ... REDIS ... kalo perlu crawler yang selama ini dilakukan python dan curl, juga diambil alih #go #webkoe
73
Mon, 9 Mar 2015 12:40 am
#go tetap menunjukkan progress, satu persatu mulai bisa ditasi #webkoe
69
Mon, 9 Mar 2015 12:38 am
Berikutnya tinggal mengubah pagar tag (#) menjadi link, ...
1. Disisi server
   ** bisa dilakukan, tapi belum tau caranya mempassing HTML Tag ke template martini
2. Sisi Client
   ** tinggal copas script di express ke client
#webkoe #go
67
Mon, 9 Mar 2015 12:32 am
Single file #webkoe server written in #go :)

package main

  import (
    "github.com/go-martini/martini"
    "github.com/martini-contrib/render"
    "gopkg.in/mgo.v2"
    "gopkg.in/mgo.v2/bson"
    "net"
    "net/http"
    "fmt"
    "time"
    "crypto/rand"
    "strings"
    "regexp"
  )

  // local 
  var mongoConfig = "127.0.0.1:27017"
  var blogCollection = "webkoe_blog"
  var hostHome = "localhost:8080"
  var hostCatatan = "catatan"


  // webkoe
  // var mongoConfig = "mongodb://usermongo:passmongo@localhost:portmongo/dbmongo"
  // var blogCollection = "blog"
  // var hostHome = "webkoe.net:8080"
  // var hostCatatan = "catatan.webkoe.net"


  type Blog struct {
    Id string
    Things string
    Date string
    Ip string
    Agent string
    Tag []string
  }

  func GetIP(r *http.Request) string {
      if ipProxy := r.Header.Get("X-FORWARDED-FOR"); len(ipProxy) > 0 {
          return ipProxy
      }
      ip, _, _ := net.SplitHostPort(r.RemoteAddr)
      return ip
  }

  func randStr(strSize int, randType string) string {
     var dictionary string
     if randType == "alphanum" {
        dictionary = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
     }
     if randType == "alpha" {
        dictionary = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
     }
     if randType == "number" {
        dictionary = "0123456789"
     }
     var bytes = make([]byte, strSize)
     rand.Read(bytes)
     for k, v := range bytes {
        bytes[k] = dictionary[v%byte(len(dictionary))]
     }
     return string(bytes)
   }

  func main() {

      // MARTINI
      m := martini.Classic()
      m.Use(render.Renderer(render.Options{
            Layout: "layout",
      }))

      // MONGODB
      session, err := mgo.Dial(mongoConfig)
      if err != nil {
        panic(err)
      }
      defer session.Close()
      session.SetMode(mgo.Monotonic, true)
      webkoe_blog := session.DB("admin").C(blogCollection)

      // ROUTER
      m.Get("/", func(r render.Render, req *http.Request) {
        if req.Host == hostHome {
          r.HTML(200, "home", req.Host)
        }else if req.Host == hostCatatan {
          r.HTML(200, "home-catatan", req.Host)
        }
      })

      m.Get("/blog", func(r render.Render) {
        var results []Blog
        err = webkoe_blog.Find(bson.M{}).Sort("-date").Limit(100).All(&results)
        if err != nil {
          panic(err)
        }
        // fmt.Println(results)
        r.HTML(200, "blog", results)
      })
      m.Post("/blog", func(req *http.Request, r render.Render){
        
        things := req.FormValue("things") + " "
        
        // tag
        regex, err := regexp.Compile("#([a-z])+ ")
        remove, err := regexp.Compile("(#| )")
        tags := regex.FindAllString(things, -1)
        // fmt.Println(tags)

        // modify semua listA
        var modTags []string
        for _, value := range tags {
            final := remove.ReplaceAllString(value, "")
            modTags = append(modTags, final)
        }
        // fmt.Println(modTags)


        waktu := strings.Split(fmt.Sprint(time.Now()), ".")[0]
        blog_id := randStr(7, "alphanum")
        ip := GetIP(req)
        agent := fmt.Sprint(req.Header["User-Agent"])

        jsonBlog := &Blog{Id: blog_id, Things: things, Date: waktu, Ip: ip, Agent: agent, Tag: modTags}
        err = webkoe_blog.Insert(jsonBlog)
        if err != nil {
          panic(err)
        }
        // fmt.Println(agent)
        r.Redirect("/blog")
      })
      m.Get("/blog/write", func(r render.Render) {
        r.HTML(200, "blog-form", nil)
      })

      m.RunOnAddr(":8080")
  }

70
Mon, 9 Mar 2015 12:30 am
Menempel ke tag#webkoe from #go
69
Sun, 8 Mar 2015 10:38 pm
Home #webkoe pake bootstrap storystrap
61
Sat, 7 Mar 2015 9:02 am
tidak mudah migrasi ke #go ... kembalikan lagi ke express, sementara ini #go masih dapat porsi di port 8080, http://webkoe.net:8080 #webkoe
68
Sun, 1 Mar 2015 8:19 pm
Utak-atik #webkoe ... mau nempel webkansaja.com kesini
65
Fri, 27 Feb 2015 8:26 am
#test Tebal #webkoe
74
Sat, 21 Feb 2015 3:03 am
http://webkoe.net:8080 resmi dihandle #go ... ada wikinyaa ... alamAaAakk #veryawesome #webkoe #alhamdulillah
86
Sat, 21 Feb 2015 12:35 am
mau nyoba #go untuk web development #project #webkoe
77
Sat, 21 Feb 2015 12:34 am
#go is in #webkoe server
70
Fri, 13 Feb 2015 8:28 am
Server dengan 512 MB RAM, belum cukup kuat untuk membebankan semuanya ke #redis, pada saat memory yg dipake redis di angka 2 digit, server crash. So,kmungkinan catatan akan dialihkan saja semua ke #mongodb, tagrank dan streamline blog yang sementara ini masih ditangani redis #webkoe
94
Mon, 9 Feb 2015 6:16 pm
tampilan /tag/:namatag sudah dimanusiakan #webkoe
62
Mon, 9 Feb 2015 5:56 pm
#polymertutorial001 #test ... Wooow, perilaku tag masih belum bisa ditebak #bug #webkoe
82
Mon, 9 Feb 2015 9:05 am
Refresh data Redis, again #webkoe
66
Tue, 3 Feb 2015 5:55 pm
TAG BOLD is allowed #webkoe
62
Tue, 3 Feb 2015 5:55 pm
My Test


Adooo heee ...
-- Sekian --

#test #webkoe
70
Tue, 3 Feb 2015 5:53 pm
#test #webkoe 
<script>
alert('Aim');
</script>
64
Tue, 3 Feb 2015 5:52 pm
Tag PRE is allowed #webkoe
62
Tue, 3 Feb 2015 5:14 pm
http://api.webkoe.net activated, sementara masih republika #webkoe
65
Thu, 29 Jan 2015 12:28 am
Ane sibuk update status di #webkoe, #djoko haur meinstall oracle di laptop asus x452c #dinasluar
91
Thu, 29 Jan 2015 12:27 am
server time added at home #webkoe, berguna untuk menyesuaikan waktu di hape, hape baru ngikut waktu operator mundur satu jam di banjarmasin, di jakarta waktu operatornya sudah sesuai. Indosat banjarmasin ga care sama waktu bts? maybe ...
67
Wed, 28 Jan 2015 7:31 pm
jam berapa ? #webkoe
64
Wed, 28 Jan 2015 6:55 pm
jam berapa ? #webkoe
62
Thu, 15 Jan 2015 10:05 pm
Kompas update #fixed ... sementara mengambil judul saja, belum ke snapshoot isi artikel #webkoe
85
Thu, 15 Jan 2015 8:35 pm
kompas update macet #webkoe
65
Sat, 10 Jan 2015 7:15 pm
sempat mau nyoba #nginx , ternyata #apache yang baru sudah lebih powrfull ketimbang nginx (lupa versi apache-nya), kata pihak apachenya ... ga jadi nyoba #nginx #project #webkoe
103
Mon, 5 Jan 2015 11:41 am
Refreshid Redis database #webkoe
58
Fri, 26 Dec 2014 3:40 pm
free RAM 75MB uptime 25 days #webkoe #nice
70
Wed, 24 Dec 2014 11:33 pm
tulisan sebelum ini, untuk keyword "catatan online" #webkoe
59
Wed, 24 Dec 2014 11:32 pm
Ternyata urutan pencarian di google juga memperhatikan dr mana user mengakses, jika diakses dengan browser mobile, #webkoe ada di urutan kedua, baik google.com atau google.co.id, sedangkan jika diakses lewat browser selain mobile, urutannya agak menjauh, ada di posisi dua atau tiga terbawah di halaman 1
67
Sun, 14 Dec 2014 5:46 pm
Playing websocket http://webkoe.net/chat #webkoe
59
Sat, 13 Dec 2014 11:57 am
Aha,... we designed it to be free write for everyone guys ... so no login required ... Ahahaha ... #webkoe
60
Mon, 8 Dec 2014 3:50 pm
#problemsolved #webkoe Replace "<" to html specialchar
83
Mon, 8 Dec 2014 3:49 pm
Bold #webkoe #bug
76
Mon, 8 Dec 2014 3:38 pm
Aha, i've fix that's manually ... #webkoe #bug
80
Sun, 30 Nov 2014 2:22 pm
dump.rdb redis lost, untung msh afa backup di mongo. Al hasil data quran lost juga, coz blm ada import ke mongo ... #webkoe
68
Sun, 30 Nov 2014 2:16 pm
Wuff #webkoe
58
Sat, 29 Nov 2014 6:27 pm
appendonly set to no, snapshoot pake save 1 1, lakukan penulisan tiap 1 sec jika ada perubahan 1 key #redis #webkoe
92
Sat, 29 Nov 2014 6:05 pm
appendonly.aof file 2,5GB ... konsumsi memory mencapai 30%. Kemungkinan redis di kill by sistem #webkoe
64
Fri, 28 Nov 2014 7:31 pm
Down lagi #webkoe
61
Tue, 25 Nov 2014 8:18 am
Sosialisasi e-faktur di lt 8, ane males ikut ... mainan polymer aja lah d bawah, huahaha #kantor, btw kemaren ga ada nulis d #webkoe
80
Sat, 22 Nov 2014 9:52 am
Perlu eliminer db dari server, jangan sampai db error mbikin server app down juga #webkoe
61
Sat, 22 Nov 2014 9:51 am
Down lagi, sepertinya ada masalah di redis #webkoe
55
Sun, 16 Nov 2014 1:41 pm
wew, ... down #webkoe why?
65
Thu, 13 Nov 2014 10:34 pm
http://motherfuckingwebsite.com betul ! cuman ya bahasanya mbok ya ga usah gitu #enlightenment #webkoe
90
Thu, 13 Nov 2014 10:31 am
Wah,kmaren ga ada nulis di #webkoe
61
Tue, 11 Nov 2014 4:19 pm
Google BOT nyasar, bleh ...
20141111161321	66.249.65.137	http://catatan.webkoe.net/page/10952	(REF) undefined	Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
ngapain ke halaman 10952 ? #webkoe
65
Mon, 10 Nov 2014 1:16 am
LOG added #webkoe
61
Sun, 9 Nov 2014 11:14 pm
#webkoe sekarang sudah page one gan, untuk keyword "catatan online"
60
Thu, 6 Nov 2014 12:07 am
waktu post news ditampilkan, kompas agak beda dengan yang lainnya, pake satuan ago, karena crawlernya memang ngambil ago ... #webkoe
65
Wed, 5 Nov 2014 10:28 pm
Ternyata, diantara republika,kompas dan detik, detik yang paling tidak produktif menulis berita, ... #hahaha #webkoe #newsstream
80
Wed, 5 Nov 2014 10:26 pm
Detik update added #done #webkoe
88
Wed, 5 Nov 2014 8:45 pm
WOW, webkoe berada di page 2 untuk keyword "catatan online" , baik di google.com atau google.co.id #webkoe
66
Tue, 4 Nov 2014 6:27 pm
Had 64 Pages #webkoe
66
Tue, 28 Oct 2014 11:47 pm
Streamnews detik sudah ready, tinggal masukkan ke redis #webkoe
63
Tue, 28 Oct 2014 11:19 am
Fungsi GRAB crawler Republika must 200 set ke OFF, karena kadang ada link yang redirect, kode 302
def grab(list,label) :
	parameter = ["curl","-H","User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0 FirePHP/0.7.4","--max-time", "1000", "--write-out", "%{http_code}", "--silent"]
	for l in list :
		parameter.append(l)
	default_code = "000"
	reconnect = ""

	proc = subprocess.Popen(parameter,stdout=subprocess.PIPE)
	(out, err) = proc.communicate()

	print label

	'''
	while default_code != "200" :
		proc = subprocess.Popen(parameter,stdout=subprocess.PIPE)
		(out, err) = proc.communicate()
		
		if str(out) == "200" :
			default_code = "200" # OK
			info = "OK"
		elif str(out) == "000" :
			info = "FAIL"
			reconnect = "reconnect"
		elif str(out) == "302" :
			info = "REDIRECT"
			reconnect = "reconnect"
		else :
			info = "..."
			reconnect = "reconnect"

		print label + ": " + str(out) + " " + info + " " + reconnect
	'''
#webkoe #script #python
97
Sun, 26 Oct 2014 10:20 am
Jelas sekali bedanya, nuansa berita di republika dan kompas, di republika kelihatan sekali tata krama dan filter dalam memberitakan sesuatu, media yang disebut terakhir ? silakan nilai sendiri #minds #newsstream #webkoe
89
Sat, 25 Oct 2014 9:06 pm
AWESOME, kpikiran untuk melempar search ke google saja, daripada harus bikin search sendiri. Tadi bingung kapan nulis chrome make material design, mau search di mongo, mongo webkoe hanya listen localhost, akhirnya ane pake pencarian google dengan keyword "webkoe.net chrome" ... dan WOW, muncul !!! ternyata ane pake tag android, bukannya minds ... #enlightenment #webkoe
85
Thu, 23 Oct 2014 1:45 am
Wah, kmaren terlalu cius maen sms, sampe lupa ngupdate status di #webkoe #project, sms sudah bisa disposisi sekaligus UI nya. UI mewajibkan dokumen diterima terlebih dahulu sebelum bisa didisposisi ke bawahan, bawahan yang sudah didisposisi tidak muncul lagi di list bawahan. Untuk disposisi tinggal tambahan jenis dan catatan, juga action lainnya seperti 'arsip ke' atau link ke surat keluar. Yang lebih menantang sebenarnya ada di pencarian dokumen
78
Mon, 13 Oct 2014 5:03 am
there are 57 pages here ... #webkoe
60
Sat, 11 Oct 2014 2:57 pm
News detik start ... #webkoe
59
Wed, 8 Oct 2014 12:43 pm
republika update Added #done #webkoe
80
Sun, 5 Oct 2014 11:52 pm
benar benar selisih 1 jam sama jakarta ... 22:52 #webkoe
66
Sat, 4 Oct 2014 1:49 pm
Ueh, harusnya kalo post failed, tagrank ga di incr ! #bug #webkoe
83
Fri, 3 Oct 2014 4:16 am
python crawler_republika sampai saat ini masih bermasalah saat memfetch detail link di file 1 - 17.html , data yang tertulis masih whole file, belum spesifik ke target. Mungkin perlu di try finally juga ? #webkoe
65
Fri, 3 Oct 2014 4:13 am
Tagrank news_spot 3 , padahal hanya ada 2 catatan, kemungkinan ada masalah saat post, redis tagrank sudah mencatat, tapi redis posttime blm berhasil post #webkoe #bug
87
Thu, 2 Oct 2014 12:44 am
Saat menggunakan supervisor, free ram 265MB an, setelah pindah ke forever free ram bertambah menjadi 310MB an, selisih 50MB an. WOW ... that's why we move to forever ... untuk -w kira2 ada tambahan konsumsi ram lagi ? Kita lihat saja nanti ... #webkoe
64
Thu, 2 Oct 2014 12:40 am
Crawler akhirnya start via forever saja, dengan perintah "forever start -c python /python-app/crawler.py" , -c parameter untuk mengarahkan ke python, default forever memakai "node". Tambahan, untuk restart command otomatis jika ada perubahan script/auto restart, tinggal tambah "-w" for watch. #webkoe #nice #enlightenment
89
Wed, 1 Oct 2014 11:31 pm
79|33|ู…ูŽุชูŽูฐุนู‹ุง ู„ู‘ูŽูƒูู…ู’ ูˆูŽู„ูุฃูŽู†ู’ุนูŽูฐู…ููƒูู…ู’ test quran font #webkoe
66
Wed, 1 Oct 2014 10:39 pm
sub domain "quran", "news" n "api" ready ... tinggal aktifkan routenya #webkoe
66
Tue, 30 Sep 2014 5:36 pm
Head to head media stream added, terinspirasi dari kekesalan eko dengan pemberitaan media saat ini ... #nice #webkoe
76
Tue, 30 Sep 2014 10:15 am
Font 17px lumayan enak dipandang #webkoe
65
Tue, 30 Sep 2014 9:01 am
utak atik tampilan depan #webkoe
62
Mon, 29 Sep 2014 6:16 pm
News crawler sudah running dengan supervisor #webkoe #done
91
Sun, 28 Sep 2014 10:22 pm
Dikirim dari Tab 2 #aim #webkoe
64