You have 14 tabs open, don't you - <AUTHOR> I'm guessing you clicked on this post because I was either right in assuming you have 14+ tabs open or you were surprised at the fact that you didn't have 14 tabs open — because you usually do obviously.
Below I detail my motivations and solution for having way too many tabs open.
I do everything in a web browser. I write, read, design, develop, and peruse the usual sites all in a browser.
I started to get overwhelmed with all of the things I was working on and even just the daily chaos that was using a web browser for everything. I always had way too may tabs open, I lost things regularly, and got distracted constantly. I tried to keep myself organized but I was frequently side tracked by other work.
After reading about productivity strategies and trying other apps to keep myself focused I decided I needed a better solution. General "project management" and productivity apps weren't working, I was still facing the same problems just with another app in my tool case.
So, I started building Partizion. The main methodology that productive people employ (and is the foundation on which Partizion was designed) is that multitasking is 1. impossible and 2. less efficient.
The more you "partition" (see where I got the name from?) your work, and focus on the task at hand, the more efficient and productive you can be. You'll finish tasks faster, you'll stay on track to complete your daily checklist, and you'll be able to pickup where you left off or switch contexts much more easily.
I built this methodology right into Partizion. You can separate your work, create groups of tabs for projects/tasks/daily habits and open them with one click. Partizion is still in its early stages but I have committed to developing Partizion into the tool that should have come standard with every web browser.
If you have some free time, I'd love for you to check it out and let me know your thoughts. I'm open to all feedback + suggestions!
https://www.partizion.io/ <comment><USER2> Lots of issues here.

(A) Please follow the "Show HN: [name/summary]" convention for promoting your own work. Clickbait is annoying and destroys some goodwill.

(B) Hard "no" on sharing my browsing history with a random third party. From your privacy policy:

> _when you create a collection of tabs in Partizion, we store each individual > tab 's title, url, and status data points like whether or not you'd like the > tab to be pinned._

URLs are very sensitive. They can easily be pieced together to become unique identifiers. Sometimes they have tokens in them.

There's no reason to store this stuff in your own databases when you can sync it across the user's Chome installations using the built-in storage API[1].

(C) There are a variety of FOSS[2][3][4] tab managers that are easier to trust than the one you're advertising here. They may not be a 1:1 match, but it's extremely risky to share all your browsing data with a third party.

1\. [https://developer.chrome.com/extensions/storage](https://developer.chrome.com/extensions/storage)

2\. [https://github.com/stefanXO/Tab-Manager- Plus](https://github.com/stefanXO/Tab-Manager-Plus)

3\. [https://github.com/Mimieam/TabSorter2](https://github.com/Mimieam/TabSorter2)

4\. [https://github.com/antonycourtney/tabli](https://github.com/antonycourtney/tabli)

<comment><AUTHOR> My Apologies, I will follow this convention in the future!

In regards to your browser history, this is not shared nor stored on our servers. You have to specifically opt in to allow access to the History permission, and this is only so you can search your history. Again, nothing stored on the servers.

The information that is stored, like you pointed out in our privacy policy, is mundane and harmless, except of course the URL if that is something you are worried about. Also clearly outlined in the privacy policy is that this information is encrypted, secure, and never shared or sold to third parties.

Furthermore, we are not storing this information just because. Partizion stores your collections of tabs so that you can access them from any device and any browser. This is something that cannot be achieve by using chrome's storage API or syncing.

Hope that clears things up. I didn't want to come off as "advertising". Just thought I'd share my motivations for building this project.

<comment><USER2> I hope you're not the technical lead for your company. If so, you should hire a security and privacy consultant.

> _In regards to your browser history, this is not shared nor stored on our > servers. You have to specifically opt in to allow access to the History > permission, and this is only so you can search your history. Again, nothing > stored on the servers._

If you have my tab info, you have my history. It doesn't matter if you tell me you're deleting it. You could have logs, either intentionally or unintentionally.

> _is mundane and harmless, except of course the URL_

A URL IS NOT MUNDANE AND HARMLESS. I can't stress that enough. I almost never use all-caps, but this is something that is actually something worth screaming.

It's very easy to turn even a short URL history into a unique identifier for someone. Once you can "fingerprint" them that way, you can find out what they're shopping for, which bank(s) they use, and even private medical information.

> _Also clearly outlined in the privacy policy is that this information is > encrypted, secure, and never shared or sold to third parties._

Encrypted in transit or at rest? Who has the encryption key? What does "secure" mean to you, and who is certifying that it's secure? Do you have a CTO with a track record of building secure products? Who exactly is running your company, anyway?

As far as never selling to third parties, that means exactly nothing. You could be piping all of our data into Google or any other third party without selling it. If it leaves your servers, it doesn't matter whether it's sold or not -- it's still leaked.

> _Furthermore, we are not storing this information just because. Partizion > stores your collections of tabs so that you can access them from any device > and any browser. This is something that cannot be achieve by using chrome 's > storage API or syncing._

From literally _the first bullet point_ on the chrome.storage documentation:

> "User data can be automatically synced with Chrome sync"

So again, you seem to lack even a basic understanding of the technical details of this product. If your best explanation for storing extremely sensitive data in your cloud is that you didn't read the Chrome extension docs carefully, or you don't understand Chrome's APIs, then you shouldn't be in this business.

</comment></comment></comment><comment><USER3> My hot take: You need to close a tab when you're done with it. Not after you've accumulated 40. Nobody can focus on more than one thing at a time anyways. Save yourself the grueling task of "Do I need to keep this tab?" every time before switching to a new tab.

I'm closing my HN tab after leaving this comment. I have work to get done.

<comment><USER4> That depends on how you work. I switch between multiple projects at work during the day. Not very efficient, but that's just how it is. I do exactly what Partizion does in tmux. I run a separate session for each project. This allows me to quickly jump between projects without mixing things up.

</comment></comment><comment><USER5> Yes -- 14 or more tabs.

And it drives me nuts that Safari

1\. Doesn't place newly-spawned tabs next to the originator; and

2\. Won't let me make all tabs the same width.

</comment><comment><USER6> 14?

I got 80-90 tabs each in separate Chrome profiles (personal, work, social).

<comment><AUTHOR> :O

</comment></comment><comment><USER7> I close the tab when I am done with it. So, number of tabs in my browser is atmost 10.

<comment><AUTHOR> You my friend, are a productivity specialist ;)

What do you do when you need to go back to that tab?

<comment><USER7> My machine doesn't have high specs and it lags when I open high number of tabs. That's the reason I don't open many number of tabs at once.

I bookmark the tab when I need to go back to it later.</comment></comment></comment>


Hackernnnews - <AUTHOR> https://github.com/HackerNews/API <comment><USER2> This sounds awesome. Not a fan of the HN moderation scheme, and it sounds like this would allow others to experiment with improved versions.</comment>


Congress Clashes Over Release of CIA Torture Report - <AUTHOR> http://www.npr.org/blogs/thetwo-way/2014/12/07/369262235/congress-clashes-over-release-of-cia-torture-report?utm_medium=RSS&utm_campaign=storiesfromnpr

<comment><USER2> THere's a very consistent inaccuracy in NPR's (and maybe everyone else's) reporting on the torture report.

By this point everybody knows that the CIA tortured a pile of people, probably illegally. The report won't reveal anything that we don't know generally about.

The inaccuracy comes from saying or writing that "the report" will cause unrest and danger to US personnel overseas. A policy of torturing is really what causes that danger, not a pile of paper, or a "word" document.

Torture is a bad policy. People that advocate for torture are glossing over a huge pile of problems and immoralities.</comment>


Need beta users for https://nerdspal.com - <AUTHOR>

blog.nistencorp.com/WhatIsNerdspal/ nerdspal is currently a baby startup which is going through it's most initial phase. The phase of user acceptance. We need people like you who can help us build a firm beta user base and provide honest feedback. <comment><USER2> Because your company's tag line is "Get answers for your academic questions and earn marks.", this -> [https://www.reddit.com/r/homeworkhelp](https://www.reddit.com/r/homeworkhelp) is probably a much better place to post than here.

<comment><AUTHOR> @sebg - who ever you are thanks for the starting point. Btw, can you refer it to your friends so that they can help me get some user feedback.</comment></comment>


Wikipedia: Comparison of US Presidential Candiates - <AUTHOR> http://en.wikipedia.org/wiki/Comparison_of_United_States_presidential_candidates,_2012#Tax_policy

<comment><USER2> I'm all for people making informed decisions, but I don't feel this article as being unbiased. Not surprisingly, it's marked for deletion: [http://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion...](http://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/Comparison_of_United_States_presidential_candidates,_2012_%282nd_nomination%29)</comment>


MesoGlue Is a Metallic Glue That Replaces Hot Solder - <AUTHOR> http://www.eurekalert.org/pub_releases/2016-01/nu-rmg010816.php <comment><USER2> How is this different than the numerous thermally conductive filled epoxies? They come in both electrically insulating and electrically conducting varieties with many different fillers. Regardless, I wouldn't use glue to connect a CPU to a heat spreader in a conventional PC. Thermal expansion mismatch can cause issues when using glue and this also prevents re-use of the CPU or heatsink.

I frequently use thermally conductive epoxies at work to attach temperature sensors, these are relatively inexpensive so re-use isn't an issue and its important that they don't fall out and often clamping isn't practical. I also often use thermally conductive glue to attach thermoelectric (peltier) modules where clamping is difficult.

Here is the article in Advanced Materials and processes:

[http://mio.asminternational.org/amp/201601/#24](http://mio.asminternational.org/amp/201601/#24)

and here is the article in Scientific Reports

[http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4653628/](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4653628/)

Looks like they use metallic nanoparticles grown on the surface that alloy with different metallic nanoparticles on the opposite surface to stick together.

<comment><USER3> I don't see any listing for Ohm/mm2 which is where a lot of the conductive inks tend to fall over.

Sounds interesting but I'd be very curious what the resistance and how consistently it can be applied(in order to limit variation for impedance matched traces).

</comment></comment><comment><USER4> I could see this has it's applications, but as a hobbyist I'd want to be able to unsolder or resolder if I'd made a bad connection.

<comment><USER5> Presumably you could apply a solvent. It would be hard if the component is suface-mounted but then removing soldered surface-mounted parts isn't everyone's favourite either.

</comment></comment><comment><USER6> Indium and Gallium based? Sorry, but this won't replace much except maybe for certain niches, as it will simply be orders of magnitude more expensive than tin.

</comment><comment><USER7> I'm not sure I'd ever want to permanently fix my CPU to a heatsink even if the heat transfer was better.

<comment><USER8> Sometimes the heatsink compound dries out and temperatures raise. So in a data center, the glue, if it works as well or better than compound, is a good thing. For a home machine, I agree with you -- I'd prefer the flexibility of being able to swap out my heatsink.

</comment></comment><comment><USER9> Another concern: how brittle is it ? How does it handle significant temperature (think CPU). And how does it handle temperature change-cycles (warm, cold, warm, cold, ...) ?

</comment><comment><USER10> Sounds like it was named by Jar Jar Binks.

</comment><comment><USER11> Blogspam.

Rewrite of [http://www.eurekalert.org/pub_releases/2016-01/nu- rmg010816....](http://www.eurekalert.org/pub_releases/2016-01/nu- rmg010816.php)

<comment><USER12> Ok, we changed the URL to that from [http://techcrunch.com/2016/01/11/mesoglue-is-a-metallic- glue...](http://techcrunch.com/2016/01/11/mesoglue-is-a-metallic-glue-that- replaces-hot-solder/).

</comment></comment><comment><USER13> No more bodge wires. This will have price impacts when your board has minor errors. No more repairs. And more more pilfering of components :-(. Sounds like planned obsolescence to me! Apple will probably use it first.</comment>


Bezos to Wall Street: I told you so. - <AUTHOR> http://gigaom.com/2007/07/24/bezos-to-wall-street-i-told-you-so/

<comment><USER2> Man.. $2.89 billion. Can you imagine it? Creating something and being able to say, "This brought in $2.89 billion this quarter." I wonder what it feels like.

What's it feel like to create something that turns a profit?

<comment><USER3> Have you ever made it rain?

Perhaps you could start small with a fat stack of change.</comment></comment>


Linux: still better for coding - <AUTHOR> http://antirez.com/post/linux-better-for-coding.html <comment><USER2> As a Linux users from 1996, Macs seem all the time more enticing. But, but... the interface still sucks -- in comparison to modern X11 window managers such as awesome and xmonad -- and what's worst, it's not so easily replaceable.

Besides, if I would replace the OS with Linux anyway, what's the point of buying an Apple?

It's still lightyears above any Windows setup, of course. Especially for the common guy.

<comment><USER3> > It's still lightyears above any Windows setup, of course.

I'm not looking for an OS-fight, but why make silly claims like that? There are a lot of smart and highly productive people who choose Windows, and if you've been using Linux since 1996 you probably don't know much about modern windows dev setups.

<comment><USER2> > and if you've been using Linux since 1996

Not exclusively.

</comment></comment></comment><comment><USER4> I think it would be nice if additional memory checkers and profilers worked on Mac OS X, but the article doesn't mention the (extremely powerful) suite that does come with the OS: Instruments.

API stability is a question of the framework, I suppose. Objective-C as a language isn't really in the same league as C as far as API stability, because it's fairly easy to deal with evolving parts in a semi-dynamic language. Perhaps that is why Apple is more careless when it comes to changing things.

Package management has a place in my heart, too, though. I have seen many attempts to do this that fall far short, and not just on Mac OS X. I suppose what I'd really like is something as powerful as apt-get, but merged with some kind of App Store; and I hope that Apple is working on such a thing.

<comment><USER5> _Package management has a place in my heart, too, though. I have seen many attempts to do this that fall far short, and not just on Mac OS X. I suppose what I'd really like is something as powerful as apt-get, but merged with some kind of App Store; and I hope that Apple is working on such a thing._

Ubuntu is creating this. It's called the Ubuntu Software Center:

<http://en.wikipedia.org/wiki/Ubuntu_Software_Center>

</comment></comment><comment><USER6> _Valgrind_

Works with OS X nowadays. Plus, Xcode has the benefit of Clang's Static Analysis being _built right in_. You really can't beat checking one box and having it automatically scan over your code when you build to point out a lot of mistakes (like leaks or logic that's never hit). True, different purposes. But, you can install Valgrind. And in the meantime, Clang will catch some things for you, before you have to find them with Valgrind.

// edit: Whoops, I was wrong: Valgrind doesn't work on Snow Leopard yet, like I initially thought.

 _Apt-get_

If you're targeting another Mac system, do you _really_ want to ship your own version of Tck/Tk? Do you really want to use a custom library for your own development and another for shipping? Or do you want to use the one the system provides? Hint: The latter allows for much smaller downloads. Lets the user start using your software much quicker.

 _API stability_

Theres applications out there that work on PPC and 32/64bit Intel, on any OS from Jaguar on. 7 year old applications that still work perfectly fine, across OS's that have had major changes, seems to be pretty stable API-wise to me. Not to mention, there are API's that have been deprecated since 10.3, but can still be used (even though you really shouldn't use them) in 10.6.

 _/proc filesystem_

See the `sysctl` command instead. Bonus: You can access all this information with a sysctl() call in code too!

 _Compiler_

Given Xcode ships with gprof, I'd be highly surprised if it doesn't actually work. And theres always Shark, that can be run without having to add special profiling flags when compiling. Or Instruments (ie: DTrace).

As for -arch i386 not working? Thats just not true.

      bash:~ Zach$ gcc -arch i386 foo.c -o foo
      bash:~ Zach$ file foo
      foo: Mach-O executable i386

<comment><USER7> Hello. Valgrind for Snow Leopard was broken and in the latest weeks got a patch that's just an initial support. Don't know if things improved in the last week or so, but last time checked it was not ready for prime time.

About -arch i386, sorry my English is poor, what I mean is, gprof is not working even with binaries compiled with -arch i386.

Edit: forgot to mention that there are things in Mac OS X that are missing on Linux and I like a lot. For instance dtrace and leaks. Leaks is really cool since it can check memory leaks at run-time with a standard executable, and works very well.

<comment><USER6> _About -arch i386, sorry my English is poor, what I mean is, gprof is not working even with binaries compiled with -arch i386._

Thats still wrong:

      247:~ Zach$ gcc -pg -arch i386 foo.c -o foo
      247:~ Zach$ file foo
      foo: Mach-O executable i386
      247:~ Zach$ ./foo
      hello
      247:~ Zach$ gprof foo

      call graph profile:
                The sum of self and descendents is the major sort
                for this listing.

                function entries:
      [rest of the output snipped, I can pastebin if you want.]

Though, you should _really_ look at Shark (`man shark`, or Developer/Applications/Performance Tools/Shark.app), as an alternative to gprof.

However, you are right about Valgrind not working on Snow Leopard yet. I had thought it was working by now. Whoops, on my part. I edited my first post.

<comment><USER7> Yep with -arch i386 it appears to work but the profiling info it returns is all zeroed. There are the functions but mostly 0% everything. Don't know what's the problem. With 64 bit target it's worse than this (some error printed on screen at startup).

Thanks for the hint about Shark, I'm playing with it and it seems cool indeed.

<comment><USER8> > Yep with -arch i386 it appears to work but the profiling info it returns is > all zeroed.

That's the story of OS X since from when it was first released. For example, you'd have some functionality advertised as being in the system libraries (like, oh, certain important pthread functions) so they'd pass the configure checks, but they would be in reality just stub functions that mean nothing. So your program would subtly fail.

That particular problem was fixed in 10.1, but it seems like every release has a few things like that: something from UNIX that looks like it's there, but actually amounts to no-ops. It's maddening.

</comment></comment></comment></comment></comment><comment><USER9> Things I would miss if I moved from OS X to Linux:

* Shark

* Instruments

* dtrace

* leaks

* TextMate

* Spin Control

</comment><comment><USER10> I developed for Linux in C++ for about 8 months recently. We did all of our development from Windows with Visual Studio and Visual Assist X because Linux doesn't have anything even close to the same quality (Qt Creator is only about a year away from catching up, and is brilliant software, but isn't there yet).

Boost's unit test library has memory leak detection built in, and Intel's performance analysis tools integrated into Visual Studio utterly trounce Valgrind. ICC embarrassingly outperforms GCC.

Linux development is still way the hell behind, and if the article's to be believed, apparently blissfully unaware.

<comment><USER11> This article is about Linux vs. _Mac_ for coding, not Linux vs. Windows.

<comment><USER12> It's also about available suites of tools to support development, not IDEs.

Gotta figure someone was going to chime in with the Microsoft IDE love though.

</comment></comment></comment><comment><USER13> Maybe coding C. I never use C. For dynamic languages, Objective C (obviously), and web development, Macs work great for me.

</comment><comment><USER14> Better title...

Linux: still better for coding _in C_

[EDIT] To clarify, the article is specifically discussing issues with developing native programs on OSX which do not apply to developers in many other languages.

<comment><USER7> Indeed many points are about C, but the point about apt-get is really about configuring a web development environment with any language and apache module in minutes.

<comment><USER14> I did notice the point about apt-get as being broadly applicable. However, thanks to Fink I _have_ apt-get on OSX which works dandy for almost everything I've tried to install.

You wouldn't have mentioned it if you hadn't run into problems, so I would imagine there are probably some pretty rough edges around native libraries. As such, I considered that those comments must also be specific to native programming.

</comment></comment></comment><comment><USER15> this is why i run ubuntu in a vm and do all my serious development there.

</comment><comment><USER16> I'd like to add that for web-related Ruby stuff, OS X is definitely the first class platform, with Linux/other Unixes coming in second.

TextMate is considered the canonical rails editor for a reason.

<comment><USER17> Sure, and that reason is that it was used in the canonical screencast.

Nowadays vim (or MacVim) seems to be the preferred editor, at least among the top rails blogging crowd. It's hard to beat tpope's rails.vim (<http://rails.vim.tpope.net/>).

<comment><USER16> Canonical is canonical. How many great Rails coders would you guess DON'T have Agile Web Development with Rails?

Agreed on the preference of vim, but I wouldn't knock de facto standards. I bet most people use the idiomatic NULL=0 in conditionals [if(possiblyNullPtr)] just because K&R did it.

</comment></comment></comment><comment><USER18> Linux is a system by, and for hackers. That pretty much sums it up.

</comment><comment><USER19> Should read GNU/Linux especially since one of the tools mentioned is GCC.

</comment><comment><USER20> Er, might i recommend macports? It has valgrind and who knows what else.

And if you dig a little, can't you find most of the stuff that is in /proc?

I suggest digging a little more.

<comment><USER7> Hello, I explained in the article that all the stuff in /proc are exposed by Mac OS X as well, just I like more the /proc interface that allows to work in "discovery mode".

About macports, I specifically mentioned find and homebrew, but just this are not the same quality of apt-get and many things are missing.

</comment></comment><comment><USER21> _API stability._

What the fuck are you smoking? Mac OS X has by far the most stable APIs of any modern development environment. They change existing APIs and add with every major release -- but they do so in a new SDK. Apps that were linked against the 10.4u SDK use the 10.4u libraries, even on 10.6. _This is fucking amazing_.

The only way Win32 stays as stable as it is is by just not changing anything or even adding new APIs.

 _For instance I compiled nmap yesterday for snow leopard, and guess what, it was not working, unable to open the interfaces. The compiled binary I downloaded from insecure.org worked against the loopback interface but not against the wifi one. The interface to capture raw frames from the airport extreme changed again with snow leopard, breaking valuable programs like Kismac. It's not an open platform so this changes are even worse._

Now you're effectively complaining about Kernel ABI compatibility!

<comment><USER22> > The only way Win32 stays as stable as it is is by just not changing anything > or even adding new APIs.

What the hell are you talking about? Vista (and to a lesser extent Windows 7) have tons of new APIs.

Apple does not have a 64-bit version of Carbon. Name one Win32 API that is similarly broken.</comment></comment>


Microsoft reveals Windows RT OEMs, device specs, battery life - <AUTHOR> http://www.extremetech.com/computing/134403-microsoft-reveals-windows-rt-oems-device-specs-battery-life?utm_source=rss&utm_medium=rss&utm_campaign=microsoft-reveals-windows-rt-oems-device-specs-battery-life <comment><USER2> I am looking forward to the new devices if they're priced right. The specs seem right, I think Microsoft could be onto a winner here. I will definitely consider getting one of these, the interface is a hell of a lot nicer than the iPad or Galaxy tablets.

</comment><comment><USER3> I only hope the OEMs also offer the same hardware without Windows. Choice is good.

Unfortunately, all the mentions of Microsoft working together with OEMs in developing single-chip touchscreens and so on may indicate Microsoft will want to limit availability of competing devices with different OSs.

As always, everybody loses but them.

<comment><USER4> A WinRT machine will not support installing a different OS (a pity but the writing's been on the wall about that since around the iPod), but the OEMs themselves own the tech used to build the device and can make equivalent devices for other OSes.

<comment><USER3> Not sure how much of it the own. The article mentions Microsoft being active in developing technology such as the single-chip touchscreen.

Which may be neatly sidestepped by LCDs similar to the Sharp ones expected to ship with the iPhone 5.

</comment></comment></comment><comment><USER5> > diagonal screen size between 10.1 and 11.6 inches, weigh between 520g and > 1200g, and be between 8.35mm and 15mm thick

Tip for technical writers (I assume tech journalists consider themselves technical writers?): there is a space between the value and the units, whether you use Imperial or metric units.

<comment><USER6> The SI specifies that there should be no space. However, it's extremely common practice to omit the space, at least in the UK and USA:

[http://www.london2012.com/athletics/event=athletics- men-100m...](http://www.london2012.com/athletics/event=athletics-men-100m/)

[http://www.walmart.com/ip/GE-CFL-Light-Bulb- Mini-10-Watt-40W...](http://www.walmart.com/ip/GE-CFL-Light-Bulb- Mini-10-Watt-40W-Equiv-4-Pk/5646245)

[http://store.apple.com/us/product/MC359LL/A/apple- ipad-10w-u...](http://store.apple.com/us/product/MC359LL/A/apple-ipad-10w-usb- power-adapter)

[http://www.amazon.com/b?ie=UTF8&node=172441](http://www.amazon.com/b?ie=UTF8&node=172441)

</comment></comment><comment><USER7> tldr; Still no price

<comment><USER8> This article was not about Surface but the OS that other OEMs will use to build their tablets/laptops. So if there was price coming, it would come from the OEMs and not Microsoft.

</comment></comment><comment><USER9> 2.6 lb tablet... And people think the iPad is too heavy.

<comment><USER10> Where did that come from... Did you read the article?

"All devices will have a diagonal screen size between 10.1 and 11.6 inches, weigh between 520g and 1200g, and be between 8.35mm and 15mm thick. On the low end, 520g and 8.35mm would be considerably thinner and lighter than the iPad 2/3 and Galaxy Tab 10.1. Presumably the 1200g/15mm form factor is a laptop."

<comment><USER11> 1200g = 1.2kg = 2.2 lbs/kg * 1.2kg = 2.6 lbs

[edit: HERP! I need to read the article more closely. Near the end of it, it does say that the larger values are presumably a laptop.]

<comment><USER10> If you don't read the article, at least read my comment ;)</comment></comment></comment></comment>


Drip Irrigation Design Guidelines - <AUTHOR> https://www.irrigationtutorials.com/drip-irrigation-design-guidelines-basics-of-measurements-parts-and-more/ <comment><USER2> I have a small irrigation setup that works somewhat well for my needs. I have a small pond/waterfall pump inside a rain barrel that pushes a decent flow to my emitters that water my lettuce and cucumber plants. The pump inside the barrel is connected to an outdoor Z-Wave switch that is ultimately controlled by my SmartThings hub.

The main downside is it's currently manual and water is limited in the barrel. The rain barrel can only hold so much water and at times, I find my ZWave switch will turn off, then back on, which eventually drains the barrel if I'm away. I usually turn it on/off on hot nights when I'm home so I can monitor it.

Next summer I'll take a different approach with some of the ideas from this article. Perhaps use the rain barrel only if it's full (using sonar sensors that ping off the water level), but use the main house line as the primary.

That hacker/tinkerer in me wants to ultimately build a system that waters based on weather patterns/demands. I'll save that for next year.

</comment><comment><USER3> This seems way, way too complicated.

Just last weekend I visited a 30 acre University farm - where they teach agroecology and have graduates worldwide who are running farms. I noticed that they were just using normal water spigots at different locations on the farm, and they had timers of different sorts on those spigots to what looked like 1" poly tubing. When I asked about how they adjusted for all their different crops, they said they just adjusted the timer for a set of rows and used a sharp point to poke different sized holes in the tubing at the base of plants. No big deal. They said it sometimes takes a few adjustments, but it works fine. The have been doing this successfully for decades. Very easy and very low cost.

<comment><USER4> So one issue with what you posted is that it's a recipe for contaminating your drinking water. You need to have some type of anti-siphon device to prevent the back flow of water from your irrigation system into the house water supply. My guess is that somewhere the farm you are talking about had a giant and very expensive double check back flow preventor. Having designed and installed several irrigation systems I can tell you that pressure drop is a thing. To get the correct CFM, I had to install 1 1/2" mains so that the rear of my lot would have enough pressure to deliver the cfm I needed. Also, water hammer is a thing if you have lots of pressure. Your consumer grade fixtures will be destroyed by water hammer and your system will need lots of maintenance. Also, if you live around the system, water hammer is noisy and when your system trips on at 5am, it's going to wake you up. So while I don't doubt the farm did this, I'm not sure it's an appropriate installation for a home owner that just wants the system to work reliably for years with little to no maintenance.

<comment><USER5> In California every outdoor spigot has to have an anti-siphons installed directly on it, so it's not too hard to imagine that being the case here.

<comment><USER3> And they adjusted for low water pressure by poking a few more holes for each plant nearer the end of the the poly tube. By avoiding "nozzles" on their tubing - which would require pressure to operate -- they greatly simplified the design of their irrigation system.

<comment><USER4> Again anything that moves liquid from point A to point B requires water pressure or the liquid will not move. So the system you describe still requires water pressure to operate. I really don't see how this simplifies because you have to empirically determine the number of holes at each plant. If you have thousands of plants, I just don't see how this is efficient or scales. Maybe I'm missing something. For small numbers of plants maybe it can make sense. Driving through Watsonville, Ca today on my way home from the beach I saw hundreds of rows of crops growing with traditional drip lines.

<comment><USER3> Go visit the UCSC agroecology center farm. They have been using variations of this technique for years. I was surprised when I saw it too - I'd thought that it would need to be more complicated.

</comment></comment></comment></comment></comment></comment><comment><USER6> My experience:

Use valves that are suitable for low flow/pressure and work off 24 VAC so you can use them with a cheap line-powered electronic timer.

If you need to filter or pressure regulate before the valves (probably at least filtering), be sure to use parts rated for continuous pressure at above typical household pressure. (100 psi ratings are probably enough)

Minimize the types of different tubing and emitters you use, it's easier to have spares that way, so if you weed with sharp implements and cut something it's not too annoying.

Don't go significant distances with less than the 1/2" black polyethylene tubing.

Drip-tape is super-cheap but mostly for farm-scale row crops.

The emitters I've had the best experiences with are the Netafim Woodpecker emitters and the take-apart-to-clean-out "flag" drippers sold by dripworks.com

</comment><comment><USER7> As always, anyone trying to work with gravity fed systems that sit in the range between ~2 metres head (the usual maximum of very low-head valves) and standard / city pressure, are somewhat stuffed.

I'm working with about 10 metres of head - a decent standing pressure, despite coming through 400 metres of 50mm polypipe - but it's too much for the specialised 'water barrel' type valves mentioned here. Combined with no power (if i had power I'd have a pump :) means it's also not feasible to use always- closed solenoids, or have sufficient pressure to reliably get residential grade water computer valves to open / close.

<comment><USER8> Have you tried something like this:

[https://www.aliexpress.com/item/Irrigation-water- timer/15107...](https://www.aliexpress.com/item/Irrigation-water- timer/1510781067.html)

Since it's a ball valve operated by a motor it works with zero pressure. It's a relatively small ball valve but should be enough for almost all applications. I have one of those controlling about 100 meters of drip tubing from a source that's not more than 2 meters high (less if the tank is empty) and it works fine. For better flow I'll be trying one of these ball valves:

[https://www.aliexpress.com/item/Stainless-Steel- BSP-1-Actuat...](https://www.aliexpress.com/item/Stainless-Steel- BSP-1-Actuator-Valve-2-Way-DN20-Electric-Motorized-Ball-Valve- DC12V-3-Wires/32802819942.html)

It's much less convenient as they don't have an integrated controller. I'll be trying it with this controller:

[https://www.aliexpress.com/item/NO-NC-220-240V-timer- switch-...](https://www.aliexpress.com/item/NO-NC-220-240V-timer-switch- multipurpose-programmable-digital-timer-module/32692258610.html)

and a 12V battery together in a waterproof casing of some sort. I've been looking for a plastic case similar to the water timer one that's a screw on with an o-ring but haven't found one yet.

<comment><USER7> I actually picked up a few of the first ones there via ebay a while ago, to trial off a smaller tank with around 2 metre head, but haven't plugged them in yet. Winter means frosts, and no great need for automatic watering. I note someone else has had bad experience with them - I've used the normal pressure versions of those with some success - a couple of years, with 9-monthly battery changes, seems reasonable for the price - just frustrating when they go wrong (usually just before a fortnight of 40+ Celsius days).

The actuator though, that looks very relevant to my interests. I've just done a google spiral on CR02 (and similar) wiring, to control via an arduino, say. With 3s to close / open, and only 12V required, this seems quite feasible to have a cheap solar charged battery sitting and running a half dozen of these of a manifold. The benefits of a switching solenoid in terms of power consumption, with a simpler control mechanism?

The last link you posted seems to imply it will talk to a solenoid (NC or NO) only - would be very curious how that goes.

I have several dozen old water timers with the o-ring seal ... where the o-ring seal has failed, and the insides rusted out. I now cover them all in thick plastic bags, and keep them under pit covers / galv steel lean-tos. Probably explains why they tend to last more than one Australian summer, too.

<comment><USER8> _> The last link you posted seems to imply it will talk to a solenoid (NC or NO) only - would be very curious how that goes._

The way CR02 wiring works is that you have a common ground and then you feed the 12V to one of two wires. The valve takes care of stopping the motor when fully open and fully closed so it should minimize power consumption. So my plan is take that normal NC/NO relay and feed the 12V to the common wire and wire NC and NO to each of the two valve wires. Since the programmable relay itself is also powered by 12V I get away with a single power source. My hope is a simple pack of low self-discharge 8xAA NiMH or similar will last a season. But a 12V lead battery and a solar panel could work as well.

Aliexpress has a very big selection of different kinds of actuated ball valves. If they actually work reliably it seems like a great solution as it's a normal valve operated by a motor. See this for example for a selection of voltages and the 5 wiring types:

[https://www.aliexpress.com/item/CWX-25S-mini-electric- actuat...](https://www.aliexpress.com/item/CWX-25S-mini-electric-actuator- control-ball-valve-with-manual-override-function- DN8-DN10-DN15-DN20/32812620201.html)

That one I linked was picked quite carefully to be stainless steel and CR02 wiring which seems to be the easiest to operate with just a single relay. I've received the relay but not the valve yet so I haven't tested everything yet.

 _> I have several dozen old water timers with the o-ring seal ... where the o-ring seal has failed, and the insides rusted out. I now cover them all in thick plastic bags, and keep them under pit covers / galv steel lean-tos. Probably explains why they tend to last more than one Australian summer, too._

Those are some rough conditions if the o-ring failing is enough to rust everything. I'd expect the threading itself to provide quite a bit of protection already. Can't imagine how you'd get much moisture through all those threads. One thing I have noticed is that you shouldn't torque the lid hard so as to not deform the o-ring too much.

<comment><USER8> UPDATE: finally got the valve and it works fine with the controller. The combo uses 8mA when closed, ~80mA while opening (for ~5secs) and ~40mA while open (half is the relay in the controller half is the valve). This makes it outside the range of a simple battery but should work fine if you have a solar setup with a 12V battery or an AC mains and a simple 12V power source. So far I'm happy with the domestic all-in-one I linked so I'll probably not pursue this more. If a simple NiMH pack worked I'd probably trial a full setup. But if I was going further I'd use a DIN 12V programmable relay like this:

[https://www.aliexpress.com/item/New-DIN-Rail-Time-Relay- Swit...](https://www.aliexpress.com/item/New-DIN-Rail-Time-Relay-Switch- Digital-LCD-Power-Programmable-Timer-DC-12V/32785835109.html)

and a DIN 12V power source like this:

[https://www.aliexpress.com/item/DR-15-12-Hot-sales-China- mai...](https://www.aliexpress.com/item/DR-15-12-Hot-sales-China- mainland-15w-12v-Din-Rail-power-supply-single-output/32702839079.html)

all enclosed in an outdoor distribution box like this:

[https://www.aliexpress.com/item/Free-Shipping- IP66-Waterproo...](https://www.aliexpress.com/item/Free-Shipping- IP66-Waterproof-Outdoor-Distribution-Box-4-Way-Air-Swith-Box-High-voltage- Electrical-Box/32515199355.html)

That way everything gets properly packaged using DIN elements. If you have a 12V panel/battery you don't need the AC->12V power source of course.

</comment></comment></comment></comment></comment><comment><USER9> Why not use something like a Tropf-Blumat system? It doesn't need electricity and is self regulating. You only need a water source (it can be a barrel of water at some height or a regular water source) - it stops feeding water when the soil is moist enough. It uses ceramic cones to regulate the amount of water.

<comment><USER10> This is the first I've heard about Tropf-Blumat systems, sound s pretty great if it really works as promised.

I wonder why it isnt popular in US, price too high?

<comment><USER11> I use such a thing for a pot on the garden table but a larger drip system for the garden itself. The Blumat doesnt require running a pipe from under the deck onto the table and is movable but does require filling in water every few days.

</comment></comment></comment><comment><USER12> I've been planning an automated (raspberry pi controlled) watering system for my garden lately. This page is a great source of information about irrigation. It took quite a few web searches for me to find this kind of information before I found this site. Great to see it on HN

<comment><USER13> I had 24 zones running with opensprinkler on a pi and loved it. About half the zones were drip. I'm in a new place now and I'm about to put in the first zone. I'll use the same hardware. It was stable and easy to use.

Best advise I saw in the tutorial was to make sure tubing and fitting sizes match. It will take a few days, but they will blow apart when you aren't looking.

</comment></comment><comment><USER14> > Drip irrigation (sometimes called trickle irrigation) works by applying > water slowly, directly to the soil, bloop, bleep, bloop, bleep.

Such a satisfying description

</comment><comment><USER15> Anyone know of some kind of in line valve for each dripper that senses moisture and will stop flow once adequately watered?

I container garden in pots and have to over water to ensure everything gets enough, but this causes all sorts of other problems of pooling water and leaked water onto the balcony, leaching of nutrients.

<comment><USER16> "Anyone know of some kind of in line valve for each dripper that senses moisture and will stop flow once adequately watered?"

There are different emitters for different rates ... I have 1gph as well as .5gph emitters for various purposes and I think there are other choices as well.

I would think you could run the water the same duration for all of them, but vary their irrigation with different rate emitters.

I recommend graduating from the hardware store tooling to the professional Netafim hoses/emitters/couplings.

</comment></comment><comment><USER17> This is how my grandmothers does it. Put a glass / bucket of water next to the plants, take a string of wool, hang it in the bucket and push the other end in the soil. Perfect moist for the plants all the time.

<comment><USER18> how high is the water in the glass ? capillary traction can pull water a lot ?

</comment></comment><comment><USER19> I'm pretty skeptical about drip's performance compared to flood method when it comes to resource intense crops like sugarcane.

Is anybody qualified enough on this topic here to counter me on this?

</comment><comment><USER20> I want to landscape my yard and switch from sprayers to drip. I have an old system, and honestly am completely overwhelmed by setting up irrigation.

Am I overcomplicating things? Or is it really that hard to get it set up properly with correct pressure such that I'd be better off just hiring someone to install it?

<comment><USER4> Slow down, take a deep breath it's not hard! It should not be hard particularly if you are on a city water supply. If the system is old you'll want to check that there are appropriate backflow preventors on the system and that they are installed correctly and that they work . Once you have that you install an inline pressure regulator to get the pressure down and simple inline filter on the line at the manifold where your valves are. This helps keep the drip lines from clogging. If you have pop up sprinkler heads you can easily retrofit them with drip. If you have the old style fixed spray heads you can still retrofit them to drip but it may be more work if you want to hide the drip lines. The whole conversion is very easy because your main lines have already been trenched. Trust me I've trenched my own lines and this was hard tiring work even with a trenching machine.

Some good info here: [http://www.urbanfarmerstore.com/converting-sprinkler-to- drip...](http://www.urbanfarmerstore.com/converting-sprinkler-to-drip-at-the- spray-head/)

<comment><USER20> Thanks for the info. TBH, it seems like describing the process at a high-level is very easy, but each of those steps you listed probably has some education that is needed to set them up properly, know what to look for, research into brands, etc.

Or am I overthinking that part of it?

</comment></comment></comment><comment><USER21> For spot drip irrigation, I take an empty gallon jug, poke a hole in the bottom with a tack, fill with water, and set it next to the plant.

</comment><comment><USER22> Zero mentioning of limescale</comment>


How the NSA's CryptoKids Stole My FOIA Innocence - <AUTHOR> http://www.atlasobscura.com/articles/how-the-nsas-cryptokids-stole-my-foia-innocence <comment><USER2> Direct link to the characters [sans flash]: [https://www.nsa.gov/kids/bios/bios00001.shtml](https://www.nsa.gov/kids/bios/bios00001.shtml)</comment>


Facebook offering millions to news outlets to license articles - <AUTHOR> https://www.marketwatch.com/story/facebook-offering-millions-of-dollars-to-news-outlets-to-license-articles-2019-08-08 <comment><USER2> Why would any company agree to help FB in this manner? It's not like FB is reaching out to small orgs, conservative etc. Why would anyone get their filtered news from FB?</comment>


How to Center in CSS - <AUTHOR> http://howtocenterincss.com/ <comment><USER2> The mere fact that a site like this can exist and not be a joke is proof that CSS is still badly broken. I should be able to center things by writing:

        foo {
          align: center;
          valign: center;
        }

<comment><USER3> You're in luck.

        foo {
            display: flex; /* opt into the new box model */
            justify-content: center; /* "align" */
            align-items: center; /* "valign" */
        }

Vendor prefixes may or may not ruin your day (for now), but the spec is there and is exactly what you want. CSS is no longer "badly broken" if that's your metric.

<comment><USER4> Sweet. I figure only 15 more years until we get two column layouts working, and then we'll finally be able to publish like it's 1979.

<comment><USER3> CSS multicolumn layout is four years old. It's implemented in all the major browser engines, and many popular sites like Wikipedia use it. [http://www.w3.org/TR/css3-multicol/](http://www.w3.org/TR/css3-multicol/)

<comment><USER5> Only partially. You usually have to use browser prefixes to get it to function. [http://caniuse.com/#feat=multicolumn](http://caniuse.com/#feat=multicolumn)

<comment><USER6> Add Autoprefoxer in your build process and never type them again.

<comment><USER7> Or use Bourbon mixins ([http://bourbon.io/docs/](http://bourbon.io/docs/)) if you use SASS.

<comment><USER6> SASS mixins are great, but Autoprefixer is better for prefixes: it looks the same as writing actual CSS (just with no prefixes) and has no cognitive overhead during editing. Compare the Bourbon mixin:

        @include background(linear-gradient(red, green) left repeat);

to autoprefixer:

        background: linear-gradient(red, green) left repeat;

<comment><USER8> AAAAaaand we're back to 7 solutions to a simple problem

<comment><USER9> How so? Autoprefixer allows you to just write spec CSS and let _it_ worry about prefixes.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I am reminded of one of my favorite tweets of all time:

"The easiest way to vertically center something in CSS is to close your laptop and go to the bar." - @jakeboxer

[https://twitter.com/thedaniel/status/414123893830336513](https://twitter.com/thedaniel/status/414123893830336513)

<comment><USER11> This one cracked me up too:

        "How to choose between rem and em"

        1. question css
        2. question your life
        3. throw away laptop
        4. scamper into forest

[https://twitter.com/iamdevloper/status/587651586350002176](https://twitter.com/iamdevloper/status/587651586350002176)

</comment></comment><comment><USER12> As others said, flexbox is a complete replacement for all layour hacks in CSS. This site helped me understand flexbox: [http://flexboxin5.com/](http://flexboxin5.com/)

Browser support: [http://caniuse.com/#feat=flexbox](http://caniuse.com/#feat=flexbox)

<comment><USER13> That site is completely broken in Safari. Don't think we're ready for flexbox just yet.

<comment><USER14> It's not the site that's broken, but Safari.

<comment><USER15> What's broken is not Safari but people who buy Macs. ... I can't go any deeper. Still I'd like my site to look good to a meaningful market share.

<comment><USER14> True, but I wouldn't say 4% is a meaningful market share, so fuck Safari. It's the new Internet Explorer.

Leaving the sites broken in Safari (and maybe adding a notice that explains why it's broken) also helps keeping it at 4%.

<comment><USER13> For starters the market share is far higher than 4% on the desktop, and even more when looking at the mobile / tablet market.

It's more like Chrome is the new Internet Explorer, because lazy web developers decide to only target it, so we end up with sites specific to one web browser.

<comment><USER14> Yeah, the 4% was wrong, sorry. Anyway, things seem to just work in FF and Chrome, but Safari often requires fixing because of bugs, missing features or Apple doing things differently for no reason. It's annoying.

And like Microsoft, they are so damn slow to release updates and older machines don't even get any.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> Doesn't Flexbox pretty much solve this problem? I mean, if you need to maintain backwards compatibility this might be reasonable, but "justify- content: center" and "align-items: center" seem to work unreasonably well for this exact purpose.

<comment><USER17> Flexbox solves this problem but it's still a bit unwieldy and verbose.

<comment><USER18> Verbose? Compared to the other solutions it's a godsend, just use the CSS- tricks guide for it and you'll have nearly zero problems. I absolutely love it and pretty much refuse to use anything else for layout in CSS now.

<comment><USER19> IMHO constraint systems like GSS ([http://gridstylesheets.org/](http://gridstylesheets.org/)) handle centering in a much cleaner way. Pity that approach hasn't gotten any traction (though some people smarter than me say it's a bad idea, so who knows what the right answer is...)

<comment> ux-app When I first heard of GSS I thought it was the solution to layout that we'd all been waiting for. Unfortunately it's not all roses. It's possible, and quite easy to inadvertently create cyclical constraint dependencies. Depending on how your constraint solver is written this might mean that a layout will fail or that your system will lock or crash.

I'm subscribed to a couple of constraint solver mailing lists. A common question is "why is my constraint solver doing this...?", or "how do I massage my constraints to achieve this...?"

With CSS You can't build a layout that 'fails' (in the sense that a solution cannot be computed due to improperly defined dependencies), and you certainly can't send your browser into an infinite loop by applying an incorrect style.

I still _really_ like the idea of constraint based systems, but I think they are more suited to (web)applications rather than documents.

<comment><USER20> > _I still really like the idea of constraint based systems, but I think they > are more suited to (web)applications rather than documents._

Which is what some people will tell you web is about when you point out to them they're doing something weird instead of writing a document communicating a message. Maybe it's time to separate those two use cases - web pages and web applications - because otherwise people will keep getting confused between the needs and problems of the two?

Anyway, GSS looks pretty cool.

</comment></comment></comment></comment></comment></comment><comment><USER21> I know the web is not print, pages are not static, user screens vary and one shouldn't try to control everything bla bla bla, but it seems all my layout woes ultimately boil down to difficulty in _lining things up_.

That's what 'layout' means after all, isn't it? Aligning one thing with another, to show they're related. I'm not a classically trained graphic designer, but doesn't any explication of visual fundamentals include 'alignment' somewhere up near its top?

Yet CSS really, really sucks at _lining things up_.

Anyone designing a better system might do well to start with the notion of alignment as a basic primitive/operator. To be able to say, item A here ought to line up with item B there (and if not possible, predictable behaviour C results).

My gut feeling is that one could then derive all other types of layouts from there. I admit that might be naive. Also, I realise that I've probably just described constraint-based layout, but as yet I haven't tested one of its implementations such as GSS in a real project.

<comment><USER22> As a classically trained graphic designer, I find the biggest problems to layout is more due to the fact that the display is completely unknown. It can range anywhere from hundreds of pixels in width/height to thousands of width/height in pixels. Not to mention the differences in pixel densities and orientations.

If one were to consider these problems alone, CSS works quite well for what it was designed to do. Most designers I've discussed these problems with have problems more in their thinking than with the tool itself. They mostly try to apply print design thinking to web design, which simply does not work.

</comment></comment><comment><USER23> The table-cell solution for vertically centering text is incorrect. You need to put that display:table-cell div inside a display:table div. It requires the parent in order to work properly.

Example:

Your text here

.item {display:table;} .item > div {display:table-cell;vertical-align:middle;}

I use this method on justindocanto.com to vertically center an unknown amount of text/elements inside a div that changes its size based on the size of the image that's inside it. Really nice technique when used correctly.

<comment><USER15> Yes. This page gives wrong solutions for unknown size of centered block but known sizes of container.

</comment></comment><comment><USER24> Wow CSS is unfriendly, you really realise how poor it is once you learn other layout systems (android's XML and iOS auto layout, etc).

Wish there was another standard that could co-exist side by side on the web, something simple enough to be implemented reliably by the browser vendors.

<comment><USER25> How do Android's XML and iOS's auto layout compare to Microsoft's WPF? I used the latter around 10 years ago and found it pretty nice.

<comment><USER26> Exactly. I haven't done HTML layout since circa 2000. I tried WPF about 8-9 years ago and well, it was just _simple_ to get layouts right. I'm sure there's some reasonable reason for it, I just don't understand why browsers couldn't do similar, or just rip off WPF.

</comment></comment></comment><comment><USER27> I remember when I was first learning CSS and I found out this wasn't easy. I thought "oh my god, this learning to code stuff is gonna be HARD!"

A few years later and I don't think anything but the occasional third party api with undocumented behavior has been nearly as hard.

</comment><comment><USER28> To save people a bunch of time, here's 90% of the comments:

>Just use flexbox!

Which is great, except it isn't supported at all by IE8 or 9 and is only partially supported in IE10 (by prefix only). Which means a lot of people simply can't use it. I'm hesitant to use it myself, and I've got a very lax policy on supporting old IE.

<comment><USER29> It's a business decision to limit forward progress to support browsers 3-4 major versions behind. One that multi-billion dollar companies like Google have decided isn't worth it.

"A lot of people" = 4% on IE 8 & 9 ([http://www.w3counter.com/globalstats.php](http://www.w3counter.com/globalstats.php))

<comment><USER28> Really depends on the business and their clients. If you've got a lot of corporate clients stuck on IE8/9, why disenfranchise them? Although I will say this has me re-considering flex.

</comment></comment></comment><comment><USER30> I can't think of a technology that has both saved and wasted more of my time than CSS.

<comment><USER31> Git

</comment></comment><comment><USER32> I often use this as an interview question for CSS people: "How would you vertically center a box inside another box." I like it because there's like four correct answers, each with drawbacks. The general answers, from worst to best, are usually:

      1. margin: auto (wrong)
      2. top: 50% (mostly wrong)
      3. negative margin-top (correct if you know the size)
      4. table-cell or translateY (correct)
      5. a correct answer plus a discussion about why it has to be a hack

FWIW, when you set everything to "Unknown", this site tells you to use display: table-cell. If you don't have to support IE8, I generally prefer "top: 50%; translate-Y: -50%"

[Edited for spacing.]

</comment><comment><USER33> This actually proves that CSS is broken. I just want to say: 'put this content in the middle' nothing else. That is the reason why I am trying to avoid doing frontend whenever possible - it just sucks. Luckily Elm([http://elm- lang.org/Learn.elm](http://elm-lang.org/Learn.elm)) tries to solve that problem and i hope it will get some traction very soon.

</comment><comment><USER34> This should also have an option for 'what browsers do you need to support' and just provide flexbox output instead if you don't need to support legacy IE.

<comment><USER35> Don't forget the need to support HTML email clients. Say, Lotus Notes.

<comment><USER36> Using some sort of service (i.e. Mailchimp or any of the other numerous email sending services) surely takes care of this, no?

</comment></comment></comment><comment><USER37> This looks really useful. In case the author reads this, one addition it could use is explaining why the given css works. And, like someone else already mentioned, indicate browser support. I haven't used this display:table-cell before and I wonder about its support. A small thing to lookup, sure, but it would be nice built-in. Or selecting which browsers you need to support and using flexbox when possible.

</comment><comment><USER3> This site doesn't seem to be suggesting absolute centering [1] when it would be the easiest way to center things.

"margin: auto" seems to be the way that the designers of CSS 2.1 intended to center things. 90% of the time, absolute centering is the easiest way to center in CSS; you should prefer it when possible.

[1]: [http://codepen.io/shshaw/full/gEiDt](http://codepen.io/shshaw/full/gEiDt)

<comment><USER38> Would this technique work to center, say, an  tag with undeclared dimensions inside of a div? Or do you have to jump through hoops?

<comment><USER3> No, if you don't have a defined height you will need to either use "display: table", the table-cell technique, or flexbox. When I told the site that I had a defined height, however, it still suggested the table-cell trick, which was not the optimal solution because of the extra markup required.

In my experience, most of the time when I do want to center something vertically, I have a defined height (which can be a percentage!), so absolute centering is the solution of choice.

<comment><USER39> With no defined height you can still use the `translate(-50%, -50%)` hack, right? I'm kinda surprised it hasn't been mentioned in this thread at all; I use it all the time. [http://codepen.io/padolsey/pen/NqKzVG](http://codepen.io/padolsey/pen/NqKzVG)

</comment></comment></comment></comment><comment><USER40> Another way to center flexible boxes is to use css transforms [http://zerosixthree.se/vertical-align-anything-with- just-3-l...](http://zerosixthree.se/vertical-align-anything-with-just-3-lines- of-css/) CSS transforms have pretty good browser support [http://caniuse.com/#feat=transforms2d](http://caniuse.com/#feat=transforms2d)

</comment><comment><USER41> I really miss the HBox and VBox of Adobe Flex. They made aligning content so damn easy (and it was responsive, no media queries either)

       <HBox height="100%" width="100%" horizontalAlign="center" verticalAlign="middle">
            <VBox>Col 1</VBox>
            <VBox>Col 2</VBox>
            <VBox>Col 3</VBox>
        </HBox>

<comment><USER42> Ew, Adobe Flex

</comment></comment><comment><USER43> Unfortunately, this page does not give a solution to a long-standing centering problem I've had: Given a single DIV of unknown width and height, how do I center it in the middle of the screen (floating, i.e. fixed)? Note the "single DIV" so no wrapping in additional container DIVs!

The only approximation I could find was this:

      .mydiv {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
      }

This, however, looks horrible on most browsers as they either use hardware acceleration (resulting in blurry output) or they drop pixels (e.g. single- pixel lines) falling between the grid.

<comment><USER44> Flexbox does it for you. [http://codepen.io/kowdermeister/pen/mJbGdr](http://codepen.io/kowdermeister/pen/mJbGdr)

<comment><USER43> This also relies on a container DIV (".overlay"). So Flexbox doesn't help here.

<comment><USER22> What exactly is your centered div centering to if there's no container div? The .overlay div is the container, the .dialog div is centering itself as defined by constraints of .overlay.

I'm failing to understand your expectations.

<comment><USER43> Let's say this is a modal dialog which is supposed to appear in the center of the screen, fixed (but the size is unknown and may scale with its contents). With any of the existing solutions, the HTML code for the dialog will always be

...

, i.e. unnecessary DIVs due to the limitations of CSS. Since it is supposed to float on top of everything else, it does not matter what its container is. May as well be the  tag but applying flexbox to that tag is likely not an option.

<comment><USER22> But the HTML you describe is required for the modal as you describe it. I guess I'm assuming you want something to darken the body content behind the modal, which is what the first div would be for.

Otherwise, if you don't need the darkening div behind the modal, you can easily create a centered modal with the container being the body tag. Without flexbox. Today.

Again, I don't understand your expectations.

</comment></comment></comment></comment></comment></comment><comment><USER45> +1 more reason to avoid web development whenever possible. ;-)

</comment><comment><USER46> My personal trick is to position the content absolutely at 50% (both left and top), and then transform the content using a -50% translate in both directions.

Works for dynamically sized content (and statically sized content as well, obviously).

<comment><USER22> But then people whine about no support for a six-year old browser.

</comment></comment><comment><USER47> This is the sort of thing that makes me conclude that the right way to teach oneself html+CSS is to read about the basics and then just find 100 increasingly-difficult layouts to implement and grind through them.

</comment><comment><USER48> Finally! I can't believe this is still such a big problem in CSS today.

</comment><comment><USER49> All the people who are still perplexed by this, have to admit that they haven't heard of or tried flexbox. It works beautifully (in conjunction with Autoprefixer).

<comment><USER50> Heard of flexbox, it's nice but here's one thing I haven't been able to do with it:

Center a bunch boxes in a row and have overflowing boxes show up on the next row to the left or right. Doesn't work, it will center the next row as well.

I haven't found a non JS solution to this yet.

<comment><USER51> Not sure if I know exactly what you mean, but can you use :nth-child for the nth box that shouldn't be centered?

</comment></comment></comment><comment><USER52> oh man, that's a mad world we live in. look at that.

it's just sad to think that a browser can do so much stuff, yet it's unable to provide a good layout system.

<comment><USER53> It's good at what it was originally designed for: flowable text documents. And, honestly, it's come a long way since its early days. Used to be much worse.

</comment></comment><comment> aps-sids This site should give HTML and CSS separately, rather than giving inline CSS.

<comment><USER54> Maybe it's just me, but I find it much easier to understand exactly how a proposed solution works when it uses inline CSS. If the HTML and CSS appear separately, I have to look back and forth a lot to make sense of the whole.

Of course, when I actually implement it in my design, I prefer to separate my CSS from my HTML.

I wish the solution was presented in both flavors, side by side.

</comment></comment><comment><USER55> Wow, this IS a huge pain solver. I can't simply recall how many nights I've been spending trying to fix the centering in CSS during my early days as a frontend dev. Thank you,bookmarked!

</comment><comment><USER56> This was not intended to be the entire solution but a great starting point (more than that) for someone ( _cough_ backend devs _cough_ ) who has been having issues with CSS centering.

</comment><comment><USER57> This might need some updating. I did a quick run through and it recommended me to use a table-cell for vertical centering. You might be able to do that more easily with flexbox.

<comment><USER58> Depends on what you need for browser support – flexbox is supported in fewer browser versions and requires using multiple rules because the spec changed significantly before finalizing:

[http://caniuse.com/#feat=css-table](http://caniuse.com/#feat=css-table)

[http://caniuse.com/#feat=flexbox](http://caniuse.com/#feat=flexbox)

<comment><USER18> Which is why you use something like AutoPrefixer to automagically generate the needed browser prefixes and such, makes it a whole lot easier.

<comment><USER59> Which still doesn't cover older browsers just prefixes things appropriately for those that support it.

<comment><USER60> But for older browsers you can use the old specification too. This means including the old specification before the new one in the CSS block; that will provide a warning in the web-inspector. Then you will need a hack for <=IE8, but I have had this working on a site since autumn 2013 (not a public site and I therefore knew what browser versions had access). It is doable and it provides a flexible layout.

here is a sample (btw, it's so long ago now, I included modernizer.js and slectivizr.js but I have no idea if they were anything to do with this >_< and why I keep referencing "flexie" I have no idea, the script, if it even was a script isn't included on the page.... SO professional, such memory... ):

        	#box_content {
    	/* 1st draft flexbox required for IE8 layout using 'flexie' */
    		display: -moz-box; display:-webkit-box; display: -ms-box;
    	display: box;
    		-webkit-box-orient:horizontal; -moz-box-orient:horizontal; -ms-box-orient:horizontal;
    	box-orient: horizontal;
    		-webkit-box-align:center; -moz-box-align:center; -ms-box-align:center;
    	box-align:center;
    		-webkit-box-direction:normal; -moz-box-direction:normal; -ms-box-direction:normal;
    	box-direction:normal;
    		-webkit-box-pack:center; -moz-box-pack:center; -ms-box-pack:center;
    	box-pack:center;

    	/* 2013 flexbox! for FF3+, Safari3.2+, Chrome5+ */
    	display: flex;
    		display: -moz-flexbox; display: -webkit-flexbox; display: -ms-flexbox;
    	flex-flow: row wrap;
    	justify-content: space-around;
    	padding-bottom: 1.5em;
    	}

    		.phonebox, .addressbox, .qrbox, .emailbox {
    			max-width: 250px; min-width: 200px;
    			height: 165px;
    			display: block;
    			border-radius: 20px;
    			color: #4d4d4d;
    			box-shadow: 2px 2px 9px #333;
    			border: 1px solid #A2E86C;
    			margin-top: 0.5em;/* req. for small screens */
    			/* More flexbox for older browsers (flexie.js)*/
    			-webkit-box-flex:0; -moz-box-flex:0;
    			box-flex:0;
    			-webkit-box-ordinal-group:1; -moz-box-ordinal-group:1; -ms-box-ordinal-group:1;
    			box-ordinal-group:1;
    		}

<comment><USER58> That assumes support exists at all (many people need IE8) or isn't broken in some way which affects your design (Mobile WebKit is the worst offender here but I've had to file bug reports for every major browser on this).

I want to just start using flex box everywhere, too, but we're just at the point where that's becoming realistic. I won't fault anyone for waiting if they have more representation from older browsers. The real progress lately has been the push for Microsoft to get IE onto more of an evergreen update schedule so we won't have to keep doing this once XP and IE8 are a bad memory.

</comment></comment></comment></comment></comment></comment><comment><USER61> This is why css is fundamentally broken. Centering should be a feature in itself. I shouldn't be manipulating other attributes to achieve centering.

<comment><USER3> It _is_ a feature of CSS 2.1. See my reply to chubs above. CSS 2.1 10.6.4 requires that "margin: auto" on both sides of an absolutely-positioned element mean "vertically center it".

<comment><USER61> You're saying that because they defined centering to occur when I mess with margins that makes centering a feature? Technically yes...

I meant an explicit feature with it's own attribute.

<comment><USER3> Sure, and we have that now, with flexbox. "align-items" is the property you're looking for.

I find it hard to fault the designers of CSS 2.1 for not being more complex than it was at the time. CSS 2 was a huge advance over CSS 1, so much so that a common feeling at the time was that CSS 2 had so many features no browser vendor would ever implement it all. The authors of CSS 2.1 had to maintain a delicate balance between giving authors the tools they needed and exploding the complexity of the spec, and making vertical alignment fall out of "margin: auto" was one of the ways they did just that.

</comment></comment></comment></comment><comment><USER62> I like that tool very much, but it would be nice to see the generated CSS styles displayed separately from the HTML.

By this, I mean generating the following individually: 1) the HTML with a class applied to a sample element to be centered 2) the separate CSS for that particular class selector

This is just a little nitpick based on my preference for avoiding inline styles; overall, nice work!

</comment><comment><USER63> For everyone who thinks CSS is just a collection of hacks (rightly so) etc., you should try playing with GTK+3. It borrows a subset of CSS, has it's own Flexy Grid model system etc. It will still be fair to call it a Work in Progress but I think it's layout system is quite nice.

</comment><comment><USER64> The fact that this site exists is confirmation that all of my "bah humbug" about using CSS over tables is pretty justified. And while CSS still renders differently in every browser, I have yet to find a browser that can't render tables consistently.

</comment><comment><USER65> And still the solution for centering a dynamic sized div is still using table- cell.

</comment><comment><USER66> If OP is the creator of the site, the width and height boxes are really small on firefox desktop. I'm thinking at least show 3 characters wide, even four would be smart.

</comment><comment><USER67> It says something about the state of the art, that an issue so simple and essential as this generates such a wealth of commentary. We're a long way from home yet.

</comment><comment><USER68> Would have been great to have this when I was first learning CSS. Problems like this one are what made me so reluctant to touch frontend for a long time.

</comment><comment><USER69> Now we all need is this as a SAAS (rest API) and create a jQuery plugin that given the parameters returns the corresponding CSS

</comment><comment><USER70> Time to learn flexbox

[http://flexboxin5.com/](http://flexboxin5.com/)

</comment><comment><USER71> A _tutorial_ on how to center things? That's a pretty serious FAIL.

</comment><comment><USER72> Result display is too passive. But, radio buttons are so good design.

</comment><comment> jan-hocevar Scroll down after generating code, but other than that, great!

</comment><comment><USER73> God Bless this guy!

</comment><comment><USER74> I was struggling with this yesterday

</comment><comment><USER75> Disrupt CSS

<comment><USER76> easy:

      Disrupt

</comment></comment><comment><USER77> Flex plox

</comment><comment><USER78> Flexbox++

</comment><comment><USER79> Great!!!

</comment><comment><USER80> Awesome!

</comment><comment><USER81> a bunch of non-breaking spaces on other side?

</comment><comment><USER82> Note to self: the title of this article does not refer to aim-bots in Counter Strike Source...

</comment><comment><USER83> All mediums have constraints. Perhaps our designs should be better a working within those constraints. Obviously, vertically centering in all situations is something CSS doesn't do so well in some situations and just fine in others. Know the situations in which it doesn't work and design another solution.</comment>


Show HN: MillionDollarHomepage-as-a-Service (MDHPAAS) - <AUTHOR> https://pixelpirate.club <comment><USER2> It took me a while to work out what this is (reselling the domains underneath the million dollar homepage that have expired).

This was mainly because most of my (laptop) screen was taken up by the million pixels, the list below was very squashed and the fixed layout meant I couldn't scroll to see more of it which was very frustrating.

Great idea though, love it!

</comment><comment><USER3> Are there any metrics on whether these domains actually get any traffic or not?

<comment><AUTHOR> I mean.... not really. This whole project is ridiculous -- a saw one of those "THE INTERNET IS DYING AND THE MILLIONDOLLARHOMEPAGE IS A LEADING INDICATOR" articles and was like, "Oh. I should automate a system to see how it's doing."

Because... uh... I have no idea. It seemed like a good idea at the time. Anyway, somewhere along the line, I decided to monetize it and create a site from a perspective of a guy who thinks that The MillionDollarHomepage is, like, still an amazing thing.</comment></comment>


Shenanigans With Hash Tables - <AUTHOR> http://thume.ca/2019/07/29/shenanigans-with-hash-tables/ <comment><USER2> Objective-C uses a hash table cache for all method calls. It's a bit different in that Objective-C deals with collisions by just not handling them: since it's only a cache, collisions will result in going through the slow name lookup path.

Mike Ash has a nice series that goes through the disassembly of objc_msgSend: [https://www.mikeash.com/pyblog/friday- qa-2017-06-30-dissecti...](https://www.mikeash.com/pyblog/friday- qa-2017-06-30-dissecting-objc_msgsend-on-arm64.html)

<comment><USER3> But aren't hash tables orders of magnitude slower than dynamic dispatch with jump tables? I'm just interested in PL implementation as a hobby, so correct me if I'm wrong, but this seems horribly inefficient to me.

<comment><USER4> You can't use jump tables in Objective-C because methods can be added to objects at runtime.

<comment><USER5> That doesn't preclude using jump tables. You can also add methods to objects at runtime in JS and modern runtimes use jump tables.

I expect you can't use jump tables in objc because you can't really "patch in" jump tables at runtime as it's AOT-compiled rather than JIT-ed.

<comment><USER4> Right, but that's no longer "just" jump tables, you need additional JIT logic for those tables to be correct.

Plus, in a JIT you can go even further and just do direct calls, no need for the indirection of tables.

</comment></comment></comment></comment></comment><comment><USER6> I recommend reading up on minimal perfect hashing: [http://ilan.schnell- web.net/prog/perfect-hash/algo.html](http://ilan.schnell-web.net/prog/perfect- hash/algo.html)

<comment><USER7> This is what came to mind when I read this. Far too many professional programmers are unaware of perfect hash functions. A disturbing number are unaware of pathological collision cases.

For a complete set of methods known at compile time, a minimal perfect hash is, well, kinda perfect...

<comment><USER8> In this case I did actually consider it but forgot to mention it in my post. The slightly more complex constraints of having multiple different tables using the same hash function make searching for the hash function more annoying so I didn't bother.

</comment></comment></comment><comment><USER9> Seems like the same idea as in this paper:

Efficient Implementation of Java Interfaces: Invokeinterface Considered Harmless (2001) [https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.21....](https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.21.7133)

</comment><comment><USER10> I think Self did the same. At those times this was one of the most researched topics, how to efficiently implement a PIC, polymorphic inline cache. Either with a simple ordered list (usually constructed at run-time, a harder problem), such a hash (good for compile-time) or vtables.

</comment><comment><USER11> _According to my compilers class professor there's a broad literature of optimizing the "giant table with all signatures" approach with heuristics for saving space by rearranging and merging the tables of different classes into the same space or re-using offsets across classes to make tables smaller. But the general problem is NP-complete so can only be solved heuristically._

A SAT solver should actually be able to handle this fairly easily, because in practice, you don't get long complex chains of overlap between the interfaces implemented by common classes. If someone feeds your compiler an adversarial input you can just fall back to the naive implementation.

</comment><comment><USER12> I've been using a similar but flipped approach in my own interpreted language, creating a hash table for each method and then look for the object type as the key. This allows me to check the parent types if an exact object type is not found. I then nest the tables for multiple dispatch.

</comment><comment><USER13> I think this is more common that the author assumes, I use hash tables in a similar way in my own project. It quickly suggests itself when you are mapping names within types to different offsets per type.

</comment><comment><USER14> I'm quite experienced in shenanigans. Doing them with hash tables, however, definitely peaks my interest.

<comment><USER15> Please allow me to bring your whimsical humour back down to earth with some tedious pedantry: "piques", not "peaks".</comment></comment>


Show HN: Nach – Personal goal setting for the highly ambitious - <AUTHOR> https://nachapp.com

<comment><AUTHOR> This is something I started working on around a year ago to scratch a personal itch - none of the goal setting / task management tools I could find really felt like they were aimed at power users. It's been a big help for me in overcoming procrastination, and focusing myself towards the big things I want to achieve.

Would love some feedback, and happy to answer any questions.

</comment><comment><USER2> Wow... you've done a hell of a lot of work on this app and it shows! Great job! Your video is well done too. I'm working on something right now that does a portion of what you've got here and it was the same thing... I had an itch to scratch :-) Best of luck with it!</comment>


Ruby's Queue class and ordered processing - <AUTHOR> http://willj.net/2011/11/22/rubys-queue-class-and-ordered-processing/

<comment><USER2> Always interesting to see how someone else solves a problem, and reaches into the ruby stdlib for a couple of tools as well.</comment>


How to make a logo, for free, in about 5 minutes - <AUTHOR> https://journal.designinc.com/how-to-make-a-logo-for-free-in-about-5-minutes-a4f409176a8e#.2uyl4vjy8 <comment><USER2> Inkscape is perfect for logos, especially SVG and is completely free, unlike alternatives.

However, there is one important detail missing: you need a lot of prior experience with design/photography to come up with anything decent, otherwise your untrained in this subject brain would not be able to decide what looks good and what doesn't.

</comment><comment><USER3> Pretty sure I will take longer than 5 minutes but some of the stuff in this guide is super interesting.

<comment><USER4> The hope here was to show folks that with a great font and a few shapes you can get 80% of the way there - especially if your startup is just getting going and you don't have the resources to hire someone. People tend to take a longer time because of indecision - they sit and fiddle with fonts and shapes and case and colors - hopefully this piece takes decision making out for folks (or at least narrows the decisions down for them)

<comment><USER3> No, totally understand and that makes a lot of sense. I think there is a lot more to it when someone is looking to get a very professional logo/brand done. Thanks for writing this!</comment></comment></comment>


System infrastructure tweaks Shopify made to handle the load of Cyber Monday - <AUTHOR> http://www.shopify.com/blog/6962406-shopify-infrastructure-upgrades-power-a-record-breaking-cyber-monday

<comment><USER2> Most of this is pretty standard scaling advice - except the "Tobi" caching, which has some good ideas I haven't seen elsewhere.

<comment><USER3> DHH describes a similar caching scheme here:

[http://37signals.com/svn/posts/3113-how-key-based-cache- expi...](http://37signals.com/svn/posts/3113-how-key-based-cache-expiration- works)

</comment></comment><comment><USER4> Im surprised how transparent this is. Halfing response time on a system that large is no easy task.

</comment><comment><USER5> What is there system written in? just curious

<comment><USER6> Shopify itself is written in Ruby using the Rails framework. I believe we're one of the oldest and largest Rails projects out there.

Some parts of our infrastructure are written in other frameworks (e.g. Thin) and languages (e.g. Go).</comment></comment>


Amazon Announces $100M Donated to Charities Through AmazonSmile - <AUTHOR> https://press.aboutamazon.com/news-releases/news-release-details/amazon-announces-100-million-donated-charities-through <comment><USER2> This is great and everything, I'll never criticize anyone giving to charity for PR gains.

I'm wondering how something like Amazon Smile affects customer behavior. Amazon makes you really _think_ about using Amazon Smile (doesn't just donate a portion of all sales to charity, no way to automatically make all direct amazon.com purchases automatically do this). You need to remember or use some tool to make everything through smile.amazon.com.

Is consumer spending affected by this? How much better do users feel about themselves after purchasing on smile.amazon.com vs amazon.com? Are they less likely to return an item? Leave a more positive review?

Obviously _any_ money going to charity is great in the first place, and using smile.amazon.com to give that 0.5% is worth it. Just curious.

<comment><USER3> Personally, I know it's a factor in my not using their mobile app. I've also talked to somebody who uses the app to shop, but then went to web to checkout with Smile.

On the other hand, I really don't know how much Amazon _cares_ if I use their mobile app. They don't get pushy about it.

</comment></comment><comment><USER4> I use amazon smile and am happy it exists, but I'd challenge Amazon to do even more. Walmart does $300M a year in giving; Target, Microsoft, and Google do around $150M each.

[http://fortune.com/2016/06/22/fortune-500-most-charitable- co...](http://fortune.com/2016/06/22/fortune-500-most-charitable-companies/)

</comment><comment><USER5> This feels really small. That's probably minutes worth of revenue flowing through them. I'm glad it's 100MM and not 0 (kudos to amazon for doing this at all), but it doesn't seem like a huge milestone given how long the program has lasted. I would have expected it to hit 1B by now.

<comment><USER6> I seriously doubt $100 million is minutes worth of revenue, even for Amazon.

<comment><USER7> Fair point, doing some quick math it takes them 5 hours.

<comment><USER8> You're probably thinking if gross revenue. Looking at net revenue however, it comes out to about two weeks... Okay, still a very short period of time.

<comment><USER9> When you use the word revenue by itself, it almost always means "gross revenue".

And technically, net revenue is not the same as profit or net income. Net revenue would be gross revenue minus discounts and a few other things.

It seems like the figure you are using is probably net income.

<comment><USER5> FWIW, I meant gross revenue... minutes was just a flippant guess.

</comment></comment></comment></comment></comment></comment><comment><USER10> There are extensions for all major browsers which will automatically redirect amazon links to the smile version.

[https://addons.mozilla.org/en-US/firefox/addon/auto- smile/](https://addons.mozilla.org/en-US/firefox/addon/auto-smile/)

<comment><USER11> I don't understand why this is an extension and not just built-in functionality to their website, though.. it feels like a potentially crooked way to get me to install an extension.

<comment><USER12> Yes, they want you to install an add-on Amazon didn't make. You don't have to install it, just go to smile.amazon.com when you shop. They even do reminders every once in a while to help you remember. Or change your hosts file to redirection www.amazon.com requests to smile.amazon.com.

Or raise your hands and claim it's all a conspiracy I guess.

<comment><USER11> I understand that the GP's add-on is not Amazon's. But Amazon wants you to install their "Amazon Assistant" extension in order to get this functionality[1]. They are obviously using their Smile program to push this, otherwise they would just bake this functionality directly into their website.

[1] [https://smile.amazon.com/gp/chpf/dashboard/ref=smi_se_rspo_l...](https://smile.amazon.com/gp/chpf/dashboard/ref=smi_se_rspo_lyi_dshb)

<comment><USER12> Oh please. It's a link at the very bottom of the page. Amazon is forcing customers to be proactive to make sure their purchases qualify as donations. It can't be "baked into the website" as purchases from Smile don't payout for affiliate links. We do, however, remind you every once in a while once you start using the regular website.

It wouldn't matter what they did there would be hard core naysayers finding issues with it.

</comment></comment></comment></comment></comment><comment><USER13> Am I missing something? Does this mean $100M in donations since the beginning of Smile? That sounds astronomically low.

</comment><comment><USER14> Apologies for beating this drum but I find it important.

Verify with the charitable organization that they registered to receive funds from Amazon!

Amazon's list of charities comes from GuideStar USA which compiled the information from the IRS, and includes organizations which may not have registered with Amazon and thus may never receive the donations. See the section "Charitable Organizations that Do Not Register" here: [https://smile.amazon.com/gp/chpf/pd/ref=smi_se_saas_lpd_spd](https://smile.amazon.com/gp/chpf/pd/ref=smi_se_saas_lpd_spd)

Last I checked, there is no clear indication to consumers that a listed charity has actually registered.

The best way to verify this on your own appears to be to pretend you want to register that organization on Amazon's Org Central site[0] which will show if it's already registered. (An example search for Child's Play[1].)

As a shopper Amazon does not make this abundantly clear when you're selecting an organization. One thing to look for is the amount of information shown about the organization, specifically the incorporation year, as those that register have to fill out a profile.

According to the FAQ if a shopper selects an organization that is not registered and makes an eligible purchase they will track the donation. If the organization registers they'll get the donation, but if they have not after 2 years then Amazon will contact the shopper and give them 30 days to select a new charity. (I'm not sure if this then resets the 2 year clock or not.) If the shopper does not select a new organization then Amazon reallocates the donation across the registered organizations.

In any case the only way to be 100% sure is to inquire with the organization.

[0]: [https://org.amazon.com/](https://org.amazon.com/)

[1]: [https://org.amazon.com/npo/search?q=Child%27s%20Play&p=1](https://org.amazon.com/npo/search?q=Child%27s%20Play&p=1)

</comment><comment><USER15> Wow, that is fantastic! It's amazing what small amounts can do at scale. I already shop through AmazonSmile and this motivates me to continue doing so.

Congrats to Amazon, its shoppers, and the employees who pushed for and built this feature.

</comment><comment><USER16> Are there any cons at all to purchasing through smile vs regular Amazon?

<comment><USER17> Not for you, but if you click on any affiliate links, I believe they're reset on Amazon smile so the site/whatever won't get their slice.

<comment><USER16> Awesome. I buy everything in a cleared cookie browser so nobody was getting a dime of affiliate money from me anyway. Definitely going to set this up as my default.</comment></comment></comment>