Hardware for OpenWrt - <AUTHOR> http://wrtnode.com

<comment><USER2> This is an interesting project, but it's a shame they're using a Mediatek chipset instead of an Allwinner one. Mediatek is one of the biggest GPL violators out there, while Allwinner chips are among the most open hardware out there (perhaps _the_ most open). See:

[http://linux-sunxi.org/Main_Page](http://linux-sunxi.org/Main_Page)

The only non open hardware on Allwinner chips is the ARM-licensed Mali GPU, but it's been reversed engineered to the point of producing a working, third- party, open source driver (the _lima_ driver).

Both are very inexpensive Chinese chip manufacturers that use ARM-licensed MCUs, so it's not like the Allwinner is a vastly different product.

I personally prefer licensing projects with a permissive license that permits closed commercial development, such as the MIT or BSD license, over the GPL. However, when a company like Mediatek chooses to use GPL'ed software and then fails to follow the license terms, I think that displays a contempt for the entire open source community that I cannot support.

<comment><USER3> Does Allwinner actually manufacture router-oriented chips? Ralink (now owned by MediaTek) has been making networking parts for over 10 years now.

> The only non open hardware on Allwinner chips is the ARM-licensed Mali GPU

I seriously doubt that any part of Allwinners chips can be classified as open hardware. Just to clarify, this is wikipedias view on what open (source) hardware means:

> The term usually means that information about the hardware is easily > discerned. Hardware design (i.e. mechanical drawings, schematics, bills of > material, PCB layout data, HDL source code and integrated circuit layout > data), in addition to the software that drives the hardware, are all > released with the FOSS approach.

> Both are very inexpensive Chinese chip manufacturers that use ARM-licensed > MCUs

The chip in this device has a MIPS core. Besides, MCU != IP-core != SoC.

<comment><USER2> I should have differentiated between "open source hardware" and open hardware. By using the later term, I meant to describe hardware that uses open source software to drive the hardware, and that can be easily modified.

And I screwed up with my description of this project -- you're right that it's a MIPS not ARM core. Sorry about that.

</comment></comment></comment><comment><USER4> A fun comparison: 20 years ago you could spend a large number of dollars (anyone remember how much?) on a dreamy Silicon Graphics Indigo2 Unix workstation. From [http://en.wikipedia.org/wiki/SGI_Indigo%C2%B2_and_Challenge_...](http://en.wikipedia.org/wiki/SGI_Indigo%C2%B2_and_Challenge_M) its specs included:

* MIPS CPUs ranging from the the R4000 to the R10000, with clock rates of up to 250MHz. (This project uses a related MIPS CPU that clocks at 600MHz.)

* Up to 512Mb of RAM, equal to that in this project. The Wikipedia articles explains that the Indigo2 hardware could theoretically support 1Gb of RAM, but the thermal output of the DRAM available at the time was too great for the enclosure.

* 100Mbit/s wired Ethernet network interface (this project provides 802.11n wireless networking, which Wikipedia claims will reach 600Mbit/s).

I find it staggering that the hardware that was once powering a high-end workstation is now being put to good use as a low power router. It's good to see that after all this time you can still run a version of Unix on the same hardware though.

<comment><USER5> SGI's secret sauce was their 64-bitness and their 3D hardware. Their CPU/networking wasn't really anything special even at the time compared to Sun/DEC.

<comment><USER6> Not true in my experience. My R4400 and R10000 hardware always ran circles around SPARC workstations of the era and I wasn't a graphics developer.

<comment><USER7> all the SGIs i got on enterprise/university auctions were used for networking tasks... i did got a couple full color cards and couple 3d cards (indy had 8 bit cards, 24 bit cards, and 8bit Z cards -- which were good for 3d. there was no 24bit 3d)

<comment><USER5> Didn't they sell a stripped down Indy with no graphics capability under the Webforce line?

<comment><USER6> There was a stripped down, headless, Indigo2-based server. I'm not sure how much you could really strip down an Indy, though. It was already kind of their entry-level thing.

</comment></comment></comment></comment></comment></comment><comment><USER8> Hello people, I am Noel from WRTnode.com. Very glad that you notice us. Actually, we have opened public Beta version sale in China for RMB$148(as US$24), and closed today as two month later. We have donated 20 boards for the BattleMesh V7 [http://battlemesh.org/BattleMeshV7#Donated_OpenHardware_- _WR...](http://battlemesh.org/BattleMeshV7#Donated_OpenHardware_-_WRTnode). And the Schematic is: [http://cn.wrtnode.com/wp- content/uploads/2014/05/WRTnode_sch...](http://cn.wrtnode.com/wp- content/uploads/2014/05/WRTnode_sch_v01.pdf), and we will give all the BOMlist and PCBlayout soon. Maybe it will be sold publicly at the ends of July. All OpenWrt firmware source comes from dev.openwrt.org. The board is officially supported by OpenWrt.org as one of the three devices on MT7620n. the only thing bothered is that the Wi-Fi driver of MT7620n is close-sourced by the MTK, so we have to provide the .ko binary driver in [https://github.com/WRTnode/openwrt- packages/tree/master/rali...](https://github.com/WRTnode/openwrt- packages/tree/master/ralink/ralink-wifi) , We are trying to communicating with MTK to open the driver's source.

</comment><comment><USER9> It seems unusual to pick a Mediatek SoC, if the goal is open source compatibility. It would have made much more sense to go with an Atheros SoC and Atheros modems, which can be used with no proprietary binaries whatsoever.

<comment><USER10> I was thinking the same thing. Atheros has been very good with Open Source friendly hardware documentation and licensing.

The downside is that most of the Atheros chips have a single <1Ghz MIPS core, when most of the rest of the router SoC market is switching to multi core 1GHz+ ARM devices, or is focused on other parts of the device space.

</comment></comment><comment><USER11> Check this out too: [http://8devices.com/carambola-2](http://8devices.com/carambola-2)

The hardware design isn't open-source, but all the software is, and it's available now for 19euro per module.

It's built on Atheros' AR9331 chipset which means you get to use the awesome open-source ath9k driver.

<comment><USER7> Everytime i see those things, i dream that i will wake up the next day and there will be no signs of ISP or cable companies. let alone telcos. only mesh network and IPv6.

</comment></comment><comment><USER12> Frankly I'm getting tired of these empty posts. Where is the source?

Can we stop posting "news" like this unless it is actually significant, ie contains the thing that they claim is open?

Its almost to the point where these posts should be flagged IMO.

<comment><USER13> I think you have a point. We took "open source" out of the title as misleading, since the project apparently isn't there yet.

<comment><USER14> Even if they release the original design files, it won't be open source hardware. Requiring binary blobs clearly violates the Necessary Hardware Criterion. See the OSH Definition 1.0:

[http://www.oshwa.org/definition/](http://www.oshwa.org/definition/)

<comment><USER14> Err, Necessary SOFTWARE Criterion.

</comment></comment></comment></comment><comment><USER15> Is OpenWRT safe to use? The latest release, at least according to [https://openwrt.org](https://openwrt.org), was in April 2013. I'm not intimately familiar with what software packages it uses, but it seems like it could, at the very least, be vulnerable to Heartbleed.

<comment><USER16> OpenWRT's OpenSSL package has been updated to 1.0.1g, so it's not vulnerable to Heartbleed. The default install doesn't use OpenSSL so there is no need to update the install images.

<comment><USER10> Additionally, many packages can use alternate, embedded focused SSL libraries (PolarSSL, etc.) that will also ship with OpenWRT.

</comment></comment></comment><comment><USER17> I'm missing something: where is the source code (design files?) for this "open source hardware"?

<comment><USER14> They claim they are going to open source it. This is (disappointingly) common practice among "open source" hardware projects. See, for example, most "open source" kickstarters.

<comment><USER18> Sometimes it's the chipset vendors holding things up, but I agree - it's getting frustrating.

I'm holding out hope for [http://www.securifi.com/almondplus](http://www.securifi.com/almondplus)

<comment><USER14> Why would you describe your project as open source if you didn't have the rights to release it as such?

Nothing on that page or their Kickstarter says that Almond+ is meant to be OSH.

<comment><USER17> Idea: OSHW wall of shame. Quick poll: which existing website would be most likely to volunteer to curate such a page?

edit: OSH --> OSHW

edit: probably [http://www.oshwa.org](http://www.oshwa.org) (seems to be down right now)

</comment></comment></comment></comment></comment><comment><USER14> It seems very hard to find an high-performance (i.e., not TI's CC3000 module), open Wifi module for a project like this. I assume that's why they choose a chip that requires a binary blob Wifi driver. Has anyone researched the open alternatives? Novena for example didn't integrate Wifi but left it to a PCIe module. Are there open PCIe modules?

edit: I should say, TI's module isn't open either. As far as I know the firmware, which includes a TCP/IP stack, isn't open.

<comment><USER19> Atheros AR7010/AR9271 has open drivers and firmware, which is the closest you'll get to "fully open" WiFi hardware today. Performance is decent, although I don't think PCIe is supported by the open firmware (only USB).

</comment></comment><comment><USER20> I'm sorry to bust the fun on this, but I would never rebuild this device (or anything other with radio capability)... simply because of the costs of certification which is mandatory for any RF transmitter.

<comment><USER21> What are the costs exactly? Wifi operates in the 2.4Ghz band which is license free worldwide.

(As I understand in some countries you need to get a license to sell wifi devices - some Arduino's have issues with this - but not to use or build them).

<comment><USER22> You still need to meet the FCC specs for not causing interference (in the US at least), which can be costly. And you can be sure that a bare board with no shielding around the RF sections is going to be pretty noisy.

</comment></comment></comment><comment><USER23> Less open than many competitors. But more choice is always nice. Hopefully they get the module FCC/CE certified.

</comment><comment><USER24> The latest post there that I was able to find was from April 2014 - is there any news? Am I missing something?

<comment><USER17> There are newer posts on the Chinese-language version of the site. Click 中文 on the top right. :P

</comment></comment><comment><USER25> This looks very useful, but price, RAM and flash sizes are not readily apparent. Am I missing something?

<comment><USER26> Can't find price but [http://wrtnode.com/tech- specs.html](http://wrtnode.com/tech-specs.html) says 512M RAM and 128M flash

<comment><USER27> It says 'Mb'. Chip sizes are frequently expressed in bits, not bytes, so this could mean 64MiB of ram and 32MiB of flash (I'm assuming mebibits (2^20 bits) instead of megabits (10^6 bits), for which 'Mb' is the SI symbol).

</comment></comment></comment><comment><USER17> Did they choose a wireless chipset that requires "binary blobs"?

<comment><USER9> Yes, it appears they did.

</comment></comment><comment><USER28> Would this be a good router?

<comment><USER29> Probably not. It doesn't seem to have any Ethernet ports for a start. I think it's aimed more at being a wifi-enabled device that can do somewhat more complicated things locally.

<comment><USER30> The board has an ethernet switch built in, with all the pins for it broken out. You're going to have to supply your own magnetics and jacks for it though. The chip in it [1] is very much built around routing lots and lots of packets. I kinda wish they'd have released a board based on its bigger sibling with PCIe, though.

[1] [http://www.anz.ru/files/mediatek/MT7620_Datasheet.pdf](http://www.anz.ru/files/mediatek/MT7620_Datasheet.pdf)</comment></comment></comment>


Everything you need to know about AI,ML,CV,NLP - <AUTHOR> mltrends is a website that analyzes data available from research papers and multiple industries and evaluates the current trend in Machine Learning, Artificial Intelligence, Computer Vision and Natural Language Processing. The site also collates buzz on social media and blog articles related to these topics. <comment><USER2> This is a place that gives a good vantage point especially for techno commercial people

</comment><comment><USER3> Good question, I would love to ask them. btw the search definitions is a nice feature

</comment><comment><AUTHOR> check the site over here: [https://mltrends.com/](https://mltrends.com/)

</comment><comment><USER4> How is the data gathered?

</comment><comment><USER5> Looks pretty cool.

</comment><comment><USER3> Interesting</comment>


Show HN: Image manipulation web worker proof of concept - <AUTHOR> https://github.com/davidjeliba/imageworker

<comment><AUTHOR> I was playing around with Web Workers and saw a bit of a gap when it came to image manipulation. A lot of examples provided for browser based image manipulation relied on the canvas api which workers do not have an interface to.

Using the JPEG decoder from the Mozilla pdf.js project as well as a JPEG encoder from Adobe I demonstrate how you can do somewhat heavy lifting in the front end for images without locking the main thread.

It works in Chrome for the moment but should work in any browser that allows FileReader in the workers (FireFox only allows FileReaderSync) but I could get that to behave nicely so FireFox is unsupported for now.

Also the output image will probably be artifacted but I wasn't focusing on quality just yet.

One interesting thing seems to be that there is very little difference in processing time between the single worker vs. multiple workers examples.</comment>


A Scary Line Has Been Crossed For VCs - <AUTHOR> http://www.techcrunch.com/2008/11/12/a-scary-line-has-been-crossed-for-vcs/ <comment><USER2> In a down market, investors should be buying and not selling. In the context of VCs, it's probably a good time to fund ventures because the equity they get for their cash will be higher, and it's probably a bad time to exit because the cash they get for their equity will be lower. So, maybe VCs are simply being solid, patient investors.

</comment><comment><USER3> I don't really think it's fair to single out 2008 as the start of a trend. Hell, money market accounts lost money this year. That is very unusual, and the economy is not doing so well right now. Why would startups be magically immune?

Also, if you integrate the curves to get total funds raised and total value created, this doesn't really look bad.

<comment><USER4> Money market funds in the aggregate have by no means lost money this year.

<comment><USER5> I think his point was that this has been a year of exceptional events. The fact that even one fund broke the buck is big news; under-performing VC funds are a footnote in comparison.

</comment></comment></comment><comment><USER6> This will work itself out. If you have an idea for a product that profitably solves a problem for hair on fire customers, you'll still be able to get money. Some of the so-so ideas might not get the amount of time and funding they were used to.

</comment><comment><USER7> I'd like to see a graph showing a running total of venture capital invested versus a running total of net income earned by VC investments.

</comment><comment><USER8> They're still ahead of finance and airlines.

<comment><USER9> Finance and airlines get free money from government, VCs not.

<comment><USER10> Southwest proves you wrong on "airlines." Still making profits.

<comment><USER8> Some VCs make profits too, it was referring to the industry as a whole. Airlines as a whole don't make money.

</comment></comment></comment></comment><comment><USER11> The graph is indeed scary looking, and it's consistent with both Judith Estrin's book "Bridging the Innovation Gap," and an essay I wrote over the summer:

[http://www.huffingtonpost.com/aaron-greenspan/all-is-not- wel...](http://www.huffingtonpost.com/aaron-greenspan/all-is-not-well-in- silico_b_113226.html)

</comment><comment><USER12> What's supposed to replace VC, exactly? No one likes having to deal with "the money problem", and there are obvious inefficiencies and flaws in the current VC system, but I don't see any obvious solutions or how anything better could be developed at scale.

<comment><USER13> Angels.

<comment><USER12> This is why I qualified my post with "at scale". I don't think there are enough qualified, technologically knowledgeable angel investors out there to cover a significant fraction of the startups that need funding. Keep in mind, also, that although the economy will recover, the glacial retreat of the 20th- century big-box corporations is a rather permanent state of affairs, which means that there will be a lot more people trying to start companies, while the number of wealthy individuals/angels will not increase at nearly the same rate.

</comment></comment></comment><comment><USER14> boo-fucking-hoo. a down market hurts everyone. well maybe they should use this lull to re-educate themselves for the future. guess what folks, sandhill road will be as dead as wall street unless you try expanding past websites. let yc fund this low-iq crap. time to bone up on all that chemistry you skipped in high school, you'll need it if you are going to evaluate greentech, nuclear, etc</comment>


Chrome Music Lab - <AUTHOR> https://musiclab.chromeexperiments.com/Experiments <comment><AUTHOR> The site won't work if an adblocker is enabled (there's a Javascript error when Google analytics fails to load).</comment>


Everything you need to know for AWS Cloud Practitioner Certification - <AUTHOR> https://knowledge-book-six.now.sh/2020/06/05/aws-notes/ <comment><AUTHOR> Hi Everyone, I took these notes while studying for AWS Cloud Practitioner exam and I thought it might useful for someone who might be taking the exam.</comment>


Ask HN: What web hosting do you use? - <AUTHOR>

I'm considering getting hosting for something like a blog, so I'm wondering: what do you use?
I want to pay in GBP, but it doesn't really matter.
Edit: I won't be able to reap the comments till tomorrow; that is, the 10th of February, 2010. <comment><USER2> I started off with HostGator's shared service. I started going over their limits years ago (mostly CPU, IO, memory, and execution time). The execution time was a real kicker for me - they have reapers that go around looking for processes that have been running for more than 120 seconds, and kill them. So if you have a large MySQL database that you're trying to back up, good luck... At any rate, I'm not saying their policy was unreasonable - it was just a dealbreaker for me.

At that point, I looked around for another host. I was impressed with MediaTemple's managed VPS offerings, as they had 3 levels of 'scaling' (for $50/100/150). Over the past 8 months, I've had major IO issues. Oddly, my IO issues have little correlation with my traffic patterns, so I suspect that I'm on a heavily loaded server - though they state that they see nothing but normal disk/CPU/etc utilization. That may be true, but I'm moving on.

In the end, I decided that Linode offers a level of granularity that was not matched by MediaTemple. At Linode, they expect that you may well want to separate your production server from your MySQL server from your dev server, and their backend is built with multi-server management in mind. I've set up separate MySQL and PHP servers so far, and things have been going very well. This will allow me to scale each in proportion to its needs, instead of having to scale a monolithic server instance.

For just a blog, do you want to mess around with the shell? If so, Linode or similar (SliceHost?) might be good for you. They start off small ($20/month for the cheapest), and they allow you to upgrade in small chunks.

If you don't want to deal with shell, I find HostGator to be quite reasonable, and they are extremely cheap. I still host a bunch of personal sites with them.

<comment><USER3> Hostgator shared accounts actually do have shell access, you just have to ask for it. Go into the live chat and ask a rep and they'll activate it for ya. They also have cheap dedicated servers called "unmanaged servers", they're kind of an unpublicized deal, its $75/mo for your own box, which I think has a 2.4 P4 and 1gb RAM, 5 IPs.

<comment><USER2> I do have shell access at HostGator, but when I got it there was a $5 charge (perhaps they waive that now?). I was imprecise in my wording; when I said "shell," I really was thinking "root." Certainly, if there are things you want to do for your blog using shell, HostGator is an option.

Their $75/mo single-core DediKiddies seemed less desirable to me than an arbitrarily resizable VPS with 4 virtual cores (which MT and Linode have).

Also, it's too late for me to edit my original comment, but HostGator did not have VPS when I left them.

</comment></comment></comment><comment><USER4> I have around 1 year with Lace Host (lacehost.com), the website/user interface are crappy but it doesn't matter since you have Cpanel and FTP.

They are cheap (around $22 for 1.5 GB hosting / year). You have got unlimited Mysql DataBases, Very large bandwidth and an always (almost) online customer service (it's the owner, he'll reply to your questions even if it's not hosting related).

Overall experience: Positive. I'm running 4 websites (on 4 domains). 3 blogs, 1 personal website and a bunch of auto-scripts that runs via Cron Jobs. I get around 250 hits daily.

\+ I got around 1,100 hit from Stumble Upon (i got a fav from a popular member) and the host seemed to be fine with that traffic.

Currently, I'm keeping with them, for scaling, the admin told me that they can move me from shared to private server in no down time.

My advice will be: Go for it! You can also Google for reviews about it.

<comment><USER3>
      $ traceroute lacehost.com

      traceroute to lacehost.com (22.214.171.124), 64 hops max, 40 byte packets
      ...
      16  220.127.116.11 (126.96.36.199)  43.978 ms  46.390 ms  43.979 ms
      17  lw-dc2-sec2-dist4-po1.rtr.liquidweb.com (18.104.22.168)  45.439 ms  46.016 ms  50.775 ms
      18  dc2-vps1-302.liquidweb.com (22.214.171.124)  43.915 ms  49.835 ms  46.735 ms

He probably just has a WHMap account setup on one of liquidweb.com's dedicated servers. That'll work fine, but hopefully he really is able to move you over to a private server without any snags.

<comment><USER5> Hello, I am the owner or LaceHost. We host our company website offsite on a vps with Liquidweb. Our shared hosting servers, power distribution units and network switches are completely owned by us and located in our private cabinet at the Uberbandwidth datacenter in NC, USA. We also have 3 support operators and 8 technicians working round the clock. Also, we use WHMCS and not WHMAP :)

Thank you, Ishan

<comment><USER4> So why don't you use your own server to host your site?

I think he's doing that to mislead websites that track hosts uptime, like that his main site never run down.

</comment></comment></comment></comment><comment><USER6> I've had great success and ease-of-use with Bluehost (bluehost.com) and its subsidiary Hostmonster (hostmonster.com). They are an affordable shared host that do all the domain stuff as well. Their support is great and they have the latest version of CPanel. If you wanted to make LAMP or Rails applications they have support for that as well. Overall with domain, connersc.com was $120 for two years.

Sometimes when the shared server is getting pounded, remote-ssh development can be a little laggy but if you are running Wordpress (which is in CPanel as a turnkey installation), you should be fine.

There are probably other hosts out there, but as far as service and price its been working for me so far. I even put clients on it (before moving the others to rackspace).

</comment><comment><USER7> I use HostGator... I've noticed several other commenters have said they left Hostgator when they needed root access, or more resources. I had the same issues, but instead of leaving I switched to their VPS service.

The service has always been great, I didn't have any problem installing Passenger and the VPS is still going strong!

</comment><comment><USER8> I like WebFaction a lot. It's shared hosting and you don't get root access, but their servers are set up such that you can basically install anything you want. They are also a UK company.

</comment><comment><USER9> I used HostGator until I wanted root access, then switched to Linode. Both are excellent.

<comment><USER7> Hostgator offer VPSes with root access now.

I don't want to come across like s shill for them (I have no affiliation) but I can't overstate how happy I've been with their level of service and support in general!

</comment></comment><comment><USER10> Mediatemple is great.</comment>


Ask HN: How do you know if you're any good? - <AUTHOR>

I started building a web app a few months ago with zero prior experience in software development. It started as weekend hobby, and now I'm trying to make it into a business. It works, and potential customers like it.
But, I have no reference point for what good code should look like, or how long it should take etc etc. My questions for the group:
In general, how do you know how good you are? Could you come up with say 10 questions that sort the wheat from the chaff? How long does it take to get 'good'? Do people think about it? <comment><USER2> You know you're good when somebody who actually uses what you wrote tells you that they love what you've done. It could be somebody in your target audience, the person who takes over your project, or even yourself for a personal project, but for me, that's the moment when you've arrived.

You can obsess about development process all you want, have fun trying to push bits until they sweat, and create code that is like executable art, but I still believe that even computer programming is ultimately centered around people.

</comment><comment><USER3> Whenever I find an open source project thats written in a language I understand, I usually take awhile to explore the web code repository and see what kind of structure they have setup and how their code is interacting.

I don't know of any qualifiers that separate good from bad, but if you follow basic coding conventions and the thing works (and is secure) you are probably good enough. Either way, its a good way to learn.

</comment><comment><USER4> Does the code do what it's suppose to? Is it maintainable? Is it scalable?

If you answered Yes to all the above...then you are doing fine.

</comment><comment><USER5> You know you're good when you realize what you have built is crap and start improving it.</comment>


NASA Livestream: Commercial Space Rocket Launches for First Time (Aborted) - <AUTHOR> http://www.ustream.tv/nasahdtv

<comment><AUTHOR> The launch was scheduled for 2 p.m PST/ 5 p.m EST.

If it blasts off (weather is an issue), the 40-meter-tall Antares rocket will be the biggest thing ever launched from NASA's Wallops Flight Facility. It will be visible up and down the Eastern Seaboard, from Charleston, South Carolina to Portland, Maine.

<comment><USER2> Note to self, go outside when they re-launch.

</comment></comment><comment><USER3> For the curious:

<http://en.wikipedia.org/wiki/Antares_(rocket)> [http://www.npr.org/blogs/thetwo- way/2013/04/17/177618507/cou...](http://www.npr.org/blogs/thetwo- way/2013/04/17/177618507/counts-down-nears-on-antares-rocket-launch)

This is a test flight. An actual flight to the ISS will come later this year.

</comment><comment><USER4> Just announced on the stream: Abort for the day, at about T-12 minutes. "There was a premature dislocation on one of the umbilicals on the second stage."

"There will likely be a 48 hour re-cycle"

<comment><USER5> You are three seconds earlier than me lol. I tuned in 40 seconds ago and was like "oh it's canceled just now? Just like that?" and listened for a few seconds more to be sure.

</comment></comment><comment><USER6> They had to abort for the day because of a premature detachment of an umbilical cord to the second stage. Damn.

</comment><comment><USER7> Aborting. "Premature disengagement of umbilical on second stage"

</comment><comment><USER8> They aborted, no launch today...</comment>


The intolerable rise of perfectionism - <AUTHOR> https://www.theguardian.com/society/2018/jul/17/my-brain-feels-like-its-been-punched-the-intolerable-rise-of-perfectionism <comment><USER2> I think the problem I have with perfectionism, is that in a fairly connected world of 7+ billion people, the people that get "acclaim" are truly some of the most talented/lucky/good people in the world.

You never see mediocrity anymore, everyone has curated Instagram and Facebook feeds of their best moments. If you do see it, it's the process of something like America's Got Talent where it's laughed at.

Dave Grohl of the Foo Fighters said it really well [0]. Everyone that we see doing almost anything online is really really good at it, so people get intimidated that they can't do what 8 year old prodigies are doing. There is such a gap between good and great that people are afraid of taking the time to make the jump since the other side feels so far away. It's ok to be bad at things, it's ok if your art or passion doesn't change the world. It's ok if you enjoy the journey and the destination isn't the top of the charts or a world championship in whatever.

[0] [https://www.theglobeandmail.com/life/the-hot-button/dave- gro...](https://www.theglobeandmail.com/life/the-hot-button/dave-grohl-rants- its-destroying-the-next-generation-of-musicians/article11746664/)

<comment><USER3> Solution: Stop watching TV and stop following celebrities and social media. They call it TV programming for a reason.

Not everyone is curating profiles, not everyone cares what other people are doing, not everybody wants to be told what to think from someone else.

But you will never know if you don't turn that shit off and start to do what you want to do without fear.

</comment></comment><comment><USER4> I've seen "What Happens When A Night Owl Is Forced To Live Like An Early Bird"[0] yesterday and wonder how it correlates with this.

It basically says that 27% of the population are night owls and are in an evolutionary sense our natural night watch and when forced into a daytime schedule, always tired.

[0] [https://www.youtube.com/watch?v=_kZVbE_coSA](https://www.youtube.com/watch?v=_kZVbE_coSA)

<comment><USER5> Rather tangential to this, but I've always had trouble getting up early and maintaining that schedule. A little over a month ago I changed my diet to reduce carbs as much as possible, and I've never felt so alert and awake. Waking up early went from a grueling task to something that just happens naturally. I know this is just one anecdote, but I wonder if some of the mentioned people might also benefit from trying different diets.

<comment><USER6> whenever someone brings up the fact a sizeable portion of the population is forced into an unnatural sleep rythm; inevitably someone will chime in with a "I forced myself with method X and now I'm normal".

It completely misses the underlying point.

<comment><USER7> I'm not sure it does. Their "natural" habits aren't necessarily all that natural either. For all you know, a diet change really did correct an underlying issue causing the strange habit.

<comment><USER6> We're talking about 1/5th of the population suffering needlessly. The comment I replied to merely reinforces the stereotype that there is something wrong with them - "If only you lived better you would get to sleep at a normal time". On its own, its great they have improved their life. But in context its disrespectful.

<comment><USER8> If you're insulting a plausible opposing opinion as disrespectful, you should be backing up your claim with facts. You suggested that people are "naturally" night owls, the other side suggests that nightowlism may be caused by lifestyle choices and that many night owls are unaware of this causality. There is nothing disrespectful about either side of the argument, both are just hypotheses at this point (and a bit of anecdata).

<comment><USER6> There is evidence of a genetic cause for night owlism: [https://www.sciencedaily.com/releases/2012/11/121116124551.h...](https://www.sciencedaily.com/releases/2012/11/121116124551.htm)

Further nobody questions the legitimacy of "early risers" and blames it on lifestyle. In fact most consider it a positive and something to aspire to. When you go your whole life having to dispel the initial impression of laziness due to your natural sleep rythmn it becomes personal. I'm fortunate that I've come to a place in my career where I can simply live with my natural rythmn, but most people don't get the chance.

<comment><USER7> > Further nobody questions the legitimacy of "early risers" and blames it on > lifestyle.

Because being an early riser is adaptive. We're not at all well adapted to operating at night given our sensory apparatus, we're quite well adapted to operate in daylight.

Furthermore, humans aren't genetically predetermined creatures, it's entirely possible to change virtually all of our behaviours and inclinations with the right environmental changes.

Even if being a nightowl were adaptive at one point, that doesn't mean it's adaptive _now_ , and a maladaptive behaviour needs correcting if you want to function in modern society.

> When you go your whole life having to dispel the initial impression of > laziness due to your natural sleep rythmn it becomes personal.

Don't go pushing your personal prejudice on a factual discussion. No one here called "nightowls" lazy.

<comment><USER6> Its crazy in this day and age its considered OK to call perfectly healthy people "maladapted" because they don't conform to societies view of a normal sleep schedule. Treating people this way causes real damage to actual humans.

Second sleeps used to be very common with people getting useful work and liesure done during the time between. Activity at night is normal.

<comment><USER7> > Its crazy in this day and age its considered OK to call perfectly healthy > people "maladapted" because they don't conform to societies view of a normal > sleep schedule.

"Maladapted" in this case literally means "poorly suited to functioning in typical jobs". Society's normal sleep schedule is exactly what makes night owls maladapted to most jobs.

Of course, you're incorrectly reading some sort of moral judgment in this classification, as you have with many other posts. You should try to be a little more impartial when discussing basic facts.

<comment><USER6> 9-5 is an arbitrary restriction on a typical office job. The majority of us no longer perform shift work on the factory floor which was the original impetus for this societal norm.

You are recounting society as it exists today which is abnormal in a historical context. I am speaking of a society that could exist. One where 1/5th the population is not needlessly forced through life exhausted and under performing. Not only would productivity be higher, but we'd get more use out of our otherwise vacant buildings at night. Rush hour would be greatly diminished if not everyone had to arrive at work exactly the same time.

Flex hours are a simple and mainstream solution that more companies should adopt. But it has to start with an appreciation that night owls are not "defective" or as you say, "maladapted".

<comment><USER7> > 9-5 is an arbitrary restriction on a typical office job.

It doesn't matter if it's arbitrary, what matters is whether a person's habits can easily conform or adapt to its environment. Those that do not, or that cause other problems are maladaptive _by definition_.

> But it has to start with an appreciation that night owls are not "defective" > or as you say, "maladapted".

Defective and maladaptive are not synonyms.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> This paragraph, which seems to summarize much of this article's position, seems quite dangerous:

 _> Perfectionism is a personality trait rather than a mental health condition. There is no World Health Organization diagnosis code for perfectionism and it is not listed in the American Psychiatric Association's Diagnostic and Statistical Manual of Mental Disorders. It can fly under the radar and masquerade as the pursuit of high standards, yet it overlaps with a plethora of disorders from eating to obsessive-compulsive disorder, anxiety, body dysmorphia, depression and suicide._

Note how it simultaneously says "perfectionism is not a mental health condition", then proceeds to immediately insuinate it is effectively a mental disorder. This continues throughout the rest of the article.

The domain of neurodiversity as a whole is far more complex than reducing the whole of a phenomenon to such simplistic and IMO damagingly derogatory terms as _"interolerable rise of perfectionism"_.

Despite the author's attempt to interleave a few studies with personal stories, it conveniently neglects to tell the stories of "happy perfectionism": There are many like myself, for whom pursuing this internal motivation for perfectionism turns out to be _immensely intrinsically rewarding_. In fact, I believe this intrinsic pleasure some (small percentage of the population) take from striving for perfection to have played (and continues to play) a _pivotal_ role in humanity's rise in technological advancement.

 _It is not the destination, but the journey_ (to asymptotically approach a vision of perfection), that healthy perfectionists find so rewarding. Certainly, pathological corruptions of perfectionism exist (for example, any such case where you experience _distress or suffering_ for not _achieving_ infinite perfection, despite it being obviously unattainable) — but this is true for all personality traits.

<comment> s-shellfish Everything is a mental health condition these days.

Honestly I think the mental health care industry is getting nervous over how complex, diverse and non-trivial it is to understand minds.

It's easy for the field to operate on the premise 'but these poor people, we are trying to help them!'. It's at the least, a bit absurd to be hypercritical over every little detail of thinking, acting, behaving, processing, etc and consider that 'help'.

I agree with you that perfectionism doesn't have to be a bad thing. It seems more that one has to be cautious with who one displays those characteristics towards because it can easily provocate insecurity in others, unintentionally. Which can be a totally reasonable reaction, life sometimes sucks and happens and things one wants to be devoted to may have to be deprioritized.

But if you want to be a perfectionist and are in a place in life where you can afford to devote yourself that much, then you shouldn't let the fact that other people made different choices get to you to the point that it halts your own ability to progress.

<comment><USER10> > It seems more that one has to be cautious with who one displays those > characteristics towards because it can easily provocate insecurity in > others, unintentionally.

This sentence seemed to irk me; because at what point does someone have to police themselves to ensure they don't "hurt someone else's feelings"? My generalization is a bit crass, but that's how this sentence came off.

<comment><USER11> I was taught that I should care about that and if I dont, I am lacking self co trol and rude and that is wrong. And practically speaking, if you hurt peoples feelings they will retaliate one way or the other or avoid you. Especially insecure people.

Controlling what you say is seen as bad thing online, but it is a thing that majority of people in real world do constantly and are expected to.

<comment> s-shellfish I would be careful about the word 'retaliate'. People internalize information differently. If you hurt someone's feelings, they may internalize that, try to reason out exactly what the problem is, and then accidentally project those feelings onto someone random because emotional and empathetic exhaustion is a thing that can happen to anyone. The reason such individuals exist and do such phenomena is because they don't want to hurt anyone.

That's not being insecure in the individual self. Victim mentality ascribes intent. There isn't always intent. Just being human, and not perfect.

<comment><USER11> Point taken. There are many different reactions to being hurt and possible backslash about me is just one of them.

I may also end up doing harm to hurt person, either because my hurt will influence them to their detriment (they will internalize my angry outburst etc) or because of how third parties will perceive them due to what I say.

I did not meant retaliation as purely bad act on the side of hurt person. It may he just answering in kind. People who don't stand up to insults end up being bullied. If I don't have to care about hurting their feelings, they don't have to care about mine.

<comment> s-shellfish There's a limit to what you can believe you have control over.

> If I don't have to care about hurting their feelings, they don't have to > care about mine.

That's something you have to assume initially. The problem is it's only true over time. It's something that may be true at the moment of interaction, or it may be something that is true because of the interaction.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> I tend to become much better at things a lot quicker if I just ingest a lot of the stuff (books, code, etc) and then spit out a mountain of it, instead of obsessing over making each and every thing I produce perfect.

Perfect isn't even an unchanging state. The better you are, the higher your standards become.

<comment><USER13> I recall reading a study previously (I can't find it at the moment) on creativity. The two groups were given two tasks in an art class. First group was told they would be graded on the sheer volume of output, while the other was told they would be graded on the most creative thing they could produce (I'm leaving out a ton of detail, and I can't remember what kind of art class it was).

The conclusion of the study was that the first group, who was just focused on volume of output, actually produced _more_ creative works than the group specifically focused on "creativity".

<comment><USER14> You got it right but here's a link[1] with that original story and also some commentary on how this all relates to software development.

[1] [https://blog.codinghorror.com/quantity-always-trumps- quality...](https://blog.codinghorror.com/quantity-always-trumps-quality/)

</comment></comment></comment><comment><USER15> A perfectionist is someone with more exigence than talent.

By deeming yourself a perfectionist, you openly state that you do not meet you own standards.

Resolution lies on either end, depending on how possible/practical it is to improve a given skill.

<comment><USER16> > A perfectionist is someone with more exigence than talent.

My dictionary defines 'exigence' (which I had not encountered before) as "an urgent need or demand", and I find that hard to parse. Is either of the parses "… who is more demanding than talented" or (like "grasp exceeds reach") "… whose demands exceed his or her talent" correct? If not, would you mind clarifying?

<comment><USER15> My bad, _" exigence"_ is a French word whose meaning isn't exactly identical in English. To be _exigent_ means to have a high standard. The verb _" exiger"_ means "to require". English adds an urgency dimension that doesn't exist in French.

Many French words built on that template (direct latin root + -ent/-ence suffix) can be used as is in English, but it is not always the case.

<comment><USER17> To make this point relevant, are you more familiar with French and thereby translating an idea of yours in French to English with a not-quite-perfect cognate?

Without such a connection, the reasoning for stating this is unclear to me. Could you clarify?

<comment><USER15> I'm a native French speaker, fluently thinking in English.

There's a vast pool of vocabulary that is common to both languages, from which I draw words indiscriminately (Latin roots and the same formula to derive verbs/nouns/adjectives, with minor variations for each langage (e.g. add "-ate" for verbs in Englsih and "-er" in French)). Some of these are so-called "false friends", with different meanings in both languages.

I have a spidey sense that works most of the time in the English => French direction (e.g. "consistent"), less so in the other.

<comment><USER17> Thank you, I wasn't quite sure.

As a native English speaker who has learned French, I've often run into "faux amis". Perhaps the most embarrassing was "préservatifs", which I expected to mean preservatives but actually meant condoms.

<comment><USER15> Ooh, yes, that one must have been embarrassing indeed :-)

 _" Préservatif"_ is such a weird euphemism.

<comment><USER17> "Prophylactic" is no less bizarre.

<comment><USER16> > "Prophylactic" is no less bizarre.

Isn't it (less bizarre)? My dictionary gives the medical meaning of prophylactic as "intended to prevent disease"; using it to refer to contraception just requires a more generous conception of 'disease'.

By contrast, if 'préservatif' in French were translated to 'preservative' in English, it would mean, again according to my dictionary, "a substance used to preserve … against decay." I find it a bit more of a stretch to generalise this to pregnancy.

On the other hand, maybe it is just my English-speaker-ness showing through that I can think of pregnancy much more easily as a disease (it literally causes dis-ease …) than as decay.

<comment><USER17> You're right. I'd not realized that it was regarding preventing disease, not simply a generic precautionary measure.

And while pregnancy may well be viewed as a disease or a cancer, after a fashion, at least condoms protect from a wider range of affliction.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> In my experience, perfectionism is a reaction to a lack of actual progress or success. Kind of similar to forms of idealism or religious feelings that arise as a result of being powerless in the face of circumstances.

<comment><USER19> you've made an eminently prescient comment here.

it explains why many scientists are self-denying and perfectionistic: failure is the rule during experimentation, and progress is not guaranteed or even knowable sometimes.

i think that eventually it gets inseparable from the person. the reaction becomes a habit, and then it sticks.

</comment></comment><comment><USER20> Seems perfectionism is a good way to get burned out eventually. I don't think that level of intensity can be kept up long term.

<comment><USER21> I cna tpye 300 wrods pre minute

</comment></comment><comment><USER22> Ira Glass:

[https://www.youtube.com/watch?v=X2wLP0izeJE](https://www.youtube.com/watch?v=X2wLP0izeJE)

This guy is perfect.

<comment><USER23> As long as you're not his dog or a potential victim of his dog.

<comment><USER24> Context:

[https://www.petful.com/pet-health/ira-glass-dog- piney/](https://www.petful.com/pet-health/ira-glass-dog-piney/)

</comment></comment></comment><comment><USER25> I've made a similar realization early on in my studies. If I learn a lot more things than necessary, but only imperfectly I do much better in the same time than someone who learned exactly what is necessary but perfectly. Because you often make extra connections and discoveries when you go beyond what is required.

This is one reason why I think we need a school reform where exams aren't rated as much on perfectionism, but more on broad knowledge.

I.e. if you can only solve a part of the questions but more of the questions then you can still receive a good grade. Basically make the tests longer and more broad than what you expect and give 150% of the points. That way you can either solve 2/3 like normal, or you solve more of the problems imperfectly and get the same result. It allows for more learning styles.

This way you could probably cover much more knowledge in a shorter time frame. Because a lot of the imperfect knowledge will get better over time eventually when you learn knowledge that builds upon it.

</comment><comment><USER26> Rise of perfectionism? I'm actually noticing a decline on aiming for perfection. I can't stop recommending this talk: [https://www.ted.com/talks/jon_bowers_we_should_aim_for_perfe...](https://www.ted.com/talks/jon_bowers_we_should_aim_for_perfection_and_stop_fearing_failure)

</comment><comment><USER27> This article reflects a view that "perfectionism" is the cause of anxiety, depression, and social insecurity. It seems more likely that self-destructive perfectionism (since positive perfectionism is framed here as well) is a result of anxiety and social insecurity, not the other way around.

</comment><comment><USER28> While the title touched me, less did the article itself.

I thought it would be more about working conditions which at least for me and with control and checks everywhere in place leaves less and less space for humans to err, favouring perfectionists.

</comment><comment><USER29> Is anyone else struggling to feel sorry for these high achieving graduate students because they, what, feel bad sometimes?

> 'Even exercise doesn't sound like a total escape for Tom Nicol: he is > training to beat his dad's personal best mile time.'

Oh wow, training to beat another runner's time. What pathos, what suffering! Give me a break.

</comment><comment><USER30> Maybe I've been working with too many millennials lately, but personally, I wish more people I worked with were perfectionists! My subjective observation is overall commitment to quality has generally decrease over the last decade of my career.

I know I have OCD tendencies, and I've found that if I can harness it properly (mostly by just being aware of when I am in a obsessive state) I can really internalize the topic at hand and add the new knowledge/skill to my everyday repertoire.

<comment><USER31> Are you sure its not Millennials but instead your expectations? Perhaps they are at their desks wondering why you are so commited to low value details.

<comment><USER30> Yep, pretty sure its them :)

</comment></comment></comment><comment><USER32> "perfectionism" as it's used here seems like just optimizing your life around a narrow set of criteria.</comment>


First metal 3D printed gun produced and successfully tested - <AUTHOR>

http://www.theinquirer.net/inquirer/news/2306120/first-metal-3d-printed-gun-produced-and-successfully-tested <comment><USER2> You may want to consider posting this as a URL instead of a discussion.</comment>


Google and Yahoo's Flash indexing is revealing… too much? - <AUTHOR> http://aralbalkan.com/1404

<comment><USER2> This all boils down to poor practices and false assumptions by Flash developers.

Just because it's compiled bytecode doesn't mean you can hide secrets in it, that's security through obscurity.

And always use POSTs for actions that modify data on the server, never use GETs for anything except requests which only retrieve data (and don't modify anything)

<comment><USER3> It's even simpler than that -- don't let unauthenticated users break things! Google is not stealing someone's password to get to your site, they are just clicking links. If that can break things, you need to fix your application!

(BTW, GET requests can have side effects in practice; a GET updates the logfile, potentially filling your disk, for every request.)

</comment></comment><comment><USER4> Great find!

In general, we don't hide secrets in Flash because it's easy to decompile. We already knew that.

To help _real_ developers understand why this is a problem for Flash developers: Imagine the problems you'd have if Google suddenly started to combined your Google Code Search results with your content search results.</comment>


Ancient Egyptians transported pyramid stones over wet sand - <AUTHOR> http://phys.org/news/2014-04-ancient-egyptians-pyramid-stones-sand.html

<comment><USER2> Okay, but it still took alien technology to raise them, right?</comment>


The Finder's GUI tax can be very expensive - <AUTHOR> http://robservatory.com/the-finders-gui-tax-can-be-very-expensive/ <comment><USER3> I wonder whether this is not an example of a UI interaction which is slow on purpose, to emphasize how much work the OS is doing for you.

TaxAct and TurboTax, for example, both operate on (in the typical case) kilobyte scale data requiring trivial math. They also make both saving the data and calculating taxes take 5+ wall-clock seconds when they actually require milliseconds and nanoseconds respectively. This is largely because (non-technical) users don't trust your computer did the math right if the answer comes back instantly. (I also suspect there is an element of "Wait if it is so easy to calculate my taxes _why am I paying you to do that_.")

<comment><USER4> No, it's about showing it long enough so you know what the dialog is and what it's doing.

If a dialog popped up for the brief amount of time it actually takes to unzip, it might freak out users: "huh? WTF was that??"

<comment><USER5> The Finder already handles this differently for file copy operations - <USER2> don't get a file copy progress dialog if it takes less time than you need to react (just an audio confirmation). It seems like Archive Utility didn't get that extra attention though.

<comment><USER4> Maybe it's a minor security feature. Unzipping something in the background might be something they want to always call attention to.

</comment></comment></comment></comment><comment><USER6> If someone is looking for an alternative with a GUI, I use The Unarchiver [0] and I'm generally happy with it. I don't usually have to expand lots of small files like the OP, so I don't know how it compares with that task.

[0] [http://unarchiver.c3.cx/unarchiver](http://unarchiver.c3.cx/unarchiver)

<comment><USER7> Seconded. The Unarchiver is always one of the first things I install on a new Mac.

The same author is also responsible for another program, Xee, which is a great, no nonsense image viewer. The 3.x version costs a few bucks, but the last 2.x version can still be downloaded for free.

</comment></comment><comment><USER8> > a window with a single progress bar for the entire task would be OK, but > would still slow operations down.

There's a simple way to do a visual progress bar with almost zero slowdown: run the task in a separate thread from the progress bar, and update the progress through lock-free shared variables. Make the progress bar read the shared variables only a couple of times per second, sleeping between its updates.

<comment><USER9> It's not only the communication between the task and the GUI that is slowing things down (if it is at all, which I doubt). Even more, I think, it's the fact that macOS, the OS in question, has some conventions for windows, controls and so forth, one being that it takes X seconds for the window to appear and X seconds for it to disappear. If it was being shown and hidden again as fast as the task starts and finishes, it would be just be a flicker on the screen, which would confuse the user. It also doesn't make sense to spend a second to show a window, if the progress bar it embeds has completed before the second has elapsed, so there has to be a delay there, and so forth. The task is so quick it can really not be presented to the user without the presentation being slower than the actual task.

I think it comes down to good UI+UX, which in this particular case becomes bad UI+UX.

<comment><USER10> _If it was being shown and hidden again as fast as the task starts and finishes, it would be just be a flicker on the screen, which would confuse the user._

Maybe the really inexperienced users, but it makes sense that something which happens quickly, will mean a window that also appears and disappears quickly. This is why Windows has options to disable animations and other effects, and everything does feel noticeably more responsive when they are disabled --- windows and menus appear and disappear _instantly_.

</comment></comment></comment><comment><USER11> How did they not title this "Finders Fee"

<comment><USER12> Hah.

</comment></comment><comment><USER13> I've encountered this in command-line programs as well. Print statements take a non-zero amount of time and depending on the language, can be quite slow, so for an otherwise-fast operation in a loop, if it prints a line every time then it can contribute significantly to the overall speed of the program. Removing the print statements in some cases can speed up the code by an order of magnitude.

<comment><USER14> quiet reminder that writing to file descriptors is blocking.

STDERR and STDOUT are file descriptors.

<comment><USER15> Maybe so, but, as pointed out elsewhere in the thread, printing to stdout is much, much, much, much slower than printing to a file. The fact that stdout is a file descriptor can only explain a vanishingly small quantity of the time cost of using it.

<comment><USER16> > printing to stdout is much, much, much, much slower than printing to a file

False dichotomy. stdout can very well be a file. What you mean is that printing to a _terminal_ is slower than to a file.

<comment><USER15> True enough.

</comment></comment></comment></comment></comment><comment><USER17> Reminds of of this Raymond Chen post:

[https://blogs.msdn.microsoft.com/oldnewthing/20060220-00/?p=...](https://blogs.msdn.microsoft.com/oldnewthing/20060220-00/?p=32233)

A Windows program ran faster if you clicked and held the mouse button on the title bar (as if you were going to move the window) because it would stop the window from re-drawing itself, making whatever loop it was running (and constantly updating the GUI) go faster.

</comment><comment><USER18> If we are assuming the underlying expansion is as efficient then the cost comes either in the boilerplate or mistakes made when parallelising. In the case of the boilerplate the solution would be embedding some more of the linked code and reducing IPC/other unnecessary bottlenecks. However I suspect the error is in the parallelisation, which is not surprising, especially as the authors likely optimised and tested for large, not small, files.

As it is, removing the GUI is perhaps the worst thing you could do to the user. Closely followed by inducing epilepsy with that ridiculous expanding dialog.

</comment><comment><USER19> "Finder (nee Archive Utility) should just execute the task without any visual feedback" \-- no.

<comment><USER20> I agree there should be visual feedback, but maybe more of a compromise. E.g. bundle all unzip tasks into 1 single progress bar and rotate text strings for informing which task is underway.

The "dancing" modal is quite ridiculous.

<comment><USER21> If operation takes more than human's average reaction time, progress should be shown. Usually 250ms. Jef Raskin and others wrote a bookshelf about that a decade ago, but I still see strange solutions everywhere.

<comment><USER22> In this case it's showing a 24 progress bars each for an item that takes less than 1ms.

</comment></comment></comment></comment><comment><USER23> Windows explorer unzip is even worse. Recently in a VM I tried unzipping boost 1.62.0 using explorer in Windows 10. It said it would take over 3 hours. The same file was decompressed on the command line in about a minute using 7zip on the same VM.

<comment><USER24> Windows also always unzips to a fixed scratch directory before creating the real files.

That scratch directory is %TMP% or %TEMP%, I think, but it definitely always is on the same disk, typically C:

If you unzip files to another disk than where that directory lives, it unzips to its scratch directory, then _copies_ the extracted files to their destination, and finally deletes the scratch files.

That's bad in itself, but doubly so if the disk where it unpacks doesn't have room for the unzipped files.

Mac OS had a system call "Give me the temp directory on this disk" (FindFolder) that made it possible to extract to a temp directory and then _move_ the result to the destination. That call made it into Carbon. I don't think macOS still has it, but it seems UnArchiver does the right thing, anyways.

<comment><USER22> Internet explorer did the same thing with downloads; I discovered this when I had a 1GB C: drive and a 6GB D: drive and tried to download something that was too large to fit on the C: drive.

</comment></comment></comment><comment><USER25> It's fixed now, but for a while it was significantly (20 to 40%) faster to install npm without the progress bar.

[https://github.com/npm/npm/issues/11283](https://github.com/npm/npm/issues/11283)

<comment><USER26> Just to clarify, that's 'npm install' not 'install npm'.

</comment></comment><comment><USER27> The window animations in Mac OS itself can make things feel very sluggish as well, although the velocity-based ones seem better with Sierra.

</comment><comment><USER28> There's a point where printing progress is actually a huge bottleneck to performance. Try it out in python. Make a for loop that loops a million times and prints "Hello". Run the program once normally, and a second time piping the output to a file. You'll find the first one takes 15 seconds, while the second one is near instantaneous.

<comment><USER12> This is a false equivalence. As long as the progress is set correctly via messaging (queue) to an alternate UI thread, the time lost will be under a millsecond. The naive print loop you provide is obviously IO bound and print is a blocking IO call. Use an async print IO and youll have much better performance. Narf!!

</comment></comment><comment><USER29> They should make the UI idiom feeding your file a mushroom and then double the icon size on completion.

<comment><USER30> only if they want to get sued by Nintendo...

<comment><USER13> Nintendo got it from Alice in Wonderland, so perhaps prior art?

</comment></comment></comment><comment><USER31> The rationalizations are kind of silly... oh no, the uninformed users might otherwise do or think this or that; actually, this is shit workmanship, that is all it is, and it's up to the people who have the faintest clue to point at it an laugh _until it becomes better workmanship_. If you use energy you should use attacking it on defending it, you're now part of it.

</comment><comment><USER32> Even worse, IMO, is that the default behaviour for Archive Utility is to just unpack the contents of a zip file in a directory under which it's found. Sometimes I just want one file out of a huge zip... Actually, quite often I want to see what's in a zip before uncompressing.

</comment><comment><USER33> Isn't there some disk caching going on here? Surely the OS is not writing directly to disk immediately after gunzipping. I don't think that's enough to explain the large difference, though.

</comment><comment><USER34> Great example of someone justifying engineer driven design over user driven design. Not understanding at all why it was made that way in the first place.

</comment><comment><USER35> "... slow, it's the GUI interface to the computer ..."

he ... he wrote GUI interface. heh.

</comment><comment><USER36> Just want to add, `unzip` from your terminal window can be used as well. If opening those gz's every month is a pain, you could handle it with something like: `unzip -r my_stuff_{1..99}.zip`

<comment><USER37> The files in the article aren't zips, they're individually compressed files. Thus, unzip won't work.

</comment></comment><comment><USER38> This will be sort of bluntly stated, but I challenge anyone to show me an example of where animation is a usability improvement over no animation at all. I understand how it may be visually pleasing, but I work on computers, not enjoy it as an art form. I do some UI design too and don't remember the last time I added animation. Can anyone find an exception?

<comment><USER39> Most transition effects where things are added or removed from a group of objects - without the visual cue, this can happen so quickly it's hard to see where the removal or addition happened. The tab bar in your browser is a good example.</comment></comment>


Show HN: Wordpress Post Navigator, top posts for the blogs on wordpress.com - <AUTHOR> http://www.justthink.it/wordpressTools <comment><AUTHOR> Wordpress Post Navigator lets you view the posts of a blog hosted on Wordpress.com sorted by number of comments, number of likes, creation date. You can directly link the page with a blog domain as a parameter.

</comment><comment><USER2> I was expecting something like Medium for WordPress: a feed of the top blog posts from all the blogs on WordPress, a curated aggregator.

<comment><AUTHOR> This tool is especially intended for blog owners who, on wordpress.com, cannot show their posts sorted by number of comments or number of likes, which I find interesting metrics.</comment></comment>


Parallel Programming: Understanding the impact of Critical Sections - <AUTHOR> http://www.futurechips.org/tips-for-power-coders/parallel-programming-understanding-impact-critical-sections.html

<comment><USER2> For update critical sections, its important to execute the non-contention case at lightning speed. This reduces the chance of collision (and associated blocking, thread switching, kernel trips) and moves the 'saturation point' (where there are so many threads that there's always somebody blocking) up in threadcount by an order of magnitude.

In my measurement, OS X and linux both simply implement "critical section" as a semaphore, with two full kernel trips to take and release the cs. Since the code being protected is usually less than 10 instructions, the ratio of overhead to code protected is 1,000 or so. The saturation point can be a couple score threads.

In Windows (yes! Windows!) they use special opcodes that lock/unlock the bus to provide atomic update of in-memory variables. The ratio is about 1 or 2. The saturation point is a couple orders of magnitude more threads before thrashing occurs.

Windows is optimized for the hardware, yes. An unfair advantage. But there it is.

I sincerely wish somebody in linux library design would add the same unfair special case. Since its killing me in my large software project, dominating design decisions and completely unnecessary to be suffering like this.</comment>


Semi-Supervised Knowledge Transfer for Deep Learning from Private Training Data - <AUTHOR> https://arxiv.org/abs/1610.05755 <comment><USER2> The title and abstract of the paper makes it seem like their approach can assure some form of absolute privacy. However, when you get down into the weeds of the article they really only have probabilistic guarantees. This seems like a problem because (1) most people will incorrectly assume the stronger form of privacy and (2) there is no objective way to determine the threshold required to be considered "private enough" for a given application. This is exactly the same as the issues I have with differential privacy.

In the end, I could see this being useful for protecting private corporate data where the concern is that the company does not want to lose the perceived value of their datasets just because they have released an external model using internal data. Theoretical guarantees that most data will be private should be good enough for this case. On the other hand, I would worry about using it on truly sensitive data (such as medical records) where even one compromised datum is of high concern.

</comment><comment><USER3> It will be interesting to see how it plays out, but it's worth noting that there is a healthy amount of suspicion, some fear, and even a little bit of animosity toward google in the US health care industry. Opinions about surveillance and marketing (mis)uses aside, getting data can be a long and difficult process even for seasoned researchers in teaching hospitals. Personally, I don't fancy giving them my medical records any time soon.</comment>


Running my blog on an old Raspberry Pi - <AUTHOR> https://blog.jandhyala.in/posts/2020/06/rpi-home-server/ <comment><AUTHOR> I found my old Raspberry Pi 2 Model B (900MHz quad-core ARM Cortex-A7 CPU and 1GB RAM) and rather than recycle it, I documented my effort to get a blog started, up and running, and serving over my home internet. Don't DDOS my (very) barebones setup!</comment>


Rob Pike on Newsqueak, a concurrent language - <AUTHOR> http://www.youtube.com/watch?v=HmxnCEa8Ctw&feature=channel_page

<comment><USER2> Transcript?

<comment><AUTHOR> Not that I know of. Unfortunately, it's not something that's easily just listened to either since there are some example programs presented.

<comment><USER2> An hour of my time is not easy listening, unfortunately:-/</comment></comment></comment>


Ask YC: How did YC S20 demo day succeed? - <AUTHOR> In the past, YC was very specific about moving founders to bay area and it was willing to reject the ones who can't. The reasoning was that the downsides of not being in valley overweighs missing out on otherwise good startups. Now I hear from YC partners, S20 Demo Day was more successful than previous batches. Did all the downsides suddenly disappear? What are the downsides and which ones still exist?<p>Explaining them would help YC applicants to make informed decision. Otherwise, such claim sounds salesy and too good to be true. <comment><USER2> I think the whole Covid and remote work thing has given new perspectives to a lot of people who didn't think their companies could be run any way other than physically and in person. Perhaps YC's previous succesess had them believing too much in their own method.

As for the latest batch, others have commented and I've noticed that the _kinds_ of companies YC chose last time seems to have a different focus than previous rounds. Notably, there's a heavy emphasis on dev tools and, to my way of thinking, more companies with quick go-to-market products and fewer moonshots. Perhaps the apparent changes in YC's selection criteria also contributed to their feeling that this batch was "more successful."

Personally, judging from the "me, too" nature of many of the accepted companies in the last round, I find it hard to believe that many (any?) unicorns will come out of choosing the low-hanging fruit. It remains to be seen how these companies will be valued going forward or if their products will succeed in the marketplace, and those will be better indications of the success of the overall batch than any press release.</comment>


How Posterous helps us to track/organize customer feedback? - <AUTHOR> http://tonido.posterous.com

<comment><USER2> That's a great idea. I was thinking about how to keep all happy/excited emails from the customers publicly available. Angry/sad emails go straight to the bug tracker.

<comment><AUTHOR> :)</comment></comment>


Today's the last day to apply to Startup School - <AUTHOR> https://www.startupschool.org/ <comment><USER2> Will the videos be posted somewhere public as they become available? YouTube channel? RSS feed?

<comment><AUTHOR> If you didn't find this already, you can subscribe for content updates at [https://www.startupschool.org/spectators/new](https://www.startupschool.org/spectators/new)</comment></comment>


JavaScript Pong (Spartan Ajax) - <AUTHOR> http://www.i-programmer.info/projects/36-web/365-javascript-pong-.html

<comment><USER2> This is far more impressive, Chain Reaction (aka Boomshine) in javascript:

<http://www.yvoschaap.com/chainrxn/></comment>


Indian Prime Minister Narendra Modi Launches Swachh Bharat(Clean India)campaign - <AUTHOR> http://www.financialexpress.com/news/swachchh-bharat-abhiyan-kicks-off-today-10-key-facts/1294880

<comment><USER2> alone a prime minister cannot do anything if we people don't volunteer , I and some of my friend decide to volunteer and we are trying to educate are neighbour not to throw solid waste on road instead collect it in a bag and wait for municipality to collect the bag from you..

<comment><AUTHOR> That's correct, the citizens must also involve in such campaigns.

An Indian research institute - CIFT did a simple hack to help fisherman understand the importance of hygiene. You can find more @ [http://126.96.36.199/handle/123456789/990](http://22.214.171.124/handle/123456789/990).

This is just one of an example, there could be more out there which other communities / countries have implemented.</comment></comment>


War reporters like me will cease to exist if the web giants aren't stopped - <AUTHOR> https://www.theguardian.com/commentisfree/2018/aug/28/war-reporters-internet-giants-news-journalism-facebook-google-eu-vote-copyright <comment><USER2> > But they (Google, Facebook) get paid for the advertising linked to content > that journalists produce.

News orgs are not forced to appear on search engines or aggregator apps and can choose not to at any time. News org profits are down because people aren't as interested in news anymore and clickbait and outrage are generally more popular. The non-Wikileaks people who brought you the big revelations when they worked at The Graun (Janine Gibson, James Ball) work at Buzzfeed now.

</comment><comment><USER3> Many war reporters also twist facts, mislead everyone who trusts them. It's the facebook and twitter who allow everyone to be a journalist.</comment>


Nana: A modern C++ GUI library - <AUTHOR> http://nanapro.org/ <comment> c-smile This: "Hello, <bold blue size=16>Nana C++ Library</>" looks a bit strange.

Looks like XML but it is definitely not (the </> construct for example).

If the purpose is to provide inline styling then I would use something richtext alike:

"Hello, [B S16 C#00F]Nana C++ Library[bsc]"

But split on HTML (semantic, structure) and CSS (styling) is anyway better for many reasons.

<comment><USER2> They also lost me at that moment. I can understand high level representation like qml and xaml... but mixing them like that into plain c++ and also with this XML/sgml/HTML thingy ... Smells wrong.

<comment><USER3> What is bad with mixing them like that into plain c++? Why may be better to have external tools?

</comment></comment></comment><comment><USER4> The "modernness" in Nana comes at a heavy cost : callbacks are based on std::function, which means that adding a callback - e.g. as in their front page :

        btn.events().click([&fm]{
            fm.close();
        });

will do a dynamic allocation, and create an indirection, since std::function does type erasure (so you get a vtable, etc...). Qt may look less modern, but the cost of doing a `connect` there is far smaller especially if you connect to a member function.

<comment><USER5> Oh ffs, have you actually calculated this "cost" on a CPU made after 1985?

<comment><USER4> There's a lot of costs which all sum up:

\- binary size increase (e.g look at that : [https://gcc.godbolt.org/z/xre7cp](https://gcc.godbolt.org/z/xre7cp))

\- more symbols (I guess you never hit the per-object file symbol limit on windows, even with /BIGOBJ - when you do the only thing left is despair).

\- most callbacks will have to copy a kind of `this` pointer so the size of your objects increase and they stop fitting into cache lines

\- when you have "normal" inheritance, the vtable of your parent object is generally already in your cache, while here there will be one vtable per- object (and no, the vtables aren't optimized to be part of the object itself so you still get that indirection even with SBO). so goodbye memory coherency. I've been working on my own callback implementation with an inlined vtable which allowed me to grasp sometimes more than 30% perf improvement vs std::function, in callback-heavy code : [https://github.com/jcelerier/smallfunction/blob/master/small...](https://github.com/jcelerier/smallfunction/blob/master/smallfun/include/smallfun.hpp#L29)

</comment></comment></comment><comment><USER6> What problem does this solve that Qt doesn't solve?

(Yes I can DDG the answer, but the Nana home page should make that unnecessary.)

<comment><USER7> More liberal license I noticed. (Boost vs QTs LGPL + commercial)

<comment><USER8> Aka not willing to pay upstream development costs.

</comment></comment></comment><comment><USER9> A modern GUI library without screenshots on the homepage...

<comment><USER10> There is one screenshot on the front page, and I must admit, it does not _look_ modern.

<comment><USER11> More importantly, it doesn't look _native_ ... to anything really, which is the main (and hard) problem for any portable GUI library.

Modernity can be added on top using a thin layer, if and when needed.

<comment><USER12> It looks like a native Breeze themed KDE application. If I did not know I was on the Nana website, I would have assumed it's all Breeze.

</comment></comment></comment></comment><comment><USER13> > lab.format(true)

gives me a bad feeling.

However, in 35 years of programming I have not coded any kind of GUI, so my judgment might be off.

<comment><USER14> This looks like a common C++ pattern of having a pair of overloaded methods as property accessors - foo() to get the value of foo for this object, and foo(x) to set it.

<comment><USER13> Yes, that's the bad feeling all right. Classic anti-pattern.

<comment><USER15> Disagreement about how to name methods is not an 'anti-pattern'. It's a literal non-issue that affects nothing at all whatsoever.

Junior programmers pick on whitespace formatting and variable names because that's the only kind of criticism their skill level allows.

<comment><USER13> This is not about naming or formatting. This is about the prevalence of what are commonly called "setters and getters", that are a fairly reliable indicator of poorly thought-out design. You can learn something here, if you pay attention.

In a sound design, objects more usually get their attributes at construction time, and keep them until they are destroyed. When something needs to change, from outside the object, it is usually better to make another object.

Of course an object can still have mutable state, altered by member functions that do actual, useful work, but they have no use for setters and getters -- they have direct access to the member data that needs to change.

The key here is that the public member functions should be doing useful work for you. Just mutating primitive state is noise. If the object doesn't abstract anything, it isn't earning it keep.

Another indicator of bad design is public virtual functions.

<comment><USER16> > You can learn something here, if you pay attention.

I'm all for learning and debating, but this comes off awfully patronizing.

> In a sound design, objects more usually get their attributes at construction > time, and keep them until they are destroyed.

Immutable objects are nice and I always try to use them when I can, but arguing that everything should be immutable or you have a design problem... that's exaggerated.

> When something needs to change, from outside the object, it is usually > better to make another object.

As with everything, there's a trade-off with any solution. Allocating and copying data isn't cheap. And the fact that you just pick one way of doing things and discard anything else as "bad design" doesn't inspire confidence.

> The key here is that the public member functions should be doing useful work > for you.

No, the "key" is that you are abstracting access to data. Your setter may do validation or transformation on the data. You may only offer const access to data. You may even do a defensive copy of the data. You may set breakpoints or log access to the data.

> If the object doesn't abstract anything, it isn't earning it keep.

Not all objects need to represent functionality. Some represent data. And mutating data is fundamentally what every program does. Just because you have an aversion to mutating data outside your object and you are willing to pay the price for immutable structures, doesn't mean everyone else is following a "classic anti-pattern".

> Another indicator of bad design is public virtual functions.

I really don't see the wisdom behind this one.

</comment></comment></comment></comment></comment></comment><comment><USER17> Every nontrivial GUI framework eventually converges on a poor reimplentation of HTML/CSS. If you need a complex modern interface, just use Electron or the like.

<comment><USER18> No, HTML and CSS are document markup languages. They are actually quite bad at UIs.

For example, implement a table with more than a few hundred rows. UI toolkits don't even blink while HTML just falls over.

<comment><USER17> >No, HTML and CSS are document markup languages. They are actually quite bad at UIs.

This was true 10 years ago. Now frameworks like React are at or beyond the sophistication of anything native. Practically every other UI technology implements their interfaces in an XML-esque syntax that is far less expressive and flexible than HTML, which end up locking you in to a small constrained ecosystem. CSS has evolved as well, and with GPU acceleration out of the box and things like grid and flexbox all of the older issues are gone.

<comment><USER8> Nah, HTML and CSS have lots to learn from iOS and Android layouts, QML and XAML.

Where is Blend for HTML/CSS?

React might be sofisticated, but having the performance of native GUIs, or the eco-system of companies selling UI components, is surely something that it will never have.

</comment></comment></comment></comment><comment><USER19> \- no Wayland support

\- no GPU accelerated rendering

\- no accessibility

That's not very modern, sorry, that's very 90s. Regardless of how the programming interface looks.

<comment><USER20> Not saying these aren't important, but you can implement these features once you've got a nice API working. You can't easily retrofit a nice API into an existing project with lots of features. So maybe they chose the right way.

<comment><USER21> [https://en.wikipedia.org/wiki/John_Gall_(author)#Gall's_law](https://en.wikipedia.org/wiki/John_Gall_\(author\)#Gall's_law)

</comment></comment></comment><comment><USER22> Correct me if I'm wrong, but these widgets are custom-drawn, making the "modern" world completely inaccessible to and unusable by the majority of disabled users.

<comment><USER23> Don't blame the GUI, blame the screen reader. It's the screen readers that are stuck in the 70's. We have software that can do facial recognition and run on an raspberry pi but for some reason screen readers still need some ascii text buffer to send to the equivalent of a speak&spell.

<comment><USER22> The screen reader I'm using includes modern accurate OCR. I'm very interested in this, though. How do you suggest a screen reader should recognise the often subtle differences between control types and states across every application and framework when custom controls are so common?

<comment><USER24> To add to your point, why require such sophistication if it can be avoided? I mean, we could all send bitmaps back and forth to communicate. We could literally just take pictures of hand written notes. Encoded email seems much saner.

</comment></comment></comment></comment><comment><USER25> Does it support interop with plain C, eg C99?

No C++ malarkey for me!!</comment>


AC/DC release recordings on iTunes - <AUTHOR> http://www.bbc.co.uk/news/technology-20392390

<comment><USER2> Great. Now about Def Leppard...</comment>