HNHacker News
TopNewBestAskShowJobs

kroo

73 karma · joined December 14, 2009

[ my public key: https://keybase.io/kroo; my proof: https://keybase.io/kroo/sigs/GjDmgy8pr2x4NIeOKpsTX3i11K2bpGIuApC1MQmMs78 ]
submissionscomments
kroo··on The new corporate owner of Freenode is Imperial Family Companies
looks like the freenode staff confirmed it here: https://twitter.com/freenodestaff/status/1395046345145307140
kroo··on The case of the 500-mile email (2002)
Ok, this got me curious... 11n_disable=8?

A quick google turns up lots of people agreeing with you, suggesting the intel wireless driver seems to have trouble on 802.11n. Fine. But 8?

    modinfo iwlwifi
shows us that 11n_disable is actually a bitmask:

    parm: 11n_disable:disable 11n functionality, bitmap: 1: full, 2: disable agg TX, 4: disable agg RX, 8 enable agg TX (uint)
Ahah, your story is starting to make more sense! Setting the value above 8 would set the 'enable agg TX' bit in this bitmask.

Side note: 11n_disable=8 as a way to enable an advanced wifi settings is not the most user-friendly option in the world. It looks like this was added as a patch to fix a compatibility issue with certain NICs[1]. Be careful setting it higher than 8 -- as that would set other flags in the bitmask, potentially turning off 802.11n entirely!

I've not heard of AMPDU before -- but it seems to be an 802.11n-specific protocol extension that allows you to send multiple MPDU blocks (i.e. frames) to the router at a time, rather than one at a time. This seems to trade off latency for error correction between a client and the router [2][3]. So by setting this flag, you're able to transmit multiple frames at a time, rather than retrying each frame individually until it goes through on a busy channel. This really does seem to make a difference, one report online suggests tx throughput goes from 20Mbit/s to 80Mbit/s when agg TX is enabled[4].

Apparently this was introduced in 2014 in order to patch a firmware issue on certain intel NICs. There's a whole conversation on the linux-wireless list about it[5], which seems to conclude that they couldn't reproduce the issue[6]:

> I have seen reports from many users and many devices - and unfortunately I have never been able to reproduce - so I can't know if it affects all the devices. All I can see is that I saw reports on very old devices (5150) and with more recent devices (2230).

[1]: https://github.com/torvalds/linux/commit/205e2210daa975d92ac... [2]: https://routerguide.net/optimize-ampdu-aggregation-on-or-off... [3]: http://eprints.eemcs.utwente.nl/21008/01/eunice.pdf [4]: https://ubuntuforums.org/printthread.php?t=2205924&pp=75 [5]: https://www.spinics.net/lists/linux-wireless/msg118549.html [6]: https://www.spinics.net/lists/linux-wireless/msg118554.html

kroo··on Show HN: Cloud Commander orthodox web file manager with console and editor
Fascinating, TIL–thanks!
kroo··on Show HN: Cloud Commander orthodox web file manager with console and editor
"mc" stands for midnight commander, which is itself a clone of Norton commander, which was sold by Symantec in the 80s and 90s. Norton commander was popular enough that by the time it was discontinued it had been ported to many other platforms (midnight commander being one of the ports for unix systems). Over time, Norton commander became the prototype for the "orthodox file manager", the category of file managers with two side-by-side file browser windows: many of the same key bindings for this category of file manager are the same as the original norton commander keybindings.

Midnight commander (and more generally an orthodox file manager) is especially useful for moving files from one system to another, as it usually supports browsing to remote file systems over ssh or ftp, and gives you a simultaneous view of where you're moving files from and to on the same screen.

The Wikipedia page is a pretty interesting read, actually: https://en.m.wikipedia.org/wiki/Midnight_Commander

kroo··on Stanford bioengineer develops a 50-cent paper microscope
Tiny spherical lenses. From the article:

> One of the unique design features of the microscope is the use of inexpensive spherical lenses rather than the precision-ground curved glass lenses used in traditional microscopes. These poppy-seed-sized lenses where originally mass produced in various sizes as an abrasive grit that was thrown into industrial tumblers to knock the rough edges off metal parts. In the simplest configuration of the Foldscope, one 17-cent lens is press-fit into a small hole in the center of the slide-mounting platform. Some of his more sophisticated versions use multiple lenses and filters.

kroo··on YouTube is down
It looks like it's a url-safe base64 encoding of an encrypted blob (perhaps a stack trace). They're using '-', and '_' instead of '/' and '+'. Replace these characters and base64 will succeed, leaving with ~3k bytes randomly distributed between 0x00 and 0xFF.
kroo··on _why's site is updated
Here are all the files from the git repo converted to png:

http://imgur.com/a/WkWtP

And PDF:

http://cl.ly/3Y423m390Y1Z

Edit: added imgur album.

kroo··on Google App Engine is Down
Looks like Google's reporting the issue resolved as of 12:06 PM PST. Our backends are working again, so I believe them :).

If you run things on App Engine, I highly recommend subscribing to the downtime notify list -- it's much more responsive and accurate than the App Engine status page in my experience.

https://groups.google.com/forum/?fromgroups=#!forum/google-a...

kroo··on AWS is down due to an electrical storm in the US
App Engine's reliability massively improved with the HR datastore, and has gotten even better since the pricing change / SLA guarantee. It's actually remarkably good now, I recommend taking another look.
kroo··on AWS is down due to an electrical storm in the US
Nope.
kroo··on How I went from writing 2,000 words a day to 10,000 words a day
"But that's the great thing about going this fast, the novel starts to eat you and you find yourself writing any time you can just for the pure joy of it. Even better, on the days where I broke 10k, I was also pulling fantastic words-per-hour numbers, 1600 - 2000 words per hour as opposed to my usual 1500. It was clear these days were special, but I didn't know how."

This thrill of creation, when you've got the design (momentarily?) cracked and all that's left is the small matter of putting to disk what's there in your mind already, describes some of the most exciting experiences I've had writing code.

kroo··on How I went from writing 2,000 words a day to 10,000 words a day
This is very often also true of writing.
kroo··on California Proposes Rules For Autonomous Cars
Looking at http://www.leg.state.nv.us/register/2011Register/R084-11I.pd..., it looks like Nevada decided to define a class of license (G) for operation of autonomous vehicles. The CA legislation just makes operating an autonomous car legal if it meets certain safety and performance criteria, which it doesn't define (instead, asks the CHP to come up with these rules). The way this bill is drafted, it looks to me like CA would be much less restrictive of autonomous car operation than Nevada.
kroo··on California Proposes Rules For Autonomous Cars
Here's the proposed text, for anyone who's interested: http://leginfo.ca.gov/pub/11-12/bill/sen/sb_1251-1300/sb_129...

Edit: As I read it, this is pretty straight forward, doing the following things:

- Makes it explicitly legal to operate an autonomous car on public roads, if your car has met a safety standard yet to be devised.

- Authorizes the establishment of safety standards for autonomous vehicles by the California Highway Patrol.

- Until these standards are devised, it does not prohibit autonomous cars from operating on CA public roads.

"Autonomous Cars" in this case are defined fairly narrowly: a car capable of driving "without active control and continuous monitoring of a human operator".

kroo··on Leaftlet - A Lightweight JavaScript Library for Interactive Maps
For some reason the map travels behind my cursor as I drag it around. This would drive me away if I was looking for an alternative mapping library to google maps.
kroo··on Stack Overflow: Printing 1 to 1000 in C
no! For one thing, it still prints out an opening '[' before 1. Second of all, relying on the structure of the string representation of an array is just silly. Perhaps:

    print "\n".join(map(str, range(1,1001)))
or

    print "\n".join(str(i) for i in range(1,1001))
kroo··on The strange story of etherpad
Where's etherpad development now? Well, it seems to have stopped.

Another former etherpad employee here. I just wanted to point out that contrary to the comment above, there's a fair bit of active open-source development on etherpad these days, though the folks there could always use more help. Head over to https://github.com/ether/pad and pitch in!

kroo··on Getaround: Peer-to-peer car sharing and car rental startup
But I think it's full of prickly complications that won't get magicaly solved by being able to throw up a sexy Rails website or by having an electronic widget in the vehicle.

This is absolutely true, which is one thing that makes (working at) this company so interesting/challenging.

On one front, without technology development, you can't scale without a lot of capital investment -- even the custom technology used by zipcar is cost prohibitive (around the $1000 price-point, and requires several hours of professional installation). While we support swapping keys with the renter, we don't want to open both parties up to the inconvenience and liability of handing your keys over to a total stranger. The carkit provides greater choice to the owner as to how they want to rent out their car (allowing them use a smartphone instead of the physical key), and empowers them to keep better track of how it is used when rented out.

On the other, as you put it, technology doesn't solve all these prickly complications -- there are serious operations, customer support and business development problems that must be met in order to make this work. Insurance is a critical piece in the puzzle, and one that our team has been working on for a year and a half now. We are confident in our insurance partner and the custom policy we have worked together to create at this point -- and we will continue to work with our provider to ensure that we can continue to provide coverage as our company grows.

kroo··on Goodbye, Google App Engine
While I feel the OP's pain in terms of difficulty working with the limitations of AppEngine, what he's not mentioning is the collection of benefits you get from AppEngine over other services. We've found that once you work out a solution to the datastore and request timeout issues, you have a remarkably robust and scalable system for free (or at least out-of-the-box).

With AppEngine, I've never had to migrate a database schema, build a load-balancer, hire a fulltime sysadmin, or even pay for servers that arn't receiving traffic. I don't have to set up a large-scale deployment system, nor spin up a new database server when traffic gets too heavy. AppEngine so far has been remarkably cheap (we're starting to bring in more customers however, so we'll see how long this lasts).

Many of the challenges he mentions come down to thinking about writing a webapp with a longer-term vision in mind. Datastore limitations crop up when you outgrow your first datastore in a standard system; in AppEngine they're properly enumerated and dealt with from day 1. Likewise long-running connections become very tricky to deal with with lots of traffic... this point is a little harder to argue with the recent popularity of asynchronous-io servers, but I think Google is working hard on these limitations. SSL is just annoying; we've had to deal with this by adding an SSL proxy until Google adds SSL support -- but it sounds like Google is pretty close to solving this one (it's been promised by end of year).

Also, AppEngine is written in a very high-level way; should you reach a point where AppEngine no longer makes sense, it is amazingly easy to transition over to another system (as the OP apparently found out; I would give more credit to the design patterns inherent in the AppEngine APIs than 'TDD driven development'). Tornado, webpy, etc have virtually the same interface as AppEngine's webapp framework.

There are definitely tradeoffs when choosing AppEngine as a production backend right now, and its certainly not the right solution for every problem... but for many people, us included, its been a pretty large net benefit for our startup. Google is actively improving the system, and I expect many of these problems will go away in the next 6 months or so.

kroo··on Microsoft Street Slide: Street view will never be the same
While this is a neat way to navigate panoramas, in practice it is very difficult to get a smooth transition between perspectives without a lot of source images (you can tell when they switch to the unstitched view that they were using a much higher density of images than with street view panoramas, especially at intersections).

Interestingly, multi-perspective push-broom images is essentially how the street-view team got started.

kroo··on How do hackers here concentrate?
I use the age-old (well, relatively so :)) equation of headphones and electronic music. It gets you into that coding trance that is so helpful for actually sitting down and getting work done: just put on fast-paced electronica/trance, open up TextMate/emacs/etc, and allow your focus to zero in on exactly the problem you need to address at that moment.
kroo··on GSM encryption broken
Taking your request literally, 2 terabytes is equivalent to (roughly) one-37th of the currently-digitized items in the printed collection in the Library of Congress. Good day. :)

( citation: http://blogs.loc.gov/loc/2009/02/how-big-is-the-library-of-c... -- an interesting read on its own, as estimates of "libraries of congress" seem to wildly differ.)

kroo··on The Decade With No Name
"The first decade of the twenty-first century" sounds good to me. TFDOTTFC ("Tee-Eff dot Tee-Eff-See", TF.TFC) for short :)
kroo··on EtherPad Open Source Release
Hopefully this will lead to strong community around real-time eventual-consistency text synchronization. Here a link to etherpad's implementation of their magic algorithm: http://code.google.com/p/etherpad/source/browse/trunk/etherp... -- though it's pretty tightly integrated with their editor component, "ACE".
kroo··on I'll sue you if you use my common-sense JavaScript tests
In my experience perhaps the only way of dealing with characters like David Marks is by completely ignoring their contributions.

He does, I agree, almost have a point. However, his lack of respect for those who spend time and energy contributing to these projects could (and will likely) drive away many useful contributors. "Feeding the trolls" is a dangerous game, much more so than avoiding the advice of a few David Marks.

The problem with this strategy lies in the fact that most open-source projects are large, open communities, where experts in a particular area useful to that project are likely not to be ignored. John Resig's response to the situation (in which he condemns the entire comp.lang.javascript usenet group) seems an extreme (but perhaps appropriate) response to this -- he's sending a very strong message to those who contribute to jQuery: "no more feeding David Mark".

(I would also agree that this Matt Kruse fellow seems to be going about things in an excellent sort of way. His response to Resig < http://groups.google.com/group/jquery-dev/msg/e93f9484cd5246... > was, in my opinion, spot on)