HNHacker News
TopNewBestAskShowJobs

no_protocol

1,145 karma · joined September 16, 2016

submissionscomments
no_protocol··on An idea for encrypted, verifiable voting
Right, it's important that no one else would be able to know how you voted.

Perhaps the election commission would also have a paper receipt with a different unique key.

Then both your receipt and the county's receipt would be necessary to locate your vote on the blockchain. Then vote verification could be restricted to the same level of privacy as when voting takes place.

no_protocol··on An idea for encrypted, verifiable voting
A third party can now pressure you to produce your secrets to verify who you voted for. This is not possible in the current system: as long as the final tally reports at least 1 vote for the person you claim to have voted for, no one can prove your claim wrong.

"$5 off your next purchase if you can produce a receipt for candidate X!"

"You must vote for X if you wish to join my organization."

no_protocol··on Work/Life Balance Will Make You a Better Software Engineer
Flexibility like this is amazing for individuals who desire it. I'm in a similar position.

I'm not so sure it would work well if I had teammates that needed constant interaction.

no_protocol··on What if something like the Morris Worm never happened?
> The appropriate analogy is probably something like fake check scams. Illegal, but difficult to trace and likely to lead to a dead end.

Oops, I actually jumped topics for the final paragraph and was making an analogy about scanners trying random passwords on a known port, or similar.

no_protocol··on What if something like the Morris Worm never happened?
Has a ransomware or botnet perpetrator been convicted of a crime in any country?

Morris was convicted under CFAA, it's surprising to me that it isn't a "regular" thing to hear about another hacker getting convicted on a daily basis. What are the reasons this doesn't happen? I understand they can hide their identity, etc., but are there even active investigations? Is there a single biggest reason why, like not being able to prove which person caused something to happen?

I don't really like real world analogies for computer systems, but if there was a big line of people in masks knocking at my door and trying 100s of different keys in the lock, 24/7, I'd probably seek some legal remedy rather than just getting more locks.

no_protocol··on Algorithms and Data Structures: Trie (Prefix tree)
It is refreshing to see a data structure "explained" without a drawing of some boxes and arrows. +1 there for the creativity -- I'd be even more pleased to see a data structure explained with words without relying on images at all.

Also:

  ...to check if a word exists in the text file, it takes
  at most, as many operations as the length of the word
  itself. Much better than the 235,887 operations it
  was going to take before.
But your source for the words (/usr/share/dict/words) is probably already sorted! I don't think that's a fair upper bound to quote.
no_protocol··on Ask HN: Have you ever thought of leaving programming for something else?
Anything involving pragmatic problem solving. Keep the mind occupied with varied tasks and satisfied by frequently delivering solutions. Skip the intricacies and subtleties of dealing with software.

There are so many people performing repetitive tasks who could benefit greatly from relatively small optimizations. I would be able to directly witness the impact of my work and make a difference on a personal level. It's hard to do this in software because the landscape changes so quickly.

It would also be super fun to practice apprentice-style learning in multiple fields and document/share everything.

no_protocol··on Subtracting large floating point numbers in different languages
Short, but seems an appropriate response given the lack of explanation in the linked article.

IEEE 754 double-precision (64-bit) can only represent even numbers in the range 2^53 to 2^54.

Haskell lets us look inside them fairly easily:

  > exponent 9999999999999999.0
  54
  > significand 9999999999999999.0
  0.5551115123125783
  > exponent 9999999999999998.0
  54
  > significand 9999999999999998.0
  0.5551115123125782
  > 2^54 * 0.5551115123125783
  1.0e16
  > 2^54 * 0.5551115123125782
  9.999999999999998e15
no_protocol··on Quick fix for an early Internet problem lives on a quarter-century later (2015)
> HTTPS isn't as simple as HTTP, C++ isn't as simple as C, democracy isn't as simple as monarchy

Right, none of those have led to obsolescence even with long periods of time to grow.

Instead, think of replacements that have caused something to basically just disappear.

I'm not convinced this is the best example, but I think it helps get my point across. This is from a user's perspective, not a manufacturer's. Maybe someone can share better examples from software if these aren't appropriate.

When a new type of cable connector enters the market, it has to be at least as simple as the old one or do something more than the old one did. Serial or parallel plugs have screws to help hold the cable in place, newer plug types like FireWire or USB don't need the screws, so they are simpler. Now we are seeing new types of plugs that work "upside down" so they are even simpler for consumers to use.

I guess a better example might be media distribution. From a user's perspective, the compact cassette was just as simple to use as the 8-track. Or BluRay replacing DVD replacing CD.

Would high speed internet be as popular if it required a time consuming arcane ritual to establish a connection, compared to the simple bleep bloop of a dial-up modem?

So if you want the users of BGP (network operators) to switch to something better, make it just as simple for them to use, while providing additional benefits. Yeah it isn't easy, but it's certainly been done in other arenas.

no_protocol··on Quick fix for an early Internet problem lives on a quarter-century later (2015)
> BGP won out because it was simple, solved the problem at hand and proved versatile enough to keep data flowing as the Internet doubled in size, again and again and again.

So if you want to replace it, make something that is equally simple and solves the new problem(s) at hand without un-solving the original one. If you don't do that, people have no incentive to switch.

It sounds like the (vaguely described) new alternative is more complex. If it was better for business, things would have gravitated toward it quickly.

no_protocol··on How to contribute to an open source project on GitHub
> Don't just create a fork, branch, and submit a PR without context. First, make sure the intent of your change is actually desired.

I think all that matters is that the change is something you want. If no one else has any need for it, you can continue using it as long as you wish to maintain your fork.

It's great to collaborate and share ideas before you start working, but if it's something you need, you'll do it even if everyone else says it's pointless.

no_protocol··on A.I. accurately predicted the full baseball post-season back in July
Nothing about this seems to add up.

They claim they made the prediction in early July, but link to a newspaper article dated 4 August that indicates the predictions were made just one day earlier.

They picked the team with the best record all season long to win the championship. They got one of the division winners wrong.

Just publishing the current favorites from MLB.com's probability page [0] as of 3 August would have also gotten 9 of 10 postseason teams correct, including going 6/6 on division winners. So the 'knowledge' of fans voting actually did worse than a monte carlo simulation.

I'm not impressed.

There's no way this should be considered predicting the "full baseball post-season," and I am not seeing any evidence that it happened in July. Wish they'd have shared it.

[0] http://mlb.com/mlb/standings/probability.jsp?ymd=20161002

no_protocol··on Containerising Legacy Applications – The Clean and the Dirty Approach
> Just Don't. Leave it the fuck alone.

Reminds me of a passage from "Working Effectively With Legacy Code" by Michael Feathers. The book is about dealing with those times when you absolutely must make changes to that old system.

This is from the end of Chapter 1:

  It's tempting to think that we can minimize software problems
  by avoiding them, but, unfortunately, it always catches up with
  us...In poorly structured code, the move from figuring things
  out to making changes feels like jumping off a cliff to avoid a
  tiger. You hesitate and hesitate. "Am I ready to do it? Well,
  I guess I have to."
no_protocol··on A Random Walk Through Ada (2014)
GNAT
no_protocol··on Launching Our Crowdfunding Campaign
They do have my email address, but I'm glad they did not (yet) use it to ask for money.

  If you provide an email address to Let’s Encrypt when
  you create your account, we’ll automatically send you
  expiry notices when your certificate is coming up for
  renewal. We send the first notice at 20 days before
  your certificate expires, and more notices at 10 days
  and 1 day before it expires.
no_protocol··on Launching Our Crowdfunding Campaign
The stats page appears to work for me. It shows the certificates jumping from 5M to 10M in the month of October.
no_protocol··on Launching Our Crowdfunding Campaign
What It Costs to Run Let's Encrypt

Sep 20, 2016

https://letsencrypt.org/2016/09/20/what-it-costs-to-run-lets...

On HN: https://news.ycombinator.com/item?id=12541383

no_protocol··on Minoca OS: A new open source operating system
Minoca was previously posted about 6 months ago [0], but it was not open source at the time.

I guess this is kind of like a re-release after not generating much buzz and seeing a lot of comments asking for open source.

[0] https://news.ycombinator.com/item?id=11662057

no_protocol··on Minoca OS: A new open source operating system
I ran `cloc` on the minoca/os repository, here are the results:

  github.com/AlDanial/cloc v 1.70  T=22.43 s (84.3 files/s, 63498.9 lines/s)
  -----------------------------------------------------------------------------------
  Language                         files          blank        comment           code
  -----------------------------------------------------------------------------------
  C                                 1023         296251         262652         530443
  C/C++ Header                       438          93833         117592          69529
  Assembly                            95           9588           7773          13383
  make                               270           2236           6402           4784
  Bourne Shell                        38            799           1198           2787
  JSON                                 4              4              0           1367
  Pascal                               4            232             28            718
  Python                               4            194            257            589
  yacc                                 2             99              4            481
  awk                                  3             25             11            263
  Markdown                             3             27              0            172
  Windows Resource File                3             18              0             86
  lex                                  2             44            142             84
  Perl                                 1              7             10             35
  -----------------------------------------------------------------------------------
  SUM:                              1890         403357         396069         624721
  -----------------------------------------------------------------------------------
no_protocol··on Publishers Are Rethinking Those ‘Around the Web’ Ads
I don't have any data beyond what a web search would get you, but from past reports I have seen, somewhere between 20% and 40% of web users block ads.

I use an ad blocker on my desktop but not on mobile.

no_protocol··on Museu de la Tècnica
This link seems to provide a more readable version of the story:

https://twitter.com/i/moments/792044988842598400

It doesn't require readers to click 'more' or wade through other users' comments.

I don't know much about Twitter, can someone explain why there are two views like this?

no_protocol··on Git from the inside out
You're not. It's really good. Comprehensive and clear.

I wish more projects had an 'official' reference that was as good as git's.

no_protocol··on Git from the inside out
I like the writing style and the scope of the piece. Well done.

I kind of wish there were at least mentions of git plumbing commands where appropriate, to shake off one more level (half a level?) of magic. For example, just link to some information on `git hash-object` in the section on `git add`. Footnotes would probably be enough. No need to bog down the relatively quick pacing. Sometimes it can be hard to discover which plumbing commands correspond to the actions mentioned.

Most git tutorials come with diagrams of blobs and trees and branches with all the arrows and color coding. They get the meaning across but often seem to come with a bit of a mental disconnect from what is actually happening in the working directory and .git directory. Does anyone know of a tool to display that kind of diagram in real time while you are making commits or checking out new branches? It could bring an extra level of interactivity to the presentation. Imagine if the graphs on this page were updating live while you had to type the git commands to get them to update AND you could monitor the filesystem at the same time, showing exactly which files were changed by the command.

no_protocol··on Applying the Linus Torvalds “Good Taste” Coding Requirement
> it only performed 256 loop iterations, one for each point along the edge

alarm bells

There are only 252 points along the edge. This code will act on each corner twice. If you were performing an operation like `+= 1` on each edge element, this code would be wrong. When you copy and paste it later and change all the `= 0` to something else, you might end up with an unfortunate surprise.

Once I saw this mistake in the 2nd code example, I guessed it would also appear in the 3rd one. Sure enough, it does. This is just as unsavory to me as the original code.

I'm not sure if the author is here or not, but if you are, can you see the fix?

no_protocol··on IPFS-Screenshot – Like Cloudapp but with IPFS
Looks like a Show HN. Can you update the title?

Sharing screenshots quickly sounds like a useful app. I'm interested immediately.

I've never used IPFS so when I see the installation steps list things like "install IPFS" and "start IPFS daemon," I'm scared to actually take those actions. I just wonder what this is going to do to my system. Is it going to be running a web-accessible service?

vague idea of what IPFS is leads to more questions

Can I remove content after publishing?

Do I have to have the daemon running forever?

Is it like pastebin for images? Am I anonymous or not?

etc.

Because of those types of questions, I haven't actually tried it out yet, but this seems like a good opportunity to package up a 'program' that people can just 'run' on their computers. If you're relying on an existing network that any party can enter, the program just works and you don't have any infrastructure. Am I on the right track here?

I'm not really looking for answers to any of those questions, just pointing out what thoughts I have after reviewing your project. If I wanted to know the answers, I would go spend a while learning about IPFS.

If the author is still here, I am wondering what benefits/drawbacks using IPFS has compared to, say, a shell script that uploads images to your own server and places the link in your clipboard.

no_protocol··on Impossible Coin in Super Mario 64
The exploration and reasoning here is like a detailed report on a science experiment. I liked the layout of the presentation from noticing an incongruity to explaining exactly what was happening. Then the video surprised me by putting forth a hypothesis on why the 'world' was the way it was.

It has benefits over real-world experimentation because the fundamentals of the system are known and everything can be observed. No messy approximations are needed. Most guesses can be confirmed. But then we still end up with an unconfirmed hypothesis about how the situation came up in the first place. Reasoning is presented but there's no way to confirm it beyond asking...the creators.

The tooling used to recreate certain game situations is like a magical testing apparatus that doesn't really exist in the real world.

no_protocol··on How I make $400 a month in Passive Income by Self-Publishing
I have spent more than 10 hours on a single online post multiple times.
no_protocol··on Formal Verification Creates Hacker-Proof Code
[Audio]

Edit: Link was originally a podcast that auto-played. Has since been updated to a written content link.

no_protocol··on HP’s new Spectre x360 is probably the best PC laptop around
Now that you mention it, I realize I've definitely used mac laptops without this happening! So it's all in the drivers, I guess?
no_protocol··on HP’s new Spectre x360 is probably the best PC laptop around
> the Synaptics touchpad is very wide

How do people type when the trackpad is very wide? I find myself constantly moving the mouse to different parts of the screen on a Dell laptop I have occasionally used for work.

← PreviousPage 6 of 8Next →