HNHacker News
TopNewBestAskShowJobs

latitude

1,791 karma · joined March 23, 2010

http://swapped.cc
submissionscomments
latitude··on The inside story of Lenovo's ThinkPad redesign
That'd be an obvious assumption to make, but I've been using both IBM and Lenovo versions and I frankly don't see much of a difference. Any concrete examples?
latitude··on The inside story of Lenovo's ThinkPad redesign
> Function keys now default to Media keys

It's been like that for a while now. There's a BIOS setting for that.

latitude··on The inside story of Lenovo's ThinkPad redesign
I hope they didn't epoxy that TCPA chip on the back of the motherboard - http://dribbble.com/shots/751583-Don-t-forget-your-password
latitude··on Ask HN: Are you running a web crawler off the following IPs? It's broken
Mods, stop it with the overzealous title editing, will you? Compare:

  HN: Are you running a web crawler off the following IPs? Fix it, it's broken.
to

  Ask HN: Are you running a web crawler off the following IPs? It's broken
This is not "Ask HN", I wasn't asking and I don't want it to come across as a question. If you feel like fixing capitalization, typos and punctuation - fine, but then stop. If you edit in a way that affects the tone and style of the title, then change the submitter name to your own! Because that title is certainly no longer mine.
latitude··on How to update a desktop app
There's no point in checking it. If another user is running an executable that you have full control over, then you can make him run anything you want anyways.
latitude··on How to update a desktop app
They probably use a proxy/stub process that uses the .exe that doesn't change often.
latitude··on How to update a desktop app
Took me a couple of days to figure this out, so I thought I'd share.

I also looked at the option of launching the program in a way that doesn't lock the .exe. For one, it's complicated. It requires creating a process in a Suspended state using a different executable, then basically gutting the memory of that process and replacing it with your own process copy, which needs to be fully preped with all imports and relocations taken care of, etc. In other words, it's pretty complicated.

But what's more important, the only type of software that employs this sort of process launching is the malware. In fact, the above method is derived straight from one of the viruses that made rounds a couple of years ago [1], and it was used by the virus to masquerade as a legit Windows process. So, in other words, you employ this sort of hackery in your program - you will quickly end up talking to anti-virus vendors about taking your software off their blacklists. It's a cool stuff, too bad it's off limits.

[1] http://blogs.avg.com/news-threats/puppet-process

latitude··on Show HN: now.sh
I know it's different, meaning that I have to do some basic arithmetics to get the log line age. It also requires me to roll my precious eyes to look at the local time in a system tray. It's just all too tedious.
latitude··on Show HN: now.sh
It's for the cases when you are in a different timezone than the server. When the log says "03/Mar/2013 09:24:13 -0800" and it's 13:50 where I am, it takes me a while to understand how old that line is.
latitude··on Show HN: now.sh
If I read ts source right, it merely prepends the current time to every line it echoes from stdin to stdout.

now is different. It re-prints current time once a second while waiting for the input. You basically get the running clock at the last line of output.

latitude··on Show HN: now.sh
huhsamovar, you are shadowbanned.
latitude··on Show HN: now.sh
1) Slow news day ... and this being an example of read's -t option put to a good use.

2) Ah, pedantic nitpicking, love it. Because the script is meant for interactive use with no streams redirected off the terminal, and because it doesn't output diagnostics or errors, but rather augments the stdout.

Or put differently - show me an example where writing into stderr would make more sense.

(edit) I guess someone can tee the output afterwards. Fine, I'll make it use stderr.

latitude··on Google is working on creating a new protocol named QUIC to replace UDP
> fake ipsec traffic

..., most of it, is filtered out by the replay protection at virtually no processing cost. The HMAC verification is not exactly a CPU killer either, even less so if there's some sort ASIC/accelerator involved, which won't be that unusual if there is an IPsec involved.

To not multiple the comments - what I said above about a single TCP packet obviously implies being on the route between the parties.

latitude··on Google is working on creating a new protocol named QUIC to replace UDP
No, not the MITM. A simple denial of service - I can terminate your TLS-over-TCP connection at will by sending a FIN or RST packet.

More generally speaking, I can alter the state of your secure over-TCP connection with an unauthenticated packet. Compare this to ESP where every packet that can potentially alter the state is first authenticated.

latitude··on Google is working on creating a new protocol named QUIC to replace UDP
I'll tell you a dirty little secret of the protocol design.

Say, you want to design a protocol with reliable delivery and/or loss detection. You will then have ACKs, send window and retransmissions. Guess what? If you don't follow windowing semantics of TCP, then one of two things will happen on saturated links - either TCP will end up with all the bandwidth or you will.

So - surprise! - you have no choice but to design a TCP clone.

[ EDIT ]

That said, there is a fundamental problem with TCP, when it's used for carrying secure connections. Since TCP acts as a pure transport protocol, it has no per-packet authentication and so any connection can be trivially DoS'd with a single fake FIN or RST packet. There are ways to solve this, e.g. by reversing the TCP and security layers and running TCP over ESP-over-UDP or TLS-over-UDP (OpenVPN protocol). This requires either writing a user-space TCP library or doing some nasty tunneling at the kernel level, but even as cumbersome as this is, it's still not a reason enough to re-invent the wheel. Also, if you want compression, it's readily available in TLS or as a part of IPsec stack (IPcomp). If you want FEC, same thing - just add a custom transform to TLS and let the client and server negotiate if to use it or not.

I mean, every network programmer invents a protocol or two in his lifetime. It's like a right of passage and it's really not a big deal. Unless it ends up attached to a brand name, in which case it starts attracting snarky remarks like this one :)

latitude··on Show HN: HN Frontpage Minus Techmeme
Wow, this is such a simple and elegant idea.

Might've been a bit more practical to build it as a story-hiding extension rather than a separate site. And I just happen to have such extension and... oh, look... it's under the BSD license... hint hint :)

[0] http://swapped.cc/iip

[1] https://github.com/apankrat/internet-improvement-project/tre...

latitude··on No Emails on Saturdays
I am too very curious about Fridays, but I suspect it would require getting the time of the day right too. Send it too early, and it's pre-weekend morning stress. Too late - and everyone's already gone for the day.

PS. I don't know why I picked (mod 5). Makes zero sense now.

latitude··on No Emails on Saturdays
"I went to kindergarten, I know how the alphabet works!" :)

Interestingly enough, nothing was happening on that Saturday. That I actually checked.

I obviously don't disagree that there's a lot of variables in play and some vary faster than others. What I meant by "10x" was that if the list were 20k subscribers instead of 2k for this particular experiment - what would've been the chance of the Saturday open rate jumping up.

latitude··on No Emails on Saturdays
What I wanted to share was the fact that there was a noticeable difference to begin with, so it's something worth paying attention to.

The exact pattern will depend on the audience. If it's VmWare emailing IT people, then the open rate is probably going to be the same through the workdays and zero on weekends. If it's some hobby stuff, then it'd be in reverse. For my particular project, it just happens that Saturday sucked, which is a good thing to know.

latitude··on No Emails on Saturdays
Excellent, I see.

So you are saying that if I had 10x the data, then the Saturday opening rate and the Sunday response rate could've been completely different?

latitude··on Halo Creator Unveils Its Next Masterpiece, a Persistent Online World
I wonder if game publishers/developers seek or accept external funding to back up a specific project?

From what I understand there are, for example, ways to invest in a motion picture, so it's not a big stretch to assume the same can be done with a game project.

latitude··on No Emails on Saturdays
OP's here.

A couple of things I forgot to mention in the post.

1. The numbers are based on hits through URLs with tracking information. Some visited and voted from the Twitter feed, some hit the base URL. This affects absolute numbers, obviously, but the %-ages should be about the same.

2. I also tallied up negative and positive votes, thought that perhaps people on Monday were more stressed and negative than on Sunday. But there were too few dislikes, so it's hard to make any conclusions -

         like    !like
  Sat     22       3
  Sun     44       3
  Mon     34       1
  Tue     34       1
  Wed     35       4
EDIT - I added raw emails/opens/votes data at the end of the Tumblr post, just in case.
latitude··on No Emails on Saturdays
Yep, Sunday had the highest number of pingbacks.

It's actually reasonable. This is an opt-in mailing list and subscribers are generally interested in the project, so if they are hit with a relevant update on their free time, they will respond.

(edit) The rationale behind "Tue/Wed" is that I value views more than votes. Agreed on std.dev., yet Saturday still stands out as the least performing day.

latitude··on Show HN: Quickly copy a file between computers
Try and add support for detecting piped input on the server side:

  bcp < filename
because this would allow for things like

  cat filename | gzip | bcp
with the receiving end doing

  bcp | gunzip > filename
Keep it as simple as it is now, but make it play nicely with other tools.
latitude··on Poll: Would you like to have "hide" button for stories
I wrote an extension that does just that - http://swapped.cc/iip

HN thread from 6 months ago - http://news.ycombinator.com/item?id=4373959

(edit) I should also add that I pitched the idea to pg about a year ago, never heard anything back. I pinged him again when I released the extension and didn't hear anything back either.

latitude··on PeerJS — True peer-to-peer data in the browser
Does WebRTC have any sort of extension mechanism whereby I can drop in my own version of NAT traversal logic?

Speaking from past experience, STUN and ICE are OK, but they got the whole process fundamentally wrong. They let the clients drive the traversal process. This is substantially inferior to letting a dedicated mediating server do that instead. I did that with one of my past projects and it helped with connecting peers in a large number of obscure scenarios.

latitude··on When One-Way Latency Doesn't Matter
I ran into this in the domain of networking.

Trying to deduce one-way path latency from the round-trip time ("ping") is impossible without further assumptions. You basically cannot understand if you are on a wire connection or if your uplink is via a sat by looking at just the ping output. You can try an bounce ping off multiple servers, relay pings and gather RTT properties over any graph path that includes your node and test servers, and yet you will always come one equation short for solving the linear system you'd end up with.

-- However --

If you make an assumption about some property of some path, then - boom - you can find the one-way latency for any edge on the graph. For example, if you have two test servers that sit on a backbone, you can assume the path latency between them is about the same either way. This gives you an extra linear for the system and this in turn lets you calculate the one-way latency between you and either of these servers.

It's a pretty neat problem. Makes you think, laterally.

latitude··on Trello uses an icon font and so can you
WOFF is a result of font foundries and online font services pressuring W3C to produce a browser-only font format. Something that cannot be save-as'd and dragged into the C:\Windows\Fonts. It is indeed somewhat optimized for the web use, but that wasn't the primary design goal behind it.

> I never had any problems with FontSquirrel.

Neither have I. Until 4 days ago :)

latitude··on Trello uses an icon font and so can you
I just went through a process of @font-facing a website for one of my projects and I have several things to add:

1. Don't bother with direct font editing. Instead use a vector editor like Inkscape [1] to save your icons as SVG and then convert them to a complete font-face kit with IcoMoon [2].

2. IcoMoon will also let you cherry pick icons from a large number of both free and commercial icon packs. This is a great starting point, especially at the sketching phase.

3. A better way to browse icon packs though is with Fontello [3]. Same packs, snappier interface.

4. FontSquirrel font-kit generator is really good, because it does a great job (re-)hinting TTFs so that they come out looking better in smaller sizes (10-14px)

  -- but --
There are fonts that FontSquirrel generator doesn't process correctly. It would happily spit out an @font-face kit, which will look normal most of the time. However on selected Windows boxes the font will render without anti-aliasing, naturally making it look like butt. It doesn't appear to depend on the Windows version (saw it happen on XP and W7) nor the browser (saw it on IE and Firefox). Also, same machines will render all other font-face kits just fine. I spent a couple of days chasing the cause, but then gave up because I found a simple workaround.

The workaround is to serve OTFs. Instead of specifying .eot, .woff, .ttd, .svg in your CSS, list .eot, .otf, .woff, .ttf, .svg. OpenType files are generally heavier, but they also compress better, so it's a wash in terms of a I/O hit if served over gzip'd HTTP.

In other words -

  +----------------------------+
  | Make sure to test the hell |
  | out of your font-face kits |
  +----------------------------+
To that effect, Adobe Browser Lab [4] includes a version of Firefox that exhibits above behavior. However, the Lab also includes a version of Chrome that pixelates all fonts, because it appears to run on a machine with anti-aliasing disabled at the OS level (yes, it doesn't make any sense, must be some sort of an inside Adobe joke).

So, the testing strategy is to get a proven font-face kit, like Open Sans, and check that both your font and this litmus font render well. If both look aliased, then it's the OS issue. If only yours does, then it's a problem with the font-face kit.

[1] http://inkscape.org

[2] http://icomoon.io

[3] http://fontello.com

[4] https://browserlab.adobe.com

latitude··on CryptoSeal (YC S11) Offers VPN As A Service
No, that's not the same.

Having a 5.x.x.x address assigned to your machine doesn't make all Internet traffic for that address go to your box. You either don't understand the concept of routing domains or you just feel like trashing Hamachi in general.

← PreviousPage 4 of 9Next →