Live video from a fishing boat in New Zealand - <AUTHOR> https://www.betterfish.co/ <comment><AUTHOR> Sorry, everyone - Karl is not fishing right now. I'll submit again when we are out on the vessel tomorrow and you can watch him do a haul.

<comment><USER2> What did the fish say when he posted bail?

"I'm off the hook!"

sorry, it's almost 4 am and I had to drop a fish joke in here.

</comment></comment><comment><USER3> Not much happening, but at least I get to see sun and daylight in late spring live from where I am, where it is dark, night and almost winter :)

<comment><USER4> Here you go - a local beach - its always sunny, all..the..time [https://www.coastalwatch.com/surf-cams-surf- reports/qld/cool...](https://www.coastalwatch.com/surf-cams-surf- reports/qld/coolum)

<comment><USER5> Nice choice of beach! I would've also accepted Rainbow Bay ;)

</comment></comment></comment><comment><AUTHOR> This link is helpful too. [https://amp-tvnz-co- nz.cdn.ampproject.org/c/s/amp.tvnz.co.nz...](https://amp-tvnz-co- nz.cdn.ampproject.org/c/s/amp.tvnz.co.nz/news/story/JTJGY29udGVudCUyRnR2bnolMkZvbmVuZXdzJTJGc3RvcnklMkYyMDE5JTJGMTElMkYyOSUyRmhhd2tlcy1iYXktY29tbWVyY2lhbC1maXNoZXJtYW4taW5zdGFsbHMtbGl2ZS1jYW0tb24tYm9hdC10by1lZHU=)

<comment><USER6> And here without the whole AMP garbage:

[https://www.tvnz.co.nz/one-news/new-zealand/hawkes-bay- comme...](https://www.tvnz.co.nz/one-news/new-zealand/hawkes-bay-commercial- fisherman-installs-live-camera-boat-public-get-close-up-look-industry)

Edit: I'm not blaming you, I know how annoying it is to get back to a "regular" URL, especially while being on mobile.

<comment><USER7> Heh. I was skeptical but yep, loads almost exactly as fast on my phone.

</comment></comment></comment><comment><USER8> Why not just use twitch.tv for something like this? I'd be much more likely to watch if i could follow there.

<comment><USER9> I'd love the idea of "Twitch goes fishing", where viewers vote to control the boat (heading, speed, the crane, etc).

"Oh look! There's a storm coming from the East!"

Captain and seamen onboard panic as they watch the Twitch input stream.

</comment></comment><comment><AUTHOR> Heading out to fish now...

</comment><comment><USER10> This article gives some context [https://www.theguardian.com/world/2019/sep/12/ship-of- horror...](https://www.theguardian.com/world/2019/sep/12/ship-of-horrors-deep- sea-fishing-oyang-70-new-zealand)

<comment><USER11> That is a tragic story, but it has nothing to do with this submission.

<comment><USER12> The context is that live streaming should prevent abuse of this sort.

<comment><USER13> That isn't context unless this video stream is a direct result of that story.

<comment><USER12> But it is, no? Why livestream a fishing boat if people weren't concerned about working conditions on them?

<comment><USER14> Not the work conditions, it's about quota and by-catch management.

The government is rolling out mandatory cameras in areas inhabited by a critically endangered dolphin.

<comment><USER15> Actually it's about fishing practices; how fish is caught, handled and processed. It could be used for quota management, health and safety, and to see what happens with bycatch (very interesting cod end here). In reality shows how hard working these people are and how dedicated they are to their industry.</comment></comment></comment></comment></comment></comment></comment>


The Magazine: now with full-article sharing, web subscriptions - <AUTHOR> http://www.marco.org/2013/02/24/the-magazine-sharing

<comment><USER2> I wish him much success. Its hard to keep a small business profitable.</comment>


Maersk IT systems infected with ransomware - <AUTHOR> https://twitter.com/Maersk/status/879679584282738688 <comment><USER2> I worked a Maersk for a couple of years. This happened once before, we came in and all Maersk's machines were randomly shutting down.

I heard later a rumour that the reason the AV didn't pick it up was it was a 0-day (stuxnet derived before that was known) and it was literally targeting the SCADA systems on boats.. but that's also the plot of Hackers, so take that with a pinch of salt.

Anyway being the build/devops/tooling person on a project i burned 40 dvd's with eclipse and ubuntu and handed to them to the devs and they booted into Ubuntu and kept developing.

All was going fine until i got a telling off from the Corporate IT security team complaining that our unauthorised Ubuntu machines weren't running AV and so could be introducing viruses into the network.

Total facepalm.

<comment><USER3> After close to a decade of working in DK, I found their Big IT corporate processes resembling a Deathstar. Looks powerful from a distance, but flaws/inefficiencies can be discerned if you happen to be at close quarters. Also, they advanced ponderously. Which was weird because if you spoke to individual engineers in the teams, they seemed to know how things should be done. I was at Maersk same time as you, and I recall your team (ADLT!) eventually conjuring up some Vagrant machines for us devs, which were, it turned out, a pain to use since the AV kept interfering with the running VM's.

</comment></comment><comment><USER4> Essence of Maersk attack in one tweet [https://twitter.com/craiu/status/879690795946827776](https://twitter.com/craiu/status/879690795946827776)

 _New Petrwrap /Petya ransomware has a fake Microsoft digital signature appended. Copied from Sysinternals Utils._

I was sitting next to someone who wanted didn't close his laptop immediately when notified, 1 minute later it was too late. Most of my colleagues went home, even if their laptop was not infected (also over de VPN) they are no allowed to start the machine. Some departments ask people to stay home tomorrow too. Those with MacBooks continue working. And _externals_.

In Rotterdam APM Terminals has shutdown.

<comment><USER5> Just curious, could the fake sig have been begotten/created from the supposed "32 TB of source/internal MS code that was 'leaked'" recently?

<comment><USER6> The comment you replied to answered your question completely: No.

The signature doesn't validate, and was simply copied from a published Microsoft application (something from sysinternals). You can do this at home right now by visiting Microsoft.com, downloading any signed application, and copying the signature verbatim onto your application.

</comment></comment></comment><comment><USER7> It looks like there is a massive Petya ransomware attack:

>Russia, Ukraine, Spain, France - confirmed reports about #Petya ransomware outbreak. Good morning, America.

[https://twitter.com/codelancer/status/879688596852101120](https://twitter.com/codelancer/status/879688596852101120)

>Petrwrap/Petya ransomware variant with contact firstname.lastname@example.com spreading worldwide, large number of countries affected.

[https://twitter.com/craiu/status/879689411419668480](https://twitter.com/craiu/status/879689411419668480)

Sample: [https://twitter.com/benkow_/status/879692704724250628](https://twitter.com/benkow_/status/879692704724250628)

Articles:

[http://www.independent.co.uk/news/world/europe/ukraine- cyber...](http://www.independent.co.uk/news/world/europe/ukraine-cyber-attack- hackers-national-bank-state-power-company-airport-rozenko-pavlo- cabinet-a7810471.html)

[https://motherboard.vice.com/en_us/article/qv4gx5/a-ransomwa...](https://motherboard.vice.com/en_us/article/qv4gx5/a-ransomware- outbreak-is-infecting-computers-across-the-world-right-now)

<comment><USER8> Here is a tweet from the Ukraine Twitter account [https://twitter.com/Ukraine/status/879706437169147906](https://twitter.com/Ukraine/status/879706437169147906)

</comment></comment><comment><USER9> A shipping company being attacked by malware worm designed to steal money is _literally_ the plot of the movie Hackers.

<comment><USER5> I wonder if the plot of Hackers was derived from the fact that shipping companies typically keep a cash bounty in their on-ship safes to placate pirates should they come aboard, as (AFAIK) it is cheaper(?) to just pay off a pirate than deal with all the other factors?

</comment></comment><comment><USER10> Hey, FWIW we had to do some response for ransomware cases recently. There was a lack of decent stuff out there for how IT teams should deal with it. So we contributed to putting together this quick checklist:

[https://github.com/0xswap/guides/blob/master/ransomware- tria...](https://github.com/0xswap/guides/blob/master/ransomware-triage.txt)

Would be great if more people wanted to add to it.

</comment><comment><USER11> About a year ago:

One morning a colleague notices that a particular Windows share used by every EE in the multi-national company now contains encrypted files and generic request for ransom.

Highlight of the e-mail thread that followed: "<Name of another coworker whose account was used to encrypt files>, virus __again __? "

</comment><comment><USER12> There are reports of other large companies that currently are being infected.

It almost looks like the virus has been slumbering in systems and today woke up.

</comment><comment><USER13> I laughed way too hard at this.

'Petya sees you when you're sleeping

Petya knows when you're awake

Don't click the link in that email or IR gets no break'

[https://twitter.com/FourOctets/status/879700290395439105](https://twitter.com/FourOctets/status/879700290395439105)

</comment><comment><USER14> Not just Maersk. Petya going global. Writes to boot sector.

<comment><USER15> Writes to boot sector? Care to elaborate? Sources?

<comment><USER14> If you see the fake chkdsk reboot to media and overwrite/fix the master boot record. It encrypts the master file table on startup (before AV etc.), has sophisticated lateral movement capabilities using WMIC. Don't bother paying the ransom - the mailbox is dead you'll never get your files back that way.

</comment></comment></comment><comment><USER16> WaPo have just published a story about the attacks [https://www.washingtonpost.com/world/europe/ukraines- governm...](https://www.washingtonpost.com/world/europe/ukraines-government- key-infrastructure-hit-in-massive- cyberattack/2017/06/27/7d22c7dc-5b40-11e7-9fc6-c7ef4bc58d13_story.html)

</comment><comment><USER17> Anything special about the way this one is spreading or just the usual suspects?

<comment><USER18> Mearsk is kind of critical infrastructure - they carry a lot of freight. It's conceivable that if you took out a few major carriers like this for a week, you'd get widespread food shortages.

<comment><USER19> Even just Maersk could have huge consequences. Some of their ships have capacities of more than 10,000 containers, that's a lot of goods which may not be unloaded for the time being. Many supply chains will be quite sensitive to a delay like this and it could have very visible knock-on effects.

A delay of a day is probably already enough to cause congestion in ports with further delays down the road.

<comment><USER5> Yep, I am surprised this hasn't happened earlier....

</comment></comment></comment></comment><comment><USER20> DBSchenker and many logistic companies are still running Windows XP on some legacy PC. I have encountered one PC had ransomware too.

<comment><USER21> I'm in the intermodal industry. CEO likes to say that transportation is about 10 years behind technology, and intermodal is 5 years behind that.

We have the security posture of a wet sock.

<comment><USER22> Hasnt the shipping market tanked in recent years so prob no money to update systems

<comment><USER23> That it has, like you wouldn't believe - basically, Mærsk and a few other giants have fought over who will be the last man standing.

The market is (weakly) starting to improve, though.</comment></comment></comment></comment>


What are key ingredients of a startup pitch? - <AUTHOR> Just wondering what general questions you need to address in a startup pitch. <comment> ld-50-agi-v3 \</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>----- ( Learn from others, but be _you_! ) \</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>----- o o o

      (\     /)
      % ^---^ %
      %{ @ @ }%%
       ( *** ) \%%
       / ** /   \%%
      / ** /|    \---
      \oo/ sjm

</comment><comment><USER2> As ever, something like: the problem, your solution, the market, your team and the ask.

</comment><comment> ld-50-agi-v3 Don't not not write them a screen play which is based on the diabolically evil baby of that cartoon who grows up, a reboot of the one where the physics guy flashes back to his childhood, but vice-versa "Adult <baby>". I tried that yesterday, didn't work.

<comment> ld-50-agi-v3 I know--one of those guys on that physics show, Johnny ?last-name could be the "Adult <baby>"\--the adult <baby> is now a computer scientist, creating an AGI bootstrapped on his own wetware like I am pretending to be. The cartoon turns into reality and ?last-name is the grown <baby> for no apparent reason. His wife could run super computers. She would have to have the same name has his mother.

Part of the problem of having such super human intelligence is that it makes you so _impatient_ , even without ADHD, for others to catch up. Also to realize that your audience is crickets.

(This idea only took 1600 teracycles of neuron equivalent computing power--the equivalent of a carrot.)

</comment></comment><comment> ld-50-agi-v3 Have you got any users? Et al. (Inductive.)

Are you solving a big problem, or doing things the same, slightly mutated way, and expecting different results? (Rhetorical.)

</comment><comment><USER3> Bullshit the management. Bullshit the users. Bullshit the developers.

Whoever falls for the trick, it gets you success

</comment><comment><USER4> You'll be asked (later): \- why you? \- why us? \- why bother?

Seems rude, but if you're asking money... it's legit to ask.

<comment> ld-50-agi-v3 Why you? I still have human level intelligence.

Why us? To see what problems you have. [see "Why you?" above.] I ain't sand, but I have some crystalized in my pocket.

Why bother? The world needs to proceed with future evolution.

That big elephant in the room, "money"? Bluff and tell them "the money will come because I am confident". I can personally live on Ramen (mix in carrots or something, folks, think nutrients) for a while.</comment></comment>


The internets are broken, again - <AUTHOR> http://rockerhome.wordpress.com/2012/10/08/the-internets-are-broken-again/ Twitter URL shortener domain t.co is down. <comment><USER2> Link shortening needs to be a standard scheme implemented in the browser, so you don't have to ask anyone "where does this link go?"</comment>


Ask HN: Should I play hardball when it comes to salary negotiations? - <AUTHOR> I should have a review, along with a large raise, coming up soon. The company that I am at has made it clear that they are really happy with my work (React/RN dev) and that I am valued. That being said, I feel as though I should be making much, much more. I like the environment I am in, I like the people and I like the work. Yet I am getting paid ~50% below market average. I do not want to be insulting by asking for too much but if they say no to a reasonable ask, how should I handle it? I am by far the most capable dev, before I got here no one even used git. Due to a past criminal record I have had issues in the past with employment (drugs). Would you just keep walking to prove a point? <comment><USER2> Market average is dependent on where you live. A large raise usually never comes unless you are changing job descriptions. It sounds like you work for a small company which likely can't afford giant leaps in pay. I have always found the best way to increase your rate is to move to a different company. Your criminal record is a hit and miss, some companies care some don't. It also depends on industry and size of the company. A small company is less inclined to spend the money on a criminal record check. Your rate is also dependent on your co-workers. Most places pay equal wages for the same position so there isn't any fighting over wage. I think your criminal record becomes less important with the more industry experience you have. the more desirable your skill set it the less likely they will nit pick over small criminal offenses. You should interview other places (at least 2) to get a sense of how others value your skill set. Its also worth looking into how to be pardoned for your criminal offense. If it happened a long time ago you may be eligible for a pardon, it may be costly but well worth it.

</comment><comment><USER3> Get another job offer (with much higher salary) that you are willing to accept. Try to present it to current company enough in advance _before_ your review, since review happens after decision has already been made.

</comment><comment><USER4> First find another job then leave. If your not happy.

</comment><comment><USER5> I'm cautious, so my process is slower than others might suggest, but this is how I'd approach it were I in your situation.

First, collate evidence of your professional successes so your value to the company is indisputable. You want to be able to say "I've been here three years, and in that time I've delivered ... and every review has had Exceeded Expectations".

Next, you suspect that your market value is higher than your current pay, so gather evidence to support this. Ordinarily that would be job listings for comparable positions, or salary surveys applicable to your geographic area. In your case, because of the issues with past employment, they might counter- argue that those job listings are for pristine employees but your special status means you wouldn't command those on the market. The best response you can have is "well, I have an offer at market rates, so those rates definitely apply to me. I don't _want_ to leave this great company with wonderful people and interesting work, but this pay difference is so big ..."

The great thing about anchoring to market rates is that you're not saying "I feel like you're underpaying me." This isn't about your feelings, it's about the simple facts that the job listings offer $75-95k and your current salary is $72k. You _are_ underpaid, objectively.

Another useful phrase: "I don't need to be paid at the very top end of the market range, but I would like to be paid at or above average for this position because I believe that I am doing above average work." (If you can cite your performance reviews as evidence that you're doing above average work, that's good too)

If you have a partner, and you're worried about your boss thinking _you_ are greedy, then you can make your partner the bad guy in this conversation. E.g., say "look, I want to stay here, but we are getting ready to have a child and need to save for the time without income", or "look, I want to stay here, but my partner is really pushing me to earn more." Personally, that's not my preferred technique -- I am comfortable arguing for my worth, but your situation may be different and this might be of use to you.

The other reason to get a job offer is if you think your employer doesn't value you and will seek to fire/replace/punish you if you ask for more money. This may or may not be illegal in your jurisdiction, but that doesn't make it any less of a problem. If you fear this, then a job offer lets you know that _should the worst happen_ you can always land on your feet. If you genuinely _do_ find it impossible to get a job offer, then you may genuinely have lower market value at this point because of the perceived risk the employer is taking. That sucks, but better to admit that than to bluff and find yourself unemployable.

Good luck! Let us know how it goes!</comment>


Suppose I wanted to write a C++ based web application... - <AUTHOR> What should I use? Ideally I would either have a Python or Ruby application with all its bottlenecks coded as external libraries in C. But what if I just wanted to write plain C++? How can I run it without having to resort to CGI or running it on top of a webserver library (eg. the app is the server)? Are there any event-driven servers that allow for easy plugging in of C++ applications? <comment><USER2> It's not totally crazy. I think Meebo's mostly written in C++, for instance, since they're always looking for C++ and JavaScript people but they never mention scripting in their job ads: <http://www.meebo.com/jobs/openings/server/> I think they mention in one of these blog posts that they wrote a lighttpd module.

I've written a C++ Apache module for a simple web app before. It's definitely harder than using a scripting framework though, not so much because of the language, but more that frameworks have functions that help you do just about anything (e.g. sanitize input, construct safe SQL). In C++ land you're more on your own since most people aren't crazy enough to build a web app in C++.

Also, if you go down this route and you're particular about C vs. C++, check out mod_cpp for building Apache modules: <http://sourceforge.net/projects/modcpp/>

I echo the advice that if you have something performance-sensitive, build it in C/C++, but proxy it through something built with a better-known framework. Thrift is great for this: <http://incubator.apache.org/thrift/>

<comment><USER3> bloglines is entirely C++. I remember seeing some interview where the guy said it was critical to beating their competitors. They were all busy trying to scale while bloglines already worked.

<comment><USER4> Interesting. That seems to be the exact opposite of pg's view that Lisp was one of Viaweb's main competitive advantages, because it allowed them to rapidly add new features.

<http://www.paulgraham.com/avg.html>

<comment><AUTHOR> I think Lisp is reasonably fast, possibly as fast as C++.

</comment></comment></comment></comment><comment><USER5> Please lay down for a while and it will pass.

</comment><comment><USER6> I haven't used this personally, but I remember reading about the web server behind okcupid.com: <http://www.okws.org/>

It uses c++: <http://www.okws.org/doku.php?id=okws:tutorial>

<comment><USER7> Disclosure: I'm one of KLone developers.

Use KLone <http://koanlogic.com/klone/> .

It lets you write web pages with embedded C/C++ code (php-style escaping).

It's VERY fast and provides all common functions/features you need to parse incoming HTTP variables, sessions, file uploads, etc.

If you need more features you can link it against any C/C++ library and call library functions from within web pages.

</comment></comment><comment><USER8> You could write an Apache module. Or use FastCGI. Or libasync: <http://pdos.csail.mit.edu/6.824-2004/async/6.html>

Let me know what you end up doing.

<comment><USER9> +1 for an Apache module.

Build on a mature best-of-breed product that provides a quality programming model and all required HTTP and logging services. Also easily take advantage of other apache mods such as memcached or wackamole.

Good luck.

</comment></comment><comment><USER10> I have taken extensive PHP applications and re-coded them as a C/C++ module to the PHP language. It worked out successfully. A simple loop in PHP that just does some math and prints our a value, can be 1,000 times faster in C; if a PHP object is created and deleted in the loop, and you do the same in C++, you can get 100,000 times faster. Your speedup will vary according to what it does, of course -- if it is mostly waiting for a database, you won't see much speedup at all.

Contact me if you are looking for someone to do that kind of work.

If I were starting a new web app from scratch today, I would code it in C using Thomas Boutelle's cgic library. Of course, it seems one rarely starts anything from scratch these days.

<comment><AUTHOR> Well, we're constantly looking for talented folks at Côdeazur Brasil (<http://codeazur.com.br>), even for remote work. We actually have an open position for a Rails senior developer at the time but we haven't managed to find anyone yet, or haven't looked hard enough.

Please contact me at firstname.lastname@example.com with IM info, I'd love to introduce you to some of the stuff we want to do (so maybe you can help).

</comment></comment><comment><USER11> <http://www.webtoolkit.eu/wt>

That said, even as a hard-core C++ guy, I can't see why you'd really want to write a web application in C++. If you want C++-like syntax, you'd be better off with Java for web stuff.

<comment><USER12> (Can't help it)

And start saving money for memory and large amount of servers...

<comment><USER13> the time you save is definitely worth $3k

<comment><AUTHOR> Hmm, I'm not sure if $3k is all you'll ever need for Java hardware. If the application is big enough you're likely to have keep on spending on vertical scaling. But then again, that's what big enterprises like to do: spend money on big boxes.

<comment><AUTHOR> Which leads me to point that out that Java is far from suitable for a start- up. I'm beginning to think that Python plus C/C++ might be the golden bullet for startups. Ruby's C integration is easier than Python, but there's something to be said about the overall language model and performance. I tend to have a main RoR app for the website and a few Python daemons in the background for the really heavy stuff, and now it's finally the time to think about offloading some of that load even further closer to the machine, in C/C++.

I'd really love to come up with a standardized way of deploying small, context-specific RESTful API servers in either C or C++. I'm starting to think that a possible C++/Python bridge via Thrift is likely the best option. But then again, if I just managed to keep it all in a C++ application without needing to run the Python interpreter, it could totally rock (for an application that is supposed to serve 100k+ users on cheap hardware).

It's cool to see cloud computing going mainstream and now applications written in any language can be reasonably fast with the help of EC2, a load balancer and memcached. But I still think there's great value to coming up with truly lightweight solutions that really use nearly all computing power a single node can possibly offer.

<comment><USER14> "Which leads me to point that out that Java is far from suitable for a start- up"

You can't generalize like that. It's a language. It works. It scales, and is solid.

Sure, if you're just putting up something that needs quick prototyping then java is probably overkill, but if you're writing something quite complex, java can do a great job.

I think the "golden bullet" for startups is having a good programmer with a passion for something. Language isn't so relevant IMHO.

(Mibbit currently handles around 3.5million visits a month on a single VPS in java which I'm pretty happy with).

<comment><USER12> 3.5 million visits is small in current internet terms. And now having a look, it is a small text message system. No media, no video, not many images. Sorry, but it's not a good example at all.

<comment><USER14> At peak it handles 500+ lines of chat a second. That's quite a bit more than twitter. It also has around twice the number of peak users than Meebo rooms. So although it's certainly not a massive site, it has taken some thought to scale.

Having big images/videos wouldn't really make any difference to which language you choose. That's just static media files which are irrelevant.

I really don't see how having more images on the page would make it harder to scale :/ if only the site were as simple as serving up some images...

<comment><USER15> >I really don't see how having more images on the page would make it harder to scale :/ if only the site were as simple as serving up some images...

Apparently that is all too hard for some web 2.0 startups.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> Try to rewrite something simple written in Python in C++ first and measure the differences in speed/dev time first.

Chances are you may end up with a story like this: [http://groups.google.com/group/comp.lang.python/browse_threa...](http://groups.google.com/group/comp.lang.python/browse_thread/thread/a63979a6f18bf37/b926deb737ab71c6)

 _Albeit micro-benchmarks may indicate that Python is 100-200 times slower than C++, they may not be applicable to the real world. Python can be very efficient. And when combined with libraries like NumPy, beating it's performance with hand-crafted C++ is difficult._

Emperor has no clothes.

<comment><USER17> Interestingly, I tried rewriting one of my C++ codes in Python one day, using numpy. It was mostly manipulation of largish (~1000 x 1000) matrices.

On the upside, it was 100 lines instead of several thousand.

On the downside, it was several hundred times slower.

I didn't bother trying to write serious simulation codes in Python after that.

<comment><USER16> Of course C++ will beat Python in speed if you invest enough time in it. And assembly will beat C/C++ if you invest even more time.

My point is that some people assume that if they would just sit and write something in C++ without putting enough time and effort and skill in it, it would be somehow magically faster and better than high-level language, just because it's C++. They are mistaken.

Python standard library is extremely fast. For example 'list.sort()' in Pytohn could run 3 times faster than C++ 'sort(vector<string>)'.

Here are few examples when simple Python code runs faster than the same code in C++: [http://groups.google.com/group/comp.lang.python/browse_threa...](http://groups.google.com/group/comp.lang.python/browse_thread/thread/70f9bd389473207b/74807f553ae12b8c)

<comment><USER18> "For example 'list.sort()' in Pytohn could run 3 times faster than C++ 'sort(vector<string>)'"

Again comparing apples to oranges.

</comment></comment></comment></comment><comment><USER19> C++ will drown you in complexity.

There are many ways to look at complexity as an abstract concept. You could look at code length. Or you can count how many 'degrees of freedom' your code allows you to have, and be sure that you need to control each of those. C++ affords too much freedom for developer.

The trend meanwhile is towards reducing complexity at system/core level and focusing on application unique added value. Today, in large web applications, complex behavior is build using simple components. Those components are normally done in C, and then wrapped by some scripting language. C is not too flexible. The components are rock-solid as a result, they lack unexpected behaviour. Their code's 'degrees of freedom' are easier to control.

On top of that, there is trend towards frameworks in scripting languages which reduces 'degrees of freedom' at core/foundation level even further. Finally, there is this REST thing that wants to standardize API of a typical web app, offering us even larger blocks to code to work with. Again, all these trends have one objective - allowing to focus on unique application functionality, on interaction with other systems etc and hiding underlying complexity from the developer.

By using C++ you are likely to get complex behaviour in your code very early, at a very fundamental level. As you add functionality, the complexity/behaviour quirks will grow exponentially and you will fail.

I am convinced that Microsoft failure with Vista is mostly due to them using C++. They were simply defeated by mounting complexity, not by lack of engineering talent. Meanwhile, Unix success (Apple OS X included) is determined by relative 'dumbness' of underlying C language, Unix tradition of small single-purpose tools etc.

<comment><AUTHOR> Interesting, thanks for sharing. So do you think I should avoid C++ altogether and stick to C? What about Google? Google uses C++ a lot and they seem pretty fine/stable to me? Maybe C++ can be good web architectural stuff (not as complex as an operating system)?

<comment><USER13> treat the c++ standard as an assembly language of sort, from which higher level langs are built, like boost. if you look at it this way, you can carve out a sane section and deal with it. if you try to hold the entirety of it in your head and code, its hell

<comment><AUTHOR> Can anyone recommend a book that deals with the web/server-side aspect of C++ coding? I'm nearly half way through Thinking in C++ by Bruce Eckel (wonderfully well written!) but it doesn't look like it's getting near there.

<comment><USER15> Isn't (and I haven't read it, I stopped at C and never made it to the ++) "Effective C++" an important book?

</comment></comment></comment></comment></comment><comment><USER20> Yes, there is exactly what you are looking for: Yield.

<http://yield.sf.net/>

It is an event-driven, staged (threads communicating via message passing) application server, written in C++. It has stages for HTTP server and client, disk IO, gzip, logging (basically all CPU-intensive or IO tasks). Messages between stages are defined in IDL. You can send those over the network via Sun-RPC or JSON-RPC.

Not directly related to your request, but still handy: it also has a stage that wraps the Python VM, so you can write parts of your app in Python.

</comment><comment><USER21> What is wrong with "the app being the server?"

There are plenty of C/C++ HTTP libraries and frameworks out there. Just proxy your homebrew app server behind squid, lighttpd, apache, nginx, or $YOUR_FAVORITE_PROXY and you are set.

In fact, it makes it really easy to develop and test your app that way. There is no web server to configure and you can easily stick in printfs all you want. I use CherryPy (standalone HTTP framework for Python) that way exactly for these reasons. I'd do the same with C++.

</comment><comment><USER12> I've been thinking about this too. The main problem would be making it easy to extend.

The traditional HTTP side of it is trivial (just use nginx or something like that.) For template engine you have already Clearsilver and it's the fastest that I know of by an order of magnitude.

The key is solving how the application's developers could extend the web application. You can't expect them to code in C++ and compile every little change to their site. That's the beauty of CMF systems like Zope, you can put plain Python code in there with pages and components.

Doing a CMF in any lower level language and having to switch to a higher level language VM for every snippet would kill your original performance savings.

Find an element to fix that and you'll have a strong new contender in the CMF arena. Stuff like OpenMP and all that comes bundled in the new C++ libraries, transparently.

(BTW IMHO don't even think of starting without memorizing the Essential C++ books and all it's need-to-know patterns.)

<comment><USER12> Oh, and with decent VPS hosting at 30 bucks a month the need to have a high performance CMF is diminished.

</comment></comment><comment><USER22> You may want to check <http://www.kegel.com/c10k.html>

</comment><comment><USER23> There are two approaches:

1 - build your app as an extension of an existing http server. Start with lighttpd or nginx source and build out from there. nginx has a nice module structure. Perhaps your app can be just a new module. Both of these code bases are C and use event driven sockets. You might be able write your extensions in C++.

2 - Use a known solid http C++ library to roll your own server. Depending on the complexity of your app, you may end up spending a lot more energy going this route.

My relay server for <http://shellshadow.com> is C++. I had my C++ programmer look at the structure and methods used in one of the two http servers named above. We ended up not re-using their source (our relay isn't http protocol) but did get some useful insight for developing our server daemon.

</comment><comment><USER24> I have done something like this. I interfaced with Apache however rather than also writing the web server by hand. I also leveraged libraries when I could.

You may want to investigate the following libraries:

fcgi++: Interface with the web server using fast cgi; keep the program resident in memory between requests.

botan: For generating cryptographic hashes.

cgicc: For handling input from the web browser.

xerces-c: For implementing a templating system and generating the output which gets sent to the web browser.

libpqxx: Interfacing with Postgres.

cppunit: Unit-testing critical or difficult-to-test bits.

It's not as hard as everyone likes to make it sound (assuming you are on the right side of the C++ learning curve). The real question is whether you want to spend your time writing a framework rather than actual applications.

</comment><comment><AUTHOR> I don't mean to go about writing my web applications in C++. I do plan to write at least a couple for my job that are really performance sensitive. I'd like to use this opportunity to learn and educate myself as I believe a good web software engineer needs to have this kind of knowledge. What if I ever need to hack some code in or out of my web server (nginx, for example)? What if I need to rewrite some really slow code in a C++-based background daemon that communicates with my main application through protocol buffers or something? That's kind of thing I'm thinking about.

</comment><comment><USER25> Premature Optimization FTL.

<comment><USER12> Tell that to nginx. "10-fold increase in the last twelve months."

<http://survey.netcraft.com/Reports/200806/>

<comment><USER26> C makes perfect sense for nginx, as it's a web _server_ , not a web _app_.

</comment></comment></comment><comment><USER27> Wt (<http://www.webtoolkit.eu/>) makes developing C++ web applications dead easy. It is similar to Qt: you work with object oriented widgets and events are delivered through a signal/slot mechanism. You get Ajax, javascript, cross-browser portability and all the nifty stuff for free.

</comment><comment><USER28> Back in the late 90s, before .NET was released, I used to know a number of groups that would use C++ to create "ASP Generators", since ASP was such a beast. A OO code generator is much better than scripted spaghetti code.

Now, the concept is moot...a good OO web platform is so much more robust.

</comment><comment><AUTHOR> [http://google- styleguide.googlecode.com/svn/trunk/cppguide.x...](http://google- styleguide.googlecode.com/svn/trunk/cppguide.xml)

This seems like a good guide on how not to fuck things up with C++.

</comment><comment><USER29> If you're running windows have a look at Delphi / C++ builder. There are a number of ways to do this, intraweb components are one, or you can roll your own.

You can write your events in C++ or Delphi or both. (flame on)

</comment><comment><USER30> You say you're from Brazil? How bout giving Lua a chance. If speed is your concern Lua might be your ticket. You can also check out the Kepler Project as well.

</comment><comment><USER18> Again I see nobody is mentioning <http://www.tntnet.org/>

</comment><comment><USER31> Talk to the boys at 37Signals ;) Quite a bit of Basecamp is C++, not Rails.

<comment><USER32> I've always wondered what the speed of Rails would be if ActiveRecord and friends was in C (or ASM for the insane).

<comment><USER23> Wonder no more ;).

If you want to see how much better an ORM in ruby/C can be, look at datamapper <http://datamapper.org>. This is mainly used with merb. The new datamapper uses data_objects which has been completely rewritten with C underpinnings to be much more efficient than previous datamapper. I haven't seen any recent benchmarks against ActiveRecord. But I do believe the datamapper team met their goals of being faster.

<comment><USER33> DataMapper is about 60% faster overall than ActiveRecord, and as much as 20x faster in a few key benchmarks at the moment: <http://is.gd/3xwR>

In fact we, the core DM contributors, have spent very little time optimizing the library. Up until now we've been mostly focused on creating a clean API, and keeping the internals simplified. I would expect the gap to widen much further once the API stabilizes, and the spec coverage gets nearer 100% (it was in the low 90's last I checked).

<comment><USER34> Do you attribute the performance to the implementation language or the different design pattern / approach to ORM?

</comment></comment></comment></comment></comment><comment><USER4> All I have to say is: make sure you know what a buffer overflow is.

</comment><comment><USER22> You may want to Google ISAPI, NSAPI

</comment><comment><USER35> libmicrohttpd

</comment><comment><USER36> I do everything in C. I have 3 e-commerce customers and their sites are written completely in C. I have no issues whatsoever. One reason I started doing it this way is because I was concerned with speed. Having done so in C, they are blazingly fast.

<comment><USER37> Id have to tip my hat to this...

Ive written a lot of C++, it was 'the one true way'.. but then I did see alot of people using python, ruby.. I learned a bit of lisp, and kind of de- conditioned myself.

If your not gonna use Lisp/arc/scheme/python/ruby... then, actually, I would go with C and not C++. You are just above the metal and you see exactly whats going on, and you dont spend time making cleverly convoluted constructs of infinite generality...

In C, you just get shit done. With a bit of discipline you can get a lot of the benefits of OO and even some of the benefits of FP in your C code. Heresy, I know.

I do love C++ still, its nice to see good RNG and regex APIs going into the language.. but its a bit verbose on balance.

gord.

</comment></comment><comment><USER13> why do you want to do this??? there are plenty of c/c++ web apps written out there, i have written some myself. its pain central. you do it only when you cannot spare cycles or memory per session and cut the safety nets. just buy another server. in man-hours you will be out ahead.</comment>


The Art of Programming Contest (2007) [pdf] - <AUTHOR> https://www.comp.nus.edu.sg/~stevenha/database/Art_of_Programming_Contest_SE_for_uva.pdf <comment><USER2> These days there's a great book "Competitive Programming" by Halim, 3rd edition (2013) [1]. Very well written. Amazon states there's only a paperback edition but you can visit the book's page and order its hardcover version. However, I'm linking to Amazon for reviews.

[1] [http://a.co/90Nlcu0](http://a.co/90Nlcu0)

<comment><USER3> Non ref-link: [https://www.amazon.com/dp/B00FG8MNN8](https://www.amazon.com/dp/B00FG8MNN8)

<comment><USER2> Please explain how can I make such a link? I wasn't able to find anything except a 'Share' button in the right corner. And I struggle on this only using amazon.

<comment><USER3> I opened the shortlink and removed the "/ref=cm_sw_r_cp_ep_dp_0MPsybGT0GSSE" section after checking that the product page loaded without it.

</comment></comment></comment></comment><comment><USER4> This looks like a really good resource for people just starting out with programming contests.

It doesn't have a lot of advanced material for more experienced competitors though.

</comment><comment><USER5> I read it as Knuth's "The Art of Programming"-contest at first, making me much more interested than I actually was.

<comment><USER6> Yeah. I guess the author forgot to read "The Art of Descriptive Titles" beforehand.

<comment><USER7> :) i dont like the book.</comment></comment></comment>


Returning to JavaScript After 5 Years - <AUTHOR> https://hackernoon.com/ripvanwinkle-js-returning-to-javascript-after-5-years-1dc17c57a518 <comment><USER2> _With just a few lines of JavaScript, engineers can move markets, change lives, and build the future._

Either this is exaggerated, or people write incomprehensibly dense JavaScript code.

</comment><comment><USER3> I feel like if I hadn't written JS in 3 years and was dropped into some JS code today I wouldn't even be able to read it much less code review it adequately. There were a series of months relatively recently where every week I would look at a code review, and be like this is a thing? When did this happen? That said the changes were not exhausting at all. It was like being gifted a new tool, and you were just trying to find a new project to use it on. Now I find myself looking through the TC39 proposals window shopping.

</comment><comment><USER4> TypeScript is the modern way to 'do' JavaScript. It solves every problem that JavaScript ever had.

<comment><USER2> It does not solve every problem JavaScript ever had. By definition of being a superset, it's still JavaScript. It just induces a prescription to mitigate symptoms of type unsafeness.

Null AND Undefined still coexist, though type safety helps. There's an idiomatic way to specify classes, as opposed to using a pattern of object returning closure function for instance. There's still both the == and === operators.

A problem beyond type-safety is the confusing semantics of 'this': [https://github.com/Microsoft/TypeScript/wiki/'this'-in- TypeS...](https://github.com/Microsoft/TypeScript/wiki/'this'-in-TypeScript)

<comment><USER5> The semantics of 'this' in TS are the same as in JS and they're only a problem if you expect TS to be Java rather than JS.

<comment><USER4> I use the '=>' operator to get a 'this' reference that does what you'd expect (like in Java) by getting whatever object is running rather than the typical JS 'this' of the function. Trivial example is here:

[https://github.com/Clay- Ferguson/meta64/blob/master/src/main...](https://github.com/Clay- Ferguson/meta64/blob/master/src/main/resources/public/ts/dlg/ConfirmDlg.ts)</comment></comment></comment></comment>


Ask HN: Interesting (offline) iPad apps for hackers? - <AUTHOR>

Going to travel away for a 2½ weeks soon, and I'm going to take only an iPad with me for my basic computer needs (+ an android phone). But what if I get an itch to hack something? Any suggestions on apps that I can get my daily fix of hacker/geek life with?
One option I've been thinking about is setting up some kind of minimal Linux dev environment on the Android phone and SSH'ing in from iPad to get a better terminal/keyboard than I would have on the phone.
Another option would be to just SSH to my home box and do whatever I usually do on it, but it is probable that there's no internet connectivity where I'm going, or it will be painfully slow.
Third option of course would be to force myself to do something else :)
Maybe HN has some other options or suggestions? <comment><USER2> Pro-tip: Forget about an iphone app -- get out and enjoy your life while you're traveling!

<comment><AUTHOR> I know, I will. But just in case! :)

<comment><USER3> My experience with "just in case" things I take on trips is that they become a distraction. The best trip I ever had was one in October where we went to a hotel on a remote island without any internet and absolutely no phone reception.

It's called relaxation apparently. I liked it.

<comment><AUTHOR> We had almost the same experience month ago, when we traveled to Cape Verde. No internet and calls were so expensive that I only did one phone call during the trip. It really was refreshing!

</comment></comment></comment></comment><comment><USER4> Not actually coding, but I did read that Apple have just released all their iOS / Objective-C books for free on iBooks.

</comment><comment><USER5> jsanywhere is pretty good: [http://itunes.apple.com/us/app/javascript- anywhere/id3634522...](http://itunes.apple.com/us/app/javascript- anywhere/id363452277?mt=8)

<comment><USER6> It looks good on the store, but instantly crashes on every attempt to create a project on my iPad.

<comment><USER5> Strange - I've been using it for awhile on my iPad with no issues, perhaps its only certain iOS versions?

</comment></comment></comment><comment><USER7> * Jailbreak your ipad (be careful with iOS4), install OpenSSH through Cydia and connect to localhost with iSSH. There are for example apache, vi, ruby, python, grep and awk. Can that scratch your itch? * Not really hacking but you can install Frotz for text adventuring in interactive fiction. * Buy an apple bluetooth keyboard and connect it to Android or the iPad for easier typing.

<comment><AUTHOR> This is something that I've already tried, I mean using iSSH to connect to localhost running OpenSSH, but in the default system there's really nothing to play with. And I haven't found how and from where to install any UNIX- utilities, editors or applications for iPad. Any pointers on where to get these?

</comment></comment><comment><USER8> Hmm...lacking internet connectivity is a pain. I love using zingersoft iSSH and the Apple wireless keyboard ($69) -- I connect to my remote Linux servers and am coding in Python right away.

</comment><comment><USER9> You can actually jailbreak the iPad and have a fully functioning unix environment there.

Python scripting environment on the Android phone isn't half bad.

</comment><comment><USER10> If you like hacking in Lua, I've been enjoying Luna. It's a little IDE with an embedded Lua interpreter. The interface is weird but it works.

<comment><AUTHOR> Thanks! Will have to check that out.

</comment></comment><comment><USER11> This is one of the rare cases where bringing a netbook is a better idea than an iPad.</comment>


Open Source Is Insufficient to Solve Trust Problems in Hardware [video] - <AUTHOR> https://media.ccc.de/v/36c3-10690-open_source_is_insufficient_to_solve_trust_problems_in_hardware <comment><USER2> Previous discussion from bunnie's blog post on this talk: [https://news.ycombinator.com/item?id=21891056](https://news.ycombinator.com/item?id=21891056)</comment>


Visual Programming – Why It's a Bad Idea - <AUTHOR> http://mikehadlow.blogspot.com/2018/10/visual-programming-why-its-bad-idea.html <comment><USER2> Bogus.

Scratch is good at what it is; I know people who swear by LabView, Alteryx and similar tools rather than swearing at them.

One could make the case that current software development tools really aren't good enough and that one fundamental problem is dealing with naming and polysemy.

The trouble fundamentally is that there is no system that is going to produce ergonomic names for everything. There are systems that can name everything but the names look like

84746261718

or

178bcd0d-70ce-413b-9497-5364a5f56972

which people can't remember or easily discover. Part of the appeal of GUIs is that you can pick something out of a palette, list, or menu although the gain you get there is limited. Ever see a 1000+ page book on Microsoft Word or (worse) try to explain to somebody how to use mobile apps for the first time (eg. "click on the hamburger icon; huh?", "swipe down; ... doesn't work ...; maybe when you swipe down you have to start above the edge of the screen...") and you realize that there are limits to how many things you can present on a screen and how well people can find things.

When you are talking to people you can use a word which is ambiguous and people figure it out most of the time and if they don't figure it out you can have a conversation with them about it as opposed to a programming language compiler which typically give messages like:

Could not find or construct Composite[CustomDataType]. [error] [error] If CustomDataType is a simple type (or option thereof) that maps to a single column, you're [error] probably missing a Meta instance. If CustomDataType is a product type (typically a case class, [error] tuple, or HList) then probably one of its component types is missing a Composite instance. You can [error] usually diagnose this by evaluating Composite[Foo] for each element Foo of the product type in [error] question. See the FAQ in the Book of Doobie for more hints.

Until we accept that we can do fundamentally better and that we must we are going to be stuck having the same stupid conversations.</comment>


Ask HN: Would you let me manage your personal mail server? - <AUTHOR> http://www.appxecute.com

<comment><USER2> >> Your government has to ask you for permission to access the server

Not true. The government will send orders to the ISP you are reselling for OP and neither you nor your customer will know until the disk drives have been seized.

I would also want you and your staff to be PCI DSS compliant (pass background checks).

<comment><AUTHOR> Seizing disks is different from snooping without your knowledge. This also requires a higher level of legal justification.

Passing background checks for my employees and me is a valid requirement and one that I will implement. However, not to be facetious or anything, but Edward Snowden probably had a background check done.

Thanks for the comments.

<comment><USER2> The background checks are to mitigate thieves not spies :-)

Unless you are in Sea Land, you should not make any claims about having more privacy or security than other ISPs.</comment></comment></comment>


Learning Deconvolution Network for Semantic Segmentation (2015) - <AUTHOR> http://cvlab.postech.ac.kr/research/deconvnet/ <comment><USER2> Note: This was published in 2015, before / around the same time as other encoder-decoder-like segmentation architectures like SegNet or U-Net.

<comment><USER3> Yah was gona say, no one really uses pooling / unpooling in convnets any more, SOTA tends to be more about strided convolutions / unconvolutions. Not really sure why this is on the front page....</comment></comment>


Music Startups to Watch in 2009 - <AUTHOR> http://www.sachinrekhi.com/blog/2009/01/05/music-startups-to-watch-in-2009

<comment><USER2> JamLegend has definitely sucked up a lot of my time. I love that game.

Gaming in the browser, especially multiplayer interactive gaming like JamLegend, could become a huge industry. The number of players in the space right now is very small.

</comment><comment><USER3> I'm not sure TopSpin is the market leader in artists communicating directly with fans. iLike has been slowly but surely building outstanding tools to accomplish this, and with Facebook, they've got thousands of fans already signed up.

</comment><comment><USER4> no spotify?

<comment><USER3> It's not available in the US, and therefore doesn't have much attention here.

<comment><AUTHOR> TechCrunch recently posted on how to get access to Spotify from the US. Might need to find a different proxy if the one suggested is blocked.

[http://www.techcrunch.com/2009/01/03/how-to-try-spotify- imme...](http://www.techcrunch.com/2009/01/03/how-to-try-spotify-immediately- no-matter-where-you-live/)</comment></comment></comment>


Show HN: Commitie (2 week project) - <AUTHOR> http://www.commitie.com/

<comment><AUTHOR> Hey HN! Long time reader, first time show-er. I'm 19 and built this in 2 weeks over my summer break. Would love to get your feedback!</comment>


Why Our Intuition About Sea-Level Rise Is Wrong - <AUTHOR> http://nautil.us/issue/33/attraction/why-our-intuition-about-sea_level-rise-is-wrong <comment><USER2> I really want to see some papers, models or simulations to illustrate some of these effects - starting with the gravitational influence of ice sheets on sea level. This shouldn't be a difficult thing to illustrate numerically, but wow it would have a big impact on how (at least I) perceive the ice sheets.

So far, I haven't been able to dig anything up - there's some prose at [1] but nothing hard. A poster at [2]. Mitrovica's website [3] doesn't seem to have anything. It's late, so I'll have to postpone the search for now, but here's hoping other readers can help me :-).

[1]: [http://sealevelstudy.org/sea-change-science/whats-in-a- numbe...](http://sealevelstudy.org/sea-change-science/whats-in-a- number/attractive-ice-sheets)

[2]: [http://geo.orst.edu/files/geo/Mitrovica-2009-Science.pdf](http://geo.orst.edu/files/geo/Mitrovica-2009-Science.pdf)

[3]: [http://environment.harvard.edu/about/faculty/jerry-x- mitrovi...](http://environment.harvard.edu/about/faculty/jerry-x-mitrovica)</comment>


How this work, some ads claims to increase Twitter followers or Facebook fans? - <AUTHOR>

Am seeing some ads that some businesses claim they can increase twitter followers or facebook fans?  How this works?  Are they are scam? <comment><USER2> Well... it probably depends on how they claim to get these followers/fans.

If all you have to do is pay money, then yes it's a 'scam'. While it isn't really a scam because I'm sure they'll get you more followers or fans, they'll all be bots or fake accounts.

If they're some kind of social marketing agency, then it could be legitimate. That being said, there isn't any magic to engaging potential customers with social networking. There's plenty of free resources that can help give you advice.

The main difference is whether you're getting followers/fans that are actually interested and engaging with what you're doing. You want quality, not quantity.</comment>


PiePal: Order A Pizza With The Push Of A Button - <AUTHOR> http://www.npr.org/blogs/alltechconsidered/2013/11/12/244828150/this-device-lets-you-order-a-pizza-with-the-push-of-a-button <comment><USER2> And another exchange dried up in China in recent days taking the bitcoins with them.

</comment><comment><AUTHOR> Just another solution looking for a problem.

<comment><USER3> C'mon ... this is just some guy's hobby project. It is cute, it was built. I say, fantastic!</comment></comment>


Why Renewables Can't Save the Planet - barry-cotter https://quillette.com/2019/02/27/why-renewables-cant-save-the-planet/ <comment><AUTHOR> Nuclear power is too expensive--and the price is going up. Conversely the price of renewable power is going down substantially.

<comment><USER2> Isn't it expensive because of political reasons? I'm sure we could get costs down if we relaxed some of the rules. However, people are unreasonably worried about it, so pursuing renewables is likely not politically feasible.</comment></comment>


The State Of Twitter - <AUTHOR> http://www.avc.com/a_vc/2011/07/the-state-of-twitter.html <comment><USER2> The segment from 14:00-17:00 is pretty interesting. They discuss the Twitter ecosystem, Twitter's buy/build philosophy, and particularly the social media analytics ecosystem.

"We're not going to build that kind of stuff ourselves...that's not anything we're ever going to do."

Are they going to leave all of that analytics money (and other ecosystem money) on the table, buy up the largest players, or start extorting them for revenue shares? Those are really the only options I see.</comment>


Jim Crow returns - <AUTHOR> http://projects.aljazeera.com/2014/double-voters/index.html

<comment><USER2> The metric 'percent-of-race-to-be-flagged' is more a measure how how homogenous the names of people of that race are and inadequate for this analysis.

If they actually wanted to show prejudice they should've normalized for that factor, then shown that certain people were still targeted at a higher rate.

That a strategy works better or worse for certain races may be racial, but is only racist if it was designed to work that way.</comment>


Min – A smarter web browser - <AUTHOR> https://minbrowser.github.io/min/ <comment><USER2> I think the main reason people are hating on this is because it's selling itself as something it's not: A smarter browser.

Should stick with its original goal. I think they created it as a "minimal" browser, hence the name.

<comment><USER3> If you're going for minimal, it won't get much more minimal than this:

[https://surf.suckless.org/](https://surf.suckless.org/)

But at least the smart part may be of merit. And we all know what HN thinks of electron, but at least bundling chrome with a browser seems reasonable. Not for a minimalistic browser though, I think hence the branding as "a smarter browser".

Oh boy, I actually set out to defend the project, but now I realize while there's clearly been some work put into it, some areas haven't been thought out too well...

At least it looks nice and clean, that's something.

edit: corrected my wording in the first sentence.

<comment><USER4> > If you're going for minimal, it won't get much more minimal than this:

> [https://surf.suckless.org](https://surf.suckless.org)

Minimal UI maybe (or maybe not; is there still a truckload of stuff when right-clicking, or pressing hotkeys, or visiting `about:something`?)

I'd say lynx, w3m, links, dillo, netsurf, etc. are all more minimal _in general_.

<comment><USER5> Ahem, no.

Links has right click, even Netsurf has that.

About general minimalism, dillo is perfect.

For cli, w3m and links are NOT minimal. That is netrik.

<comment><USER4> Didn't know about netrik, thanks.

I wasn't implying that 'right click == bloat', only that there are two meanings for "minimal": a minimal amount of code, or a minimal UI.

surf doesn't have a minimal amount of code, since it wraps WebKit; although it seems to have a minimal UI. My point about right-click, etc. is that much of the (GTK?) WebKit UI might still be lurking there.

I agree that dillo is really nice. Not minimal in the UI sense though (tabs, toolbar, search box, etc.)

</comment></comment></comment></comment></comment><comment><USER6> Based on Electron. So this is Chromium, but with less features?

EDIT: It also claims less battery consumption. May I ask some proof?

<comment><USER7> A. FUCKING. ELECTRON. BROWSER. ಠ_ಠ

Just so I don't get this comment killed, here's some text calmly explaining that electron is based off blink, and implementing a browser in it is like using a text editor's scripting feature to reimplement the cursor.

<comment><USER8> This is like using web rendering engine to implement a browser, which is not ridiculous at all.

The difference from chromium is that the browser ui is implemented using the web tech, instead of native, which is not unusual either.

Firefox have been using slightly modified version of html and javascript to implement the browser ui forever.

Vivaldi and brave browsers use the same method as well.

</comment></comment></comment><comment><USER9> Seems pretty cool, but I wonder at the claim that it will use less battery power. From the specs, it is built on Electron, and from my understanding to date, even the basic Electron framework shell is fairly resource hungry in its own right, which could impact power usage on a laptop?

Perhaps it could have been a better initiative to build it using native code and utilising WebKit as the rendering engine? Much like the Vivaldi browser (which I use a lot of these days)

<comment><USER10> I wouldn't think that the browser part of Electron is significantly slower than Chromium, which it's built on. From what I remember, the Node part of Electron runs in a separate process.

</comment></comment><comment><USER11> Ignoring the general 'Electron seems a waste of resources' (with which I partially agree with) comments: Requires 'Ubuntu' or 'macOS'? I seem to know a lot of Electron based apps that run on other Linux distributions or - gasp - even Windows.

Clicking on the 'Download anyway' link brings up the GitHub release tab. With, among others, a file called 'Min-v1.6.3-win32-x64.zip'.

<comment><USER12> _> With, among others, a file called 'Min-v1.6.3-win32-x64.zip'_

"If it compiles, it is good; if it boots up, it is perfect"? Just because the build has a Windows target doesn't mean it's a supported platform.

<comment><USER11> That ignores the "We target one random Linux distribution" thing and kinda doesn't address the point that Electron is cross-platform already. I would expect an Electron app to work where Electron works, but admit that I haven't targeted it. Any input on why that might not be the case would be appreciated.

</comment></comment></comment><comment><USER13> > Find anything instantly

Aside from fuzzy search, all of this is already possible.

> Effortless tab management

All the things in here are already possible in firefox using addons.

> Built-in ad blocking

I honestly don't care if ad-blocking is built in. It's not like it's a chore that affects my day-to-day use of a browser to install an addon _once_ for adblocking.

> Fast and efficient

It literally uses the same engine as chrome so it won't be any different from it.

> Open-Source software

Like most other browsers today

<comment><USER14> So..?

What's your point? It's just as good as any other browser

<comment><USER15> It advertises itself as a smarter web browser, but, as you said, it's only "as good as any other browser".

The only pull it has... is that it might be adequate.

</comment></comment></comment><comment><USER16> YC commenters are brutal. Not a single positive comment, so far. That feels a little unnecessarily mean, given that it's a free software project.

<comment><USER17> They're mostly reacting to the title, because that's all that most HN comments react to. This is a much stronger effect than I think people realize.

Had the title said "Min, a first attempt at a minimal browser that we hope might have some value someday, perhaps you could take a look", commenters would bend over backwards to find nice things to say, because that would be the only way to contradict the title.

Actually the nice comments mostly come up for the same reason as the harsh ones—contradicting what someone else said. First the harsh comments contradict the title and then the nice comments contradict the harsh ones. Contradictions R us.

<comment><USER18> This is by no means specific for HN.

For example, a popular German radio moderator and podcaster once said:

"If I want to learn something about a topic, and ask a question on air, almost nobody answers. But if instead I make a false (or naive) claim about that topic, I receive lots of replies correcting me, and might even get an interview with an actual expert on that topic."

[Holger Klein, paraphrased, rough translation]

<comment><USER17> Yup, and Cunningham's Law also.

You're right about most generalizations about HN; I've noticed they're either false or "too true", as in they apply to much larger sets and therefore say little about HN specifically.

<comment><USER18> Thanks for pointing this out. Indeed, it seems that Mr. Klein rediscovered Cunningham's Law without noticing.

</comment></comment></comment></comment></comment><comment><USER19> "Using electron" and "uses less battery" are too close to each other.

<comment><USER20> It's not like they're trying to cram in a music player or IDE in to an Electron app. This is a browser so I wouldn't expect the load to be substantially worse than running Chrome.

<comment><USER7> And you wouldn't expect atom to use more memory than sublime, either.

<comment><USER21> This is different. Atom is a text editor implemented in a web browser engine. This is a web browser implemented in a web browser engine.

</comment></comment></comment></comment><comment><USER22> > and get suggestions before you even start typing

I really don't want that!

<comment><USER23> I think there is a dissonance between smart personalized suggestion and being against tracking.

Which is the main downfall of DuckDuckGo they use as the smart bar search engine.

If you want good suggestions and smart personalization you need to track your user.

If you don't want to track your user for privacy concern, it's all good but then don't give user a product like suggestions that will always be subpar compared to someone else that is for user tracking.

<comment><USER24> I think it's very telling that you don't consider what the user might want.

As a user I don't want to be tracked, but I want suggestions, and I'm willing to give up a little accuracy. Example: on DuckDuckGo, if I search for "int ball", it includes results for "int-ball". It doesn't need to know anything about me personally to do this.

</comment></comment></comment><comment><USER25> Honestly, I'd say qutebrowser¹ is both smarter _and_ more minimal than Min.

――――――

¹ — [https://qutebrowser.org/](https://qutebrowser.org/)

<comment><USER26> From the FAQ; "I believe efficiency while coding is a lot more important than efficiency while running."

As a user, that would make me nervous at least.

<comment><USER27> Depends on whether that efficiency is used for higher quality or higher feature count. For the firmer, I'd be pretty happy.

</comment></comment></comment><comment><USER28> so its basically chrome-headless with a different UI and 20% slower because it is running via an interpreted nodejs rendering that is then compiled into a binary. why not just use chrome? If you're going to use an existing browser, why not use Dillo or Lynx as the backend, which really are minimalist in terms of memory usage.

<comment><USER29> Or test Servo... (Mozilla's new engine.)

</comment></comment><comment><USER30> Neat idea. Perhaps position this as a minimalist browser (vs "smarter")

</comment><comment><USER31> I think the only way to make a dent into the browser market is to create the most secure browser and market it that way.

<comment><USER13> I disagree. I think what can make a dent is something that's _significantly_ faster than all we have today.

</comment></comment><comment><USER32> I tried this a while back, and the only thing I liked better than the mainstream browsers was that it doesn't waste space at the top of the browser and thus would theoretically be a good fit for e.g. watching something in a small window in the corner of your screen while doing work. But in practice, there is some crazy minimum window size limitation and thus it's useless for the only use case I would have for it.

<comment><USER33> Chrome `--app` mode does the same thing.

</comment></comment><comment><USER34> Tried on a site ([https://www.dn.se/](https://www.dn.se/)) which looked completely broken. Tried it on another ([https://www.svt.se/nyheter/](https://www.svt.se/nyheter/)) and the browser crashed. No thanks.

</comment><comment><USER35> I don't see what's "smarter" about it.

\- The UI seems clumsy and is so flat that it doesn't offer any directional hinting at all.

\- It's the same size as Firefox (160MB) despite offering significantly less features.

\- It's resource consumption seems to be about 25% more than a fresh Firefox instance.

<comment><USER36> _and is so flat that it doesn 't offer any directional hinting at all._

These featureless, "wide expanse of pure white" UIs are one of the things that most irritates me about "modern" software today. They give the impression of being unfinished and opaque.

<comment><USER37> Its not the flatness, its lack of design. See for example, [https://www.sail.com.au/](https://www.sail.com.au/), which is flat too, but with a cohesive design.

<comment><USER35> That site looks pretty awful to me, while I can clearly make out the buttons from other elements it looks like a old stock Drupal theme or something along those lines.

<comment><USER37> Design is highly subjective, but from the designer's eye, there is no comparison between the two sites.

</comment></comment></comment></comment></comment><comment><USER38> This is actually Inspiring me to consider making my own visions of browsing can be improved come to fruition!

Thanks very much for the implementation idea and the source. I'm certainly gonna play with both the product and the code.

</comment><comment><USER39> Electron.. thanks for nothing.

</comment><comment><USER40> Competition is good. This also looks like a neat browser for staging designs.

</comment><comment><USER41> I instantly like the clean distraction free look.

That's Min.

</comment><comment><USER42> I use Bookmark OS which allows me to sort my bookmarks. Does this have bookmark sorting?

</comment><comment><USER43> I build a browser in your browser, so that you can browse the web browsier.

It sounded reasonably nice (beyond the point that Firefox is all this with a few addons), but Electron? Again?

</comment><comment><USER44> how am I supposed to get to the other pre-built binaries?</comment>


Five Doomsday Scenarios for IT: Tech Apocalypse - <AUTHOR> http://www.pcworld.com/article/191516-2/ <comment><USER2> Scare-mongering of the worst sort: the obvious sort. C'mon guys, if you're going to posit "doomsday" threats, use a little imagination.</comment>


A WWI soldier stayed awake for 40 years after getting shot in the head? - <AUTHOR> https://www.businessinsider.com/wwi-soldier-awake-for-40-years-after-getting-shot-in-the-head-2019-3 <comment><USER2> Extraordinary claims like this (being the only human ever reported AFAIK not requiring sleep) need extraordinary evidence, which likely are unobtainable for this anecdotal case.

> His wakefulness caused headaches only when he didn't rest his eyes for at > least an hour a day

That seems like a loophole big enough to drive a Medium Mark C Hornet Tank through.

<comment><USER3> The same thing happens with lightening strikes. People get hit by the sonic blast wave or distant lines of flux and are convinced they were hit by lightening. In reality, this isn't even remotely possible. The temperature of the contact point in lightening on a human is around 50,000 degrees Fahrenheit. It does spectacular things to the body. Yet, there are often headlines of a person describing being "hit by lightening".

<comment><USER4> I know this is annoying, but I'm going to take this occasion to point out that "lightening" and "lightning" are different things (and have a different number of syllables). The former is basically "the causing of lightness". One definition is "the sensation, experienced by many women late in pregnancy when the head of the fetus enters the pelvis, of a reduction in pressure on the diaphragm, making it easier to breathe" ([https://www.collinsdictionary.com/dictionary/english/lighten...](https://www.collinsdictionary.com/dictionary/english/lightening)). The latter is the meteorological phenomenon.

Cool observation, though.

<comment><USER3> Apologies, I often skip spell checking and my fingers have a different idea of how some things should be formed.

I shall tighten my Cilice [1] to position number 3 today.

[1] - [https://en.wikipedia.org/wiki/Cilice](https://en.wikipedia.org/wiki/Cilice)

j/k just trying to put an image of a monk in your mind. :-)

</comment></comment></comment></comment><comment><USER5> Randy Gardner didn't sleep for 11 days and 25 minutes, under observation, at age 17.

This is the longest verified time spent awake by a human. [https://en.wikipedia.org/wiki/Randy_Gardner_(record_holder)](https://en.wikipedia.org/wiki/Randy_Gardner_\(record_holder\))

<comment><USER6> My personal "record" is little above 5 full days, without sleeping even a single minute. Without going into details, I had a traumatic event and I couldn't fall asleep.

Interestingly, I didn't feel that tired. On the last day, I even exercised.

I felt mentally slower, though, for sure. Like operating at 50% intelligence.

People that don't sleep for prolonged periods of time will eventually die [0]. No way around it. It's one of the reasons that Guinness World Records banned sleep deprivation records.

[0] - [https://en.wikipedia.org/wiki/Fatal_insomnia](https://en.wikipedia.org/wiki/Fatal_insomnia)

<comment><USER7> While I'm sure that sleep deprivation will eventually kill you (although I'm not sure if it's at all possible to keep someone from sleeping to that extent), insomnia isn't what kills you in fatal familial insomnia. The killer is prions turning your brain to mush and turning you first into a vegetable, then killing you.

<comment><USER8> It seems (perhaps too) obvious to me, that if sleep didn't perform some vital function in maintaining the body and/or brain, then evolution would have eliminated it due to the disadvantage of being vulnerable and inactive for a large part of the day.

</comment></comment></comment></comment><comment><USER9> Sounds like an xmen. This can't be reproduced on rats? (remove that bit of the brain)

<comment><USER10> Season 2 Episode 4 of The X-Files.</comment></comment>


Shout.com - what would you build on it? - <AUTHOR>

<comment><USER2> Great domain.

My suggestion is instead of searching for an idea to build for the domain sell it to someone (you should be able to get a large sum of money for it) then take that money purchase a domain that correlates to an idea you are passionate about.

I think this route has two major reasons why it is a better idea than chasing an idea to fi into the domain.

#1) If your passionate about the idea you are more likely to pursue it and stick with it. You'll be more excited to go to work each day. You'l be wiling to take the ups and downs in stride.

#2) You already have in a sense an angel round from yourself. This eliminates the pressure of financing at first and allows you to focus on really knocking it out of the park.

How did you come about that name, did you buy it years ago, acquire it recently?

<comment><AUTHOR> I posted this on HN to see if anyone is working on a product that would be suitable for shout.com. I am open to creative partnership ideas. Thx for your comment Jonathan.

</comment></comment><comment><USER3> Also, how did you manage to acquire that? That's pretty impressive.

</comment><comment><USER4> poke, tweet, like, bing, shout?</comment>


Mathematics Animations - <AUTHOR> http://www.3blue1brown.com/ <comment><USER5> So, I went to highschool with the guy that makes these videos. Not only is he brilliant, he is particularly good at making advanced topics more accessible to people without a heavy math background.

<comment><USER6> Crazy. I just looked him up and he is currently in Stanford. I bet his genius shined like a beacon back in high school.

</comment></comment><comment><USER7> I just finished watching the Hilbert's Curve video. It's extremely well done!

Does anyone know what software or process was used to create these videos?

<comment><USER5> I'm pretty sure he uses his own software that he wrote in python to do it all.

</comment></comment><comment><USER8> LucasVB is another master of visualizing mathematics. He is responsible for some of the best math animations on Wikipedia.[1] If you like to know more about how he creates these masterpieces, check out his Blog.[2]

[1] [https://en.wikipedia.org/wiki/User:LucasVB/Gallery](https://en.wikipedia.org/wiki/User:LucasVB/Gallery)

[2] [http://1ucasvb.tumblr.com/](http://1ucasvb.tumblr.com/)

</comment><comment><USER9> I think getting this ([https://github.com/3b1b/manim](https://github.com/3b1b/manim)) to work needs a video would need a video of its own. :)

Here's where I got to since the README.md is basically empty for the moment.

So far I've got it to do something. It needs at least these python libraries as dependencies.

        - cv2 (This is OpenCV and is not easily installable inside virtualenv)
        - <USER2>
        - <USER3>
        - <USER4>

I'm running everything from the main manim directory, after a git clone.

        git clone https://github.com/3b1b/manim
        cd manim

Its also expecting a `../animation_file/images` directory to exist.

        mkdir -p ../animation_file/images

Now each project consist of a set of classes, each one a scene. To view a scene, it can just be instantiated

        PYTHONPATH=`pwd` python
        >>> scene = generate_logo.LogoGeneration()

There's a progress bar that shows a few times. Then a new window shows up for me (from ImageMagick? Maybe that's a dependency too.).

Then I think you can call .construct() on the object.

        >>> scene.construct()

But it took too much computational power so I stopped there.

<comment><USER10> Ah, yes, this is one of those projects that I worked on mostly as a tool for my own use. Eventually, I plan to make a proper tutorial and everything, but first there are a few key things I ought to revamp which, over time, have become way over-personalized.

</comment></comment><comment><USER11> So when are we going to create glasses with cameras and ear pieces that create images of the view in front of them and convert to sounds using hilbert curves and help deaf people see?

I imagine this is already feasible. We would need to give them time to pick up the skill by letting them loose in some kind of training situations so they know what everything looks like and can distinguish things passing by.

The only thing I'm not certain of is how long the training would take before some basic recognition is possible amidst the already present noise of every day life. I do know that when you lose a sense though your other senses get sharpened to compensate, and that might improve the adaptation period.

edit: we could also give these to seeing people to help retain their acuity as they age.

<comment><USER12> Related: This App Turns Your Photos into Music If You Want to Do That For Some Reason: [https://www.youtube.com/watch?v=zpNgsU9o4ik](https://www.youtube.com/watch?v=zpNgsU9o4ik)

<comment><USER13> Remember Monster Rancher?

</comment></comment></comment><comment><USER14> Re: the Hilbert curve - is there any research into an image compression application of it?

Split the image into RGB (or HSV) channels, stretch each of them into a stream using Hilbert curve mapping and then either try a lossless compression or a lossy JPEG/FFT-like one. A hunch says this could show some interesting results.

<comment><USER15> There are probably little-to-no applications of Hilbert SFCs to image compression (in the sense of increasing compression ratio or something). The main benefit of using something like the Hilbert SFC is (2D) locality. That is, "close" points in D where D = [ d0,d1,d2,d3,d4,d5, ... dn] will also be "close" in D2, where D2 = [(x0,y0),(x0,y1)(x0,y2),...(xn,yn)]. _NOTE: The converse does not hold. Closeness of points in the D2 plane does NOT guarantee closeness of points in D._

Usually this has applications when dealing with things like file systems and databases. I've seen some people that argue that using something like Hilbert curves in compression algorithms will yield less compression-induced artifacts because the artifacts, as you can probably already guess, will "snake around" the image, being much harder to detect visually.

<comment><USER16> People also have toyed with the idea (and maybe even implemented it) to let the electron beam of a cathode ray tube trace out a Hilbert curve, or two mirrored side-by side.

Advantage would be that you would not lose time in which you could have drawn pixels for vertical and horizontal blanking periods.

Disadvantage would be that the hardware is a lot harder to make, more so if you want to dampen out oscillations near corners well.

</comment></comment></comment><comment><USER17> This is friggin awesome! Thanks for posting. Gives me inspiration to take some more Math courses on Coursera.

<comment><AUTHOR> I'm torn with respect to Coursera. Some of the treatment of topics is light. "The carrot and the stick" are lacking.

That might be just my experience and may not extend to others. However, it should be clear that time is better spent in choosing a good learning source than wasting time trying to make up for it later.

</comment></comment><comment><USER18> Really fantastic stuff. Thanks for posting...

My question on the Hilbert Curve: When he's talking about filling infinite space, why does the curve or repeating blocks of HC's spiral out, instead of continuing in the pattern of the original Hilbert curve? Doesn't the spiral introduce a new pattern?

<comment><USER10> The original pattern is good for going "out-to-in", in the sense of starting with a finite area, a square, and filling the whole thing.

That same pattern cannot apply to go "in-to-out", as in starting with a unit square and trying to go to all of space.

You might think you could have the Pseudo-Hilbert curve pattern fill 4 unit square, then 16 unit square, then 64 unit square, etc. However, no proper limit curve would exist in this case, since each specific value on the curve tends to diverge to infinity.

<comment><USER18> So then it's not really able to define infinite space so much as infinitesimal space. Going from 1 to 0.

On a side note, the Hilbert Curve pattern quite resembles the folds of a brain. Which makes me wonder about the attributes such a pattern would lend our brains:

1) the ability to hold fixed points in space relative to each other while increasing information density between those points, and

2) our ability to stand on the edge of space (reality), and look / measure inward (1 to zero), without seeing infinity looming behind us.

</comment></comment></comment><comment><USER19> These have been a great help in my self-learning already. They definitely fill a huge void in intuition building that rote-style-learning generally ignores. Thanks! :)

<comment><AUTHOR> It is sad that Mathematics is often taught either as narrow examples that miss the big picture or abstract definitions which are more general but feel artificial.

The best teaching often jumps back and forth between the two.

Mathematics can be thought of a simulation of properties of the world inside people's brains which verify the result. Sadly, there's no shared comprehensive framework outside our brains for visualizing [1] and organizing all of it, since it's very flexible [2]. And thus most people miss out on experiencing the beauty of many results.

I sometimes wonder if LaTeX augmented by context (and visualization) would help, and I wish Mathematica was open source to aid this. At the same time, we are faced with incompleteness results that put into question any formal organization of mathematics [3].

[1] [https://vimeo.com/36579366](https://vimeo.com/36579366)

[2] www.jeremykun.com/2013/02/08/why-there-is-no-hitchhikers-guide-to- mathematics-for-programmers/

[3] [http://inference-review.com/article/doing-mathematics- differ...](http://inference-review.com/article/doing-mathematics-differently)

Sorry for the long rant.

<comment><USER19> I actually deleted a rant that completely says what you just said. I 100% agree. It's mind boggling how much intuition is available to explain maths. It oddly just... makes visual sense. It's "simply" an explanation of what's around us.

Yet, when discussing it, <i>while learning</i> with math folk, it's usually met with "You don't have a degree" or "That's not a formal understanding of the definition, come back". It's completely exclusionary and killed much of my math passion until recently.

<comment><USER6> It seems a lot of concerns about math pedagogy tend to be killed off with "you don't have a degree", "you don't have the math gene" kind of rhetoric which is a pity. I discovered I really liked math waay too late for my tastes and it was mostly because I was being taught math by people who didn't really know math.

</comment></comment></comment></comment><comment><USER20> Make sure you check out the one on counting in binary on your fingers. This is a skill all programmers should have, obviously.

Linky: [https://www.youtube.com/watch?v=1SMmc9gQmHQ](https://www.youtube.com/watch?v=1SMmc9gQmHQ)

<comment><USER21> Why? It's kind of hard to do all the finger positions and you end up being needlessly rude when you reach 4. I prefer the system where you count on your right hand's phalanges with your thumb, giving you 1-12 and use the fingers on your left for how many dozens you've counted. This lets you go up to 72 without much trouble.

To expand:

Touch your right thumb to the small bone on your right pinky finger that is closest to the palm - this is 1. Move it up one bone (phalanx) - this is 2. Move it one more to the tip of your pinky - this is 3. Then you continue with your ring finger - 4, 5, 6 and when you reach the tip of your index finger, you're at 12. Now raise one finger on your left hand for 1 * 12 and continue with your thumb on the first phalanx of your pinky - 13. Once you've raised all 5 fingers on your left hand you're at 5 * 12 = 60 and when you then place your thumb on the tip of your index finger, you're at 72. It's easy and quick after only a bit of training and lets you count practically all numbers you'll ever want to count on your fingers.

</comment></comment><comment><USER22> I think one of the worst things to happen to math education is set theory. Great if you're a working researcher that actually creates proofs and theorems, a nightmare if you actually want to apply that math and want a better intuition of it...

</comment><comment><USER23> Just saw the Hilbert curve video, absolutely awesome. Very well done, amazing animations, and I learned some things to boot!

Should come with a warning - once you start watching, don't expect to get anything else done for the next 17 minutes :-)

</comment><comment><USER24> The Euler's formula one is amazing. That is such a simple explanation.

</comment><comment><USER25> Just wanted to say thanks for posting this. Loved it.</comment>


Ask HN: Which qualities you admire most in successful people around you? - <AUTHOR> <comment><USER2> Kindness.

(You didn't ask what qualities _made_ them successful...)</comment>


6 interview questions to crack company culture as a remote developers - <AUTHOR> https://www.agrigoryan.me/post/6-questions-to-crack-the-company-culture <comment><AUTHOR> I've had my fair share of disappointments during my freelance career. A lot of hits and misses helped me to understand what works for me, and this is how I came up with this list of questions. How do you choose your potential employers?</comment>