Why Rust for Low-Level Linux Programming? - <AUTHOR> http://groveronline.com/2016/06/why-rust-for-low-level-linux-programming/ <comment><USER2> As a long-time developer marketing person, I must say Rust is kicking ass, not just as a language but as a community. They are deeply strategic.

1\. Clear audience target: They aren't going after C++ gurus or C magicians but people who are new to systems programming. From Klabnik to Katz to literally everyone in the community, they are consistent with this messaging.

2\. As part of 1, they have invested a lot in teaching systems programming 101 (heap v. stack, etc.), i.e., stuff that you learn in the first course in systems programming in college, but many self-taught, higher-level programmers might not know. This is a great example of authentic content marketing based on a clear strategy working out.

3\. Their community is very inclusive. My experience (as a marketing guy who barely remembers how to code) is that people are very helpful when you ask questions, submit a patch, etc. This has been the case for me not just with Rust itself but a couple of Rust projects that I've interacted with.

<comment><USER3> > developer marketing person

What is that?

> They aren't going after C++ gurus or C magicians

Don't they have anything to gain from using Rust?

<comment><USER4> A developer evangelist. Think someone doing a talk about new Java 9 features at a Java conference.

C++ gurus and C magicians already have invested too deep into their languages to throw everything away and start from zero.

For example I love Rust and play occasionally with it, but for the time being C++ is my native language on the job when I need to use a native language outside .NET or JVM.

I know it since the C++ARM "standard" and we depend on standard OS tooling that Rust is still catching up with.

The day will come when our customers will be able to do mixed debugging between JVM/.NET and Rust. Or produce COM as easy as C++ compilers do.

But these are things that beginners in systems programming aren't usually doing.

<comment><USER5> As a C magician, rust provides too many clear improvements over C to ignore it. I certainly don't feel like I am 'throwing everything away and starting from zero,' as much of my C (and other language) knowledge transfers over to rust.

I'm not a C++ guru, but I think modern C++ is powerful enough that it doesn't feel lacking in features compared to rust, like C does. There is less of a draw for seasoned C++ programmers.

Rust seems to be gaining a lot of momentum and I am becoming more and more confident that it will be regarded as a major language for embedded and general systems programming and possibly even a successor to C.

<comment><USER4> For me C was already lacking when I got to learn it in 1992 , because by then I was quite comfortable with Turbo Pascal 6.0.

Just check the feature list and type safety differences. The only advantage from C was being less fragmented than Pascal dialects.

So I became a C++ hipster (if that would be a thing in the 90's).

We used to have the same heat from C guys that C# and other language users nowadays have from systems languages.

Hence why I am always supportive of new programming languages that target the same use cases.

</comment></comment></comment></comment></comment><comment><USER6> I love C, but I think we really have to stop building all kinds of shared libraries in C. Important code which needs to be secure and solid can't be built on C anymore, it puts everybody at risk. Just look at the disaster OpenSSL has been.

I think Rust would be create for building common crypto infrastructure and things such as crypto currency. It seems risky to me to build something like Bitcoin with C++ where millions can easily be at stake if the system doesn't work.

I am an application programmer so I might not be the primary target, but I started programming with Swift and although it isn't the same as Rust it has some similarities. A lot stricter language than C++, C, Lua, Python and Objective-C which have have used most in the past. So many bugs are caught at compile time. I used to be skeptical towards static typing, primarily because languages like C++ and Java made types so awful to work with. But with the newer OOP languages with more functional inspiration, it is getting easier to deal with strict typing.

You don't have to chose between productivity and safety so much anymore.

<comment><USER7> > You don't have to chose between productivity and safety so much anymore.

Exactly. If I had to sum up Rust's philosophy in one sentence, this would basically be it. (Add "and performance" after "safety" too.) :)

<comment><USER8> Safe. Productive. Fast.

Choose any three.

(Taking a hint from SQLite.)

</comment></comment></comment><comment><USER9> Rather than writing for Linux in Rust, we need a new kernel written in Rust. I'd like to see a replacement for the QNX microkernel written in Rust. It's about 60K bytes of code, yet you can run POSIX programs on it. (You need file system and networking, which are user processes.) The QNX kernel is stable - it changes very little from year to year. There's hope of catching all the bugs. This offers a way out of "patch and release" OS development.

Yes, you take a 20% or so performance hit for using a microkernel. Big deal.

At one time, you could download the QNX kernel sources and look at them.[1] This would be helpful in getting the microkernel architecture right. It's very hard to get that right. See Mach or Hurd.

[1] [http://community.qnx.com/sf/sfmain/do/downloadAttachment/pro...](http://community.qnx.com/sf/sfmain/do/downloadAttachment/projects.core_os/wiki/BuildKernelWithIDE?id=atch1253)

<comment><USER10> L4.sec is already formally verified. So the microkernel is already done. You need the user land services to provide POSIX compatibility, and that you can possibly do in Rust.

<comment><USER11> [https://robigalia.org/](https://robigalia.org/)

<comment><USER10> Looks cool, thanks. They should take the opportunity to fix a few Unix/ACL security problems though, instead of just reproducing the same old POSIX quagmire. Make chroot isolation complete with plan9-like private namespaces, don't implement the traditional broken user/group security model and instead learn from the Polaris virus safe computing prototype (they're already partway there by using the capability secure seL4 kernel).

I would personally also want to eliminate a lot of the duplication in the POSIX API, but that probably won't fly. Can have your cake and eat it too.

</comment></comment></comment></comment><comment><USER12> Is there any reason why embedded software for autonomous vehicles is still being written in C/C++? This last week I was talking to a friend at a company that makes a small autonomous vehicle. During testing their prototype suddenly went off in a straight line. They had to pull a safety to halt the vehicle or it would have gone straight forever into the Pacific Ocean. Turns out there was an unsafe access to a variable in memory, which had not been caught with their software and hardware test platform, even with thousands of virtual sorties.

If their code was written in Rust, that sort of bug could not have occurred.

<comment><USER11> There's two reasons Rust might not be ready here yet. First, while LLVM supports a wide number of platforms, some embedded devices literally only support the exact version of the C compiler they ship to you, sometimes, it's even got its own custom patches. Second, we sort of assume 32 bits at the lowest, though we have a patch in the queue that starts some work on 8/16 bit support. This means some tiny micros are out of reach at the moment.

<comment><USER13> > we have a patch in the queue

If you mean this one[1], it's merged. Still lots of work to do, and even more corners where things will shake out[2], but there's definitely progress.

[1]: [https://github.com/rust-lang/rust/pull/33460](https://github.com/rust- lang/rust/pull/33460) [2]: [https://github.com/rust- lang/rust/pull/34174](https://github.com/rust-lang/rust/pull/34174)

<comment><USER11> Ah nice! I was unsure if the first had gotten through bors yet or not, and I was pretty sure the second one hadn't.

</comment></comment></comment></comment><comment><USER14> I'd like to be able to use something like rust, and maybe I will for smaller projects or for novelty sake, but I chafe over how slow compilation time is relative to C (not C++!) projects last I checked.

On the hardware of yesteryear, a parallel compile could build Postgres in about 45 seconds (750-1305KLOC, depending on measurement) , and user mode Linux (which doesn't compile so many drivers) in about a minute.

<comment><USER11> We've made steady improvements here, so depending on when you checked, it might be much better.

The real improvements will come when incremental compilation lands. The precursor requirements are just landing now; so it won't be immediately here, but it will be soonish.

</comment></comment><comment><USER15> Well, Rust is awesome, but there is a place for C too. I just don't understand lack of the life and no improvements in C for ages. Better typing system (for example _Generic doesn't know uint8_t, etc types - they are just typedefs), 'pure' keyword for functions without side effects, tuples support, deprecate a lot of the things and so on.

<comment><USER16> > I just don't understand lack of the life and no improvements in C for ages.

Well, MSVC still hasn't even fully implemented C99. One of the big draws of C, as I see it, is its wide support on many operating systems and architectures. If you're going to abandon that by using new C features, you might as well use a language with less cruft.

<comment><USER17> >Well, MSVC still hasn't even fully implemented C99

Neither does GCC. Both don't fully implement C11 either.

Most these features are either things C-Compilers don't need to support themselves. Namely: special integer types can be placed in libraries instead of compilers.

Also bounds checking interfaces are a performance loss and not included in C compilers despite them being part of the C11 standard. (Well they're optional)

</comment></comment></comment><comment><USER18> Performance. Rust is still twice as slow as C ([http://benchmarksgame.alioth.debian.org/u64q/performance.php...](http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=spectralnorm)) which is still a fair bit slower than if a skilled assembly programmer had taken on the task.

Rust aficionados will say that their compiler is getting better, but so is C. clang has gotten faster than gcc on some benchmarks and on some others gcc has catched up and is now faster than clang again.

But what if you don't need optimal performance? Then you can use Rust. But then you can also use Go, Python, SBCL, Haskell, Java, C#...

<comment><USER17> This difference on this test is caused by Rust not having stabilized SIMD support. Also Rust support hand rolled assembly (on nightly) that C has.

On non-SIMD tasks Rust/C are neck and neck [https://benchmarksgame.alioth.debian.org/u64q/rust.html](https://benchmarksgame.alioth.debian.org/u64q/rust.html)

You're just cherry picking benchmarks. In the cases you _care_ about raw number crunching power you'll likely be using a GPU not SIMD instructions as CPU's are roughly 3-4 orders of magnitude slower then GPU's at pure number crunching tasks.

Not that SIMD isn't important as it's instructions also cover things like AES, SHA1/2, Random numbers, Cache pre-loading/evacuation, memory fences, and fast loading paths. But so few programmers worry about these things you are really hitting a niche market.

<comment><USER18> > This difference on this test is caused by Rust not having stabilized SIMD > support. Also Rust support hand rolled assembly (on nightly) that C has.

Cool. Let's call that language with SIMD and inline assembly support FutureRust(tm) to differentiate it from the currently released and available Rust. We can have a discussion about how fast FutureRust will be vs C, but this discussion is about Rust vs C. Or rather clang 3.6.2/gcc 5.2.1 vs Rust 1.9.0 since language performance is very implementation dependent.

> On non-SIMD tasks Rust/C are neck and neck > [https://benchmarksgame.alioth.debian.org/u64q/rust.html](https://benchmarksgame.alioth.debian.org/u64q/rust.html)

In 5 of 10 benchmarks, C is twice as fast as Rust. In one of the benchmarks where it is neck and neck, like pidigits ([https://benchmarksgame.alioth.debian.org/u64q/performance.ph...](https://benchmarksgame.alioth.debian.org/u64q/performance.php?test=pidigits)) it appears to be so because both the C and the Rust variant are wrapping libgmp. GMP is written in C.

<comment><USER17> >In 5 of 10 benchmarks, C is twice as fast as Rust

fannkuch-redux why? SIMD

fasta-redux why? SIMD

spectral-norm why? SIMD

reverse-complement why? SIMD

N-Body why? Oh you guessed it SIMD

Seriously read the source code. Remember on HN where a lot of people constantly say the benchmark game is really crappy. This is why. All 5 of these tests boil down to raw FLOPS. Which C/C++ having access to SIMD instructions wins at.

The fact that Rust/C performance difference works out to just the ability to emit vector instructions says a lot about everything else in Rust. The fact that Rust can dereference, pass variables on the stack, call functions, and make decisions as fast as C renders your core point completely moot.

You are just being incredibly pedantic for no reason. And your argument holds no water. Everything Rust does is identical to C except one barely used corner case. They use the exact same model for computation, they both live in the Cee-LangVM. Post compilation they are functionally identical (except Rust makes stack manipulation easier).

Does any of that make sense to you?

:.:.:

Also Rust/C both calling the GMP without a time difference is a good thing. The Rust->C FFI is literally non-existent in practice. Dipping into C code from Rust (and vice versa) has no penalty. The same can't be said for HUNDREDS of languages.

<comment><USER18> Rust is also slower in binarytrees, regexdna and fasta. SSE is not one "barely used corner case" because huge amounts of performance critical code takes advantage of it.

Edit: To explain why I don't believe you when you say that "Post compilation they are functionally identical [in performance]" is because if it were so, you would just transliterate the C solutions to the Rust equivalents and it would run as fast as C. Since that hasn't been done and is trivial to do, my conclusion is that it doesn't lead to the same performance.

<comment><USER19> Did you know Rust was quite a bit faster than C in regexdna merely a few months ago? It didn't get slower because of Rust. The algorithms employed are radically different. My hope is that the regex library has already regained performance, but until the benchmark game is updated (which is on us, not the benchmark game maintainer), I suppose we'll have to suffer the pedants!

Or perhaps, you might look at single threaded performance and wonder, maybe there is something more interesting going on than a naive surface analysis of C vs. Rust! :-) [https://benchmarksgame.alioth.debian.org/u64/rust.php](https://benchmarksgame.alioth.debian.org/u64/rust.php)

And by the way, transliterating a regex library isn't trivial. I invite you to transliterate Tcl's regex library. Let me know how that goes. ;-) So I think your reasoning is specious at best.

<comment><USER20> > It didn't get slower because of Rust.

Do you mean the program became relatively slower because of changes you've made to the regex crate?

Wasn't the program relatively faster because you wrote the regex crate to use Aho-Corasick for the matches required by the regex-dna task?

<comment><USER19> > Do you mean the program became relatively slower because of changes you've > made to the regex crate?

Yes. The underlying reasoning is complex. When the regex crate got a lazy DFA (similar to the one used by RE2), the vast majority of regexes got significantly faster. Some got slower. This one in particular from regex-dna:

        >[^\n]*\n|\n

Before the lazy DFA, compile time analysis would notice that all matches either start with `>` or `\n` and do a fast prefix scan for them. Each match of `>` or `\n` represents a candidate for a match. Candidates were then verified using something similar to the Thompson NFA, which is generally pretty slow, but the prefix scanning reduced the amount of work required considerably.

Once the lazy DFA was added, the prefix scanning was still used, but the lazy DFA was used to verify candidates. It's faster in general by a lot, but, the lazy DFA requires two scans of the candidate: one to find the end position and another to find the start position. That extra scan made processing this regex (on the regex-dna input) slightly slower.

I've since fixed some of this by reducing a lot of the match overhead of the lazy DFA, so my hope is that it's back to par, but I haven't done any rigorous benchmarking to verify that.

> Wasn't the program relatively faster because you wrote the regex crate to > use Aho-Corasick for the matches required by the regex-dna task?

Aho-Corasick is principally useful for the second phase of regex-dna, e.g., the regexes that look like `ag[act]gtaaa|tttac[agt]ct`. (In the last phase, all the regexes are just single byte literals, so neither Aho-Corasick nor the regex engine should ever be used.) Performance here should stay the same.

On that note, I have a new nightly-only algorithm called Teddy that uses SIMD[1] (which replaces the use of Aho-Corasick for those regexes) and is a bit faster. I got the algorithm from the Hyperscan[2] project, which also does extensive literal analysis to speed up regexes.

To clarify, this optimization is generally useful because a lot of regexes in the wild have prefix literals. Even something like `(?i:foo)\s+bar` can benefit from it, since `(?i:foo)` expands to FOO, FOo, FoO, Foo, fOO, fOo, foO, foo, which can of course be used with Aho-Corasick (and also my new SIMD algorithm).

One also must wonder how well a C program using PCRE2's JIT would fair on the benchmarks game. From my experience, it would probably be near the top. It's quite fast!

[1] - [https://github.com/rust-lang- nursery/regex/blob/master/src/s...](https://github.com/rust-lang- nursery/regex/blob/master/src/simd_accel/teddy128.rs)

[2] - [https://github.com/01org/hyperscan](https://github.com/01org/hyperscan)

<comment><USER20> > One also must wonder how well a C program using PCRE2's JIT would fair on > the benchmarks game.

Let's hope some C and C++ programmers take up the challenge ;-)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> _Rust reduces the amount of state I need to keep track of in my brain._

I doubt it, the mental overhead of doing "safe memory programming" in Rust is very high.

Edit: all good replies, want to clarify and forgot to mention that I was comparing to languages with a GC, since I'm seeing Rust being used for lots of stuff, in a general purpose programming language sense (like creating web frameworks for example). Also, for non-very-low-level stuff I guess this cognitive load will be less if/when they introduce an optional GC.

<comment><USER22> Designing memory-safe programs in C requires a programmer to reason about the same domains as doing so in Rust, but C doesn't double-check you to make sure you get everything right. With no guard rails, C is a lot more stressful.

Re: reducing mental state for a programmer, algebraic datatypes in general decrease the size of the state space of your program by making many illegal states unrepresentable. Without advanced forms of dependent types (maybe quotients), you can't make _all_ illegal states unrepresentable, but you shrink the size of the state space hugely compared to writing everything as product types (as you would in C). A programmer has to reason about all the possible values their variables can take on, so it pays to minimize the cardinality of that set.

<comment><USER23> Why are we throwing away all the work done on static & dynamic analysis tools for C programs in this kind of discussions? Programmers are crippled just for picking C? Come on..

<comment><USER24> Because ultimatelty they're imperfect.

Sure, C+static analysis is good enough for many situations. But it can't compare with the guaranteed safety offered by Rust.

<comment><USER23> > Because ultimatelty they're imperfect.

Everything is imperfect, it's not a good reason to discount anything.</comment></comment></comment></comment></comment>


Which programming langs would you like to use if you can choice st different? - <AUTHOR>

Sorry for title I need to make it short: Which programming langs would you like to use if you can choice st different?<p>I've seen recently a very good article about a switch to Haskell programming language and find this very interesting. So, I wonder which programming languages would you like to use if you can choice something different, don't use C/C++/GO/Ruby/Phython/PHP/Perl/javascript? Not only in productive environment. In a hobby project too. <comment><USER2> I use PHP for my start-up, I would like to have used Python but the reality is that while I'm ok with Python I'd spent 3 years working every day with PHP plus Laravel solves most of my architectural problems with PHP.

In a really ideal world I'd love to use Go but while the language fascinates me as a one man dev team I pretty much stick to languages with large and "complete" available libraries (as they act as a force multiplier).

In the really long term is one of the purely functional languages though not decided on which.</comment>


Mastering Modern Payments: Using Stripe with Rails - <AUTHOR> https://www.petekeen.net/mastering-modern-payments?1= <comment><USER2> Either that was

a) one hell of a marketing stunt to launch your book on the same day as Stripe launching in the UK OR

b) you are one lucky man!

Anyway: Godspeed with your launch!

<comment><AUTHOR> Thanks! It was pure luck.

</comment></comment><comment><USER3> Grumpy old man thought of the day:

If Stripe is so easy, why do I need to buy a book and sample code?

<comment><AUTHOR> This comment (from someone who preordered early on) explains: [https://news.ycombinator.com/item?id=6217734](https://news.ycombinator.com/item?id=6217734)

</comment></comment><comment><USER4> I don't use Stripe or Rails but "Mastering Modern Payments" is something I'm very interested in. "Processing Payments with Background Workers" particularly rang home with me. We use PHP with Sagepay/Paypal so not sure how well it would benefit me? Would love something a bit more generic or indeed in more languages.

</comment><comment><USER5> Good job on the landing page! Clean, easy to scan, presents the purpose of the book very well. I had a bit of sticker shock when I saw the first price point, but then as I realized what it was really offering and that lower tiers were available, I think you got all the price points right where they should be.

</comment><comment><USER6> Bought a copy. The PDF has the end of every line cut off :/

[http://i.imgur.com/c4ZBUvq.png](http://i.imgur.com/c4ZBUvq.png)

<comment><AUTHOR> Yep, I'll have a fix in a few hours. Sorry about that!

<comment><USER6> No problem at all. The HTML version works just fine and I prefer HTML versions to PDF's anyway.

Looks fantastic for what it's worth! :)

<comment><AUTHOR> I uploaded a new version with the fixed PDF. Just click the download link in your receipt email and you should be good to go.

</comment></comment></comment></comment><comment><USER7> Just bought a copy. If you would like I can send you my thoughts on it. I've been looking for something like this for stripe for quite some time.

<comment><AUTHOR> Yes, please do! I'm going to be making periodic updates, so any feedback you send will get incorporated eventually.

Thanks!

</comment></comment><comment><USER8> This page feels awfully meta.

</comment><comment><USER9> Interesting, Nice work Pete!</comment>


Show HN: Aiochan – Golang-Style Concurrency for Python - <AUTHOR> https://github.com/zh217/aiochan <comment><USER2> Kudos on the fantastic docs:

[https://aiochan.readthedocs.io/en/latest/](https://aiochan.readthedocs.io/en/latest/)

<comment><AUTHOR> Author here - thanks, would be really grateful for any feedbacks on the docs. The tutorial there is aimed at beginners who have never done any concurrency programming before, and it would be helpful if anything that is not thoroughly explained is pointed out.</comment></comment>


Kit steals Mac login passwords through FireWire port - <AUTHOR> http://www.theregister.co.uk/2011/07/26/mac_password_stealer/

<comment><USER2> It's possible to do the same thing over thunderbolt too. Both protocols give you memory mapped access to the remote computers memory. You can read and write anything on the other system. Great if you're building a distributed system and want shared memory.

Not so great for the average desktop/server environment.</comment>


Show HN: Build an Inverted Pendulum Algorithm in the Browser - <AUTHOR> https://roboton.io/ranking/pendulum <comment><USER2> I'd love to check it out, but giving out personal information to access is a non-starter.

<comment><AUTHOR> This is fixed now. Just go to [https://roboton.io](https://roboton.io) scroll down I click 'Try Now' next to the pendulum challenge.</comment></comment>


Ask HN: I Got Deported from USA to Kenya - <AUTHOR> I was sent to Somalia when deported but came to Kenya thankful with a little bit of money from my mom to help me move out of Somalia. I'm homeless in Kenya.
I would like to get into UK I have aunt that lives there
anything I can do? I'm struggling I've lived in Seattle for 20 years now I'm living here I barely can find water to drink it's a different life that's for sure but I'm managing to survive. I made some mistakes in America that got me deported to this hell-hole.
Any advice will help in how I can get into Europe or Canada.Please no negativity I've paid dearly for my mistakes.
I got deported during trump administrations. I caught a  Robbery . I updated it. from 2008. But I wasn't deported at the time of the charge I've had other misdemeanors like selling drugs and DUI recently which got me deported <comment><USER3> This seems really odd for Hacker News. This isn't what the site is for -- besides theres little help available here because this could easily be a scam as are all "cries for help" on the Internet and mods should take it down.

<comment><USER4> Yeah I have to agree. It would be one thing if the poster were a known member of the HN community, or any adjacent community, but it's a brand new account. I don't think this kind of posting is sustainable.

<comment><USER5> It's possible this person is known to the HN community but would prefer to keep their identity private for this question however I agree with your sentiment, these posts should only be accepted in exceptional circumstances. There are other, perhaps even more beneficial places to ask for this kind of help.

I would genuinely like to know more about how this person is connected to this community or how they discovered it and what they thought this community in particular could assist with. Could you address that OP?

<comment><USER6> His brother posted a message 29 days ago. I don't expect both to be regular users hiding their identity [https://news.ycombinator.com/item?id=19592367](https://news.ycombinator.com/item?id=19592367)

</comment></comment></comment></comment><comment><USER7> Its highly unlikely you'll get to the UK as you have a record which will be visible to the UK authorities & fail the character test. If you apply i'd also advise you not to try and hide it as it would worsen the situation.

Have you considered Nairobi, it is quite a nice place and far from "hell hole". You would not have much trouble accessing it and it has a relatively good standard of life, good jobs and prospects.

</comment><comment><USER8> So much apathy in this thread.

This guy came to the US as a child (3 years old!), was educated in the US, became a criminal in the US, committed all his crimes in the US and the USA's answer to this is to deport him?

Come on, the USA made the criminal and they should deal with him. Why should Somalia or Kenya have him on their streets? They didn't turn a 3 year old into a criminal. You shouldn't be able to send your criminals to another country.

@OP, I would talk to a journalist as there's a story here. You may then be able to get pro bono legal advice to have your original deportation thrown out, or perhaps the ability to claim asylum as you should be able to.

<comment><USER9> The USA made him a criminal? I completely disagree.

The USA has many people with similar stories who did not become criminals and who were not forcibly deported.

This guy made some bad choices. I'd think he'd prefer Kenya to prison.

<comment><USER10> Many people can live in smog and not develop lung issues. That doesn't mean those responsible for smog shouldn't also be responsible for the people who do develop lung issues from it.

</comment></comment></comment><comment><USER11> With a criminal record it will be extremely difficult to get a visa, let alone residency, in Canada or the UK. You would need to get a pardon, wait like a decade from the time of your last conviction or find some other way to prove your rehabilitation. Those are pretty serious offenses and countries don't want to import liabilities.

</comment><comment><USER12> I don't appreciate your calling Kenya a hell-hole, after it gave you refugee shelter from Somalia.

After your criminal activity in the United States, I doubt the UK or even Kenyan authorities would allow you such status.

</comment><comment><USER13> I think you're better off trying to ask for information/help here [https://www.reddit.com/r/immigration/](https://www.reddit.com/r/immigration/) rather than on HN.

Good luck

<comment><USER5> This seems like a much better course of action OP.

</comment></comment><comment><USER14> You might try to enroll on an university degree, like bachelor or master. In many universities of Europe is free or like 200€ per year/semester. Then you can apply to accommodation aids and even other kind of aids for food etc.

Start a new life from zero, learning a job, also working (there are student jobs and also the traditional jobs). Luxembourg (where I'am right now) is pretty good for that, there are plenty of opportunities, you'll also be fine only speaking english. Learning languages here is also almost free.

Try to look something like that. Other interesting cities for that are Maastricht (netherlands) or maybe in Germany. Good luck.

<comment><USER15> Isn't Sweden offering asylum and it seems from his case can qualify for one? As he came to the US at 3 and still got deported now his survival is threatened as he only learnt how to live in a developed western world.

<comment><USER16> Asylum is not given simply for living in developing world.

<comment><USER15> I wasn't aware of that, thank you for the new info.

But isn't his life is endangered as the person lived on mineral water and clean air for most of his life in the US and how can he cope up with a much harsher environment there.

</comment></comment></comment></comment><comment><USER17> Kenya seems like a very liveable country:

[https://en.wikipedia.org/wiki/Kenya](https://en.wikipedia.org/wiki/Kenya)

Are you legally there?

Describing Kenya as a "hell-hole" sounds like a bit of a stretch. Although I do understand it's not nice to be homeless anywhere.

"I would like to get into UK I have aunt that lives there"

You are 30 years old. Why would you need any help from relatives? Take ownership of your life. Don't put as your life goal to find the next shoulder to lean on. I know it's hard to be physically separated from your family and friends and everyone you knew. But it's _your_ life.

</comment><comment><USER18> What is your skill set?

Try and get to a sustainable position as soon as possible (stable monthly money for a roof and food. No drugs). Maybe it involves going to another area or a nearby country. Maybe it involves getting a shitty job for a while.

As other said, it will be hard to get a visa for a while, so you will need to think if you should stay in Kenya or not. Work your ass for at least 5-8 years and maybe u can get a residency there + a paper that says that u have a clean record in that country. If things go well in Kenya, and you are stable for 7ish years u can apply for a citizenship. Once you are a citizen of Kenya (or any country you can have a stable life with no crime) you can try and change your name and get a clean criminal record certificate on that name. Then you can think of attempting to apply for visas.

Also once you have food and roof, I would suggest checking the online freelancer route. Making money online might be a good way to bump up your income while working locally, and with more money, more doors will open for you. Also online, people won't really care about your criminal record.

Good luck, and I hope you stay away from crime while attempting to get a job.

</comment><comment><USER19> That's messed up. Deporting somebody who has been in the country since they were a kid to a place they might not know anything about seems pretty cruel, regardless of your criminal history. After 20 years, you should be dealt with like any other citizen (however shitty that might be in the US).

On the other hand, I could see temporary deportation (with means to get back after some weeks / months) as an interesting punishment -> maybe realizing that not breaking the laws and working a shit job in the US beats scavenging for water in Africa..

Anyways, I have no advice for you, no idea what I would do in your position but I wish you luck.. hope you can get into UK or somewhere and start fresh.

<comment><USER20> > _beats scavenging for water in Africa._

Beats scavenging for water in _Kenya_.

This is a petpeeve of mine and for some reason I expected to see less of it on HN, not all of Africa is a hell hole where people have to scavenge for water.

I know I'm beating a dead horse with the "Africa is not a country" saying but it ircks me to see that subconsciously not many people are making that distinction.

<comment><USER21> OP themselves described where they currently are as "hell-hole" (OP's words).

<comment><USER20> Following the same logic, OP is on planet Earth then planet Earth is a hell- hole.

<comment><USER21> Are you being dense on purpose?

To quote OP directly:

> I made some mistakes in America that got me deported to this hell-hole.

OP couldn't be any more clearer by their current living situation and surroundings.

<comment><USER20> You seem to be the one being dense on purpose, your quote is precisely what I am talking about. He said that where he is is a hell-hole, that place being Kenya not the entire continent of Africa as the top comment says.

</comment></comment></comment></comment></comment></comment><comment><USER22> Looks like you will need a work visa for the UK - I don't think an aunt will work for a UK family visa: see [https://www.gov.uk/uk-family- visa](https://www.gov.uk/uk-family-visa) and [https://www.gov.uk/check-uk- visa](https://www.gov.uk/check-uk-visa)

This usually means you are a "skilled worker" and usually already have a job offer. There is a lot of pressure in the UK to prove that there is no one already in the UK able to do the work before a visa is possible (from what I understand - not an expert)

Your criminal past will be a problem whatever visa you go for though - <USER2> and selling drugs are not exactly something that is going to work in your favour. Some details here: [https://www.gov.uk/government/publications/criminal- record-c...](https://www.gov.uk/government/publications/criminal-record- certificate-requirement)

The mood in the UK is quite anti-immigration at the moment. Both from politicians and a large part of the public outside of the major cities (due to Brexit).

I am pro-immigration and I can empathise with your position and situation, but I'm sorry to say that even I would personally not be comfortable with someone with your criminal record (who has already been deported from one country because of their criminality) being allowed to come and live in the UK just because you have an aunt that lives here.

Good luck.

<comment><USER23> > The mood in the UK is quite anti-immigration at the moment. Both from > politicians and a large part of the public outside of the major cities (due > to Brexit).

It's the other way around - the politicians and brexit are merely reflecting the anti-immigration mood that people have, and have had in the past.

<comment><USER22> Quite right - I did not make myself clear. Brexit is the manifestation of the simmering discontent (rightly or wrongly) with immigration.

</comment></comment></comment><comment><USER24> Out of curiosity, how did you come to be in the US, and at what age? What is your native nationality?

<comment><AUTHOR> I came to US as a refugee left Somalia during war around 1992 I was young I'm 30 years old now.

<comment><USER25> Why you weren't naturalized during this period?

<comment><USER26> He potentially never sought it out. I mean, there are people who never bother to finish high school or their GED.

</comment></comment></comment></comment><comment><USER27> Are there any locals here that can shed some light on the Kenyan economy / job market? All I've done is to read a little bit from cursory googling but I'd be interested in what it's like and what the chances for an early 30s foreigner are, for bootstrapping themselves.

I wouldn't even know what to do in my own country, except try to acquire as high an education as I can manage while working (vocational training, parallel Bsc or something). If I get through the application process at that age.

From what I read in 15 minutes, the job market for white collar jobs in Kenya seems to be oversaturated and companies can pick from the mass of graduates. Yet skilled manual labor is something that I've read is lacking in training for specialist technical jobs, like plumbing, electrical installation, welding.

</comment><comment><USER28> You made some bad choices - that's unfortunate.

If you can't bring yourself to America or Europe - you should bring some America to Kenya.

Lead by example - find the water, don't rob it, and teach newly arrived deportees how to stay hydrated. As your group of stateless friends continues to grow - so too does your ability to positively impact your new Kenyan environment.

Remember -- life has brought you to this moment for a reason. Make the best of it. Make peace with being in Africa. Raise up your neighbors and together build for the future.

<comment><USER26> You either watch too much TV/shows or have never lived on your own. This is a ridiculous suggestion to anyone.

<comment><USER5> Why is this a ridiculous suggestion and would you propose something else?

<comment><USER26> Americans don't do well because they have good education and a good work ethic, they do well because the society around them have a good education and people with a good work ethic. You can't drop an individual in the middle of nowhere and expect them to thrive easily.

Tbh, I don't know what to suggest other than to try to find work and figure out a way to survive. What else can one do? Making a commune on the other hand sounds ridiculous when he probably can't even speak the local language.

<comment><USER10> I don't think a commune was suggested at all, rather making the best of your situation by trying to help others. It's a very good suggestion. Those things happen in TV and movies but they also happen in real life.

</comment></comment></comment></comment></comment><comment><AUTHOR> Why didn't I get some prison time at least instead of just sending me to a place I know nothing about? I lived in the US For 20 years for Godsakes trump is Evil person.

Are there any journalists I can tell my story too I'm stranded in a country I don't know 1 thing about. I think the way I was deported was Illegal too I went to county jail for a few days for some misdemeanor crimes and got hurried up into a plane out of no where heading to Somalia and just dropped in the middle of no where.

<comment><USER29> Canada and Australia also deport gangsters or career offenders back to India, Iraq and Somalia all the time who grew up here this is a common practice no journo would be interested in. Only way out is through education at this point. At least you can stay in Mombasa which is a pretty good city as way as developing countries go.

</comment></comment><comment><USER30> Well, if you have no money, you could try selling your story. If you contact the right people, you could make several hundreds of dollars. Publicity might eventually lead to help. Learn from your mistakes, and become a trustworthy person. Then you will have friends and a future.

</comment><comment><USER31> Your "mistakes" matter, because depending on their severity, people will be more or less likely to help you.

</comment><comment><USER15> just out of curiousity if that's not a secret, what did you which got you deported?

<comment><AUTHOR> Robbery . I updated it. from 2008. But I wasn't deported at the time of the charge I've had other misdemeanors like selling drugs recently which got me deported

<comment><USER32> You're unlikely to get help.

</comment></comment></comment><comment><USER33> I dont think you'll be getting any advice here when you fail to mention what you did to get kicked out.

</comment><comment><USER34> > Any advice will help in how I can get into Europe or Canada.Please no > negativity I've paid dearly for my mistakes.

A german right-wing army member managed to get official asylum status faking to be a syrian refugee despite not speaking a single word of arabic. So if your question is where are you most likely not gonna get caught due to goverment incompetence and lack of law enforcement, i'd suggest Germany. Enjoy.</comment>


Devnews: Read HN, GitHub, and Product Hunt - <AUTHOR> https://devne.ws/ <comment><USER2> Love it!

<comment><USER3> This is called a sock puppet. The submission was one minute old when a second account got registered just to praise the submission. Stop it.

[https://en.wikipedia.org/wiki/Sockpuppet_%28Internet%29](https://en.wikipedia.org/wiki/Sockpuppet_%28Internet%29)</comment></comment>


Release proposal: v2.0.0 (io.js) - <AUTHOR> https://github.com/iojs/io.js/issues/1532

<comment><USER2> Cool, looks like the url parsing bottleneck will be removed. This means io.js 2.0 should be surpassing node by 2x on some of the TechEmpower benchmarks (provided they add it to the tests).

Thanks petka :)

</comment><comment><USER3> So did io.js decide to turn down the proposal from the node upsteam folks to merge and turn it into a non-joyent controlled foundation? Seems sad to take so much brand and toss it down the toilet even if most of the development has moved to io.js.

<comment><USER4> I've been listening to the iojs technical committee calls and they're moving forward with that in parallel with new development. It sounds like they think the merge is likely, but not guaranteed, and it may be a months long process. So they don't want to stop development for that much time and wait for the merge to complete.

<comment><USER5> Diverging more, and obstensibly adding more value over the "baseline" node.js, gives the io.js committers more "leverage" in governance discussions. It also arguably reduces the chances of a successful reunification.

Still, it's a good thing overall. There's enough interest in Javascript that demand for a javascript application server isn't going away, and having a headline project that pushes the envelope is a way to keep innovation and interest in the ecosystem.

</comment></comment></comment><comment><USER6> Any idea about which changes motivated the major version bump?

</comment><comment><USER7> Superb, more competition for Node.js is a bonus for everyone.</comment>


An open letter to Cupertino about the App Store - <AUTHOR> http://infinite-labs.net/openletter/

<comment><USER2> An Open Letter To iPhone Developers:

1) Apple doesn't care about you, personally. No one knows you exist. They don't need you to sell iPhones. Even if they needed third-party apps (which is debatable), if you left the platform, there would be a hundred thousand more people scrambling to take your place.

2) You are presumably developing for the iPhone instead of doing, oh, Enterprise Sales because you don't want to do Enterprise Sales or you are not good at doing Enterprise Sales. _You are doing Enterprise Sales._ The Enterprise doesn't care about the product you're selling enough to devote more than 5 minutes a week from a call center in India to the deal. If you have doubts as to whether this is a good sign, consult with your local Enterprise Sales engineer and ask what stage in the pipeline he thinks you are probably in.

3) If you stopped developing for the iPhone and started developing web applications or desktop applications or, indeed, almost any other type of software, you wouldn't have to ask anyone's permission to sell your software or improve your software.

4) It seems that you're spending an awful lot of engineering time trying to get permission to market your software to people who think it is worth $2, on the outside. Here's a thought: how about spending that time actually marketing software itself, and charge anywhere from 15 to 500,000 times as much.

<comment><USER3> _If you stopped developing for the iPhone and started developing web applications or desktop applications or, indeed, almost any other type of software, you wouldn't have to ask anyone's permission to sell your software or improve your software._

Not everyone wants to write desktop or web applications.

My choice to work with the iPhone is a technical decision -- the hacker in me will stick with the platform because I love writing code for it -- at least until it's clear that it makes no sense for my business.

I'll continue to voice my concerns because I see the technical value of what Apple has created and the potential for Apple to improve.

If I were writing desktop applications, I would be writing them for the Mac, as well. I don't want to see Apple turn to the darkside, on the iPhone or otherwise.

[Edit] The downvoting to -0 on this comment and others in this thread is, in my opinion, entirely inappropriate. My argument is cogent, and if it doesn't match your worldview I might suggest that you attempt a cogent reply in return, rather than downvoting opinions you disagree into the negatives.

</comment></comment><comment><USER4> These postings get sadder and sadder every day. It's like this developer is dating a girl who's just not that into him and he doesn't get that yet: You left her 10 messages but she didn't call you back tonight. I'm sure she'll call you tomorrow. She was just busy.

<comment><USER5> Seriously (though I do think many developers raise valid criticisms and that the gatekeeper model of app development is unsustainable). "Open letter to Apple" yields >25,000 results in Google...I'm tempted to collect a bunch of them into a book, I figure they'd all buy a copy to see if theirs was included.

<comment><USER6> Good idea. Send it to Steve Jobs, though I doubt he would read it.

<comment><USER7> He'd respond with something like

      Your app was rejected, it's not that big a deal.

      Steve

      Sent from my iPhone.

<comment><USER5> I think we've found a new economic _perpetuum mobile_...I'll just monetize it with adwords and I'll never have to work again.

</comment></comment></comment></comment></comment><comment><USER6> I'm not even an iPhone developer (though I have been wanting to invest my time and learn). After reading this and the other articles, I'm discouraged, badly. I feel Emenuele's frustration without actually even having gone through the process.

<comment><USER8> I'm wondering why are people still developing for the iPhone when there are so many horror stories.

<comment><USER9> The answer is in the letter: "I prefer to be a coder — a maker — a builder of things." ... it's a great feeling to build things and know that thousands of people will use it.

The iPhone is a cool platform to develop for & the AppStore is where the audience is ... not to mention that making a little money on the side is always nice.

People are upset because Apple is taking a good chunk of their money and providing a piss-poor service in return. With the current state of said service relying on it as a professional is a bit of a gamble, but as a hobbyist I can live with it.

<comment><USER8> iPhone isn't the only smart phone. Before iPhone there were tons of Java games and applications for other mobile phones.

<comment><USER9> Yes, but Apple solved the "I'm too stupid to install apps on my phone" problem. Long-term bets are on Android I guess. I'm an iPhone developer but don't own an iPhone & my main phone is Android-based.

<comment><USER8> Are you working for someone else's company? I'm trying to figure how can you develop for the iPhone if you don't own one. Even if Bill Gates and Paul Allen managed to write a Basic interpreter (IIRC) without having access to the machine, most people prefer testing their application before offering it :-)

<comment><USER10> SDK

<comment><USER8> Yes, you can write the application with the SDK, but _proper_ testing requires a _real_ phone.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> An open letter to iPhone developers: everyone is tired of your fucking sob stories.

<comment><USER3> Then don't read them. I'm tired of the vagaries of Linux on my desktop, but I solve that by not using it.

<comment><USER11> _I'm tired of the vagaries of Linux on my desktop, but I solve that by not using it._

Yeah, because this is definitely the argument this article is about...

<comment><USER3> _Yeah, because this is definitely the argument this article is about..._

You're saying that your solution isn't to develop for Free Software platforms?

I apologize for making assumptions based on your comment history. If that's not your solution, then how do you propose we developers resolve our issues instead of voicing our complaints?

</comment></comment></comment></comment><comment><USER12> Just be sure to send a copy to Steve himself; he read all his personal email (probably answers very little), and his address is no secret.

<comment><USER13> I believe it, but has he commented publicly that he reads all of his email?

Edit: Apple employee kind of confirming: <http://slevit1.blogspot.com/2007/12/apple-called-me.html>

</comment></comment><comment><USER14> You have to hand it to Jobs, he knows how to market his stuff. Basically the more pressure he places on developers the easier it is for him to posture with "this has never been done before, iPhone is a first, these apps are a first" and it's only going to get better.

With the next product, the next innovation, the next introduction of course.

</comment><comment><USER15> What's the meaning of "open letter" in this context?

<comment><USER16> <http://en.wikipedia.org/wiki/Open_letter>

</comment></comment><comment><USER17> Germany made this mistake before World War 1. In an effort to enhance their security, they put a lot of effort into developing their military. This frightened all of their neighbors who banded together against Germany and went to war with with. So, in trying to enhance their security, Germany actually made themselves less secure. Apple is doing the same thing today with the App store. Steve, developers, not the customers, are the heart of the App store. Lose them and you'll end up losing it all. Don't be stupid, fix the App store and fix it soon. Our patience is almost gone.

</comment><comment><USER18> An Open letter is still a letter. At least format it right, then sound whiny!</comment>


Show HN: Juntoo – A tool for front-end devs and PMs to annotate web projects - <AUTHOR> https://juntoo.co/fd.html <comment><USER2> Hello, developer here.

Quick tech rundown:

This is implemented as a Google Chrome extension, i.e. it's implemented using web frontend tech, using a custom injected agent program injected into note- possible websites (= every URL that's not a browser-internal "page"). The UI is implemented in a React.js + Redux combination. It's authenticated by the slimmest possible Python + Flask web backend using OAuth2 via Google I felt I could get away with.

Post tech questions here if you're curious and I'll try to answer them or tweet at me (I'm [https://twitter.com/jacob414](https://twitter.com/jacob414)).

</comment><comment><AUTHOR> We built Juntoo for front-end devs & projects managers as a tool to use together and with other team members to manage visual feedback together in web projects in a different way than through screenshots.

With this tool, PM can stick comments with change requests to different DOM elements (so it also works on responsive designs) making it easier for the front-end dev to understand where and what needs to be changed.</comment>


Looking up "cache missing" on Google Images shows photos of Hillary Clinton - <AUTHOR> https://www.google.com/search?site=&tbm=isch&source=hp&biw=960&bih=1101&q=cache+missing&oq=cache+missing&gs_l=img.3..0i24j0i10i24.4019.5387.0.5522.214.171.124.0.0.0.182.1252.6j6.12.0....0...1ac.1.64.img..1.12.1249.XsGH954uxD4 <comment><USER2> I wonder if this is a Word2Vec side effect (or whatever internal algorithm they use for synonym search).

Cache => data => messages => emails

"missing" is a keyword of these stories anyway.

</comment><comment><USER3> This is unlikely to be intentional bias by Google, given that Eric Schmidt's startup is working for the Clinton campaign, the Google Ideas head has worked with Clinton on political matters (and used to work at the State Department with her), and Googlers are now in key positions in our Democrat- establishment-led White House.

So any weird choices to discredit her wouldn't make sense for Google to do. It's a funny little result though. It appears to be based on the article title: "US State Department Unsure If More Emails MISSING From Hillary Clinton CACHE" which has likely been a very popular, high-ranking article for those words lately.

</comment><comment><USER4> Missing cache of emails that is. Just search "missing cache" and you'll see even more of her.</comment>


Looker is hiring experienced Developers and Data Sleuths - <AUTHOR> http://looker.com/company/careers

<comment><USER2> I've been using looker a lot these past couple of months. Amazing product built by one of the strongest teams I've ever met. Would definitely consider joining if I was looking for something full-time.</comment>


How to remotely debug Java and JSP with Eclipse - <AUTHOR> http://www.jvmhost.com/articles/remotely-debug-java-jsp-eclipse <comment><USER2> ive been doing it for at least 8 years - how is this news?

<comment><USER3> I learned what jwdp stands for. Never bothered to research that.

As for remote debugging a hosted JVM, I would worry about opening a debug port like that to the interwebs. Doesn't this create another attack surface with which to undermine the JVM?

<comment><USER4> We use this most often to connect to a development environment which is running locally anyway, but you can achieve the same effect (without opening ports to the general internet!) with port forwarding over SSH; then you just connect to "localhost" on your selected port, which forwards to selected port on "localhost" on the remote server.

It probably goes without saying that you wouldn't enable this on production, in any case -- hitting a breakpoint wouldn't be nice to whoever hits it!</comment></comment></comment>


AT&T offers gigabit Internet discount in exchange for your Web history - <AUTHOR> http://arstechnica.com/information-technology/2013/12/att-offers-gigabit-internet-discount-in-exchange-for-your-web-history/

<comment><USER2> There's a slight positive aspect to this, which is that if consumers start to understand just how valuable this information is, they might start demanding their cut. In this case, in the form of cheaper service. That would cause a significant shift in the market as a whole; I wouldn't even try to do a full analysis but it seems to me likely to result in an improvement.

In addition to the moral and social implications of widespread privacy infringement that is the more typical line of HN argumentation, it's also offensive and corrosive that this value is being plucked from you without you having an opportunity to bargain like someone providing a valuable commodity, rather than as a degrading "eyeball". Some people may find $360 a year a worthy trade for their browser history.

<comment><USER3> I'm afraid it would go the opposite way—everyone chooses the cheaper, less private plans, then the company raises the prices and the ad-ridden plans eventually start costing the same as the old neutral plans, while the neutral plans (sold as "private" premium options) get premium prices - 5x what the ad- ridden plans (and the old neutral plans) once cost, etc.

<comment><USER4> If they can do that then competition will appear and will offer it for less... Nothing stop them from offering the current plan for 5x the price, except potential competition.

</comment></comment></comment><comment><USER5> And this is why HTTP 2.0 needs mandatory end-to-end encryption.

</comment><comment><USER6> Seems like a throwback to TV -- you pay for the service _and_ you get ads.

</comment><comment><USER7> What if I take the discount, then spend that money on a VPN?

<comment><USER8> A gigabit VPN?

<comment><USER9> Yeah, thats doubtful but you can run your own on a VPS (OpenVPN and DD-WRT router) and can push several hundred mbps no problem and probably closer to 500mbps; assuming the VPS is connected via gigabit.

<comment><USER10> This is exactly what I thought when I saw read this story. Just combine this gigabit service with an Amazon EC2 reserve instance.

<comment><USER8> Remember that EC2 charges $0.12/GB for data transfer so $30 only buys you 250 GB. I suppose if you used a spot micro instance and only sent not-already- encrypted data through it you could save money.

<comment><USER9> Linode, DigitalOcean, etc

</comment></comment></comment></comment></comment></comment><comment><USER11> I'd be willing to sell swaths of encrypted VPN traffic and the IP address of a data center in New Jersey for $29 a month

</comment><comment><USER12> It would be interesting to find out how they plan to implement the adds. If the adds are inserted into the web pages, I would think that content providers would have a good legal claim against AT&T for copyright infringement, if the adds replace the already existing adds, then copyright infringement and loss of profits.

<comment><USER13> I don't think it's very realistic to consider them doing that. The backlash would be immense, and there's no reason to do it in the first place.

All they have to do is work with existing ad networks. Then, when the user hits a page (the page already has an ad on it) and the ad network determines that the user is an AT&T subscriber, the ad is targeted using that data, and AT&T gets a cut.

</comment></comment><comment><USER14> There is an option to opt-out but if this thing is successful, in not too long opt-out will not be available.

</comment><comment><USER15> I'm very curious where you see the ads. Is there some forced viewing before browsing? Do they replace ads found on sites you normally visit? Will AdBlock work on these AT&T-delivered ads?

<comment><USER16> It's probably a back channel into existing evil ad networks.

Maybe like retargeting (just using existing ad space to show the same at 500 times a day), except all your private information will be logged at your ISP then sent to the ad platform without your intervention.

The ad platform will end up with a mapping of: Your IP => {Your Search Terms, Your Website Visits, Your Social Media Cohorts, Your Unencrypted Site Cookies, ...}

</comment></comment><comment><USER17> It wouldn't seem that difficult for nerds to game this. Randomized searches on Amazon and Google run occasionally in the background, while all real traffic passes through an encrypted VPN (the speed hit theoretically being negligible over fiber).

Still, most users will probably just shrug and accept it as normal, much like with Kindle "offers". Not exactly a positive trend-line.

</comment><comment><USER18> It's cute. Whoever signs up for it will make money for AT&T on ads. Whoever opts out will be closely watched by NSA because you know, you opt-out :)

</comment><comment><USER19> 30% off for your personal info... when the competitor price is free (also for your personal info).

att really believes uverse tv will be that good of a differential competing against free?

</comment><comment><USER20> It seems like they're testing out new pricing models - doubt this will stick. BUT I applaud the use of testing in these situations! Pricing is sooo tuff.

</comment><comment><USER21> Where are the ads? Are they just going to insert at the top of every webpage I load?

</comment><comment><USER22> Can I target their users with ad for https everywhere?

</comment><comment><USER23> I'd rather pay the $29/mo more.

</comment><comment><USER24> Payed for by your friendly NSA.

</comment><comment><USER25> Conversation somewhere in Austin...

Billybob: Yo Jimbob! AT&T says they'll cut my bill $30 if I let them track my Googly searches.

Jimbob: Well dang! Sign us both up Billybob. They're already spying on us anyways, so let's get paid for it!

<comment><USER26> This person has never been to austin.

<comment><USER25> Yeah, well, I lived in DFW for awhile and traveled around the state during that time. Close enough for my comfort.

<comment><USER27> If you really had lived in DFW you would know we're more dignified here. JimBob and BillyBob are far to informal, it's JimRobert and BillyRobert if you please.

<comment><USER28> Indeed, I am living near Austin and addressed by my cousins as John Robert, thank you very much.

<comment><USER25> My Northern ears aren't delicate enough to have picked up on those semantics. All I remember is Ya'll this and Ya'll that, cinnamon seasoned beans and rice (from some place my dad loved to eat at in down town Dallas) and lots of beer basted brisket.

For bonus points, I've seen Slacker. That should count for something.</comment></comment></comment></comment></comment></comment>


Show HN: Backblaze-b2 is a simple java library for Backblaze B2 - <AUTHOR> https://github.com/Alelak/backblaze-b2 <comment><USER2> Awesome. Needed this.

Id add the option to upload block segments of files, and not just complete files.

<comment><AUTHOR> Glade you liked it! Thanks for the suggestion! I will be looking into it.</comment></comment>


Tech's High Barrier to Entry for the Underprivileged - <AUTHOR> https://medium.com/backchannel/techs-high-barrier-to-entry-for-the-underprivileged-da254356547d

<comment><USER2> Yes, poorer people are less likely to have the time and resources needed to learn to code. But compared to practically any other discipline, programming is extremely accessible. It only requires a computer, internet access, and time. 85% of the US population has internet access, and (as Sam Altman later says[1]) libraries are available for the less fortunate. Compare that to biology. Or chemistry. Or mechanical engineering. Or becoming a plumber. If you are poor, all of these are harder to learn than coding.

Maurice's story is inspiring, but his bulleted list isn't the only way to become a programmer. Mentors are helpful, but they're certainly not required to learn programming. Ditto for entrepreneurship programs or hacker bootcamps or college education. The only really necessary things are (again) a computer, internet access, and time. Everything else is for widening the funnel. Beneficial? Yes. Worth funding more? Certainly. But not required.

Really, I think the post misses Altman's point. If you read the whole discussion stemming from the original tweet, it's pretty clear that he: 1. Is talking about this in the context of increasing immigration. And 2. Is in favor of more aid for domestic coding education.

In short: They agree vehemently, but Altman's just being honest about the relative difficulty of learning to code.

1\. [https://twitter.com/sama/status/549746694900813825](https://twitter.com/sama/status/549746694900813825)

<comment><USER3> _> 85% of the US population has internet access_

Right. We're talking about the people more likely to be in the 15%.

 _>...and (as Sam Altman later says[1]) libraries are available for the less fortunate. Compare that to biology. Or chemistry. Or mechanical engineering. Or becoming a plumber._

That seems a little disingenuous or at least dismissive. You really can't compare the experience of learning to program on your own laptop, where you can install your own software and work in the comfort of your own home, to a public library that you have to walk to 30 minutes each way in a cold and dangerous neighborhood, to use a machine that is probably 10 years old and requires you to use internet explorer and prevents you from installing anything at all.

In fact, if it were really that easy to learn programming on the web, then it should be just as easy to learn biology or chemistry or mechanical engineering. The information is all on wikipedia-- there's even web courses on Coursera that people can take that are taught by some of the best lecturers in the world. You can even fill in gaps in your K-12 knowledge via Khan Academy.

 _> Mentors are helpful, but they're certainly not required to learn programming._

I'm going to say this is just false. I do not know anyone who is a competent programmer who has never interacted with someone else. I _do_ know plenty of people who have tried to learn how to program and given up because they got stuck and couldn't figure out how to get to the next level. Having that mentor there is crucial even for the most determined individual.

 _> The only really necessary things are (again) a computer, internet access, and time._

This is exactly OP's point. The kid in this story has none of these, except the time component. And as he gets older and has to work his way through college, that free time is going to shrink even more while he has to compete with people who are increasingly better prepared for the courses he's in.

I think overall that coding is simply easier than the other disciplines you're comparing it to. People who learn "how to program" are not learning computer science, in the same way that people teaching themselves how to cook meth aren't learning chemical engineering. They're both just people who are motivated to learn a specific skill that is in high demand and lets them see the product of their work directly and immediately. The quality of that work though will suffer if they don't receive a more well-rounded education in the general field, which is much harder to receive without mentoring, time, money, and all the other conveniences of middle class life.

<comment><USER2> You've written a lot of text, and I don't have time to respond to all of it. I think, like O'Neill and Altman, we agree vehemently on a lot, including what should be done to help the disadvantaged.

Where we disagree, I think the disagreement is mostly due to definitions and life experience.

With regard to definitions: The article talks about tech's high barrier to entry, yet as I pointed out, it seems to have one of the lowest barriers of any profession. If you still want to say tech has a high barrier to entry, then you must also say the same for chemistry, bio, plumbing, hairdressing, and music. Unlike programming, one can't learn those skills with just a computer and internet access. They require hands-on work with chemicals, instruments, specialized tools, and other apparati. In contrast, the only physical device required to learn programming is a computer. Everything else is software.

With regard to life experience: I learned to write C and Perl on a 486 at school. I could only use it before and after classes. It had no internet access, though I did have the right books to consult. I didn't have a computer at home until the middle of high school, when I bought one with money from a summer job. I had no mentors. Later, my brother learned Python and JavaScript on his own. Again, no mentors or teachers. I wouldn't say I'm great at writing code, but I make a living as a software engineer. My brother could do the same, but he's more interested in math.

In a nation of over 300 million people, you'll always be able to find some people who are SOL. And of course we should help those people. Organizations like Codestarter[1] are doing great work. But when it comes to learning programming, most Americans today have better opportunities than my brother or I did. This includes spare time. The average American spends hours every day watching television or browsing Facebook.

So if most have the opportunity, then why is the supply of programmers so low? I think, more than anything, lack of interest is what keeps people away from tech. To most people, programming looks as fun as filling out a tax return where all fields must be answered in Latin palindromes. It's boring, tedious, and frustrating beyond belief.

1\. [https://codestarter.org/](https://codestarter.org/)

</comment></comment></comment><comment><USER4> I volunteer tutoring underprivileged middle/high school kids in math and programming. People might be surprised how little effort it takes to help out with this sort of thing. And it's one of the most rewarding things I've ever done (I don't think I've ever written a more cliche comment, but it's true).

I'm actually working on a game-engine/teaching-aid for the class right no. I could use some help if anyone's interested. [https://github.com/Glank/PACGameDev](https://github.com/Glank/PACGameDev)

</comment><comment><USER5> Oh man the feels.

Being poor works against you in many ways - but one of the worst things that it does is blind you to what you can accomplish. If you don't have a view of that, it's hard to set out with the ambition to achieve anything. Nevermind that being underprivileged you need an order of magnitude greater ambition to succeed in the first place.</comment>


Has Facebook already cut a deal with Google? - <AUTHOR> http://valleywag.com/tech/online-advertising/-311045.php <comment><USER2> Well, it seems that the only AdSense adds on Facebook are those on some third party apps. Unless the third party app in question is owned by Facebook (I'm not a big facebook user, especially not a facebook app user so I'm not sure) I don't see why this would be an indication Facebook cut a deal with Google. Last time I checked they were serving primarily MS adds.</comment>


Ask HN: I am forced to write awful code What do I do? - <AUTHOR>

So the story is: I got a new job as a PHP web developer at a rather respectable digital studio in UK. I was very enthusiastic about this one but now, after 3 months, I am building and maintaining websites using  a CMS built in 2005. The code is far from being up to standards, MVC being something that I can only dream about.
To have an idea about the code I am going to tell you that we have a PHP class called dbConfig which stores database credentials. This class is then extended by a DB class which has query functions and other functions that deal with data retrieval from the db. This class (DB) is then extended by a class called front-end which has some functions that generate forms and escape inputs. this class (front-end) is then extended by a Cart class that deals with user logic and creates a sort of a fully functioning shopping cart (amazing i know!).
All this badly implemented inheritance is topped up by the fact that global variables are used throughout the site/app. It is an awful procedural codebase (at one point it even uses magic quotes). Everything single job becomes a bodge job. If I have to change something it then creates an error in a totally different part of the website.
I have suggested that we move towards a MVC framework or something that will help with this horrible dependencies and will probably decouple most of the things, so that code maintenance would be easier. Sadly, it seems that the company is more interested in spewing up websites and cashing in the money (from some rather big international clients) than in creating better quality software.
Now that you know my situation.. here comes the question: What should I do? How can I speed up the transition to a development process that is up to the industry standards? (did I tell you that we still deploy apps with FTP and have htaccess authentication for the web administration area??) I am sure that there are some developers among you that have been in my situation at one point in their career... so what did you do? How can I say this to my boss? I don't want to be responsible for crappy websites that pollute the internet, I don't want to keep on bodging code.... but at the same time, I don't really want to change my workplace (it's well paid, close to home, etc. etc.)
Thank you all, and... I'm sorry for the rubbish I upload every day! <comment><USER2> I was in a remarkably similar situation, PHP dev who worked for a large UK agency. I held it out for a year, slowly refactoring the code, but the biggest problem was it was a home made CMS they used, which was badly fragmented across 50 ish sites. So when I improved the code on one site, I couldn't just drop that code into all the other sites...

Long story short, I quit and went freelance, best decision I ever made :)

My advice to you would be that (unfortunately) it will never be considered cost effective in management's eyes to rebuild the existing sites in a decent CMS / Framework. But you should at least be able to get them to use modern dev standards on any new builds, or complete rebuild of existing sites.

</comment><comment><USER3> Others have offered good advise so far, so let me try to not sound too redundant.

The first and foremost thing you must understand is that each code base has a personality of its own. Code bases, like people, change over time but they rarely deviate from their core character. And the more money that code is making for someone, the more resistant it grows to change.

So, the thing is, don't put so much of your identity on it. It is not personal and it is not about you. In due time you will have chances to try your hand and build something from scratch, but until that day comes you need to work with other people's code in order to learn what approaches are feasible and where the pitfalls are.

In this particular case, only you can decide if the current code base is so much of a mess for you to bother. But you owe to yourself to give it another try, this time from the perspective that you want to make it not perfect, but as good as it can be. Once you have given an honest try to assess the potential of this system, and can explain in detail why that is negligible or non existent, you may look for the next job with a clean conscience.

<comment><AUTHOR> Hmm.. you make a very good point. I haven't looked at things from this perspective before. Thank you!

</comment></comment><comment><USER4> I've been in a similar situation.

I found another developer with the same feelings about our (lack of) code quality as me and we put our desks opposite each other. This allowed us to exchange ideas and implement them in a positive environment. This worked well, and we quickly improved our deployment and testing practices.

But refactoring the code was harder. Developers that had been there 10 years knew that starting to pull at X would break Y, so they were afraid of change. Of course they had experience to avoid most problems, and this knowledge was what made them valuable to the company. At any other company they would have been sub-par developers.

Our improvement progress slowed down. We got tired of having to work really hard to get to the most basic industry standard, which were still far from stuff we could be really proud of.

In the end we both quit, and it was the right decision.

If you feel you have the support from other developers to make a change to your situation, then stay and do it with energy. But otherwise just move on, there is no point in wasting your time when there are so many better places.

</comment><comment><USER5> What does this company want? Money. Why they hired you? To help them make money.

If you can align your interests (write better code) with their interests (make more money), you may have a chance to rewrite the code. :)

Prove them that refactoring the code can help you create more sites faster. With more sites in less time, they will make more money.

</comment><comment><USER6> This situation sounds painfully familiar. Ultimately it comes down to whether or not you can find someone with enough influence that will support you.

A few tips:

1) Build demos and/or sneak in good code when you can. There will always be a subset of people that can appreciate good code once they see it working, increase your chances of finding those people and converting them to the cause.

2) Do not overwhelm them (them being veteran developers and management). You will scare them if you talk about starting from scatch or major overhauls. This is a battle of incremental changes, technically and culturally.

3) Don't burn yourself out. Its a daunting and draining task implementing the kinds of changes you're talking about in an organzation that doesn't want or appreciate it. If you can't find the right support, its ok to give up. If you do give up keep in mind that YOU didn't fail, you're just not in the right position or in the right organization to make it happen.

</comment><comment><USER7> Make the argument that a rewrite in MVC would be an investment in a more extendable and flexible system, i.e. a plugin system could be created to allow the same CMS to provide more bespoke features such as a readily available blog or shop while being much more maintainable. A solid base to build on while saving money in the long run, this is something they could jump on board with.

Or

Make the security argument, a procedural system the size of CMS and site running on it ->could<\- be riddled with security issues especially as developers are acknowledging that any addition is a bodged job due to global variable etc etc. If they are dealing with larger clients this should concern them enough.

Also if you're lucky enough to be deploying to PHP 5.3 using closures (<http://php.net/manual/en/functions.anonymous.php>) can save a lot of hassle when dealing with procedural code.

</comment><comment><USER8> tldr; It sounds to me like you are in the wrong job. You are obviously keen to write good quality code in a modern-ish framework/paradigm.

\---

You have to realise that the company you are working for now might be suffering from industrial inertia - also, unless you are privvy to their financials, you probably have no idea of any pressure they are under to make ends meet. In general, selling something that you've already sunk costs into is more cost-effective than writing something new and then selling it, so if their primary objective at the moment is to make money and they have a system that is working, they will probably keep pushing it. It is rare, though not unheard of, for a company to be so developer focussed that they will undertake a wholesale refactor of their code base if it is currently bringing home the bacon. Also in something very old and convoluted (as you've said pull on one part and another part will collapse), refactoring is often less time-efficient than simply writing it from scratch. Ask yourself "if I manage to refactor this into a best-of-breed code, will I be enjoy putting the time and effort into it on a daily basis? or will it just be an albatross around my neck every morning until it is done?"

Consider your goals - you could consider staying at the company and learning about the business end (i.e. actually selling the software), maybe make some valuable contacts - that's a good goal but it might not be the right goal for you. If you currently just want to write beautiful code, then find somewhere else to work - perhaps a more greenfield development without legacy code.

edit to add a potentially relevant link on stackexchange that i've just come across: [http://programmers.stackexchange.com/questions/155488/ive- in...](http://programmers.stackexchange.com/questions/155488/ive- inherited-200k-lines-of-spaghetti-code-what-now)

<comment><AUTHOR> I agree with you, the business oriented solution is to push the old CMS as long as they can, to squeeze as much cash out of it as possible.

Anyway... that stackexchange question has some very good answers. Thanks for sharing!

</comment></comment><comment><USER9> Do you have any tests in place? (I'm assuming not). You've got to get tests in place before doing such a major refactoring. Read the book "Working Effectively With Legacy Code" for a good starting point.

<comment><AUTHOR> Good point. I'll start with this tonight [http://www.objectmentor.com/resources/articles/WorkingEffect...](http://www.objectmentor.com/resources/articles/WorkingEffectivelyWithLegacyCode.pdf) and if it goes well I'll give the book a try. Thanks!

</comment></comment><comment><USER10> Write code, get paid, learn, teach the willing, move on when it's right.

Learn? Of course. There's a huge difference in asking people here what to do in your situation, compared to living your situation with open eyes and mind. You'll be much better able to avoid _creating_ situations like you're in now, after having lived it. Hint: it wasn't caused by poor coding practices.

</comment><comment><AUTHOR> Just an update:

It seems that in 3 weeks or something like that we will be moving in new offices.... And there is a promise for improvement... probably this is the best time to kill off the old home-made CMS and replace it with a framework! ...

PS: Thank you all for your responses... it's a good feeling that I am not the only one that was in this situation.

</comment><comment><USER11> Like many others here, i've been in the same situation, and like many others here, I also made the decision to quit.

In my opinion, when things have reached this point its time to go, there is nothing more you can do there.

Even staying there for the money is ultimately a self defeating decision.

</comment><comment><USER12> refactor, refactor, refactor. one bit at a time.</comment>


I think Google just hoarded my "deleted" Fitbit data - <AUTHOR> Here's my conspiracy theory: Google wrote a script to export data from "deleted" Fitbit user accounts, but forgot to disable functionality linked to the related auto-emails.
Timetable:
11/1/19 @ 11:14am: Received "Confirm your Fitbit data export request" email (I requested this export manually)
11/1/19 @ 11:23am: Received "Your export has begun" email (after I logged in and confirmed)
11/1/19 @ 11:58am: Received "Your export has completed" email
11/1/19 @  1:16pm: Immediately after deleting my Fitbit account, received a confirmation email stating: After 7 days: Your account is frozen and can't be recovered
<comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-
11/11/19 @ 10:38am: Received "Confirm your Fitbit data export request" email (I did not make this request, and can't even log into Fitbit)
11/11/19 @ 10:38am: Received "Your export has begun" email
11/11/19 @ 10:38am: Received "Your export has completed" email </comment><comment><USER2> Check the message id's to see if it is in fact the same email you are seeing again.

Also check any id's in the URL for differences - if there is no difference in the confirmation code, then it's an old email being resent, possibly because some mail server on the route didn't correctly ACK your message.

<comment><AUTHOR> The URL id's are different, I don't see any message id's.

<comment><USER3> In your mail client if you hit "Show original message" or "View message source" or something similar you should be able to see a Message-ID header on the raw MIME email message itself.

</comment></comment></comment><comment><USER4> Apparently lots of people did over on r/fitbit : [https://www.reddit.com/r/fitbit/comments/duu705/was_fitbit_j...](https://www.reddit.com/r/fitbit/comments/duu705/was_fitbit_just_hacked/)

</comment><comment><USER5> Alternatively the bug is that the final script to delete the data also sends the same emails.</comment>


Isaac Newton's Personal Notebooks Go Digital - <AUTHOR> http://www.wired.com/wiredscience/2011/12/isaac-newton-papers/ <comment><USER2> I am very glad to see the images available, and am sure that a lot of very good work was put into the scanning and transcription, much less the political fight that eventually allowed the rights to the expensive scans to be made public.

That said, it is a bit sad to see yet another manuscript viewing UI in yet another siloed archive. More specifically:

\- There is no way to link to an individual page, so while the manuscript is "online" it is not addressable as part of the linked web. Scholars who write about the manuscript will be unable to link to a specific item or to share linked-data with one another.

\- How long will these URLs be valid? "<http://cudl.lib.cam.ac.uk/view/MS- ADD-04004/> seems like the sort of thing that might get changed at the next departmental reorganization or database change.

\- When viewing the manuscript, the hidden "contents" tab is far more valuable than the open "introduction" tab, and by default each manuscript is opened to page 0, which usually requires about ten manual page turns before landing at even the title page.

Some things that would be very nice to see in this field:

\- An accepted metadata format or REST protocol for manuscripts, so that we could use a viewer of choice

\- An inventive scholar to write digital scholarship that comments on these manuscripts using the full power of hypertext to link pages together, trace themes or ideas through different parts of the text, compare proof or notation methods between different texts in the corpus.

<comment><USER3> Is this under copyright? If not, then someone should just download the whole thing and reupload it in a more accessible format.

<comment><USER4> The Cambridge University Library claims copyright on the images, however they do offer this license:

"Images made available for download are licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License (CC BY-NC 3.0)"

So there's no reason why someone couldn't do exactly what you suggest. (Unfortunately, the images you can download seem to be much lower resolution than the ones they're hosting.)

<comment><USER5> The images you download are 1400x2000px, which seems reasonable.

The zoom feature gives you access to image tiles. From a quick look, these are 258x258px images, named [http://cudl.lib.cam.ac.uk/content/images/MS- ADD-04004-002-00...](http://cudl.lib.cam.ac.uk/content/images/MS- ADD-04004-002-0000<page_number-2>_files/13/<column>_<row>.jpg)

Or something like that anyway.

It also uses something called Microsoft DeepZoom ([http://cudl.lib.cam.ac.uk/content/images/MS- ADD-04004-001-00...](http://cudl.lib.cam.ac.uk/content/images/MS- ADD-04004-001-00002.dzi)), and is powered by a Json manifest ([http://cudl.lib.cam.ac.uk/json/MS- ADD-04004.json?_dc=1323748...](http://cudl.lib.cam.ac.uk/json/MS- ADD-04004.json?_dc=1323748616915&page=4&start=3&limit=1))

Enjoy.

</comment></comment></comment></comment><comment><USER6> Israel's National Library holds another collection of Newton, composed of his notes on matters non scientific: mostly alchemy and theology.

Scans of which were recently made available online at [http://dlib.nli.org.il/R/?func=collections&collection_id...](http://dlib.nli.org.il/R/?func=collections&collection_id=785). 6 (but it seems as if there's some problem with the website ATM.)

</comment><comment><USER7> Newton has been an inspiration. There was a famous quote by him that always stuck by me: "If others would think as hard as I did, then they would get similar results."

<comment><USER8> I highly doubt Newton said that. That's a modern, post-romantic way of thinking. Moreover, it would have been hugely impolite in the 17th century.

<comment><USER9> You highly doubt a revolutionary figure said a radical thing because it would have been considered impolite/revolutionary/radical?

Newton was in a world of his own; he, along with a few select others (Lock, Descartes and others), are in large part responsible for the Enlightenment. The very Enlightenment this statement characterizes so well. Even if he didn't say it (I cannot find the source, but I have read this quote a number of times in various papers), it is very much the kind of statement he would make.

<comment><USER8> No, it isn't, for the same reason Newton didn't wear his hair like Elvis. No one invents his own culture. This has nothing to do with how radical Newton's ideas were or how great a genius he was. It has to do with what cultural forms existed at the time. You have to get to figures like Byron before this kind of statement makes sense (and my bet is that this one comes from later even than that).

However, I'm no scholar of the 17th century. Prove me wrong. If Newton said something that sensational, it won't be hard to track down. I didn't search for it like I usually do before making these claims, so your job should be easy.

<comment><USER9> Hard work as a means to success is hardly a post-romantic invention. Newton was very much a student of Aristotle, the teachings of whom we can see very much aligned with the statement in question.

In that light, would you also doubt these verified Newtonian quotes that suggest similar thinking? "If I have seen further it is only by standing on the shoulders of giants." "Truth is ever to be found in simplicity, and not in the multiplicity and confusion of things." "If I am anything, which I highly doubt, I have made myself so by hard work."

<comment><USER8> The first quote is proverbial, and Newton certainly said it, but the phrase dates from the 12th century ([http://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_gi...](http://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants)) and is not part of Enlightenment tradition. Quite the opposite, in fact: it comes from the medieval tradition of abasing yourself before the ancients. So no, it doesn't resemble the disputed quote at all.

The second is not familiar to me, but it is 17th century language and does sound like something Newton would say. But it's irrelevant here. He's talking about nature, not himself.

The third is much closer to the disputed quote. But I don't believe Newton said this either. You know who said things like that? Horatio Alger. So let's see a textual source in Newton's works before accepting it as evidence.

Here's a helpful trick. When you Google a quote and the first page consists entirely of junk like this:

[http://www.google.com/#sclient=psy- ab&hl=en&source=h...](http://www.google.com/#sclient=psy- ab&hl=en&source=hp&q=%22If+I+am+anything%2C+which+I+highly+doubt%22)

... that's a sign that the quote is bogus.

<comment><USER9> I looked for the "sign that the quote is bogus" but missed it. Maybe results that have 5 million hits are bogus? Maybe results that have relevant links are bogus? I can enter all sorts of valid quotes from both current and historic figures into Google, and obtain very similar results. ("Ask Not What Your Country Can Do For You", "A man should look for what is, and not for what he thinks should be", "A man who dares to waste one hour of time has not discovered the value of life.") I fail to see how that adds anything to the discussion. Neither do I see how the fact that Newton restated, rather than originated, a particular idea, helps your argument.

Also, please inform me as to how this statement relates to Lord Byron. Nothing I've read of Byron would favor him as the statement's originator over Newton. I can't help but think of this scene from Good Will Hunting when I read your replies [http://www.youtube.com/watch?v=ymsHLkB8u3s&t=1m56s](http://www.youtube.com/watch?v=ymsHLkB8u3s&t=1m56s)

<comment><USER8> Hey, this isn't a competition. We're just talking about an interesting historical question.

Maybe one point deserves clarification.

When you Google an authentic quote by a very famous person, a precise textual citation is usually locatable through one of the top results (or something it links to). Therefore, when you Google a quote by a very famous person and nothing but quotespam sites come up, the quote is probably bogus.

I've never seen an authentic quote that fails this test. If anyone can find one -- that is, find a quote by a very famous person, the first page of Google results for which is all quotespam, but which nevertheless is an authentic quote as proven by a real textual reference -- I would like to see it.

<comment><USER5> Searching books.google.com for the quote is very useful too.

<comment><USER8> Indeed it is, especially with the inauthor tag, as in:

      inauthor:"Isaac Newton"

Google Books is an amazing resource. Would there were a way to get the full text of everything.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> direct link: <http://cudl.lib.cam.ac.uk/collections/newton>

</comment><comment><USER11> pretty cool! 20 bucks says that someone makes an ipad app of this.

<comment><USER12> That would be a great app - but there would be hundreds of MBs of images for one of his books. Not sure if there's a size limit in the app store.</comment></comment>


IBM Used NYPD Surveillance Footage to Develop Technology to Search by Skin Color - <AUTHOR> https://theintercept.com/2018/09/06/nypd-surveillance-camera-skin-tone-search/ <comment><USER2> They've been working on this together since at least 2007 and NYPD claims they stopped in 2016. (One person interviewed talks about focus in these sorts of programs changing around 9/11, but it isn't clear if he means this IBM/NYPD program began before then.)

There was a similar program in Chicago that ran 2005-2013.</comment>


A Question of Character (of APL) - <AUTHOR> http://www.britishaplassociation.co.uk/a-question-of-character/ <comment><AUTHOR> My one line summary: domain specific notations are tools of thoughts.</comment>


Blockchain 101 – Elliptical Curve Cryptography - <AUTHOR> https://eng.paxos.com/blockchain-101-elliptical-curve-cryptography <comment><USER2> The author incorrectly calling them "elliptical curves" is like nails on a chalkboard. An "elliptical" is an exercise machine or an adjective used to describe something shaped like an ellipse. The set of points in a field satisfying an equation of the form y^2 = x^3 + ax + b (which set, when enlarged to include the point at infinity and associated with the point addition group law, forms an abelian group) is an "elliptic curve".

<comment><USER3> Maybe they'll modify it.

Paxos is an enterprise private blockchain snake oil company, but nobody there even knows it. When asked how they solve problems X, Y and Z, it turns out they have a blog article about how they haven't invented the solution yet. Tall order. Maybe commissions on their itBit exchange will keep them solvent enough to keep trying.

</comment></comment><comment><USER4> This is an _excellent_ and rare ECC primer in that it's aimed at software developers not mathematicians. I know what python looks like, whereas I don't know every mathematical symbol. Bookmarking.

<comment><USER5> weird i would have thought the other way around would be better... more people know maths than pythons

<comment><USER4> Not at university level, where you'll get most of the symbols you'll see in a typical crypto primer.</comment></comment></comment>


Election Time - What it means to be an American - <AUTHOR> http://www.melonakos.com/2010/10/27/election_time/ <comment><USER2> From a European perspective, this stuff is deeply disturbing. I'm not entirely sure what the blogger's stance is, but I have some hope left that he's going for irony here.

<comment><USER3> I doubt he's going for irony, but like the US Ruling Class (a current favorite term for them is the "Gentry Class") there's no particular reason to expect you, a European, to understand American Exceptionalism.

They and you weren't taught it, and therefore without some research you're not going to be able to comprehend what's going on over here, what this latest Great Awakening labeled the Tea Parties is all about, etc.

Although if you think about what America did _and didn't_ do in WWII and afterwords in Europe you might get a few clues (e.g. compare our "Empire" to any other in history).</comment></comment>


Show HN: Waywords – An anagram word game built with Flutter - <AUTHOR> Hi all,
I just released my own twist on the anagram solving genre which I've been working on during the lockdown. I've been inspired by other word games such as Text Twist, Wordscapes and a 9 letter target game published daily in my local paper.
Compared to Wordscapes specifically, I've found that you're forced to play a lot of easy puzzles before you get to more interesting longer words. So my version's difficulty increases quickly and has a larger number of 7+ letter puzzles to solve later on.
The game was built using Flutter which I quite enjoyed working with compared to working on Android apps in the past. Especially in terms of its declarative design, async features in dart, easy animation support and hot reloading. I was able to get an app out quickly on both Android and iOS.
Would love any feedback. Hope you like it. <comment><AUTHOR> Trailer: [https://youtu.be/eGuxoi_vUIQ](https://youtu.be/eGuxoi_vUIQ)

Android: [https://play.google.com/store/apps/details?id=com.betterwith...](https://play.google.com/store/apps/details?id=com.betterwithlasers.wordwhiz)

iOS: [https://apps.apple.com/au/app/waywords/id1513301225](https://apps.apple.com/au/app/waywords/id1513301225)</comment>