Postage – A fast replacement for pgAdmin - <AUTHOR> https://github.com/workflowproducts/postage/issues <comment><USER2> Pretty off topic, but this appears to be made by a family that's also a software company. Or the other way around. Awesome team page: [https://www.workflowproducts.com/about.html](https://www.workflowproducts.com/about.html)

<comment><AUTHOR> That's us!

<comment><USER2> Really cool. Can you tell us more about how that happened? How does an entire family somehow end up consisting of IT people and decide to start a software company together? :-)

What's dinner conversation like? Do you have an office or does everybody live and work in the same house and never leave except for groceries and bowling?

<comment><AUTHOR> I have nine children, homeschool them and they start programming around twelve depending on interest.

I got fired because a new president wanted to hire his old it guy so my wife started a company. That was ten years ago.

Lunch and dinner involve a lot of shop talk because when people get stuck it helps to discuss. We all have different strengths so we get requests for a 'consult' when we take a break too.

We work in the livving room so phone calls can sometimes be funny. Kids being kids and getting shushed.

We have all local clients at the moment and we find visiting them helps to stir up work so we get out a bit.

<comment><USER3> >I have nine children, homeschool them and they start programming around twelve depending on interest.

That is awesome!

Have you written more about your experience somewhere online? I would love to strive for something similar when my kids are a little older (my oldest is currently 7) and I personally know several others who have similar hopes. Just seeing a real implementation of this oft-discussed prospect is very exciting! It's difficult to express the admiration I have for this.

Raising a large family is no small undertaking, to say nothing of mentoring a guild of devs. Major heartfelt congratulations to you, your wife, and your family of code wizards.

<comment><AUTHOR> I haven't written more online, sorry. Happy to chat though especially if you have a parenting dilemma. You can reach me through our family website tocci.xyz

We do have an idea for a YouTube channel where we film our attempts to fix up our house. Any interest in that?

Thank you for your kind words.

</comment></comment></comment></comment></comment></comment><comment><USER4> PGAdmin 4 is one of the worst software releases I have ever experienced. Version 3 worked fine, but everything was destroyed with 4. So many things not working, UI bugs, and you have to click multiple times to get to the same point as you could in one click in 3.

<comment><USER5> Fortunately pgAdmin3 is not going anywhere for now because BigSQL maintains an LTS release that stays compatible with the most recent Postgres versions: [https://www.openscg.com/bigsql/pgadmin3/](https://www.openscg.com/bigsql/pgadmin3/)

So I simply continue to use pgAdmin3 until something better comes along because I also really didn't like pgAdmin4.

<comment><USER6> It seems like the BigSQL version of PgAdmin3 doesn't support SSL connections to the server:

[https://bitbucket.org/openscg/pgadmin3-lts/issues/2/ssl- mode...](https://bitbucket.org/openscg/pgadmin3-lts/issues/2/ssl-mode-not- working)

Is that really the case? :(

<comment><USER7> Could work around it with stunnel until it's resolved

</comment></comment></comment></comment><comment><USER8> Still highly recommend DBeaver for working with Postgres.

My own post on the topic: [http://alexpetralia.com/posts/2016/6/8/you-should- be-using-d...](http://alexpetralia.com/posts/2016/6/8/you-should-be-using- dbeaver)

<comment><USER9> I started using it a few weeks ago since I didn't like any of the solutions on Linux, and I came here to say that I've been delighted with DBeaver.

</comment></comment><comment><USER10> Is there a reason this was linked to the issues page rather than the repo root?

By the way, this looks really nice. It's an electron app, but it references having "a small fast C core library in the style of Node.js and NGINX." Can you go into more detail about the architecture of this and how it's related to Node and NGINX?

<comment><AUTHOR> Some info here: [https://github.com/workflowproducts/postage/blob/master/Fact...](https://github.com/workflowproducts/postage/blob/master/Facts_About_Electron_Performance.md)

Postage is based on 'envelope' and works the same but the envelope repo has more info about architecture: [https://github.com/workflowproducts/envelope](https://github.com/workflowproducts/envelope)

</comment></comment><comment><USER11> If you're on Mac, another great, albeit not free, Postgres admin app is Postico ([https://eggerapps.at/postico/](https://eggerapps.at/postico/)).

<comment><AUTHOR> Funny experience. we tried to get into postgres.app not realizing they are they same company as Postico. Rather than point out that they weren't interested they just blasted us. Didn't find out till weeks later. Had a good laugh.

Postico doesnt have autocomplete so i haven't tried it but i'm sure it's a fine product.

<comment><USER12> I'm sorry if my response in January came across as harsh. I really do welcome competition in the PostgreSQL client space -- that's why we have the web page with all the Mac PostgreSQL clients [1] in the first place.

I didn't want to add Postage to that list because it didn't work with Postgres.app when I tried it [2]. If Postage now works properly with Postgres.app, feel free to open a new issue and I'll try it again.

[1]: [https://postgresapp.com/documentation/gui- tools.html](https://postgresapp.com/documentation/gui-tools.html)

[2]: [https://github.com/PostgresApp/PostgresApp/issues/365](https://github.com/PostgresApp/PostgresApp/issues/365)

<comment><USER13> I have seen events like this occur with totally different projects on github because issues feels like a message board. A different way of handling it would be to open an issue in the Postage repo, put a link to the Postage issue in the PostgresApp issue and then close the PostgresApp issue.

I like how the Toccis were very proactive and communicating how they were working to resolve the issues but Jakob was right about how Github emails everyone with each comment.

I'm glad it was resolved here on HN.

</comment></comment></comment></comment><comment><USER14> You guys are offering free phone support? For a FOSS product. That is pretty cool.

Also I would really recommend putting some of the screenshots on the Github readme page.

See bottom - [https://www.workflowproducts.com/postage.html](https://www.workflowproducts.com/postage.html)

<comment><AUTHOR> You're right. I've opened an issue for it:

[https://github.com/workflowproducts/postage/issues/337](https://github.com/workflowproducts/postage/issues/337)

It's time we spent a little time promoting Postage.

</comment></comment><comment><USER15> Serious suggestion - do this : [http://sidekiq.org/products/pro](http://sidekiq.org/products/pro)

Remember, it is very hard to donate...But very, very, very easy to pay for invoices.

This is one of the coolest postgres apps, that actually works on Linux as well. I would love to see this supported.

<comment><AUTHOR> The main reason we haven't done this is because we had hoped to get Postage renamed PGAdmin5. Unfortunately, that outcome seems ever more unlikely. There seems to be some political reason why the PGA4 team continues to get official support while in ongoing trainwreck mode for a year now.

<comment><USER16> What kind of official support?

<comment><USER17> As somebody spending a lot of time working on PostgreSQL I'd like to know the same.

<comment><USER17> justintocci left another comment, which he has since deleted, but since I've spent some time investing in an answer, I'm posting it here. Justin, if you dislike being quoted, let me know.

> In fact, it really should have had these tools a decade ago.

What does "should" mean here? That it'd have been good? Sure. That people working (as a hobby, or as part of their employment) on PG should have stopped doing what they were, and instead focus on doing tooling? Maybe, but given the very very limited number of people and their skills I doubt it'd have been a good trade.

> So I propose a better question. Why doesn't PostgreSQL have free, > enterprise-grade tools?

I think there's plenty of reasons, and everyone will weigh them differently: For one, the development community is actually surprisingly small, especially a couple years back; only in the last few years that's changed to some degree. Which means we're often struggling to get the crucially needed server features done, not to speak of delving into a bunch of features outside of our expertise.

Another big reason, and that might sound counterintuitive, is PostgreSQL's license. Because of it and the long community support cycles, companies around PG have a hard time making money w/ licensing etc. So they have to focus on support, training and value-adds. A number companies tried / try to make money selling software around postgres, more enterprise-y tooling among that. Often that doesn't turn out to work that well, because it's actually a lot of work, and without input from the larger community they don't get the necessary market penetration.

Thirdly, I think that PG's development is done by a number of different companies, with each company's share of development not being large enough to sustain the project, explains some of this. I think it's overall an advantage, but in some areas like coordinated planning, marketing and coordinated effort it has its downsides too. If you want to make value-add software around core you're not going to do so with a competitor.

Lastly, I think for a long time Pgadmin3 was seen as not being good, but kinda somewhat acceptable. But its implementation wasn't particularly clean, in a language relatively few GUI folks use (C++), using a dying and buggy GUI framework (wxwidgets). I think it was for a long time just good enough that MVP of something better wasn't all that minimal anymore.

<comment><AUTHOR> I actually left two comments and deleted them both. It's very difficult to say these things from my position but I like everything you said a lot. If I had said them my obvious bias would have detracted from it. From my position it's just best if I keep my mouth shut, but these are important issues and I think very much in need of attention.

<comment><USER17> I'm interested in hearing other viewpoints as well. I'm certainly biased myself here.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> Screenshots on [https://www.workflowproducts.com/postage.html](https://www.workflowproducts.com/postage.html) should be clickable thumbnails for larger preview. Otherwise those are too small to see much detail

<comment><AUTHOR> I've posted an issue for it. Thank you.

[https://github.com/workflowproducts/postage/issues/334](https://github.com/workflowproducts/postage/issues/334)

</comment></comment><comment><USER19> >electron

Not a big fan of it so I think I'll continue using PSequel and pgAdmin3.

With Slack already running, I can't have another battery hog running simultaneously.

<comment><AUTHOR> Understood.

If you're open minded, you may want to read this: [https://github.com/workflowproducts/postage/blob/master/Fact...](https://github.com/workflowproducts/postage/blob/master/Facts_About_Electron_Performance.md)

Also, postage has a webserver mode that is simple to install (configure-make- install) and it does not use Electron. You just use a browser window.

<comment><USER20> >You just use a browser window

I don't think anyone who has a problem with Electron is going to rejoice at the option of a browser window instead. Typical Electron usage is problematic because it is a browser.

But Postage sounds like it might be the rare Electron app that is actually sensible.

<comment><USER21> >I don't think anyone who has a problem with Electron is going to rejoice at the option of a browser window instead.

I'm not going to jump around in happiness but I sure as hell prefer it as it's more resource efficient.

</comment></comment></comment></comment><comment><USER22> A link to Github issues and a GH page with zero screenshots. Thats not how to promote your OS project :(

<comment><AUTHOR> You're right. Perhaps it's time to promote Postage. I've opened an issue for it here if you have any ideas:

[https://github.com/workflowproducts/postage/issues/337](https://github.com/workflowproducts/postage/issues/337)

</comment></comment><comment><USER23> Does this support JSONB column types? I was using Jetbrains Datagrip, which I've been very happy with except for the fact that it doesn't seem to support JSONB columns. I've switched back to PgAdmin 4, but the UI lag is really distracting.

<comment><AUTHOR> If it doesn't do what you want just file an issue. We'll fix it. What do you mean by support?

<comment><USER24> Not the OP, but I would suspect that the problem is displaying JSONB as if it were plain text json without having to deal with manually converting it or relying on DB operations.

<comment><USER25> Opened or found a bug on the IntelliJ YouTrack?

<comment><USER26> I'll second this. JetBrains support has been fantastic responding to individual issues I've had.

</comment></comment></comment></comment></comment><comment><USER27> This looks great! You sold me with the object dependency graph alone.

As someone who's fed himself as a PostgreSQL DBA for over a decade now, I'm excited to see what this can do for me. Thank you!

<comment><AUTHOR> We feel the same! The lack of progress with the official client was what drove us to do it.

</comment></comment><comment><USER28> My personal favorite - Valentina Studio.

Available in windows, mac and linux. Can work with MySQL, PostgreSQL, SQLite.

[https://www.valentina-db.com/en/valentina-studio- overview](https://www.valentina-db.com/en/valentina-studio-overview)

<comment><USER29> Thanks for the suggestion. While the OP is awesome over pgadmin I had been looking for a good polyglot DB tool for a while.

<comment><USER13> Check out Navicat Premium

from their website [1]:

Navicat Premium is a database development tool that allows you to simultaneously connect to MySQL, MariaDB, SQL Server, Oracle, PostgreSQL, and SQLite databases from a single application. Compatible with cloud databases like Amazon RDS, Amazon Aurora, Amazon Redshift, SQL Azure, Oracle Cloud and Google Cloud. You can quickly and easily build, manage and maintain your databases.

[1] [https://www.navicat.com/en/products/navicat- premium](https://www.navicat.com/en/products/navicat-premium)

<comment><USER28> Yeah, navicat is great! It's just for a small time developer / student, the $1,299.00 price tag is not really enticing. I'll gladly pay for a subscription model like adobe cc.

<comment><USER25> Dunno if it's still offered anymore, but Navicat Premium Essentials was a decent value - you buy a small base and add the features you want on top with IAP's. I didn't care for any of the diagramming / data modeling stuff so I just bought the base plus a couple add-ons.

Of course, I just use DataGrip now, but if you want Navicat see if Premium Essentials is still around as it may work for you.

<comment><USER13> I tried DataGrip when it first came out but found it lacking in some areas. I'm sure much has changed since the first release but are you wishing there are any features in Navicat that should be in DataGrip?

<comment><USER25> The notable missing features are the synchronization tools, beyond that I haven't found anything of import missing. The data modeling tools in IntelliJ/DataGrip aren't anything to write home about, but I rarely use them (I've always just busted out Visio or LucidChart for UML/relational modeling when I have to do it).

For my own work use I really have no choice but DataGrip, it's the only database utility that supports DB2 for i, Microsoft SQL Server and PostgreSQL - all of which we use heavily at work. But also being a heavy user of other JetBrains products (IntelliJ, ReSharper, PyCharm) having a familiar interface is a huge positive over Navicat since all of my keyboard shortcuts work the same and I only have two different (VS vs IntelliJ-based IDE) ways I have to remember how to do code snippets instead of three.

<comment><USER13> Thank you for sharing your thoughts on the two.

You might find Vertabelo [1] useful and possible replacement of LucidChart & Visio for db modeling.

[1] [http://www.vertabelo.com/](http://www.vertabelo.com/)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER30> Great work, I will surely check this out. At this moment I use pgAdmin 4.1 and I don't really like it.

There is a typo in the Description field of your [https://www.workflowproducts.com/about.html](https://www.workflowproducts.com/about.html) page.

Desktop is written as destop.

<comment><AUTHOR> Fixed! Thank you!

</comment></comment><comment><USER31> On a related note, a former co-worker built a similar tool. It's been helpful for me!

[https://sosedoff.github.io/pgweb/](https://sosedoff.github.io/pgweb/)

</comment><comment><USER32> I wrote a PR[1] for NixOS that adds a postage service. Just add the following to your configuration.nix to enable a postage web server:

      {
       services.postage = {
         enable = true;
         connections = {
           "local" = "hostaddr=127.0.0.1 port=5432 dbname=postgres";
         };
       };
      }

BTW the postage devs were very helpful in fixing packaging issues.

[1] [https://github.com/NixOS/nixpkgs/pull/27796](https://github.com/NixOS/nixpkgs/pull/27796)

</comment><comment><USER33> "Compiling Postage from source will only give you the server version and all first time users should try the desktop version first."

Sorry what? How does one go about "compiling" the desktop version, then? Or the installers that are supposedly great?

Something really reeks of red flags over here.

<comment><USER34> Seems like you just need to run the package-nix.sh or package-windows.bat scripts, which compile _and_ package it as an electron app.

<comment><AUTHOR> This is correct, thank you icebraining.

We stand by the README wording because we've gotten a lot of feedback from users who are not developers. There are additional README documents for developers.

</comment></comment></comment><comment><USER35> Looks great! This is another option I've been using which I can suggest. [https://github.com/web-pal/DBGlass](https://github.com/web-pal/DBGlass)

Also based on Electron

<comment><USER36> I've been using sqlectron (which is also based on electron), because that's the only one I could get working with Redshift (a Postgres 8.0 fork): [https://github.com/sqlectron/sqlectron- gui/](https://github.com/sqlectron/sqlectron-gui/)

Edit: I think I'll be sticking with sqlectron for now. Postage looks pretty featureful but very quirky. Good work on it though, good to have more free alternatives to Datagrip/pgadmin3 on Linux.

</comment></comment><comment><USER37> Looks great! Decided to install it and test it only to be met with a blank screen, the dev console contains no errors as well. Anyone else having this issue? (windows 10, latest release)

<comment><USER38> I got the same. Just a blank screen. When I clicked on the menu selections to edit the configuration files, it just opened another empty window.

Windows 10 latest.

<comment><AUTHOR> I'm trying but I can't reproduce the error.

Microsoft Windows 10 Pro Version 10.0.14393 Build 14393(latest)

uninstalled Postage removed the following folders: C:\Users\jtocci\\.postage C:\Users\jtocci\AppData\Roaming\Postage C:\Program Files (x86)\Workflow Products

Downloaded Postage.Windows.3.2.16.zip tried to install by double-click. nothing happened. (known Electron issue) right click to run as administrator install for all users, default location

Postage popped right up. Any ideas how I can get the error you're getting?

<comment><USER38> I did not install on C:. I installed on D:

I uninstalled and reinstalled as Administrator C: and it works now.

<comment><AUTHOR> Excellent! I opened an issue:

[https://github.com/workflowproducts/postage/issues/339](https://github.com/workflowproducts/postage/issues/339)

We'll see if we can reproduce. Should be easy now.

</comment></comment></comment></comment></comment><comment><USER39> Thanks for this, PGAdmin is painfully slow and clunky for me. Will give this a shot tomorrow morning!

</comment><comment><USER40> it is good to see some one working on this, because Postgres really comes short when it comes to GUI clients when compared to Mysql.

</comment><comment><USER41> Any plans for Linux support? I'm desperate for a postgresql admin suite that runs on Linux and in particular copes well with HiDPI displays.

<comment><USER42> Did you even check the downloads page? Theres rpm and dep packages: [https://github.com/workflowproducts/postage/releases](https://github.com/workflowproducts/postage/releases)

</comment></comment><comment><USER43> Any PostGIS support?

<comment><AUTHOR> We're actually working on mapping right now for a potential product so it might be possible to add something cool to Postage but I don't know what it would look like. Anything in particular you'd like to see?

<comment><USER44> Not OP, but I'd be cool to be able to view the results of a query on a map. For instance, if we did `SELECT * FROM points WHERE created < '2016-07-30'` and Postage detected a spatial column, show the returned geometries on a map (using leaflet.js or something similar, perhaps?).

<comment><AUTHOR> Hmm. I don't know. I think we'd need to show them in relationship to some map, like google or bing for it to make any sense though right? Would there be a legal way to do that? Or am I wrong?

Help me out here.

<comment><USER45> I work in this sector - best and simplest use-case is to run your own OSM basemap and satellite tiles and fetch them on the client using Leaflet, embedding them in your application and rendering the data on top of it.

You'd only probably want to support one or two projections out of the box (EPSG 4326 and 3857, the respective geographic and projected coordinate systems that pretty much are the de-facto standard in GIS). The end-user would have to use PostGIS spatial query to project the data if they wanted to see it on map.

Then you would retrieve the extent (bounding box) of the data from the query, send that to your server, fetch the tiles, and have the Leaflet client render basemap under the data. You could look into [https://github.com/lukasmartinelli/osm- liberty](https://github.com/lukasmartinelli/osm-liberty) for some inspiration of self-hosted OSM.

</comment></comment></comment></comment></comment><comment><USER46> How is this any better than any other database admin tool?

<comment><AUTHOR> The chief goal was to make Postage faster than anything else. We've largely succeeded.

<comment><USER47> Hello, thank you for this app it is really great. I am not sure if it is really faster than anything else however it _definitely feels faster_ than any other postgresql client I've tried (ok, except HeidiSQL but HeidiSQL has various problems with Postgresql).

Great work!

P.S One feature I'm missing is to extract the selected data (in the Edit Data view of a table) to a CSV or to the clipboard - is it possible? I wasn't able to find out how to do it :/

<comment><AUTHOR> Select the records you want and just use ctrl-c on win or cmd-c on mac</comment></comment></comment></comment>


Charlie Munger & Lollapaloozas (using common sense vs. models) - <AUTHOR> http://alexblom.com/blog/2011/07/charlie-munger-lollapaloozas/

<comment><USER2> If you liked that, I would recommend Charlie Munger's book <http://www.poorcharliesalmanack.com/> . It is a good read, and one that you can refer to over and over again. One of the sections in the book is also posted on Ycombinator at <http://ycombinator.com/munger.html> if you want to see the sort of thing he talks about in the book.

<comment><AUTHOR> Thanks!</comment></comment>


100 Awesome Women in the Open-Source Community You Should Know - <AUTHOR> http://blog.sourced.tech/post/100-awesome-women-in-the-open-source-community-you-should-know/ <comment><USER2> I love that they're using actual network data to build this list, not just a "who's who" based on someone's general impressions. There is so much potential in applying this kind of network analysis to the GitHub dataset, and I think we're only seeing the beginning with projects like this one, as well as ones like [https://libraries.io/](https://libraries.io/) and [http://depsy.org](http://depsy.org).

One thing I missed in this writeup was more explanation of their methods. For instance, why were they only able to make gender guesses for 2mil out of 7mil users? That's unusually low for name-based gender identification. I'm guessing this is because many GitHub accounts didn't have first names, but would be great to actually see.

I'd also love to see the percentage of women they found out of those 2 million. Otherwise it's "Top 100 out of the ???? women on GitHub." Hopefully this will be addressed in the followup posts they promised. I'll be looking forward to them.

[disclosure: I'm a PI on [http://depsy.org](http://depsy.org), which is funded by the National Science Foundation. And one of the gals on this list is my co- PI]

</comment><comment><USER3> As soon as I saw Coraline Ehmke, I closed the tab. Not a good list.

<comment><USER4> Care to elaborate?

<comment><USER3> read up on how she decided to foist a social contract on the Ruby devs. She's poisonous.

</comment></comment></comment><comment><USER5> This is really important to shed light on women developers!</comment>


Jelastic PHP cloud is now available - <AUTHOR> http://php.jelastic.com

<comment><USER2> Interesting, but I find the user experience breaks down rather quickly when I try to find out how much I could expect to pay if I moved a webapp to Jelastic. Annoying considering "True Cloud Pricing" is one of the headline features.

The "Pricing" link leads to an FAQ with 16 questions on pricing, each of which have to be expanded individually and none of which answer the question, "How much does it cost?"

The best answer tells me to click on my hosting provider, which is confusing, since I don't have a hosting provider; I haven't signed up for service. When I click on a random one, I get a dumped into the middle of some corporate knowledge base's 500-word article which then has to be scanned for plain text pricing information hidden within it. I'd then have to go make my own spreadsheet and plug in the numbers.

For reference, compare to Heroku's pricing page: <http://heroku.com/pricing>

Or AWS: <http://calculator.s3.amazonaws.com/calc5.html>

</comment><comment><USER3> I like the prominent "vote for features" button. They also have a tab which shows which of these community-driven features have been finished. This isn't a novel idea, but I like they way that they implemented it.

<comment><USER4> True, but I don't believe the votes at all. The most popular options have ~1700 votes, but obscure one at page 7 still have 1640 votes? That doesn't seem realistic..

<comment><USER5> There's a sudden drop off on page 23 to ~280. There's certainly something fishy going on, but I'm not sure it's their own doing.

<comment><USER6> The votes seem to be a summation of the tweets/+1s/likes. The numbers are skewed due to the Google +1's -- it's stuck at exactly 1616 for every feature request until page 23. This looks like either a misconfiguration or a Google+ bug to me.

</comment></comment></comment></comment><comment><USER7> looks flexible, but they provide .zip or .tar.gz deployment... wtf?

</comment><comment><AUTHOR> Tested and love it.</comment>


QUIC experiments [pdf] - <AUTHOR> https://www.ietf.org/proceedings/93/slides/slides-93-hopsrg-6.pdf <comment><USER2> One interesting thing is that we'll need new tools to diagnose QUIC connection problems.

When you're looking at a range of ports used to open a connection between layer 7 and, due to the pre-negotiated encryption basically layer 3, netcat, nmap, and tcpdump aren't as informative as they were before.

I'd love to know how Google has been handling that sort of troubleshooting internally.

<comment><USER3> There's QUIC support in Wireshark. Use the beta version. :)

</comment></comment><comment><USER4> Udp is too broken to use in quic [http://tools.ietf.org/html/draft-byrne- opsec-udp-advisory-00](http://tools.ietf.org/html/draft-byrne-opsec-udp- advisory-00)

<comment><USER5> Seems counterproductive. I don't see how UDP is intrinsically more prone to allowing reflection attacks than TCP if it's used as the foundation for a well-designed connection-oriented protocol. And indeed, the principles of packet amplification and session authentication are much better understood than in days of TCP/IP.

ISPs limiting DoS UDP flows isn't reason to not use UDP for legitimate purposes. After all, nothing stops DoS botnets from sending junk TCP packets.

<comment><USER4> The problem is that today, UDP is a rate limited sewer of attack traffic from Brazilian home routers and so on. Your legit traffic is guilty by association. Devs need to know udp is collateral damage in the ddos war

<comment><USER5> I would actually put money on most of those UDP rate limits being in place because of uTP Bittorrent traffic. It's dumb and it needs to stop. Nothing between two networks on the Internet should be inspecting the transport layer.

And since when has 'guilty by association' been a good reason to condemn anything?

<comment><USER4> It's not a matter of guilt. It is a practical reality of the ddos abuse on the net. It is massive and breaks network. It is all we can do to keep the net up at times. Serious.

<comment><USER6> Is the net up if we can't fully use it? UDP is an important part of the net. If we can't use it, then the net is not fully operational.

</comment></comment></comment></comment></comment></comment><comment><USER7> Super cool. Roundtrips are especially expensive on mobile – it'd be interesting to see their latency improvement numbers broken out by mobile vs desktop. But the deck is fairly light on how much this helps with latency in general.</comment>


Chrome says login.live.com is a "Deceptive site" - <AUTHOR> I just typed outlook.com to my browser and all of a sudden Chrome gave me this red security error page. it still doesn't want to show me my hotmail inbox.
http://cl.ly/0I3q200N2K2j/Image%202016-02-25%20at%2010.44.52%20PM.png
If I type outlook.com ot hotmail.com in an incognito window, it seems fine since I am not getting the redirects to my inbox. (not logged in) <comment><USER2> Checked, seems fine to me.

<comment><AUTHOR> Yeah, now it works fine, I also checked at that time on twitter if it was only me, but there were also other people complained about it.</comment></comment>


React Geoinput element - <AUTHOR> https://github.com/woltapp/react-geoinput <comment><USER2> Very nice solution, dont forget you pay $8.500 per year per 1M requests on the google maps api.</comment>


Ask HN: What laptops are available in market powered by AMD Ryzen 4000? - <AUTHOR> <comment><USER2> There are quite a few models listed on AMD's website [1]. Though, when I click on them I'm redirected to what looks like an error page. But you can probably just check the model names on the manufacturers' websites. I myself heard good things about the Lenovo Flex 5 [2].

[1] [https://www.amd.com/en/shop/us/Laptops](https://www.amd.com/en/shop/us/Laptops)

[2] [https://www.lenovo.com/us/en/laptops/ideapad/ideapad-flex- se...](https://www.lenovo.com/us/en/laptops/ideapad/ideapad-flex- series/IdeaPad-Flex-5-14ARE-05/p/88IPF501453)

</comment><comment><USER3> Hard to say. newegg.com's parametric search had just two last time I checked. Each had half a dozen variants, but none of them had the combination of features that I wanted. One of them was marked as sold out. At the time, a Google search came up with an article with some information about three or four others, one of which I found had been discontinued. Maybe next year, if I still care.</comment>


Hegelian contradiction and the prime numbers (part 2) - <AUTHOR> https://ianwrightsite.wordpress.com/2019/02/09/hegelian-contradiction-and-the-prime-numbers-part-2/ <comment><USER2> [https://ianwrightsite.wordpress.com/2018/11/24/hegelian- cont...](https://ianwrightsite.wordpress.com/2018/11/24/hegelian- contradiction-and-the-prime-numbers-part-1/)

Both TFA and the linked article referenced by TFA seem to me to be the ramblings of somebody trying really, really, hard to pull a rabbit out of a hat. By linking together abstract concepts you can prove that philosophy and mathematics are one and the same!

>So it's very remarkable that Hegel's mystical starting point, which is purely conceptual and abstract – and makes no reference to physical reality or empirical knowledge whatsoever – nonetheless implies a structure of 'becoming' that is equivalent to the fundamental structure found everywhere in physical science.

Well, you can read Hegel this way... I guess. Figure it makes for some really warm and fuzzy insightful feelings, regardless of whether they are meaningful.

<comment><USER3> "Hegel aims to merely observe what is there – once we drop all our knowledge, all our presuppositions, all our theories, and even the sense of our own existence.

...

"I think it's worth emphasising that when Hegel talks about pure being he isn't talking about an abstract concept. He's actually talking about a real phenomenon, an actually existing thing, which he claims we all have immediate access to, if we're prepared to perform the mental exercise."

I cannot help but read the claim of the second paragraph as being a presupposition of the sort disavowed in the first.

<comment><USER4> well, hegel did-apparently-love his contradictions.

<comment><USER5> Doublethink is a powerful thing!

</comment></comment></comment></comment><comment><USER6> This is pretty silly.

The only real connection to Hegel is that Hegel talks about "being" and "nothing" kinda-sorta turning into one another, which the author riffs on in terms of differential equations and takes as corresponding to the differential equation for a harmonic oscillator.

The rest -- the idea that you can see the Riemann zeta function as something a bit like a Fourier transform of the integers -- is old hat. (As Terry Tao put it at one point: "the Riemann zeta function is essentially the Mellin transform of the Dirac comb on the natural numbers". See also du Sautoy's popular book about RH, "The music of the primes".)

The idea that sometimes you have two things turning into one another is not exactly startling, nor is it original to Hegel. The idea that this yields harmonic-oscillator-like dynamics is also not exactly startling, and in any case it's not something Hegel had any idea about. The thing that's distinctly Hegelian here, so far as I can tell (note: I am very far indeed from being a Hegel expert) is the idea that it's _being and nothing_ that are in this relationship, and that specific aspect has nothing to do with the author's calculations. (He just writes them as _x_ and _y_. They could equally have been "ham" and "eggs" or "Vishnu" and "Shiva" or "Linux" and "Windows" instead of "being" and "nothing".)

<comment><USER7> Yes, it's well known that Riemann's zeta is the Mellin transform of the Dirac comb of the natural numbers. The philosophical, rather than the mathematical, question the author addresses is: Why is the Zeta representation uniquely informative of the order in the primes? Why must we move to the complex plane? Why analytic number theory? What is the possible meaning of this mathematical move? etc. The central claim is the efficacy of the Zeta representation is strong evidence that the natural numbers are, contrary to appearances, not static and independent quantities, but fundamentally dynamic and interdependent structures of being and nothing (literally Hegelian contradictions). So this is a philosophical or metaphysical interpretation of existing results in number theory.

<comment><USER6> I'm afraid this seems all wrong to me.

First of all: If that's your idea of "strong evidence" then there are a bunch of other things that seem preposterous to me but have "strong evidence" for them. For instance: Mathematicians have found it very useful to build mathematics on top of set theory; that is, to think of numbers (and everything else) in terms of structures of _things belonging to other things_. This is "strong evidence" that the notion of _belonging-to_ is fundamental, and therefore that capitalism is the One True Economic System. (This absolutely honestly seems to me no more far-fetched than your argument here.)

Second: so far as I can see, even if we take the argument of the OP seriously, there is absolutely no reason to say that the things in these "dynamic and independent structures" are _being and nothing_. As I said above, they could just as well be _any_ two things. Horizontal and vertical. Penn and Teller. Red and blue. But taking them to be "being and nothing" is the _only_ thing that really connects this to Hegel at all.

Of course anyone's welcome to see parallels to anything anywhere. If the Riemann zeta function makes you think of Hegel, fair enough. It might make someone else think of Beethoven, or civil engineering. The only thing I take any exception to here is the idea that this somehow _indicates that there 's something specially insightful in Hegel_ rather than that human brains are good at spotting patterns, including patterns that aren't really there.

</comment></comment></comment><comment><USER8> I actually recommend reading Lacan to everyone interested in Hegel.

It takes some suspension of disbelief (but then, the scientific psychologies that took over clinical practices are skating on thin ice and only successful in certain serious mental illnesses ) but it's well worth reading at least Malcolm Bowie's intellectual biography of him and maybe Zizek's "Less than nothing" to have some access to Lacan. (Lacan, of course, is a long self- winding reiteration of Hegelian theory on a pseudoclinical domain)

</comment><comment><USER9> > The success of Riemann's project is strong evidence that the whole numbers – > which we think of as static, unchanging quantities – are really some kind of > shadow or projection of the Hegelian integers. The Zeta function reveals > more because it represents whole numbers as what they actually are, that is > dynamic contradictions of being and nothing.

> But, in addition, the Zeta function represents the whole numbers as a > sublated unity, where the entities internally relate via the exchange of a > conserved substance. And this whole moves and changes with time. This is > quite unlike the vision offered by set theory.

The way modelling normally works is you have a certain phenomenon (falling rocks, fish populations, market booms-and-busts) that you attempt to describe numerically, and then create a mathematical model to make conclusions about the phenomenon. Here we have the opposite: the author takes the phenomenon (the Hegelian contradiction) and uses the model to make conclusions about mathematics!

</comment><comment><USER10> >Hegel aims to discover the fundamental structure of everything from pure reflection alone.

Ok, so after his navel-gazing was tested against observation, how accurate was it at describing life, the universe, and everything?

The problem with linking small pieces of science to large works of metaphysics is like finding shapes in the clouds or "Five ways TV shows predicted the future!" If you have enough material to sift through you can draw a circle in it and decide this particular piece of the morass is significant while ignoring the rest of the meaningless unfalsifiable piffle.

<comment><USER11> If you read Hegel (or read someone interpreting him, I don't recommend reading Hegel unless you're a masochist), you'll find a key part of his approach was the limitations of observation. And Hegel wasn't even first to the gate on that one - philosophers have been questioning the value of observation relative to a comprehensive understanding of reality since the ancient Greeks (and the ancient Chinese, if you bring Taoism into it).

There's a lot more to it than "meaningless unfalsifiable piffle".

</comment></comment><comment><USER12> This claim will be hard for anyone to assess without having read and understood Hegel, particularly the incredibly long and dense "Science of Logic." While I haven't read the latter, his interpretation on the surface seems like a gross simplification of something that few scholars agree on, regarding a book that few have read. If Hegel's ontology were as simple as the author described, it would be standard knowledge in how to interpret Hegel, something I would have learned in my college modern philosophy class.

</comment><comment><USER13> The prime numbers of course would have been just fine and irreducible as ever if Hegel had never existed. He did however manage to influence a lot of other iffy stuff:

> Maurice Merleau-Ponty wrote that "all the great philosophical ideas of the > past century—the philosophies of Marx and Nietzsche, phenomenology, German > existentialism, and psychoanalysis—had their beginnings in > Hegel."(wikipedia)

<comment><USER11> I don't think of any of those things as "iffy", myself.

But if you wanna take a shot at dismissing anything that Nietzsche or Heidegger wrote, without resorting to cultural bias points, be my guest. There's a PhD in it for you.

<comment><USER14> They might be seen as iffy because of the damage that has been done in the name of each of their theories. Marx obviously has a lot to answer for if you consider him responsible for everything that went wrong in the USSR; Freud's influence is probably as much bad as good, if you consider it as having brought a compelling but pseudoscientific method to bear on psychology. And so on.

It does sound anti-intellectual to dismiss all those thinkers as iffy, but I'd much rather retain the option of treating their views with skepticism than enrol in a PhD programme where it's implicit that all one can do is write footnotes on the work of these great men. (You seem to imply that — unless, that is, the student is a rare and impertinent genius who has the temerity to take them on.)

<comment><USER4> to steal a line from Stroustrup:

"there are to kinds of philosophies: the ones people kill each other over and the ones nobody uses"

<comment><USER13> Though some like humanism tend to lead to less killing than might have gone on otherwise.

<comment><USER15> Let it run its full course, and humanism will lead to an unimaginably horrific dystopia. Think "Brave New World", by Aldous Huxley. The surest way to make a man stumble and fall is to puff him up with flattery and tell him how wise and sure-footed he is.

<comment><USER13> Maybe though I rather doubt it. Time will tell.

<comment><USER4> The problem is that humanism is more of a flavor found in philosophies rather than a specific lineage or school.

Marx was humanist, so time already told I guess.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> I wonder what zizek has to say about this</comment>


Using Go to improve your Ruby application's performance - <AUTHOR> https://antoine.finkelstein.fr/go-in-ruby/

<comment><AUTHOR> I would love to get feedbacks on this idea. Is there a better way to easily communicate from Ruby with a Go application ?</comment>


Spectacles by Snap Inc - <AUTHOR> https://www.spectacles.com/ <comment><USER2> Comments moved to [https://news.ycombinator.com/item?id=12569182](https://news.ycombinator.com/item?id=12569182).

</comment><comment><USER3> This here is a very good example of how NOT to make a webpage.

<comment><USER4> Disagree. As an advert-page, for their demographic, it may very well be a great example.

Edit: I am looking at it on a Mac and not in a phone browser, so I may have missed some of the issues others are reporting.

<comment><USER3> Weird...I'm on a linux desktop and the scrolling is just awful.

<comment><USER5> Same here on Windows/Chrome. Mousewheel scrolling jumps all over the place, grabbing the scrollbar does nothing, and all of the animations constantly restart after playing for a few frames.

</comment></comment></comment></comment><comment><USER6> When I first read about these in WSJ I was very skeptical, but now I am fairly certain these will perform well. They are a cool fashion accessory.

</comment><comment><USER7> [https://news.ycombinator.com/item?id=12569182](https://news.ycombinator.com/item?id=12569182)

</comment><comment><USER8> I don't know what's going on, but scroll either doesn't work or I get pulled back to the top of the page every 0.1s. It's unnerving.

This is on an Android phone.

<comment><USER9> Scroll horribly broken on desktop Firefox too.

<comment><USER10> That doesn't seem to apply to Firefox on Linux. Works well on Vivaldi browser (Chrome-based) on Linux too.

By the way, I don't use any ad blockers.

</comment></comment></comment><comment><USER11> What the fuck is wrong with people who develop sites like this. Just stop. Use HTML and CSS and stop trying to fuck around with basic things like scrolling. It's so fucking self important.

<comment><USER6> I thought it was a fantastic site. Got me interested, got me to scroll all the way and told me everything I needed to know in a very visual way. I really liked this page.

</comment></comment><comment><USER12> Ah... just when you thought it couldn't get more annoying</comment>


100 days without Covid-19: how New Zealand got rid of a virus - <AUTHOR> https://theconversation.com/100-days-without-covid-19-how-new-zealand-got-rid-of-a-virus-that-keeps-spreading-across-the-world-143672 <comment><USER2> Good to see someone acknowledge the Australian states individually for their efforts.

Queensland (where I am) by the numbers is roughly the same population as NZ and has managed to keep cases and fatalities to a fraction. With the border closing again this weekend the state government is again not bowing to pressure from the other states or the Australian government to keep the border open so we can stay open locally.

</comment><comment><AUTHOR> With the decent levels of tracing and reporting, absence of misaligned incentives and lack of politicising, I think there's probably some good data in the NZ experience, in terms of actual mortality rate, cohort risk and level of complications.

</comment><comment><USER3> We seem to have people travelling overseas and testing positive at their destination. I'm not convinced we have gotten rid of it just yet.

<comment><USER4> There's non-trivial community testing that hasn't found people with Covid-19 in NZ. So either (a) every case in NZ is asymptomatic, (b) there are only a few cases that somehow defy the exponential growth we saw at the start of lockdown, or (c) there are no cases in NZ. I find the lowest probability explanation to be that there are no cases in NZ.

So what about the three cases of travellers testing positive overseas? The one in South Korea went via Singapore and it's hypothesized that the traveller caught Covid-19 there. There has been testing of the places in NZ where the traveller went before they left (e.g., Queenstown and Milford), so far with no positives found. One tested positive in Australia but was never "in" New Zealand -- her flight was LA-Auckland-Sydney. And in the final case, the woman had been ill in March after returning from overseas and it's thought she hasn't been infectious. They've all been contact-traced and testing came back negative.

<comment><USER4> See also: [https://sciblogs.co.nz/infectious- thoughts/2020/08/01/four-p...](https://sciblogs.co.nz/infectious- thoughts/2020/08/01/four-possible-scenarios-for-the-australian-and-south- korean-travellers/)</comment></comment></comment>


How David Beats Goliath: When underdogs break the rules (2009) - <AUTHOR> http://www.newyorker.com/magazine/2009/05/11/how-david-beats-goliath

<comment><USER2> > In the world of basketball, there is one story after another like this about > legendary games where David used the full-court press to beat Goliath. Yet > the puzzle of the press is that it has never become popular. People look at > upsets like Fordham over UMass and call them flukes. Basketball sages point > out that the press can be beaten by a well-coached team with adept ball > handlers and astute passers — and that is true. Ranadivé readily admitted > that all an opposing team had to do to beat Redwood City was press back: the > girls were not good enough to handle their own medicine.

The full-court press requires every team member to play a specified assembly- line style role where there's no room for any individual showing off and the only competition is the other team. Players in zero-sum sports aren't particular good at that and need to show off on the court or field to impress the scouts, so they're competing not only as a group against the other team but also as individuals against other members of their own team. Coaches tend to cater for this player need with suitable game strategies.

> College coaches of Pitino's calibre typically have had numerous players who > have gone on to be bona-fide all-stars at the professional level. In his > many years of coaching, Pitino has had one, Antoine Walker. It doesn't > matter. Every year, he racks up more and more victories.

The only person who really shines in the full court press play is the coach. Ambitious players don't want to be coached by them.

<comment><USER3> I read about half of "The Score Takes Care Of Itself" by Bill Walsh on a flight a few weeks back, and it makes me question your reasoning.

It sounded like the team that Bill Walsh coached was playing an (at the time) similarly unloved playing style, and didn't have the favored players in the NFL (especially before the winning began), but (supposedly, I don't know anything about NFL) Joe Montana is now seen as one of the best quarterbacks, despite not being well suited to other teams' strategies.

In that sense the full court press sounds like a similar strategy to the west coast offence where you can take what are otherwise seen as poor players and transform a sport by taking championships.</comment></comment>


How to Save Time at a Hackathon - <AUTHOR> https://medium.com/@paulmelnikow/how-to-save-time-at-a-hackathon-abe7846747b5

<comment><USER2> So the author wants people to use dropbox over git because a repo takes too long to set up. Then their idea of version control is to copy files out of dropbox to somewhere else at random intervals. What on Earth...

<comment><USER3> Disclaimer: I know the author.

butwhy, I understand the confusion, but I believe the intent of this suggestion is to not burn time trying to get people who have not been exposed to version control systems up to speed with git. Recently I've been working with people who are not professional developers and realized that even with a good front end like GitHub, VCS is a rather large concept to absorb.

While the benefits of VCS far outweigh the work to grok the ideas, the rate of return may not be high on the small timescale of a day or afternoon at a hackathon that is aimed at interested but relatively green individuals.

<comment><USER4> Given github has a desktop interface that is super simple and easy to understand and can be explained in a single sentence, I am not sure there's any reason to not use it.

</comment></comment></comment><comment><USER5> This is horrible: among other head-scratchers, author advocates "saving time" by blatantly cheating. A "clever (sic) rehearsed demo" that "covers up" the fact that you didn't actually write the application code you say you wrote isn't saving time, it's cheating. The point of a hackathon demo is to show how much progress you made towards an idea in a given amount of time, not to put on a smoke & mirrors show.

<comment><USER6> In defence of the author, I think he means take some short cuts if time is short to show your business logic. It makes more sense in pitch-a-thons where the pitch is central and the demo is usually only given a short window of time.

<comment><USER5> I'm going to continue operating under the assumption that Author intended his advice to apply to traditional hackathons, since that's the language he used.

> I think he means take some short cuts if time is short to show your business > logic.

Even if that is the case, covering up the fact that you took a shortcut is still _cheating_. It's fine if, during your demo, you say something like "this is a mockup modeling the backend, we plan to implement xyz functionality using abc stack". At a hackathon, people get that, and if you show good effort and use of time otherwise you're not going to be dinged on that alone. But faking it to look as if you did more work than you actually did isn't right, and isn't fair to the other hackers.</comment></comment></comment>


Password Alert: a Chrome extension by Google to detect password phishing - <AUTHOR> http://googleonlinesecurity.blogspot.com/2015/04/protect-your-google-account-with.html

<comment><AUTHOR> A while ago this was sort of leaked on HN, but someone called it "really unlikely": [https://news.ycombinator.com/item?id=8566485](https://news.ycombinator.com/item?id=8566485) [https://news.ycombinator.com/item?id=8566022](https://news.ycombinator.com/item?id=8566022)

Now we've publicly released my project. It's a bit different than most phishing detection -- it detects phishing by noticing where the user has typed their password. Please try it and let me know what you think. The source code is here: [https://github.com/google/password- alert](https://github.com/google/password-alert) It's available in the Chrome Web Store here: [https://chrome.google.com/webstore/detail/password- alert/noo...](https://chrome.google.com/webstore/detail/password- alert/noondiphcddnnabmjcihcjfbhfklnnep)

<comment><USER2> Seems like a great feature for Google for Work, although I doubt most folks who get phished would install this extension voluntarily.

<comment><AUTHOR> Thanks, that's a fair point. However I've been surprised to see that in well- executed attacks, even the best of us can at least occasionally fall for password phishing.</comment></comment></comment>


What does Nvidia buying ARM mean for Raspberry Pi? - <AUTHOR> https://www.jeffgeerling.com/blog/2020/what-does-nvidia-buying-arm-mean-raspberry-pi <comment><AUTHOR> tl;dr: Arm has lineage back to Acorn computers, which built the processors for the BBC Micro, an inspiration for the Raspberry Pi. It's a little sad to have seen this plucky British tech company get gobbled up by another US tech conglomerate, kind of like Mini getting eaten by BMW.

Nvidia wants to up its AI and ML game, and mixing Nvidia and ARM gives Nvidia tech buzzword superiority (just read through the Press Release).

In the short term, nothing major changes (licenses stay intact, Arm Holdings HQ remains in Cambridge), but in the long term, maybe this creates new opportunities for RISC-V and/or the Open POWER chip architecture.</comment>


AOL said to discuss deal with Yahoo Advisers - <AUTHOR> http://www.bloomberg.com/news/2011-09-09/aol-said-to-discuss-deal-with-yahoo-advisers.html

<comment><USER2> aka Titanic Deck Chair Re-arrangement Corporation (TDCRC).</comment>


Google can be used as a graphic calculator - <AUTHOR> https://www.google.com/search?ie=UTF-8&q=sin%28x%29%2b1/2+sin%282x%29%2b1/3+sin%283x%29 <comment><USER2> Sadly, google's cannot be used to calculate 3D plots, though wolfram's can:

<http://www.wolframalpha.com/input/?i=x%5E2%2By%5E2>

<comment><USER3> you know you're on hacker news when the most upvoted comment has found something negative to nitpick out of a cool story.

<comment><USER4> Adding positive comments doesn't usually add as much information. The story itself was a positive comment. Critical discussion is best done not by saying "hey, cool story" - that's what upvoting is for. There are some cases where a non-negative comment is great, like pointing other readers to an interesting piece of related information, but if all it does is confirm what the original submission said, it's less informative.

<comment><USER5> "It stinks!"

[http://media.onsugar.com/files/2011/04/14/2/1437/14373728/a0...](http://media.onsugar.com/files/2011/04/14/2/1437/14373728/a02cce7df4ac68a1_the- critic.jpg)

</comment></comment></comment></comment><comment><USER6> Great. So can DuckDuckGo:

[http://duckduckgo.com/?q=sin%28x%29%2B1%2F2+sin%282x%29%2B1%...](http://duckduckgo.com/?q=sin%28x%29%2B1%2F2+sin%282x%29%2B1%2F3+sin%283x%29)

And on top of that, it also gives you the result right there on the page: <http://cl.ly/0a3L0K3T2a0E350d300n>

Clickable and brings you to wolfram alpha: [http://www.wolframalpha.com/input/?i=sin(x)%2B1%2F2%20sin(2x...](http://www.wolframalpha.com/input/?i=sin\(x\)%2B1%2F2%20sin\(2x\)%2B1%2F3%20sin\(3x\))

zero-click search is an awesome feature of DuckDuckGo

<comment><USER7> "Great. So can DuckDuckGo"

No, I don't see a fast interactive graph when I clicked on that link.

<comment><USER8> It seems like it does sometimes, but not at other items. I clicked around on the page a bit, then clicked on the search button, and suddenly it showed me the zero click info, which was hidden before.

</comment></comment></comment><comment><USER9> But was this built by a couple of guys sneaking into the building after their contract expired? If not, it's merely serviceable.

</comment><comment><USER10> WolframAlpha has slightly more sophisticated graphing calculator functionality: [http://www.wolframalpha.com/input/?i=sin%28x%29%2B1%2F2+sin%...](http://www.wolframalpha.com/input/?i=sin%28x%29%2B1%2F2+sin%282x%29%2B1%2F3+sin%283x%29+%3D+x%5E3%2Bx%5E2%2F3)

<comment><USER11> I haven't used WolframAlpha that much for graphs but I've often been bothered by the lack of zoom, scale and pan which google seems to have solved quite nicely.

Hopefully WA will do something similar in the near future.

<comment><USER12> You can set axis ranges, which address some of the zoom issues. I've found this to be a bit tricky / iffy at best, particularly when using financial datasets.

Agreed regards zoom and such.

</comment></comment></comment><comment><USER13> They seem to have come with some nice algorithm to connect the graph dots. The problem: When you draw the graph using a naive formula putPixel(x, y(x)) you get isolated dots. Therefore you have to draw tiny lines between the points to get a nice smooth curve instead of isolated dots. But then there is the question of which points to connect – for example in tan(x) you can't connect the last point on the 'upper right hand' with the first one coming from the bottom. This is surprisingly hard to solve simply (at least it was for me). Most packages simply resign – try zooming out a tan(x) to see the erroneous vertical connecting lines. Google does it right even in high zoom ratios. How do they do it?

<comment><USER14> I got this message after zooming out tan(x) a ways: [http://www.google.com/support/websearch/bin/answer.py?answer...](http://www.google.com/support/websearch/bin/answer.py?answer=1688281)

"Try to pan or zoom the function to a different region. The plotting algorithm detected one of the following: \- Too many asymptotes \- Too many transitions of the function from defined to undefined regions \- Too many points on the graph that might not represent the function value currently due to high volatility"

It looks like can actually detect when their graphing algo starts to break down.

</comment></comment><comment><USER15> I've just proven mathematically that the Flying Spaghetti Monster exists:

<https://www.google.com/search?q=cos(x)-tan(sec(x%5E2)>)

<comment><USER16> "This function may not be plotted correctly" LOL it's okay Google, you're excused on this one.

</comment></comment><comment><USER17> The easy zooming and panning makes this a better graphing experience than any other calculator/software I have used so far. True, you don't have the capabilities of Mathematica available, but it seems to work great for graphing a single variable function.

<comment><USER18> This is something i don't understand why other mathematical tools do so badly. Have you tried navigating the graph in a matlab plot? You have to select one tool for zoom in and another tool for zoom out and then click the graph to get a huge zoom-step that isn't even centered around where you clicked. Then another tool for moving to the correct position and another to see the values. SERIOUSLY?!!?!!!! This is a super expensive tool designed for plotting and comparing graphs and the diagram-control stinks so bad. Implementing this feature properly is one day of work. Synchronizing dimensions of axis between different diagrams is also something very important that matlab has huge difficulties with. Mathematica isn't much better in this regard even though they at least plot with anti aliasing T_T.

Related is also navigation in maps-software. Not many programs do this right even though it's so simple.

</comment></comment><comment><USER19> Cool - always used fooplot for this, and probably will continue to: <http://fooplot.com/>

</comment><comment><USER20> I expected to see a graph, but I'm just getting search results. How did you access it?

<comment><USER21> Do you have Javascript turned off, in particular, google.com? Disallowing google.com only gives me search results. (gstatic.com is irrelevant, I think)

</comment></comment><comment><USER22> This is a neat feature. A good alternative is to use Wolfram Alpha [0]

[0]: <http://www.wolframalpha.com/>

</comment><comment><USER23> I use Wolfram Alpha to check if I solved my math assignments correctly. Can you solve e.g. limes with Google? I tried a couple of syntaxes but nothing.

[http://www.wolframalpha.com/input/?i=limes+%28x%5E3%2Bx%29%2...](http://www.wolframalpha.com/input/?i=limes+%28x%5E3%2Bx%29%2F%28x-1%29+when+x+-%3E+1)

</comment><comment><USER24> That's a cool feature, I've been using <http://www.mathpimp.com/> for that, Google is a cool alternative, for now and then.

</comment><comment><USER25> Is there an fn() syntax so I can plot recursion and bifurcation?

</comment><comment><USER26> <http://www.graphycalc.com/> A nice 3d calculator in JavaScript by Dean McNamee

<comment><USER27> Really cool! I'd like to have it automatically expand the range on zoom, though, like Google does. And some numbers on the axes would be nice.

</comment></comment><comment><USER28> <https://www.google.com/#q=sin(1%2Fx)>

</comment><comment><USER29> Google loves its users and has an equation to prove it [http://www.trendslate.com/2011/12/05/google-graphing- calcula...](http://www.trendslate.com/2011/12/05/google-graphing-calculator/)

<comment><USER30> Here is a slightly modified version, <http://goo.gl/kYIBX> this proves that love is complicated (jff).

</comment></comment><comment><USER31> Anyone know how to denote 'log base 2'? This: "log (x)" assumes base 10.

<comment><USER32> Try lg(x) ?

<comment><USER31> that's it, thanks

</comment></comment></comment><comment><USER33> Even better is that it's not using Flash. JS and Canvas it seems.

<comment><USER34> svg

</comment></comment><comment><USER35> No FM synthesizer. What were they thinking?

</comment><comment><USER36> But can it graph the Batman equation?!

<comment><USER37> The Batman Curve is not the solutions of a single equation.

<http://mathworld.wolfram.com/BatmanCurve.html>

<comment><USER38> While I have no desire to do it, It could be transformed into polar coordinates and then combined into a single Fourier series to piece it together.

<comment><USER39> I tried, sadly it limited me to 32 "words" :(

</comment></comment></comment></comment><comment><USER40> You can also draw multiple functions by separating with a comma.

[http://insidesearch.blogspot.com/2011/12/showing-some- love-t...](http://insidesearch.blogspot.com/2011/12/showing-some-love-to-math- lovers.html)

</comment><comment><USER41> nice! wish I knew that in college!

<comment><USER41> never mind, it's a new feature

</comment></comment><comment><USER42> In high school I programmed Mortal Kombat on my TI-85, if it can't do that and can't be rooted via zshell, it doesn't count.

</comment><comment><USER43> Offtopic observation: when Wolframalpha first appeared everyone on sites like Reddit and HN were falling over eachother to explain, in detail, what kind of an arrogant d*ck & loser Stephen Wolfram really is. Ignoring the Wolframalpha product features and going directly for the person behind it and his book and so on. Now seems like everyone loves his product and, subsequently, never mentions the guy behind it anymore. Anyone else noticed that?

<comment><USER44> I believe you are remembering wrong:

<http://news.ycombinator.com/item?id=611656>

<http://news.ycombinator.com/item?id=607532>

Not to say it is uncommon to call Stephen Wolfram egotistic, I swear there was a thread about Wolfram remembering Turing and people counting how many times Wolfram mentioned himself but it may have been killed as I can't find it.

<comment><USER45> The discussion you are looking for is this one:

<http://news.ycombinator.com/item?id=3080470> (Wolfram on Steve Jobs)

<comment><USER44> Actually it was probably this: <http://news.ycombinator.com/item?id=1454373> and I am remembering the amount of disdain wrong</comment></comment></comment></comment>


MakeGamesWithUs Summer Academy Deadline Today - <AUTHOR> http://mgw.us/academy

<comment><USER2> this seems like such a good opportunity for many cs students. the problem, atleast for my friends and me is the cost. I can't afford to buy a Mac and pay 5000 dollars for the program and pay to live in sf just for the program. it's a shame they didn't keep their original payment plan. I am extremely interested in doing their program but there are too many barriers for me.</comment>


Code Reviews Considered Harmful - le-mark https://hackernoon.com/code-reviews-considered-harmful-a4cc9b2323dc <comment><AUTHOR> A few months back, I was using a github repo and found that it has some bugs. It took me one whole night to fix it. I submitted a pull request with the fix. Now, instead of just merging it, the owner of the repo added a code review asking me to fix some conventions (and the conventions he suggested did not conform to the official style guide of the language + he could fix them faster than writing the code review) and asked me to do additional things that had nothing to do with the bug fix.

I guess this is an example of a toxic code review or what I call "code review for the sake of code review". It turned me off so much that I haven't responded to it yet.

</comment><comment><USER2> This article misses the fact that review can touch on design decisions that are likely to lead to higher costs in the future, anything from bugs, unreadability, support requests, etc. Most of these kinds of decisions aren't defined by "industry standard" in some document somewhere.</comment>


A Tale of Two Bridges - <AUTHOR> http://unprotocols.org/blog:16?

<comment><USER2> Robert Martin (<https://en.wikipedia.org/wiki/Robert_Cecil_Martin>) once tweeted (@unclebobmartin):

"When designs are cheaper than builds, e.g. a skyscraper or a bridge, big up front design makes good sense. But when builds are cheaper than designs, e.g. software or oil painting, short and iterative design and build steps are best."

I couldn't agree with that more.

I work in an industry where builds are not cheap and iteration after launch is nearly impossible. You better believe we have a very, very long design cycle.

<comment><USER3> This is why I like coming here. I'd never thought of the tradeoff in that way before reading that quote, yet it makes perfect sense.

(I'm not arguing with your point at all, but of course there's software... and then there's software. Building might be cheap for both, but cost of deployment could be entirely different. Spacecraft control, microcode in an appliance, even certain classes of enterprise software all benefit from big up-front design because it's so expensive to patch later.)

</comment></comment><comment><USER4> Forgive a shameless plug for a dear friend, but Harmon Parker builds footbridges in the back country around Kenya. His bridges bring people together and save lives:

<http://www.bridgingthegapafrica.org/>

What he does is not too different from the rope guy in the parable. He doesn't come in with a big team and a grand plan. He goes out and gets to know the people and finds out from them where they have dangerous crossings and what they need, and they build a bridge with him.

Harmon has the engineering know-how to make it safe, and the local people have knowledge he never could assume. When it's done, it's their bridge and they know how to maintain it: the people who use the bridge have been involved from the beginning.

<comment><USER5> That is an awesome video.

<comment><USER6> I agree! Good to see humanity at their best.

</comment></comment></comment><comment><USER7> I, too, can write vague parables to support just about any point.

And what is the point? That it's always better to let the grassroots develop software? Like so many other things in this world: It's Just Not That Simple.

<comment><USER8> Agree - this type of parable may be suitable for small children, but if you think about it, it has zero information content, and no applicability to the real world.

I'd much rather read a real story about a real bridge or two - that's what I come to HN for.

<comment><AUTHOR> Real world version: Google Wave is bridge #1.

Edit: The CueCat is an even better example!

Meanwhile, the transition of Amazon from bookseller to everything-seller to hardware maker to cloud company is a good example of a real-world Bridge #2 story. Or the transition of Justin.tv into Twitch.

<comment><USER9> The first iPhone is also bridge #1. An overly-designed gizmo that no one needed at the time.

Hence its massive failure.

<comment><AUTHOR> You're attacking a strawman. Nobody claimed Bridge 1 is always the wrong choice.

<comment><USER9> Sorry for the snark. I'm merely pointing out that the real world is a lot more nuanced than "Big design bad! Agile good!"

</comment></comment></comment></comment></comment></comment><comment><USER10> So the moral of the story is...

cross that bridge when you get to it.

Ha-ha! GET IT? No seriously, though. That's the lesson. Build for actual need now, not something you think you might need in the future.

</comment><comment><USER11> I think the moral is to pave over the desire path[1] and iterate with user feedback, rather than doing the big design up front and finding out nobody wants to use it after the money is already sunk.

[1]<http://en.wikipedia.org/wiki/Desire_lines>

</comment><comment><USER12> The lesson is the first bridge would have been an unqualified success if only they had conducted usability studies and A/B testing and gathered feedback from community-oriented focus groups and practiced just-in-time lean-agile bridge-driven design concepts.

And applied for 6000 patents.

<comment><USER13> First paragraph is optional.

</comment></comment><comment><USER14> >Just a rope, tied to two trees. There were two villages, one at each side. At first, people pulled packages across that rope with a pulley and string.

I'm trying to visualize this, and it's not making any sense to me. I searched around to see if any such system is commonly used, and the closest I can find is a hauling line, which requires a second length of rope, at least long enough to span the gorge twice, which is hooked to the original rope via a carabiner and anchored at both sides. But there's no pulley involved with that (although if you wanted to over-engineer it, I guess you could use one instead of the carabiner).

So is this an actual thing that people do, or am I reading too much into this parable?

<comment><AUTHOR> I think by "pulley", he meant "zipline". Just something which can ride along the rope.

</comment></comment><comment><USER15> Enterprise ending:

The Big 5 auditors refuse to certify the suspension bridge because in their opinion, it doesn't satisfy GAAP & SOX.

$10 million is paid to the Big 5 auditors for a program of education and documentation to convince everyone to use the "best of breed" bridge.

The suspension bridge is sunsetted.

It's so difficult to use the enterprise bridge that people don't bother. Eventually they move to another valley.

The town dies and its assets are sold for 10 cents on the dollar. Management blames "market conditions".

<comment><USER16> I love when metaphors get stretched beyond their breaking point.

<comment><USER17> Well, to be fair, the load rating on this metaphor is only 10 comments +/- 2.

</comment></comment></comment><comment><USER18> I think the lesson is that vague fictional parables to support your worldview are a better way to work than real stories or facts.

<comment> qu4z-2 I'm at all convinced that this would be any truer had it actually happened.

</comment></comment><comment><USER19> See also the recent Death Star Design Pattern by K. Kovacs: <http://kkovacs.eu/the-death-star-design-pattern>

The first bridge was an example of this.

</comment><comment><USER20> Can you possibly REPLACE stone by steel in a bridge without destroying it and building it back again?

Doesn't sound plausible to me...

In the real world, when Engineer 2 needs a steel bridge to replace the stone one, he asks Engineer 1.

That would be the condition required for Engineer 1 to build her fancy bridge. If market research had been done properly beforehand, of course.

</comment><comment><USER21> Legal Disclaimer: Don't forget about the possibility of a child falling off the rope bridge because of poor construction and the builder getting charged with involuntary manslaughter as a result of product negligence.

<comment><USER22> you just HAD to go and get the lawyers involved didn't ya?

</comment></comment><comment><USER23> "In most parts of the world, when a bridge is needed it is built from wood, steel or concrete. But in Cherrapunji in northeastern India, the locals are much more patient. They simply coax nearby trees to grow into natural bridges. The process takes many years, but the result is completely natural, surprisingly strong, and looks like something out of a wonderful fantasy world..."

From: [http://webecoist.momtastic.com/2009/10/21/bridge-to- nature-a...](http://webecoist.momtastic.com/2009/10/21/bridge-to-nature- amazing-indian-living-root-bridges/)

</comment><comment><USER24> The point of the tale is to hire the 2nd engineer on the cheap to find out where people cross the river, then hire the 1st one to build the real thing.

<comment><AUTHOR> What if it turns out that there's only enough demand to support a wooden bridge? If you went right from the rope to the superbridge, you've wasted an unbelievable amount of effort.

</comment></comment><comment><USER25> Reminds me a quote from pg: "Don't try to construct the future like a building, because your current blueprint is almost certainly mistaken. Start with something you know works, and when you expand, expand westward." <http://paulgraham.com/ambitious.html>

</comment><comment><USER22> I have heard a very similar tale used to describe the inefficiencies of a centrally planned economy vs free market.

</comment><comment><USER26> Needs more GNU/Bridge</comment>


USGS Estimates 20B Barrels of Oil in Texas' Wolfcamp Shale Formation - <AUTHOR> https://www.usgs.gov/news/usgs-estimates-20-billion-barrels-oil-texas-wolfcamp-shale-formation <comment><USER2> Another nail in the coffin for peak-oil alarmism/cheering. Oil production and all the ways we consume it is a remarkable achievement for humankind. It's just _too_ good, dammit! I seriously hope we can manage any severe impacts from the increased emissions.

<comment><USER3> Hold your horses there, Tex. You're counting chickens that haven't even been laid, much less hatched.

The USGS report is for "undiscovered, technically recoverable" resources. "Undiscovered" means they have a theory that there should be petroleum there, but it is very uncertain as to correctness and quantity. You can get excited when it becomes "proven" reserve.

"Technically recoverable" means that if the oil they think is there exists, and is situated the way they think, there exist technology to go get it. What it _is not_ is "economically recoverable". It may be technically recoverable but need a $500/bbl price point to make money.

There are many, many technically recoverable resources that will never be economical. At some point it becomes cheaper to make oil synthetically rather than extract it from the ground. In fact, this is the observation that peak oil makes.

So don't get too far ahead of the facts in declaring the cornucopia days ahead.

</comment></comment><comment><USER4> More bullets for the roulette game.

The oil-rich desert version of science fiction is seeming more realistic.</comment>


Show HN: First Commit – find the first commit of any GitHub project - <AUTHOR> http://first-commit.com/ <comment><USER2> The existence of a tool like first-commit makes me feel especially self conscious about my earliest commits on GitHub repos. It adds to the perception that one's initial checkin is somehow especially important (as opposed to the bug infested, barely-compiling disasterpieces I usually checkin.)

Now, it's like: "Uh, oh, this initial checkin better be perfect. Someone will scrutinize it with first-commit."

OTOH, no one has ever expressed any interest whatsoever in any of my GitHub repos. I doubt even first-commit can change that.

<comment><USER3> I always start with an empty commit[1] for two reasons:

1\. It's slightly harder to edit the first commit afterwards (say, to replace a working title with the actual project title before publishing, or to fix authorship or whatever).

2\. I create a _lot_ of small repos, all the time, so I have a shell alias for "init, commit, add .gitignore, commit".

[1] git init && git commit --allow-empty -m 'Initial commit'

<comment><USER4> I prefer

        git init && git commit --allow-empty -m "$(basename (readlink -f .))"

<comment><USER5>
      pwd -P

would be equivalent and more portable (POSIX compliant[1]) than

      readlink -f .

which doesn't work on BSD-based systems.

[1]: [http://pubs.opengroup.org/onlinepubs/009696899/utilities/pwd...](http://pubs.opengroup.org/onlinepubs/009696899/utilities/pwd.html)

</comment></comment></comment></comment><comment><USER6> Wow, Go has a really long history! [http://first- commit.com/golang/go](http://first-commit.com/golang/go)

<comment><USER7> Yeah, what's up with that? There are two 1970s and two 1980s commits in the git repo before we hit the real golang stuff (in 2008!). All the old commits do is author a c "hello world" program. Any idea why those are there?

[https://github.com/golang/go/commits/master?page=727](https://github.com/golang/go/commits/master?page=727)

EDIT: I just noticed that they're labeled as being by Brian Kernighan. What?

EDIT2: Oh, it's his _original_ hello world code: [https://en.wikipedia.org/wiki/%22Hello,_World!%22_program](https://en.wikipedia.org/wiki/%22Hello,_World!%22_program) What's it doing there? Just for novelty's sake?

<comment> david-given It's probably an import from an early VCS for, as you say, novelty's sake. They don't seemed to be connected to another other history (although it's very hard to tell. Genuine question: why are github's revision visualisation tools so shoddy? Getting from 'here is a checkin' to 'show me the history of one specific file' seems far too hard...)

Here's one of my repos: [http://first-commit.com/davidgiven/ack](http://first- commit.com/davidgiven/ack)

First checkin 1984. That's real history, too; those files, or their descendants, are still in the current snapshot. Incidentally, not only does that commit predate git, or the SVN repository I converted it from, but it predates CVS itself... I've seen suggestions that the pile of shell scripts which became CVS was actually _written_ for that project!

Not my code, I should add, I'm just looking after it. It's Andy Tanenbaum and Cerial Jacobs' compiler toolchain, the Amsterdam Compiler Kit. Portable, platform independent ANSI & K&R C, Pascal, Modula-2, Occam and Algol-68 development kit, complete with linkers, assemblers and libc...

</comment></comment></comment><comment><USER8> Wow, this is awesome!!! I just made a bookmarklet (chrome extension coming soon) for this very reason just a few days ago. Maybe we should collaborate...?

Repo: [https://github.com/FarhadG/init](https://github.com/FarhadG/init) Demo: [http://farhadg.github.io/init/landing/](http://farhadg.github.io/init/landing/)

<comment><USER9> This is fundamentally broken if there is no master branch, or if the master branch is not the branch that points to the last commit you made. i.e. [https://github.com/antirez/redis](https://github.com/antirez/redis)

<comment><USER8> Fixed (regarding the master branch) and it already tracks the current branch you're on. Go ahead and give it a whirl :)

I could add the functionality to determine which branch does actually have the oldest commit, but I find it more intuitive and useful to go the first commit of the current branch that you're on...

Thanks for the feedback.

</comment></comment></comment><comment><USER10> Am I missing something?

Why is this tool interesting? Or, why is this tool useful?

Wasn't this already pretty easy to find if one was so inclined?

<comment><USER11> From what I can see following a quick cursory glance at the commit history page for quite a large project ([https://github.com/twbs/bootstrap/commits/master](https://github.com/twbs/bootstrap/commits/master)) it's somewhat difficult to jump to the last page (earliest in terms of when hey were made) of commits. That is unless I'm missing something obvious, of course.

Sure, you can click older a bunch of times but it doesn't seem like there's a button to jump to the last page of commits. I guess you could clone the repo and look yourself using git log but this can be something of a hassle and probably wouldn't always be possible depending on the device (I'm thinking mobile devices, tablets etc).

You could probably guess a large page number, use it in the commit history URL and chop it in half repeatedly until you don't get a 404 and then repeat from there to try and find the last page of commits. Ultimately this is an issue with how GitHub's commit history is designed though.

<comment><USER12> ?

Just do something like:

        git rev-list --max-parents=0 HEAD

<comment><USER13> This command doesn't make any sense to me. That's why I hate using git...

<comment><USER14> Let me attempt an explanation.

'git rev-list' will give you the SHA-1 hashes of all the commits reachable from a given commit. So 'git rev-list HEAD' is going to give you all commits reachable from HEAD, i.e. your latest one all the way to your first commit. After that, there's a bunch of ways you could filter that. For example, you could run 'git rev-list HEAD | tail -1' to get the hash of the first commit, and now all you need to do to show the whole diff is pipe it to 'xargs git show' (xargs reads from stdin and uses that as the argument to whatever comes after it.

The grandparent comment uses a slightly interesting trick – he/she used the built-in '\--max-parents' filter. '\--max-parents' limits the number of parent commits. For example, a merge has 2 or more parent commits, so the '\--max- parents=1' option will exclude all merge commits. What commit has _no_ parents? Why, the first commit of the repo, of course.

Hence, the command 'git rev-list --max-parents=0 HEAD | xargs git show'.

</comment></comment></comment></comment></comment><comment><USER15> Obligatory reference to the first bootstrap revision from hell - first git commit of git! [1]

[1] - [https://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23...](https://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23ca2e25604af290)

</comment><comment><USER16> [http://first-commit.com/wong2/first-commit](http://first- commit.com/wong2/first-commit)

couldn't resist =)

</comment><comment><USER17> Pretty cool. I also found this while ago: [http://firstpr.me/](http://firstpr.me/) – shows your first pull request and contribution to the open source community.

<comment><USER18> Well... assuming your first contribution doesn't predate github ;)

</comment></comment><comment><USER19> Seems to be rejecting this perfectly valid repo url:

[https://github.com/darktable-org/darktable](https://github.com/darktable- org/darktable)

It appears to be the hyphen in the org name.

<comment><AUTHOR> it works for me: [http://first-commit.com/api/darktable- org/darktable](http://first-commit.com/api/darktable-org/darktable)

<comment><USER19> I'm sure the code works fine but the interface throws up a "Not a valid Github repo url" window and does nothing.

<comment><AUTHOR> oh, my fault. it has been fixed, thanks for your report!

<comment><USER19> _The first commit of darktable-org /darktable was created by @ on Tue Apr 07 2009_

Seems like you don't handle commits by users not recognized by github.

<comment><AUTHOR> hmm, will fix that

<comment><USER20> Shows up pretty obviously with git, which is the first example

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> If you'd like to do this in the terminal, clone the repo and:

      git rev-list --max-parents=0 HEAD | xargs git show

</comment><comment><USER22> Any support for private github repos through authentication with Github?

<comment><USER8> The bookmarklet strategy was intended for this very reason when I made it:

[https://github.com/FarhadG/init](https://github.com/FarhadG/init)

</comment></comment><comment><AUTHOR> author here

<comment><USER23> How does the code work?

<comment><USER24> I think _wonderfuly_ 's reply missed the point of the question which is to explain it without having someone dissect the source code line by line.

Anyways, I did a quick look at the source file[1] and it looks like it depends on the assumption of github returning 35 commit titles per page. From that, it divides total # of commits by 35 to derive the url for the _last page_ containing the 1st commit. (The url you'd arrive at if you if you repeatedly clicked the "Older" button on github to get to the final page which contains the 1st commit.) It then scrapes that url for relevant data. (It uses the cheerio library to help with scraping.)

I'm not familiar enough with github's HTML navigation and page formatting to know if this method is fragile or robust. Github _does_ offer an API[2] so it may be possible to get the 1st commit that way instead of scraping HTML that was intended for display in a web browser.

Excerpt of the arithmetic:

      function getFirstPageUrl(repo, num_of_commits) {
        const COMMITS_PER_PAGE = 35;
        var first_page = Math.ceil(num_of_commits / COMMITS_PER_PAGE);
        return `${BASE_URL}/${repo}/commits?page=${first_page}`;
      }

[1][https://github.com/wong2/first- commit/blob/master/app/github...](https://github.com/wong2/first- commit/blob/master/app/github.js#L37)

[2][https://developer.github.com/v3/git/commits/](https://developer.github.com/v3/git/commits/)

<comment><USER23> Yes, my intent was to provide the author a chance to talk about their work and share their enthusiasm. It's why I asked about code, since the answer "to how does it work?" is "type the repository url into the box".</comment></comment></comment></comment>


Leapfrog.com downloading malicious software - <AUTHOR> Visiting the leapfrog.com website will download malicious software.
I just visited and was prompted to upgrade my outdated flash player. Software is hosted on codehost.ml.
It seems it is an issue with sellpoints.com, serving the malware.
The code hosted on: t.sellpoints.com/c/3905/sp.js
alert('WARNING: Your Flash Player plugin is outdated! Upgrade to continue!'); location.replace('http://codehost.ml/programs/adobe_flashplayer_9.exe'); <comment><USER2> VirusTotal analysis results for adobe_flashplayer_9.exe: [https://www.virustotal.com/en/file/fd2e9b0f25c675f1d42743ea5...](https://www.virustotal.com/en/file/fd2e9b0f25c675f1d42743ea5ca99d0869b0c305153213290962021cca4ec5bf/analysis/1447618810/)

</comment><comment><USER3> Why are you allowing a website to execute arbitrary code on your machine?

<comment><AUTHOR> I'm not. Chrome warns about downloading a malware file. IE downloads it but says it's not commonly downloaded. Firefox now says the site was reported as malware.</comment></comment>


Recognizing Bad Advice - <AUTHOR> http://themacro.com/articles/2016/06/startup-school-radio-48/ <comment><USER2> I'm not sure the title makes sense - I learned why having 4 founders can be ok, but that doesn't mean the 2-3 founders advice is bad - just that you should have a reason why you think you won't run into problems. It seems too specific to be about recognizing bad advice, just that a traditional rule doesn't always apply (and how many rules always apply in business?)

</comment><comment><USER3> I don't know how to certainly recognize good advice but some are certainly bad: If someone doesn't ask you any question on your business and doesn't know you well, he probably give you a bad/unsuitable/irrelevant piece of advice.

</comment><comment><USER4> To me the moral of this story is that advice is just that, advice. There are always exceptions to every rule.

</comment><comment><USER5> Silly nitpick:

s/mote/moat/

<comment><AUTHOR> Thanks! :)</comment></comment>