« first day (65 days earlier)      last day (266 days later) » 
11:00 - 15:0015:00 - 21:00

Sam
3:18 PM
is back
 
notices
 
Sam
So, as I was saying.
 
Welcome back!
 
Sam
Thx!
When you post a message and if it was successfully posted, the response looks like this...
{"id":2689054,"time":1416583177}
Which could allow you to simply check the response for throttling instead of via sockets/polling.
 
Cool! Yeah that's great!
 
Sam
3:21 PM
I can get the precise message if throttled if you want?
Nvm, got it already.
 
I take that if it's not a JSON Object in that specific format something probably went wrong?
 
Sam
You can perform this action again in \d seconds
 
:D
 
Sam
^ raw response.
@Unihedron Yeah.
 
ok! Thanks!!
 
Sam
3:23 PM
You're welcome ;D
 
:D
 
Sam
Are you going to add functions for unstarring?
 
Hmm... I think it's best to merge that with starring, unless you mean force unstar (owner perm).
 
Sam
Yeah, I meant the owner ability.
 
Perhaps..
I haven't decided whether to add functionality for owner stuff yet.
 
Sam
3:28 PM
Not even kick-muting? ;)
 
Maybe... :D
 
Sam
Unstar: POST fkey={fkey} to chat.{domain}/messages/{message ID}/unstar.
Kick-mute: POST fkey={fkey}&userID={user ID} to chat.{domain}/rooms/kickmute/{room ID}.
Pin message: POST fkey={fkey} to chat.{domain}/messages/{message ID}/owner-star.
Set user access: POST fkey={fkey}&aclUserId={user ID}&userAccess={remove/read-only/read-write/owner} to chat.{domain}/rooms/setuseraccess/{room ID}.
 
3:44 PM
:D
 
Sam
There's all the owner commands I've managed to successfully implement so far ^
 
Any way to manipulate with feeds?
 
Sam
Erm, I haven't checked, yet...
;)
 
Sam has made a change to the feeds posted into this room
Sam has made a change to the feeds posted into this room
Sam has made a change to the feeds posted into this room
 
Sam
Ok...
 
3:49 PM
Hiya ProgramFOX.
 
Hi @Pro!
 
Hi!
 
Sam
@Unihedron POST fkey={fkey}&feedUrl={feed URL}&target={ticker/message} to http://chat.{domain}/rooms/feeds/{room ID}.
Hiya @Pro
 
o_O
 
Sam
That's to add a feed.
 
3:51 PM
Sam has stopped a feed from being posted into this room
 
@Sam I haven't seen you in the SO Tavern for a while :(
 
Sam
My internet hasn't been very easy to work with over the past couple of weeks, so I'm trying to cut back how many tabs I have open.
 
ah, I see
 
:(
 
Have you already contacted your ISP about your bad internet?
 
Sam
3:53 PM
I'll try opening it though (can't promise it'll work).
Hey, it actually worked.
 
3 hours ago, by Sam
Because my ISP is throttling me.
 
:O What a bad ISP!
 
Sam
3 hours ago, by Sam
5 days to go before I have proper internet speeds...
Read the convo from there.
 
Yeah, that's the "rant" I meant, lol.
 
Sam
lol
 
3:55 PM
oh, you went over your data quota :/
Is it because of Pham?
 
Sam
Nope, just everyday work.
 
whoa
 
Sam
3 hours ago, by Sam
I use 60-80gb per month.
 
wow
 
I'm glad I have an unlimited plan. I wouldn't be able to live with 10 GBs per month with Maven downloading the world on every compilation.
 
3:57 PM
I can use 100GB per month.
 
Sam
:D
 
Good for you! What's your internet speed?
 
@Unihedron ehh... no idea :P
 
Is it synchronous or async?
 
No idea at all. I never had problems with the speed though.
 
3:58 PM
Digital subscriber line (DSL; originally digital subscriber loop) is a family of technologies that provide internet access by transmitting digital data using a local telephone network which uses the public switched telephone network. In telecommunications marketing, the term DSL is widely understood to mean asymmetric digital subscriber line (ADSL), the most commonly installed DSL technology. DSL service is delivered simultaneously with wired telephone service on the same telephone line. This is possible because DSL uses higher frequency bands for data. On the customer premises, a DSL filter on...
 
Let me run some online tester to find the speed.
 
Sam
(even when I'm not throttled my internet still sucks at 400-500 kb/s)
 
aww :(
 
Have you considered putting Pham on a shared hosting?
 
3:58 PM
Why don't you switch provider @Sam?
 
Sam
Andy's agreed to host Pham when I've finished the portable version.
 
Oh, yeah.
 
Okay, this is the speed data according to the online tester:
 
Sam
@ProgramFOX 'Cause I don't own the property.
 
My mouse is dead, brb feed new batteries.
 
Sam
3:59 PM
is only 17
lol kk
 
Ping: 23 ms | Download speed: 18.76 Mbps | Upload speed: 1.94 Mbps
@Unihedron The fox catched it.
 
Sam
Nice! :D
 
@ProgramFOX Cool, so it is async!
 
@Sam Well... you can always ask your parents.
 
Async broadband I suppose. That means the ping is usually decent, with the download speed sufficiently differing from the upload speed, where usually the download speed is much faster.
 
Sam
4:01 PM
@ProgramFOX We're moving in <3 months.
 
@Sam :O
 
I have an SDSL, where the ping is usually worse, but the upload speed and download speed are similar and the connection usually doesn't break intermittently.
 
Sam
How much worse is the ping?
 
I don't know. I should run an online speed tester.
 
Sam
4:03 PM
Meh, I may as well join ya...
 
Ping: 30 ms | Download speed: 6.74 Mbps | Upload speed: 6.69 Mbps
 
Wow, that's good upload speed!
 
Huh, wonder why it doesn't reach the full 8 Mbps.
 
Sam
:D
 
Thanks!
Usually it's like this:
3 hours ago, by Unihedron
Commit speed 8 MBpS constant, download speed 8 MBpS constant.
Wrong unit but eh.
I think the problem is that most of the servers I need to access are not local, so the upload speed isn't fully used to its potential.
I bet Github doesn't have datacentres over here at asia, to begin with.
 
Sam
4:09 PM
Ping: 79 ms | Download speed: 0.12 Mbps | Upload speed: 0.16 Mbps
@Unihedron Maybe in Australia?
 
@Sam x_x
 
@Sam :o
 
@Sam I think that's the nearest Github data center, yeah. For most services the nearest one is at either Singapore, or really far like Malborne.
^ Meanwhile, Java room
 
Sam
lol
 
Sam has stopped a feed from being posted into this room
Sam has made a change to the feeds posted into this room
 
Sam
4:15 PM
@Uni There's a slight prob with removing feeds. You need to know the feed's ID in order to remove it, but I don't know how to get the ID.
 
Oh...
 
Sam
I'll poke around a bit more...
Aha, found it.
But it means more html parsing, since each feed's id is in http://chat.{domain}/rooms/info/{room ID}/?tab=feeds.
 
:/
 
Sam
In chrome goto view-source:http://chat.meta.stackexchange.com/rooms/info/774/room-for-uni-and-‌​inf?tab=feeds, then press ctr + f and search for feedId
 
Ohhh.
 
Sam
4:22 PM
Then once you've got that, POST fkey={fkey}&feedId={feed ID}&delete=True to http://chat.{domain}/rooms/feeds/{room ID}
 
Sam has made a change to the feeds posted into this room
 
Sam
And to edit a feed, just post the same data when you create a feed, but append the feed's ID.
 
After roomId?
 
Sam
data == post params
So, feedId={feed ID}&fkey={fkey}&feedUrl={feed URL}&target={ticker/message}
 
Ohh, I see.
Thanks! :D
 
Sam
4:26 PM
Np! :)
 
BOOM!
 
Sam
Yay, GIFs work too.
 
Sam
5:10 PM
I set out to finish CE.Net's little rate limiting function today; started this morning, but I've only written ~125 lines o_O
 
5:36 PM
:o
I'm back now, there was just some changes..
 
Sam
I didn't you were gone. lol
Wb!
 
thanks
 
Sam
6:14 PM
Finally, finished.
Now for testing...
 
Sam
6:26 PM
Why dose Microsoft make everything look complex?
 
woah
 
Sam
I have to add async methods to CE.Net, so I'm just brushing up my async knowledge.
 
6:47 PM
Cool, async in C#.
In Java we just have to wrap a block of code in a lock or build a lock class and use it.
synchronized (this) { // Whatever thread that comes here will wait if "this" is locked in synchronized blocks

}
private void init() {
    if (lock.tryLock())
        try {
            // do init
        }
        finally {
            lock.unlock();
        }
    else lock.lock();
}
 
Sam
I see...
Well, at least you'll have more control over the actual async internals.
 
It's over-simplified though. tryLock acquires the lock to the running thread if it's not already acquired, then returns true. If it's already acquired, it returns false and falls to .lock(), which attempts to acquire the lock and waits until the lock's released. Then it locks the lock. You can't control how long the lock's acquired, and you can't interrupt a thread to release a lock.
 
Sam
And could I safely assume the lock you're referring to is similar to C#'s lock.
 
Yeah, that's like synchronous block. The lock object is a "SynchronousLock" and comes with more features than the C#'s lock.
 
Sam
Ooo, more features, such as?
 
7:03 PM
Gotta look up the manual, lol, since I don't really use that lock a lot.
It's easier to use synchronized(){}.
 
Sam
lol, kk.
Darn, just realised my rate limiting mechanism sys really sucks for sync operations.
 
:o
 
Sam
Oh well. The caller will just have to fire 'n' forget the method in a separate thread.
(since calling any rate limited method will block until the requested action is successfully completed)
Which could be a long time (depending on the queue's priority options).
 
It solves deadlock problems because the thread that enters `synchronized` is interruptibly locked and only backed out on exceptions, where other threads are enforced to wait without an ability to back out when in queue to acquire the lock.
Secondly, lock objects has Lock.newCondition() method which returns a Condition instance that is bound to the lock instance, which allows the lock acquirer to set a specific condition (e.g. when two other threads attempts to acquire the lock when I haven't unlocked it yet) and allows automatic unlocking before wait returns.
 
Sam
Oh, that's cool.
 
7:14 PM
Yeah, most of them can be done in C# as well, but Java had to make it a built-in feature for SynchronousLock objects.
There's also ReentrantLock, but it sucks.
It supports a maximum of 2147483647 recursive locks by the same thread, if there are more than that number of threads queuing, the program dies.
Going to sleep now (3:15 am), bye!
 
Sam
:O
Kk, Night!
 
7:57 PM
5
5
 
8:54 PM
5
 
11:00 - 15:0015:00 - 21:00

« first day (65 days earlier)      last day (266 days later) »