bolson: (Default)
Preparing for this coming Arisia I'm doing the most wardrobe planning I ever have. It used to be just "which clever t-shirt expresses what I want to project"? This time I'm going so far as to assemble something that could be called a costume.
bolson: (Default)
Programming almost isn't about performance anymore. Performance has to be good enough, but most problems are small enough that's pretty easy. Most of the programming problems at my current and previous job are about managing complexity. We have to write a big complex piece of code that manages lots of attributes and has lots of rules and does lots of actions. We have to do that in a way such that it works in the short term of days or weeks for whatever feature we're adding this time, and we have to do that in such a way that we can come back to it next month or next year and do something completely different.
bolson: (Default)
Can we subject our candidates for public office to a test of Gom Jabbar as part of the ballot access requirement?
Is this more or less onerous than Heinlein's proposed requirement (in Starship Troopers) that only military veterans can vote or be elected?
bolson: (Default)
is not to store it at all.
A unique id for a US Census block winds up being 15 decimal digits, which fits handily into an 8 byte int.
Actually there are less than 10,000,000 blocks in the US, so that could easily be a 32 bit number.
But if what I really want to do is store a mapping from each block to district number for each block (easily a 1 byte number), the smallest way to store this is just a list of district numbers. Use the Census data file as a canonical ordering of the blocks.
CSV for this becomes 15 decimal digits, comma, one to three decimal digits, newline. 20 bytes vs 1.
For the hundreds of thousands of blocks in Texas, after gzipping the CSV, this is a 2372 KB file. gzipped byte list is 32 KB.
Sadly, a CSV file in a .zip archive seems to be the common interchange format for these things.
At least I get to use my format between my client and my server.

Apple XCode

Mar. 9th, 2011 04:13 pm
bolson: (Default)
I have enjoyed 10 years of good development tools for free from Apple, and it has been good to use them and make nifty things and evangelize how great developing on Mac is. Today they announced the next version of the tools, available today, cost at least $5. My sense of entitlement, built up over 10 years of expectations, is sad.
bolson: (Default)
Amazing. New MBP 15 with the 2.0 GHz i7 gets faster single thread execution than my MBP13 2.53 GHz Core 2 Duo from June 2009. (about 20%-30%) And the new chip has 4 cores instead of 2. Good job, Intel. Now I have something to look forward to again, maybe on the next iProduct cycle.

Methodology: walk into an apple store and run on the new machine and compare to what mine gets.
bolson: (Default)
Two intense weekends, two different crowds.
I just thought of a short explanation that feels mostly true.
Blues: these are people I share a fun awesome passion with.
Arisia: these are my people.

At dance events my connections with people often don't stray far outside of dancing. At Arisia I found people who I could dance with and do acro with and talk about favorite scifi with and talk about lame libertarianism in fiction with and a dozen other things. And while I know a few people who fit all of those things, there's also a great diversity of people who fit a few or several of those things. I get it all. It's great.

At the end of the dance workshop weekend, I noticed the demographic. Mostly young 20s-30s fit dancers. I expected and got a much wider set of shapes and sizes and ages of people at Arisia, and it was good! It was interesting! Of course, part of the variety was due to costuming. :-) I think I made someone happy by recognizing their semi-obscure costume as a Galifrean time lord.

This was my first year getting a room at the con hotel. It definitely improved my experience. Previously I had to subway or bicycle home around midnight or 1am every night, and back the next morning, always missing very late things or slightly early things. This time I was good and got to sleep around 1am Friday night and got up in time for 9am yoga in the morning. As I got dragged to more and more interesting nocturnal activities I wound up staying up till 4am and 6am.

Now I'm home and I can again eat food that is neither disgusting nor disgustingly priced. The best food all weekend was at the reception for my favorite vegan newlyweds. That was also a beautiful thing, but another story.

Yay megadose of geek culture and nifty new people (made some new local friends). If I am very good I'll find a way to sleep 10 hours tonight. Uf.
bolson: (Default)
I'm in a time machine in Earth orbit. If I pop forward in time six months, the earth should be on the other side of the sun and the whole solar system would have moved away from me. Maybe my momentum gets continued and similarly scaled so that I continue to move along with the solar system. Maybe the effects of gravity continue and are scaled so that I continue to orbit the sun. Maybe neither of these things are true and it's best to do time travel safely in interstellar space where relatively nothing will be during the whole time-space path of your travels. Or you need to just instantaneously pop out of one time and space and into another. Or 90% of time travel sci fi is broken or inconsistent or has crazy mechanics or is just a plot device and I should learn to stop worrying and enjoy the ride.
bolson: (Default)
In the last few years I have gone through phases of: coercing data and setting up displays using gnuplot; writing my own script code to emit SVG and do all the drawing and layout myself; writing script code to coerce the data into JSON to be interpreted by javascript code to draw in a <canvas> element.

Maybe just because it's new, I am particularly amused by this last method. I've applied it to a couple different pages now, and the results look good. It may be more portable than SVG, since android phone browser can render <canvas> but not SVG. (iPhone can do SVG)
bolson: (Default)
Things I learned at PAX

Console. Currently this means Nintendo, Sony or XBox. I've never owned any of these. I did play through Final Fantasy 8 back in college when a roommate had ye olde Playstation.

PC. Close, but, Mac. There are a few small market games that work on Mac, but mostly I have Id, Blizzard and EVE available to me. I WoW-ed. I still EVE a little. I will Starcraft2. But there's a large breadth and whole genres of PC gaming I'll never do because they only run on microsoft-based game machines.

Tabletop. No console or PC required, just buy the ~$50 game and good to go. I do enjoy a good strategy board/card game now and then. There were apparently rooms full of people tabletop gaming at PAX, but I never went in them because I went to PAX for the events. I can throw my own game parties and play with people I like.

RPG/D&D. Can be played on the tops of tables, but I think it counts as a distinct subculture of gamer geeks - of which I am not a part. No interest in that style of game. MTG, Pokemon and Warhammer probably also deserve mention as subculture-games I'm not interested in.

There is a perfect real-time-strategy game that I can play on my Mac that exists in my head. Maybe I'll write it someday if no one beats me to it.
bolson: (Default)
I've been to Arisia four times. It is my only SciFi/Fantasy con. I went to DefCon once; the hacker scene is different and counterculture and geeky and fun.

PAX is much more about the show and tell. It has many fewer, but bigger panel-type events. It is much bigger, there are more peolpe here. There's relatively little actual selling going on here. If I came here because I like gamer culture, why can't I buy some? There is selling of actual games and game paraphernalia for all kinds of tabletop games. The video games and game hardware are all set up for demoing, go buy their wares through the usual distribution channels. Shirts and art and kitsch objects are missing. I'm used to Arisia's dealer's row. There's one kinda halfassed shirt dealer here in addition to the official PAX merch. Of course, it's not about the buying things, but the being together, eh?

Probably more thoughts on this later, and the differences between Gamer culture and my preferred forms of geekery.


Mar. 26th, 2010 12:43 am
bolson: (Default)
For most of Friday night through Sunday at 5pm, I'll be at PAX

Also, coming up in April is one of my favorite local tech-geek gatherings, BarCamp boston
bolson: (Default)
According to my little benchmark at, on my MBP13, recent Safari gets about 200 megaflops, Chrome(beta) is getting 150, and the latest Firefox 3.6 gets an astounding 700 (there's actually a range of numbers depending on mix of operations, I'm eyeballing a representative number). Java on the same machine gets around 1600 megaflops.
Now the super amazing thing that happens when I try it just now is that running virtually the same source, transliterated from C to Java and Javascript, I run `gcc -O2 -m64` and run the binary and get results slower than Java. I'll eyeball it as C being 80% the speed of Java. Of course, I'm sure this will vary from problem to problem and some things may optimize better on one system or the other. On the plus side, I also ran a binary from 2006 based an an unknown gcc version of that era. It was slower than the latest gcc. At least that's getting better.


Jan. 29th, 2010 10:24 am
bolson: (Default)
I'm not going to buy an iPad, it's not the device for me, but it may change the way I think about user interface design. This is an option now. This is something I'll think about. Is there something different and better I could do on iPad? I've had a couple game ideas rattling around in my brain and in toy programs since college, and now when I think about them half of the fun is imagining the iPad interface.

I want a book reader - for $100 with $5 books, not $250 with $10 books or $500 with $15 books.
I want a image-backed graphics tablet - I like to draw but not seriously enough for the $900+ things.
I want something super-light to take everywhere, but I still think the full sized hard keyboard of my laptop is going to be key for the kind of creating I'd want to do on the go in random places.

I want it, but not $500 worth, but it's out there and it makes me think.
bolson: (Default)
My paid lj account has lapsed, and so I shan't make a poll, but I was tempted to renew to make one:

Bigger speech today:
bolson: (Default)
Jon Siracusa writes in ArsTechnica:
In Snow Leopard, Apple has introduced a C language extension called "blocks." Blocks add closures and anonymous functions to C and the C-derived languages C++, Objective-C, and Objective C++.
bolson: (Default)
Back in the mid nineties I got a C file I got from my dad who got it from someone who ported a FORTRAN program that people had been using to test the math functions of new supercomputers (Cray, etc.). It doesn't do any clever system benchmarking, it just tests how fast a CPU can do math, in Millions of FLOating Point OPerations per Second, or Mega-FLOPS.
I've since ported it to Java, which with a good 1.6+ JVM runs around 95% of the speed of C compiled '-02 -m64' with gcc on x86_64.
Most recently I've ported it to create a MegaFLOPS benchmark in Javascript. This gets 1-4% of the speed of the C program, but that means between browsers on the same machine there's a 1-4x speed difference.
Oh, and javascript on my current desktop at work can run this faster than native code on my home computer of 12-15 years ago, which in turn compared favorably to the supercomputers of a few years before it.
bolson: (Default)
1. configure server B
2. send some test mails to server B while no DNS points at it
3. disable server A (other servers trying to send mail to it start waiting)
4. rsync spool and personal mailboxes from server A to server B
5. make DNS point at server B (hope step 1 was actually right)

for bonus points, do steps 3-5 in under an hour.
Oh, and there are a couple database backed web-apps also running on server A. Those should also be stopped at step 3 and their contents sync-ed over at step 4.
And yes, I pay for the privilege of having my very own custom server out there on the 'net.
bolson: (Default)
I went to a party Saturday night where they had a twister mat but no spinner. I had my laptop with me, so I wrote a twister spinner in javascript. Now if you ever lose yours, you can use that one.


bolson: (Default)

September 2017

1011121314 1516


RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 23rd, 2017 11:40 pm
Powered by Dreamwidth Studios