A unix timestamp does not have different timezones. It is a counter.
No matter where u are in the world a timestamp call should give you the same numeric value at the same instant. It is not time zone adjusted. Store that number, unadjusted as the source of truth.
You can get to any local time after that.
Internet related would be, back in the early 2000s when I was building out infrastructure of pinkbike/trailforks I was optimizing things and discovered that this initcwnd parameter was hardcoded to something like 2 or 3 packets in the linux kernels. This was causing the initial page to require multiple RTTs to load so I figured I would change that and recompile the kernel to make sure all out pages would be transmitted in one go. This made out site perform a lot better compared to most sites at the time.
Funny at the time I was a bit worried that the IETF would discover this and shut us down or something.
These days that parameter is default to something like 10 and you can increase it with a config parameter.
I think this article is cherry picking here trying to make Canada look good compared to say the USA and other countries. ( im canadain btw )
I think it's easy to take in 28K refuges when the illegal load is very small in Canada, of something like 20K per year [1]
Compare that to the USA that needs to deal with an illegal load of 20X that. [2]
And for 2019 the USA load seems to be twice that of 2018. [3]
If you agree that using a CDN for static content is a good idea, then it would seem HTTP/2 Push is useless.
The website is served from your servers while the static content is served from a CDN so you can't "push" it in the same stream as you webpage content.
Am I missing something here?
I'm not sure if I never understood this right, but it seemed server push was not an ideal overall solution. It seemed it was targeted to push needed css/js/image in the stream of the page result. But most assets that one would want loaded are coming via an external CDN so doing a push of that does not make sense. Yeah, I guess if you are proxying your whole site via the CDN.
Am I missing something here?
I hear ya...of the two bolded feature headings in the story we get:
1. Supersonic speed
( always welcome )
2. League of extraordinary emojis
( the last thing I would care about in a new os release )
You can get centimeter accuracy with gps. http://swift-nav.com/piksi.html
Even with cheaper modules and phones that dont carrier phase rtk, you can get meter which would be plenty for this application.
Very rare data access is disjoint, unless you're only doing key/value put/get. I think the interest of Redis is that it has many other features than simply put/get, and all those sorts, diff, etc typically would work a set of data that is being written in.
For sure having multiple instances will help some of this, but adds more complexity. Do you have your app write to multiple instances, and then read low latency from one, and read high latency from another? Is that data now consistent? Do you setup Redis replication and make sure that works right and then read from different replicas? Or perhaps you engineer some queue that does not block writes, groups them together and writes to Redis in a separate thread. Then you have to maintain all this and make sure it's correct, back it up, what are the corner cases, failure modes, etc.
From my experience, if you want to engineer things well, you end up essentially building out the same sub systems that a larger db engine has. Say Innodb.
I'm smart enough to know that I'm not smart enough to build a one off complex system more correctly than really smart people that have been iterating over many years and improving things on something like innodb.
There are very rare, very specific cases where I would use redis over something else if I was building something realtime, large and important.
Last time I used Redis I was surprised to determine to my surprise that Redis was single threaded. Of course I could have just RTFM but I assumed incorrectly.
This means that if you have part of your application that requires fast consistent GETs, and then another application does a slower SORT, UNION, DIFF, etc, on the same db or even other dbs on the same Redis server, EVERY other client request has to wait for this slower command to finish.
http://redis.io/topics/latency
This is something that one really has to engineer around in order to use it in an environment that requires performance and consistent latency. In our case of 1000s req/s it was just unacceptable to have the latency be affected, sometimes by 10 times, by a slower command.
Your script name is tracker.js which is not the best name as adblockers/privacy blockers simply block any names with the word track and many other similar names.
If you name your script something else that is not blocked it would enable it to run, and be valuable to see the errors that users get when they block other js on a page.
Is there an option/way to have "lables" in panes. Just like you have a info bar for windows, I would love to label my panes.
Normally have a bunch of panes setup for logs, and it would be really nice to label them so i could tell what is in each pane.
Yeah I'm running a MBP 8.2 also (released February 24, 2011).
16GB ram
512GB intel ssd
1TB sata instead of cdrom
1GB AMD Radeon HD 6770M
I always got the next best mbp but since this one I thought I was always going backwards on certain things so I have not upgraded.
So a 2.5 year old laptop still has these advantages that are important to me...
- non glossy display
- I have 1.5TB storage now ( and can go higher now ) compared to the max 1TB that is offered now.
- I'm still on snow leopard , primarily due to the multiple fullscreen idiocy in lion and mountain lion ( but that might change now in mavericks)
My only reason to upgrade is that I would like the fans to come on less when I'm plugged into an external 30" display.
It's a little disappointing that the last 3 mbp releases are not, or making me thing twice, about hitting the buy button.
array(3) {
["HTTP_USER_AGENT"]=>
string(17) "Amazon CloudFront"
["REQUEST_METHOD"]=>
string(4) "POST"
["CONTENT_LENGTH"]=>
string(7) "1048770"
}
227055.000Bytes/s
real 0m4.623s
user 0m0.005s
sys 0m0.011s
So upload time is not much different from my location. The origin is in San Jose, and in my case I'm in Vancouver BC, and going through the Seattle cloudfront edge.
Would be interesting to see what you get from other locations
( I'm occasionally getting "ERROR: The request could not be satisfied" with cloudfront post )
When we started we bought these boards http://www.supermicro.com/products/motherboard/QPI/5500/X8DT... and at first we outfitted them with one low end CPU and small amount of ram 6G as those were our needs and that's what we could afford at the time. 2 years ago we upgraded those machines with dual 5560 cpus, and 48Gram for not very much money, and in fact they run our production DBs right now. They still are very competitive if you stack them up to current e5 models. We added more servers last 2 years and they have been E3-1240 V2 based single cpu, 32G ram. You can't beat the price/performance there.
So in 4 years we still have not obsoleted much but some older ram and base cpus.
KVM is really easy to setup. Install the package on your linux distro, start up virt-manager if you want gui, "start" new machine and install whatever you want from any cd image you have.
Of course once you wrap your head around it you'll want to do it with cli tools and custom automate it. But basic virt-manager might take you a long way.
Once you have multiple machines and you want to migrate between hosts you'll have to setup a shared storage. That can be as easy as an nfs share/mount. We started with just 1 ssd for that, but then built a dedicated box with many intel ssds on hardware raid 10. Never had an issue.
But shared storage/live migration is not always needed and can add more risk. If you engineer it that all your hosts are independent and you have redundant services for everything, then you dont need to live migrate. If you need to free up that host, just turn it off, as you have redundant services running on other hosts.
In fact on our Dev systems we run KVM on our osx laptops nested in a vmware vm. ( vmware can nest like this passing hardware flags to the guest host ) So on osx you run vmware, which runs a linux vm, then that vm is used as a kvm host to run other vms via kvm. This way we can run exactly 100% the same image locally as is in production.
In fact if you really want to do some crazy plumbing...
the VM host on my laptop has a VPN link to our DC, this puts it on the same internal network as our DC production hardware. I can then live migrate a production VM ( like a web front end ), onto my laptop, while it's fully operational doing processing for the production environment.
On my laptop it will still be, via VPN, receiving and processing live web requests on our website, and properly sending back data to the proxy and user. Not very performant, but the flexible plumbing is nice if you want to test/debug a clone of the exact production system locally.
We actually went via Bandcon, which was then bought by highwinds.
BW is around the going price $2.5/Gbps and it seemed to be level3 at the beginning and now it's seems more of a mix. ( I should specify that we have a gbps port but we only use about 100 mbps as it's only the html we serve from there )
We use another 2 Gbps of traffic via CDN for all the static/video content but that is of course a different cost ) But it's nice when the CDN ingest point is in the same physical DC as we are.
I just looked what 250TB would cost us on s3, $20k/month, or $240k/year. ( im not even counting the put/get usage )
You can build it, for ease of math, 100x 3TB seagate constellation. 100x $250 = $25k, another $5k easily covers a 45 jbod and raid card and server with ssd zil and arc for zfs and you're done. so $30k.
Get 2 more for redundancy and backup as you see fit.
So over 3 years, 720k vs apples to apples 90k ( if you got 3 of those servers) so you save say $600k.
You can get a decent remote dev for $200k/year for that time.
A unix timestamp does not have different timezones. It is a counter. No matter where u are in the world a timestamp call should give you the same numeric value at the same instant. It is not time zone adjusted. Store that number, unadjusted as the source of truth. You can get to any local time after that.