189 karma · joined November 18, 2014
Supports Unity, and works on both iOS and Android out of the box. (I'm not affiliated, just a supporter.)
"columns": [
"time",
"value"
],
and then the observations as a list of lists: "values": [
[
"2015-01-29T21:55:43.702900257Z",
2
],
[
"2015-01-29T21:55:43.702900257Z",
0.55
],
exactly as i suggested in the "even if they were wedded to JSON for some reason" section of my original explanation.Even if they were wedded to JSON for some reason, they could have just used a list of observations, like:
[1458000000,63.422235],
That would have cut their data costs in half.
Or just use one of the many existing formats for transmitting time series data. It's not a new topic. https://github.com/mobileink/data.frame/wiki/What-is-a-Data-...
but in all seriousness, why the timestamp at all? your examples are all spaced at 3600ms. asking for it implies certain behavior. can you handle heterogeneous interval data? missing data?
dear lord, why? this reminds me of the old "xml binary format" joke:
<byte> <bit>0</bit> <bit>0</bit> <bit>1</bit> <bit>0</bit> <bit>0</bit> <bit>1</bit> <bit>0</bit> <bit>0</bit> </byte>
try editing the "UBI Benefit" and "UBI Tax Rate" to see the total budget effects.
* assumes no money from medicare, medicaid or SS, just existing welfare benefits.
i agree with your premise, but not your conclusion. UBI is (much) less gov intervention that our current welfare state. and UBI allows more entrepreneurs to take risks on their great ideas. and moving social welfare from a three party system (individual, employer, gov) to a two party system (individual, gov) is in support of individualism. so the US should love UBI!
rather than call "./manage.py syncdb", call "./manage.py evolvedb" and changes to your models will be synced to your schema non-destructively. (ie: without dropping and re-building the table)
Executing in 3...2...1...
BEGIN TRANSACTION
-- column changes for table products
ALTER TABLE "products" ADD COLUMN "dont_email_on_purchase" boolean
-- column changes for table searches
ALTER TABLE "searches" ADD COLUMN "tag_only" boolean DEFAULT 'f'
COMMIT
--==[ COMPLETED ]==--
from the one line code change that triggered it: 1 db/schema.rb
@@ -543,6 +543,7 @@
create_table "searches", :force => true do |t|
t.text "query"
+ t.boolean "tag_only", :default => false
t.datetime "searched_at"
t.integer "user_id"
t.integer "page_id"
(well, there were two commits obviously)(1) If your data migrations are not "occasional" (and I mean very occasional) that's a sign you're doing a poor job at modeling your data. Splitting one column into two is almost always an example of someone really f-ing up the original schema.
Think of it this way: how do you switch branches? Do you look up the most recent ancestor, check it out, migrate down to it, then back up the new branch? It's so hard I don't know any rails devs who actually do it. But with a my tool it's a one-line command. PRs w/ schema changes actually get tested now, not just eyeballed.
Also, did you even read the "rant"? Do you seriously like the proposed version control tool modeled after rail's migrations? ;)
https://github.com/keredson/ruby-db-evolve
been using it in production for ~1y now.
Years ago I wrote a "get me the hell out of spring" tool: https://code.google.com/p/unsprung/