Driverless buses hit the streets of Sion - <AUTHOR> http://www.swissinfo.ch/eng/hop-on-board_driverless-buses-hit-the-streets-of-sion/41846698 <comment><USER2> Nice click-bait.</comment>


Google Calendar is temporarily unavailable - <AUTHOR> http://www.google.com/googlecalendar/unavailable.html

<comment><USER2> I see they changed the Google logo there as well.</comment>


Migrating away from Google Maps and cutting costs - <AUTHOR> https://www.eventsofa.de/campus/migrating-away-from-google-maps-and-cutting-costs-by-99/ <comment><USER2> In case it helps anybody else - we were recently looking for alternatives to Google Maps for reverse geocoding. We took property data from a local county, ran the centroids of a bunch of randomly selected parcels through 4 different reverse geocoding services, and compared the addresses we got back to the actual address of the parcel, as listed by the county.

Google was 97% accurate, at $4 per 1000 requests. Mapbox was 95% accurate, at $.50 per 1000 requests. TomTom was 73% accurate, at $.42 per 1000 requests. Location IQ (one of many providers simply running the open-source Nominatim project) was 12% accurate, at $.03 per 1000 requests.

To be fair to Location IQ / Nominatim, they had the right street the vast majority of the time, but were usually wrong about house number due to interpolating between address boundaries at cross streets defined in Census Data. If you need exact addresses, Nominatim probably isn't for you, but if you need a general location, it might work fine.

Also - this was one county of test data, so take it with a grain of salt.

Nevertheless, it gave us confidence that we could move away from the Google APIs, save 90% of our costs, and still have a high level of accuracy.

<comment><USER3> Have you tried HERE APIs[1] by any chance? I am curious how it stacks up against the other services.

[1] Link to example -> [https://developer.here.com/api- explorer/rest/geocoder/revers...](https://developer.here.com/api- explorer/rest/geocoder/reverse-geocode)

<comment><USER4> We sued HERE API at a previous gig I was. We used it for standard geo-coding (also after Google starting asking high prices to use it) and the quality was very good.

<comment><USER5> Geez, do people sue for anything in America?

<comment><USER6> Always remember to send a Thank You subpoena.

</comment></comment></comment></comment></comment><comment><USER7> Our experience with the Google cost increase was similar. We were paying around $550/mo for the GMaps Platform pre-price-change. Over 80% of this cost was for dynamic maps usage. The rest was for use of the Google Places API.

When I got the notification in May that the rates were increasing, I didn't take it that seriously. We have a profitable company and I would have been more than happy to pay Google twice their rate for the premium services they offer. Nobody ever expects a sudden rate increase to be more than 20%, 30% or 40%, right???!

It was in July that the gravity of the situation hit me. I was seeing tweets and articles lamenting the rate increase. I thought to myself "huh, I better check this out". I did some quick math using the new rate card and nearly had a heart attack! Our bill was estimated to be ~$14,500 and the CLOCK WAS TICKING. We were facing a 2600% rate increase and had only 2 months to figure out a game plan. Our business was on the line!

I immediately determined that we were eligible for bulk pricing. However, Google will not sell you the bulk rates directly. You have to contract with an authorized 3rd party (re-seller, basically) to get the rates. So, we found a reseller and locked in the bulk rates. That brought our estimate down to around $12,000/mo. Better, but still a huge shock.

The next step was optimization. There was no way for us to reduce dynamic maps usage because it is such a core part of our products. So, we cut off almost all of our Places API usage and started using other services. Our estimated bill was now down to $9,000.

That's where we are today. We just got our first full month bill. It was a huge hit to our business, wiping out a significant portion of our profitability.

To be frank, I am pissed about this. I was more than happy to pay Google far more than they were charging us. We were always under the impression that rates would increase one day. But, to force an increase of this magnitude with such a short amount of lead time is pretty f&^%ing sh*&$tty coming from a billion dollar giant.

We're starting to test other mapping services. I met with a team member from Mapbox last week and am planning on testing their platform in December. Their quote for our usage needs? $550/mo.

<comment><USER8> Going from $550 to $14,500 per month is totally unacceptable.

This is exactly why I'll always be wary to depend on Google's services. And it isn't the first time they do this either.

First they monopolize the market via cheap rates and branding, then they make it exorbitantly expensive.

<comment><USER9> >Going from $550 to $14,500 per month is totally unacceptable.

Wrong. It's completely acceptable. It's their business, and this is the risk you take when you make your business dependent on another business.

>This is exactly why I'll always be wary to depend on Google's services. And it isn't the first time they do this either. >First they monopolize the market via cheap rates and branding, then they make it exorbitantly expensive.

Google isn't the only company that does stuff like this. Almost any company would do this if they had the opportunity.

<comment><USER10> This doesn't make it acceptable. It sounds like what you're proposing is that a company must build its own streets, electrical grid, telecom network, generation plants, etc.

Very few business would do well in such an environment.

<comment><USER9> Also, I'll add that your comparison is apples-to-oranges. For the electrical part in particular, electric utilities in almost every country are highly regulated. They can't raise prices on a whim, even though they're monopolies; the government won't allow it. This doesn't apply to Google Maps. You're comparing services that are provided by a government, or are highly regulated, to a service that has governmental constraints whatsoever. If you don't like the price, don't buy it.

</comment></comment></comment></comment></comment><comment><USER11> Another problem with Google that you cannot really experiment with it for free. You have to add your credit card and there is no concept of using only the free quota.

E.g. I'd put up an experimental site which uses google maps free qouta only and I don't want to pay anything, since it's only an experiment, I'd be happy with my access blocked automatically for the rest of the month after the free quota is exhausted.

But AFAIK it cannot be done. You have to track you spendings and shut down the site manually when you are near the end of the free quota.

Google in the past helped people experimenting with its platform. This is not the case anymore with google maps.

<comment><USER12> This is true for all google cloud services. You have to enter a credit card number. You may 'intend' to use just 20$ a month and I believe you can set quota alerts, but you can't set a hard budget. Google will just bill for whatever you consumed.

I think that's ridiculous. It should deal-breaker problem for anyone running on a side project.

<comment><USER13> Can't you use a throwaway/generated credit-card?

<comment><USER14> Privacy.com and other virtual cards register as prepaid cards and are blocked by google.

<comment><USER13> That sucks. If inflexibility already shows at the entrance, then I'm not going to enter the place.

<comment><USER15> Hey, just to chime in. I'm a MSFTie, so no relevence to G, but have worked on products with similar limitations, and was usually the one arguing _against_ the CC friction at login.

What has become abundantly clear however is that CC gating is a fast way to reduce your malicious traffic _exponentially_; and especially if you're enterprise focused, this doesn't even impact your core strata much.

As a non-corporate-techie in my off-work-time, I absolutely understand the frustration at this inflexibility. During my day job where I'd have to clean up the fires that result from a fully open door policy however? I'd have a somewhat different take.

It's not 100% clear cut "the CC is all just to add spurious friction", is all I mean to say :)

</comment></comment></comment></comment></comment></comment><comment><USER16> Author here ( @codemonkeyism ), ready to answer questions. Blog seems down, we're haven't been slashdotted for a long time, sorry!

[Added some more caching, site works again slowly]

<comment><USER17> > Thanks to Google for giving us free Maps for some years

This attitude is something I truly appreciate. So often posts like these are angry rants about 'how dare they do this to me'. You seem to presume good intentions, which should be the default reaction in life.

<comment><USER18> It seemed a bit passive aggressive to me, but maybe I'm reading into it too much.

<comment><USER16> Sorry English isn't my native tongue, didn't intend it to be passive aggressive but meant it.

</comment></comment></comment></comment><comment><USER19> > In under 30 minutes we migrated our code to Stadiamaps without prior > knowledge of their API, including deployment.

This surprised me. I'm completely ignorant with respects to geoinformation providers, but for some reason, I somewhat expected vendor lock-in to be much tighter.

<comment><USER16> Geo coding took longer as the meta information about city districts etc. which needs to be mapped is different, but changing maps was easy. That said Open Cage was nice as their data was cleaner and we didn't have to manually change data as we had to do with Google.

<comment><USER20> OpenCage ([https://opencagedata.com/](https://opencagedata.com/)) founder here if anybody has questions. Putting country hierarchies in a set of keys is a challenge for all geocoders and the output differs slightly (though we have a google-compat mode). Sometimes it's just road vs street or town vs city. England has parishes, Paris has arrondissements (equivalent to a city within a city), Berlin is a city, county and state (same outer boundaries) for example.

<comment><USER21> FAQ has:

>Just pass the coordinates as a latitude and a longitude, separated by either a comma or a (URL encoded) space and the API will automagically work out that you want to reverse geocode.

Is the reverse geocoding based on 1\. government-source boundary data, or 2\. proximity to tagged points from OSM or other non-authoritative sources?

<comment><USER20> Both where government provides open boundary data, though in most cases that would've been imported into OpenStreetMap already [https://opencagedata.com/credits](https://opencagedata.com/credits)

</comment></comment></comment></comment></comment><comment><USER22> Has anyone figured out WHY Google maps did this double-digit multiplier price increase?

Were they vastly under pricing it before? Did they want to stop providing it so they priced it at a point that would make almost everyone go away?

I'm just curious about their motivation and surprised that this doesn't seem to have been figured out or even discussed.

<comment><USER23> My guess is that they realized the enterprise market was more profitable for them, so they decided to focus more exclusively there. They know their enterprise customers aren't about to jump ship, so they can do pretty much as they please due to their dominant market positioning.

</comment></comment><comment><USER24> Google Cache:

[https://webcache.googleusercontent.com/search?q=cache:https:...](https://webcache.googleusercontent.com/search?q=cache:https://www.eventsofa.de/campus/migrating- away-from-google-maps-and-cutting-costs- by-99/&rlz=1C1GCEA_enDE769DE769&strip=0&vwsrc=0)

<comment><USER16> Thanks.

</comment></comment><comment><USER25> In case it's not known by everybody, you can geocode(maybe also reverse geocode, I didn't check) US addresses in batch with TIGER census data and PostGIS.

It's not directly relate to topic (dynamic maps, online geocoding), but somewhat relevant.

With about $300 in Amazon EC2 I geocoded 18 million addresses in 3 months. You probably can do it with your own PC with similar time (the only hardware requirement is RAM and SSD).

[http://dracodoc.github.io/tags/Geocoding/](http://dracodoc.github.io/tags/Geocoding/)

<comment><USER26> Did you do any verification to show the effective accuracy/spatial resolution?

<comment><USER25> There is an accuracy score in postgis tiger geocoder plugin. Usually a low value mean a pretty good match. Depend on address format and quality, 70-80% of addresses got a good match.

For resolution you cannot expect too much because street numbers are usually interpolated, and TIGER database definitely will not be as good as best commercial database. However you don't have many other solution if you have millions address to geocode.

</comment></comment></comment><comment><USER27> I've migrated much of our mapping capabilities to MapBox's API.. but we're still facing mapping bills in the hundreds of dollars.

My next step is going to be to setup a caching Open Street Map tile server and using [https://leafletjs.com/](https://leafletjs.com/) javascript library. The costs now for mapping solutions are going to drive us to run our own GIS infrastructure.

<comment><USER22> We also looked at MapBox but ended up going with local tile server from OpenStreetMap data. We are using the geofabrik.de data bundles, mod_tile and renderd to serve up the tiles, and we pre-generate the tiles so all our requests are served from disk rather than being rendered (which really slows down mapping). We are lucky that we are only dealing with one state, so our data is around 25GB for map tiles and another 10GB for "street overlay" tiles that we lay on top of aerial tiles that we generate from NAIP data.

We customized the CartoCSS a bit to get the maps closer to the way we wanted them. For example, we took out building outlines, and reduced the frequency of highway shields, which required removing exit numbers.

It's a good solution for us, but we already had some mapping experience and lots of system deployment experience, so YMMV.

</comment></comment><comment><USER28> Stadia Maps founder here to answer any questions!

</comment><comment><USER29> Any reason why you wouldn't self host your tiles using something like open map tiles?[0] If you're geocoding mostly US addresses it's actually not impossible to roll your own geocoder* . If you're insane enough, I'm sure you could find some German spatial data and follow along with how the TIGER geocoder loads and normalizes information if you wanted to run an entire GIS operation in- house.

[0]: [https://openmaptiles.org](https://openmaptiles.org)

* Provided you're familiar with PostgreSQL, and PostGIS.

<comment><USER30> It makes sense if it's your core competency, but when it's not it's usually worth it to pay someone else to deal with it, like email.

</comment></comment><comment><USER31> Piggy backing off this thread for my own question.

I've a small webapp to show me my elevation based on my lat/lon. I built it with Google's API as I've used it before and it's what I know. It doesn't get much traffic so it's unlikely to ever cost much once my free credit expires but I'd like to explore other options.

What alternative (preferably free) services are there out there? I need to be able to pass lat/lon and get back the elevation above sea level of that point on earth.

<comment><USER32> That would depend on what your resolution and accuracy requirements are. Ground level or treetop? If you are willing to DIY there are freely available DEM (Digital Elevation Model) datasets that might work for you. For example ASTER[1] has global 90 meter resolution and 30 meter resolution in the USA. There are smaller, embeddable DEMs with ~1km resolution. Lots of options out there. Grab a coffee and start with an internet search for DEM.

1: [https://en.m.wikipedia.org/wiki/Advanced_Spaceborne_Thermal_...](https://en.m.wikipedia.org/wiki/Advanced_Spaceborne_Thermal_Emission_and_Reflection_Radiometer#ASTER_Global_Digital_Elevation_Model)

<comment><USER31> Cheers, I'll take a read. I'm looking for ground level (I use it to calibrate the barometer on my watch at the start of a hike/trail run/climb)

</comment></comment></comment><comment><USER33> We did something similar and used Maptiler.com's vector tile server offering + MapboxGL.js on the frontend.

Using mapbox's own backend would've been too expensive for us since our app is able to do asset tracking, a use case almost all of the bigger mapping providers (we checked google, bing, here, mapbox) want to earn an extra buck on.

</comment><comment><USER34> What most (all?) of those alternatives are missing is the satellite view and street view. I look at it almost every time I search for a place to get an idea of the surroundings for when I'll be there. However links to the same location on Google Maps can fix that.

<comment><USER20> Google invested 100s of millions driving streetview cars around the world. That's hard to match. "Street View cars have traveled almost 10 million miles, covering every single continent and 83 countries in total" ([http://geoawesomeness.com/googles-street-view- turns-10/](http://geoawesomeness.com/googles-street-view-turns-10/)) Mapbox has satellite view

</comment></comment><comment><USER35> Yeah, but Stadia Maps aren't that good. They have really bizarre issues with labeling. For instance, they would display "Bridgeport", but not "New York" at some zoom levels. And Long Island looks completely disconnected, and Manhattan is missing altogether.

[https://i.imgur.com/O6v1X03.png](https://i.imgur.com/O6v1X03.png)

<comment><USER36> I don't think that's their fault but issues with the map services they rely on (which is OSM from what I gather [0]). I remember this being discussed recently on HN but can't find an article/thread right now.

[0]: [https://news.ycombinator.com/item?id=17010831](https://news.ycombinator.com/item?id=17010831)

<comment><USER23> Yes, It's a mix of underlying data and Mapbox GL. This is an active area of development both on our end and in the Mapbox open source community.</comment></comment></comment>


The continuing relevance of "Don't Feed the Trolls" - <AUTHOR> https://medium.com/lessons-learned/6be830a6768a

<comment><USER2> When did "troll" come to mean blunt, vitriolic abuse?

Yes, I know, "language changes and evolves, yada yada yada". I'm curious about this particular usage, which seems to be something that got picked up and amplified by mainstream-media (who seem strikingly ignorant of Internet history), and what to do about the possible loss of the more traditional (and more subtle and rich) meaning of the word among long-time 'Net users.</comment>


Arch Linux to migrate to Systemd - g-garron http://mailman.archlinux.org/pipermail/arch-dev-public/2012-August/023389.html <comment><USER3> Systemd takes a reliable, known, thoroughly debugged process (init, or various of its tweaks, including Ubuntu's _upstart_ and Debian's _insserv_ ), and converts booting from a deterministic, predictable process to one that's inherently _unpredictable_.

And the stated objective? "To reduce boot times".

The best way to reduce boot times is to _not boot_. The _reason_ I reboot systems is _to return them to a known good state_ (or, very rarely, to perform a kernel upgrade).

On server hardware, I perform boots infrequently, and really, really, really want them to work right.

On end-user hardware, I perform boots infrequently, preferring to use suspend/restore to quiesce my systems (suspend to RAM, occasionally suspend to disk). _That_ is a process which I'd like to have very thoroughly debugged and not give me any unhappy surprises (say: crash my video, e.g.: interactive session, lose track of drivers/hardware, especially wireless).

Systemd is the wrong answer to the wrong problem.

Much written better than I can: [http://blog.mywarwithentropy.com/2010/10/upstart-better- init...](http://blog.mywarwithentropy.com/2010/10/upstart-better-init-or-more- painful-one.html)

Systemd loses the huge transitivity of shell scripting, and puts you in the position of needing to acquire a novel skill at the one time you least need to be _learning_ and most need to be _applying_ : when your systems won't boot straight: <https://lwn.net/Articles/494711/>

I'm also not much surprised that Red Hat, who've had such a historic problem with consistency and reliable dependency management within their packaging system (as compared to Debian/Ubuntu) are proponents of this technology (hint: it's not the package format, it's the policy, or lack thereof). And now Arch.

<comment><USER4> I'm sorry, but shell scripts _suck_ as a language for booting the system. You need to fork() and exec() for almost anything non-trivial, wasting precious CPU cycles in the progress. It looks like every Linux distro has its own way to manage boot scripts. And when they fail, you have no idea what happened.

More importantly, init only handles _starting and stopping_ of services. They don't _manage_ services, like restarting them when they crash. Systemd can do that. The socket activation stuff also allows one to potentially save resources by not starting services until they're really needed.

The best way to reduce boot times is to not boot? Have you ever heard of "laptops" and "average users"? Even on my servers, a shorter boot time is welcome.

<comment><USER5> I'm a daily laptop linux user, specifically Chakra Linux, <http://chakra- linux.org/>.

My wish list goes something like this: better wireless drivers, improved sleep/suspend/hibernate/resume, better power management, a better package manager, more up-to-date applications ...

At the very, very bottom of that list -- the very last item, so far at the bottom of the list that it's in danger of falling off entirely -- is "faster boot times".

Dredmorbius is spot on, at least for me and my daily usage and the couple dozen or so servers that I'm responsible for. If things are so pooched that I have to reboot it, then it doesn't really matter to me anymore whether it takes 30 seconds or a minute to start up. I would much prefer not having to reboot it in the first place.

Since Chakra was (I think) forked from Arch Linux, I'll have to check and see if they're gonna do this too.

I hope not.

(edit: none of this is intended as a criticism of Chakra's development team, who have been doing an amazing job of putting together a system that, despite its warts, I genuinely enjoy using every day.)

<comment><USER6> I'm a daily laptop linux user, and like you I know how to go a long time between reboots, so I can wait for my computer to start up.

But forget about us, we're already converts, we don't matter. My grandfather (93 years old) is also a daily laptop linux user. When he presses that power button, that laptop better be booted and ready /yesterday/. And when he pushes it again, it better be off before he closes the lid. Slow startup and shutdown times are simply not an acceptable user experience; they are literally the difference between enjoying and wanting to use the computer, and not wanting to bother with it.

And don't think for a minute he's going to learn about suspend, hibernate, power savings, battery life, or whatever. It's just not going to happen. His laptop lives in the closet, so it's going to be off (either by his doing, or the battery running out). When he sees something on tv and wants to read about it, he takes the laptop out, plugs it in, and turns it on. If it's not ready for him when he's ready for it (i.e. now) then he just won't use it.

However, since I've got that sucker booting from power button to firefox home page load complete in under 7 seconds, he uses it all the time. And it's amazing how it enriches his life. You simply can't get computer use to penetrate into lives like his without fast booting and an easy user experience.

<comment><USER3> The sane thing is to tie power management to the power button.

Light press: hybrid suspend suspends to RAM, also saves state to disk -- system spins down quickly and, so long as it's not been hibernating long enough to drain battery, restores in a second or so. Longer and it will do a boot/restore from disk.

Long press: powerdown.

Many devices have separate "suspend" and "poweroff" hardware (or soft controls) as well.

The OS and tools do all the magic bits.

<comment><USER6> That's lovely, but you're not paying attention. It doesn't matter how it's set up. It matters how it preforms.

To the non-enthusiast / casual user, closing the lid, pressing the power button, doing a system shutdown, inactivity sleep timeout, and the battery running out are all the same thing: the computer was "on", now it's "off". Asking someone like this to think about how the reason it came to be "off" affects how fast it will be ready for them later is a fool's errand. It needs to be fast in every circumstance.

Normal people just want to get something done. They judge their computer by how easy it is to use and how fast it responds to what they do. That included cold boots, launching program, and downloading webpages. Even if they're doing something "the wrong way", they will still judge it with the same criteria and the same harshness. I want my grandfather to use linux because I can quickly help him and fix things from afar, and because there are very few ways for him to mess it up. He uses it because he really thinks it's better then windows, and that's purely because it's fast and easy, every way he uses it.

For the record, I set it up so the power button does a shutdown, and everything else results in a hybrid sleep. What he understands that he can shut it down if he wants, otherwise no matter what happens (lid closed or not) everything will be the way he left it, even if he forgets about it for a few days or doesn't charge it.

That kind of simplicity is what allows people to think of linux as something they can use, not just some super complicated tool for "hackers" and "computer geniuses". I'm not saying it should be dumbed down or have options removed, but I am saying that making it enjoyable for everyone results in more people using it, and that benefits us all.

</comment></comment></comment></comment></comment></comment><comment><USER7> The opposition that is seen from some people to moving away from SysV style init is amazing to me. I don't have much experience with systemd, but upstart has been a refreshing change from the old shell scripts.

Having been both on the packaging side, as well as the admin side, I can't imagine _not_ abandoning the daemonize and PID file paradigm. The number of package I've seen that have init scripts that don't properly stop or start the daemon, or don't check the pid file and or subsys lock file; or daemons that don't properly chdir, or don't release an errant file descriptor, make me want to scream. Not to mention the process monitoring and full lifecycle management, it just seems like a no-brainer decision.

There's a lot of noise coming from people saying that their laptop doesn't need it, booting isn't that slow, etc; the driving force isn't targeting laptops/desktop, it's targeting the largest use of Linux -- servers. The process management is the big win, and boot time is just a bonus.

<comment><USER3> On every server I've seen, firmware initialization, generally networking and storage controllers, takes far more time than the OS boot sequence. To the tune of 4-5 minutes for hardware vs. ~1-2 minutes (or less) from kernel boot to console login.

At which point actual workload stack initialization (webserver, application server, database, caches) generally takes additional time. Depending on where you're starting form, a few seconds to many minutes or hours (DB init/restore/replication from snapshots/backups/master).

Again: the few seconds you're going to save swapping out _really stable infrastructure_ 1) isn't the problem and 2) introduces change and complexity (and hence uncertainty and unreliability) to a very critical system component.

<comment><USER8> Did you actually read the comment you replied to or you keep copying and pasting blindly your strawman argument in this thread? If you did read it, which part of "The process management is the big win, and boot time is just a bonus" was unclear?

<comment><USER3> 1: boot time is Poettering's own argument in favor: <http://0pointer.de/blog/projects/systemd.html>

If the systemd team wants to drag goalposts all across the field, that's fine. I'm just going to note their original location.

If you want to build a better xinetd, or better SysV init based dependency system (insserv), or alternative (upstart), then do it. OK, upstart _also_ fucks with init, but with a lot less whack then systemd.

As to the "I've seen poorly written init scripts": on my distro of choice (Debian), package maintainers do a very good job of providing sane scripts (which are a lot easier to follow than RH scripts, something I noticed when first cutting over to Debian), in part because the distro provides a solid, 18-years of evolution, SysV init based process, and a policy that tends to iron out occasional bouts of dumpth.

</comment></comment></comment></comment><comment><USER9> systemd is so obviously better than anything out there, I'm surprised there is any controversy. I've yet to see a valid complaint.

"Poettoering sucks! PulseAudio!" That's not much of a technical argument against systemd, now is it? Pretty much everyone who complains about PulseAudio doesn't even know what it is; they just blame it when their audio doesn't work (usually for some unrelated reason).

"It's not deterministic!" You're probably talking abot the socket activation. That part is pletny deterministic - a message comes in for a service, that service gets started. Are the messages coming in not deterministic enough for you? You can add your own unit files that starts the service at boot, and you can even control what starts before and after the service.

"Shell scripts are so simple!" You know what's simpler than a shell script? A unit file. They are also more consistent. The various shell scripts are all written by different package maintainers and are rediculously diverse. Some are full-featured init scripts that can send signals to the service to make it do stuff; others can't even restart the service. Unit files are so simple that it's pretty hard for any different styles to really matter.

Also, the method for enabling a service is different in all the distributions with shell scripts. Debian is update-rc.d; Red Hat is chkconfig; Arch is vi /etc/rc.conf. With everything moving to systemd, we finally have one way: systemctl.

<comment><USER10> > I've yet to see a valid complaint.

Perhaps this is the main problem - the people pushing technology are not willing to acknowledge that people have different use cases to them. There are complaints, and they are valid - you just do not see them as valid, because they don't concern you.

Since you brought PulseAudio up, there's a very legitimate, common complain about it - latency. Yes, the people who care most about audio - the creators and audiophiles - are pushed aside as "not relevant," because Lennart is only interested in "appealing to the majority," not some minority fringe groups.

Really, the only reasonable solution for some people is Jack - but any hope of bridging the gap between Jack and Pulse is lost in a barrage of people pushing for a "single audio solution" - and prematurely claiming Pulse as the victor.

As a result, people write applications to only use PulseAudio, which are then unusable to someone using Jack (aside from hacks to make pulse act as a jack client). Professional audio software is still basically required to code for both Jack and Pulse/ALSA or whatnot - we're nowhere near a single audio solution.

But don't tell that to Poettering - because he is adamant that his solution is the only solution, and anyone who it doesn't suit is just playing with toys.

That's literally how he referred to Debain's choice to not push systemd because it targets multiple kernels, which systemd does not work with. (Which btw, Arch does too - although perhaps not the same people.)

Have you still yet to see a valid complaint? Of course kFreeBSD is not a valid complaint to you, because you've never used it, and never plan to - it's of no concern for you.

If we only cared about what's popular, Linux would not be what it is now - <AUTHOR> you'd be on Windows. Linux is not the end-all solution to every problem anyway, as other lesser popular kernels have some great technology in them which is lacking in Linux. It's the only solution for Red Hat though - so you can see why they're happy to push such agenda. If you're not a Red Hat customer, your opinion is invalid.

Arch was built with a different mentality - the one of personal freedom to do what the hell you want with your desktop, not for the benefit of some company. You are free to use or reject any software you don't want.

Well, not any more. Pushing systemd on users breaks that mentality - <USER2> the choice is stripped from you. The choice is already there in Arch though - and has been for a while. If you want systemd, you can use it. If you don't want it, don't bother. Moving the other way is not really possible though - because if you build your system around systemd, you can't revert back (without taking the time to rewrite everything that depends on systemd.)

The dependency problem in itself is a complaint against systemd. Should udev users be forced to use systemd for example? Normally we would introduce another layer of abstraction to our code - such that we can share common code between systemd-udev and non-systemd-udev, and have a solution where everyone wins - the systemd users benefit from improvements in systemd integration, whilst everyone benefits from improvements to udev which aren't systemd dependent. This is programming 101.

Well, not if you're the package maintainer and have more political motives. Any proposal to introduce such a split with common code will probably be met with: NO, we're not interested - It's too much work - It's pointless supporting non-systemd - Fork it.

A fork it will be - and because the fork will be much less popular - it will obviously be a toy.

Just to be clear - I'm not against systemd and Pulse from a technical point of view, and I can very clearly see the advantages they have over alternatives, for linux. I'm not really against fragmentation either.

What I am against though, is the politics of it. The constant pushing of systemd down everyone's throat like it's a fucking panacea. One day saying "don't use if if you don't want," and the next blogging "you're fucking idiots for not using it." (Lennart's approach to Ubuntu.)

<comment><USER11> This takes away no choice, I'm sure if you want to use old style init that'll be available too, you'll just sacrifice easier config, faster boot, better diagnostics, logging and profiling of boot.

<comment><USER10> The old init will still be available, but the point is that anything built to run on systemd only, will not be easy to use with older systems without effort to backport them. This isn't much of a problem if you do choose to use systemd though, because it's backward compatible with older scripts.

<comment><USER9> It would be awfully hard to make a service that didn't work without systemd. Your software shouldn't depend on systemd, just as it shouldn't depend on init.d, rc.d, or anything else unless it's a tool specifically for working with that (like chkconfig or update-rc.d).

</comment></comment></comment></comment></comment><comment><USER12> I've been running systemd on my computers for a few months now, and it's great. Dramatically accelerates my boot times, easy to configure, and easy to use. The only problem I've ever had is when a daemon doesn't include a systemd unit file, and I imagine official migration will include resolving all the remaining cases of that.

<comment><USER13> systemd supports standard init scripts as well, allowing an incremental migration.

</comment></comment><comment><USER14> There's a whole bunch of tools groping awkardly in a single direction here:

1\. Give a graph to the computer

2\. The computer makes the graph a reality

[http://chester.id.au/2012/06/27/a-not-sobrief-aside-on- reign...](http://chester.id.au/2012/06/27/a-not-sobrief-aside-on-reigning-in- chaos/)

Puppet, Chef, Cfengine come at it from an on-disk direction.

Upstart, SMF, systemd, launchd come at it from a runtime direction.

They're still talking past each other. And it's annoying.

What I would really like is a system that does _both_ as first-class citizens. I may be waiting a while.

<comment><USER15>
      There's a whole bunch of tools groping awkardly in a single direction here:
        1. Give a graph to the computer
        2. The computer makes the graph a reality

The good ol' fashioned make tool does exactly this and, in the spirit of Unix, pretty much nothing else.

The problem is in determining whether the dependencies of a node in the graph are satisfied. Make does this by comparing file times. All the other 'graph resolving systems' you mentioned do something different. Obviously the solution is to abstract the dependency test from the graph itself. Then all these systems become pretty much the same.

<comment><USER14> > The good ol' fashioned make tool does exactly this and, in the spirit of > Unix, pretty much nothing else.

Make still requires a manual step. I'm thinking of systems that do this themselves. Active control systems, constantly comparing the state of the world to the reference graph.

I don't want the unix tradition. The unix tradition is a pain in the rear end to actually administer. I want a single management framework with a single DSL that does it all.

</comment></comment></comment><comment><USER16> I don't really understand the problems these "init" replacements wish to solve. I mean, actual, real-world problems. To me, it's just another instance of the same worrisome trend that brought us NetworkManager and makes everything evolve to integrate with D-Bus: do everything to make desktop-Linux better, even if it negatively impacts the use-cases where Linux is actually successful (everything else).

I don't care much for the desktop, but I do care for servers.

Boot times on servers are irrelevant. Reducing them brings little benefit. Servers shouldn't have to be rebooted that often for it to matter, and also, servers spend most of their boot time POSTing and initializing firmware for the various cards. In many cases, twice as much as it takes to boot a normal SysV init Linux install.

Not only that, but it is much more important to be able to effectively troubleshoot boot problems than to get some dubious features that nobody really felt missing for all these decades.

I don't care if Fedora or Arch do this, but I do care if more server-oriented distributions do. I still haven't gotten over the fact that RHEL6 now gives you the option of using NetworkManager (bleh) or configuring interfaces through (badly designed) configuration files. What's wrong with the old system-config-network?

<comment><USER17> I have little experience with servers, but... I must agree with your sentiment. One of the great things about Linux is how simple things are. GUIs are great, but not if I have to start a desktop just to get a network connection!

<comment><USER12> It's this kind of complaint that suggests all the unease is a result from resistance to learning new systems, rather than any actual flaw in those systems. NetworkManager operates headlessly, and can be manipulated just fine with nmcli.

</comment></comment></comment><comment><USER18> It's too bad that opposition to changes like this is often expressed so trollishly. There's a real tradeoff here (of simplicity and of portability) that gets glossed over.

<comment><USER19> It's certainly true that the "minimal summary" of the features of systemd vs. sysvinit (or Busybox, or a BSD init script, which is even simpler) is hugely skewed against systemd. Understanding how systemd's process tracking works requires understanding cgroups, for example. Things that used to be one liners in a script ("mount hugetlbfs -t hugetlbfs /dev/hugepages") suddenly become first class "mount" objects with status. Systemd introduces a bunch of new jargon and new tools.

But at the same time systemd really does do much more than a classic "launch some stuff and call wait()" style init. And that stuff is pretty nice -- in a systemd world, no one needs to worry about writing a "daemon" any more. Any program that sits in a loop writing to standard output can be started, stopped and syslog'd.

And making this work isn't bad at all. You configure systemd with straightforward .ini file syntax and clear fields (e.g. "ExecStart=/path/to/my/program").

Basically it's complicated in structure (and the task of porting a whole distro to it strikes me as pretty scary) but simple in interface, and that's pretty much the right place to be. Most "systemd is too hard!" rants don't survive long past the initial implementation phase.

<comment><USER18> > Basically it's complicated in structure [...] but simple in interface, and > that's pretty much the right place to be.

Thanks for posting this, this is a great analysis. It gets right to the heart of many of the disagreements I have with system design orthodoxy.

I think it's exactly the wrong place to be.

</comment></comment></comment><comment><USER20> see here the discussion `systemd vs upstart` (the default on ubuntu):

[http://unix.stackexchange.com/questions/5877/what-are-the- pr...](http://unix.stackexchange.com/questions/5877/what-are-the-pros-cons-of- upstart-and-systemd)

and here the design docs of systemd:

<http://0pointer.de/blog/projects/systemd.html>

overall i think systemd is a much better implementation toward the same goal. some distros have already switched from upstart to it, not saying that upstart is not an extremely popular choice as well.

</comment><comment><USER21> Allen McRae had an interesting, relvant post recently- "Are We Removing What Defines Arch Linux?"

[http://allanmcrae.com/2012/08/are-we-removing-what- defines-a...](http://allanmcrae.com/2012/08/are-we-removing-what-defines-arch- linux/)

</comment><comment> throwaway54-762 Here's the (much more readable) mailing list in gmane: <http://news.gmane.org/gmane.linux.arch.devel>

Currently (Friday 3:48 Pacific time), this thread is at the top.

Edit: Lots of +1s in the early thread messages; some elaboration surrounding migration issues in later emails.

</comment><comment> ijobs-ly In my biased opinion, once you have gotten over the learning curve, nothing beats daemontools for running services. It is a fantastic set of tools. Why some OS doesn't just embrace djbware I'll never understand. It compiles, smoothly, in seconds. (There's no need for distributing binaries.) And the chances of the author initiating lawsuits (as some Linux foundations are known to do), over something placed in the "public domain" are close to nil. He's got better things to do.

BSD's rc system is fine. Sometimes the scripts are too verbose. But the whole idea is the system is simple enough to understand that you can write your own scripts -- more concisely, if you wish. You don't need to read a book (e.g. Linux from Scratch), keep most things disabled by default and let the user turn stuff on as they need it.

I recently used Debian's live USB, the rescue version, for a little while and was amazed at how much stuff is turned on by default. I guess if you understand each and every choice that's been made for you it's OK. But if not, that approach is not very conducive to learning.

As for Apple, never mind all the XML fluff, good luck trying to understand what's going on behind the scenes with their computers anymore. They can't even manage to let you have an nsswitch.conf or equivalent.

<comment><USER3> Debian (and other apt-based systems) are the Lego blocks systems of the Linux world. If you install a service, the assumption is that you want it to run (if you don't want it to run, you can either uninstall it or deactivate it). Bootable / live versions tend to have more comprehensive lists of installed packages to allow for greater utility/flexibility -- though some (Knoppix) actually allow you to install additional packages (yes, booted RAM-only) into the booted system.

The is not the case on BSD systems (generally an integrated whole, though they've got package management) or RPM (poorer package management leading very frequently to a "kitchen sink" installation paradigm).

Yeah. RHEL's even got a package you can install to enable/disable postfix vs ... oh, whatever the default MTA is, I can't keep track (smail still? I know they've moved off of sendmail, right? Right?).

</comment></comment><comment><USER22> The link is to a proposal, rather than an announcement, but the replies seem very positive, which bodes well.

<comment><USER23> A proposal followed by a discussion without any opposition to the proposal, and then a decision.

Announcement will surely be made shortly :)

<comment><USER24> Which resulted in a discussion on a different thread? [http://mailman.archlinux.org/pipermail/arch-dev- public/2012-...](http://mailman.archlinux.org/pipermail/arch-dev- public/2012-August/023386.html)

</comment></comment></comment><comment><USER25> they should just migrate to openrc, i heard debian might actually do that. would be there 2nd nice choice this month after switching to xfce as default de</comment>


Formal Verification: The Gap Between Perfect Code and Reality (2017) - <AUTHOR> https://web.archive.org/web/20180305223604/https://raywang.tech/2017/12/20/Formal-Verification:-The-Gap-between-Perfect-Code-and-Reality/ <comment><USER2> Whoops, this looks like a dupe of [https://news.ycombinator.com/item?id=15999066](https://news.ycombinator.com/item?id=15999066).</comment>


Visualizing San Francisco Home Price Ranges In D3.js - <AUTHOR> http://trends.truliablog.com/vis/pricerange-sf/

<comment><USER2> I like how powerful the d3 framework is, great use for it! I think the popup when you mouse over the ranges on the graph is distracting, might be better to have a fixed area that gets updated instead of the floating popup.

</comment><comment><USER3> There's also an associated blog post that describes the methodology and gives some commentary on our findings: [http://trends.truliablog.com/2012/04/home- price-range-index-...](http://trends.truliablog.com/2012/04/home-price-range- index-sf/)

</comment><comment><USER4> Well of course 94107 is going to have an odd range of prices. You're lumping together the crunchy parts of downtown urban SOMA with the rarefied air of Potrero Hill. You can _see_ how it's a distended blob, and if it were a Congressional district, you'd worry about gerrymandering. Alas, ZIP codes aren't always the best way to understand a place, though I'm sure it's ever- so-convenient...

<comment><USER5> Just curious, can you think of better ways to do it with available data?

<comment><USER6> One could get the lat/lon coordinates from the address of each data point and grid the city in any way you want.

One method to define neighborhood extents could be cultural instead of geographic by crowd-sourcing the delineation. If one can ignore the desire to draw a strict boundary at a major street, you'll find certain 'neighborhoods' spilling out of their original blocks. Perhaps adjacent areas with distinct histories start to define themselves by the same architectural historical context. Or a once strong border between ethnic communities might disappear. Gentrification might creep across a river closing the gap.

These could all be fuzzy-mapped by residents.

<comment><USER4> That would be better than trying to categorize things solely based on the historical convenience of the US Postal Service.

Myself, I might approach the problem the other way - trying to infer the existence of a neighborhood-like structure in terms of similar homes which are close to each other (apply clustering algorithms), and then measuring to what extent these structures overlap. This technique would hopefully place the 4th- and-King-at-Caltrain high-rise apartments and condos apart from the 19th-and- Arkansas single-family and converted-single-family homes.

<comment><USER5> Another idea could be to just price individual homes based on last sale, then map that, than use an algorithm to guess neighborhoods on price per square foot?

IDK. But it is interesting none the less.

</comment></comment></comment></comment></comment><comment><USER6> Y scale in Log?

I understand wanting to fit it in the screen space. Is Log not generally reserved for large differences in magnitude and for power laws?

(I don't have an intuitive understanding of logs, so this is a genuine question).

<comment><USER3> We actually started with a linear scale, but ended up switching to a log scale. Scaling linearly says, "how much more expensive are the high end homes than the low end (subtraction)?" With the log scale we're saying, "how many more times expensive is the high end than the low end (multiplication)?"

Scaling linearly allows big values to skew the results. Imagine a neighborhood where the high end is $20m and the low end $10m, giving us an absolute difference of $10m. Another neighborhood has a $1m high end and a $500K low end, for an absolute difference of $500K. Scaled linearly, the $10m range in the first neighborhood would appear to be much much bigger than the $500K range of the second.

But if we use a log scale, instead of asking what the absolute difference is, we're asking relatively how much more expensive is the high than the low end. Using our two example neighborhoods, both would result in a 2x difference, and thus both would have the same range of prices.

It's easy to point out where all the most expensive homes are, and scaling linearly does just that. But looking at the relative differences in prices provides a much more useful way of comparing different neighborhoods (or even cities if we look nationwide), because it accounts for the natural variances in prices in different areas.

<comment><USER6> Thank you very much for the thorough reply.

I don't suppose you have an image of the linear version?

<comment><USER3> Sure do. <http://cl.ly/3L223H1f2v1u3t0I3C2s>

<comment><USER6> Many thanks.

I prefer the linear story (not for the range-index though): it shows how consistently extreme the high end is from the median relative to the distance the low end is from the median (from a dense concentration of homes just above the median?).

</comment></comment></comment></comment></comment><comment><USER7> Can we get the prices adjusted for square footage?

</comment><comment><USER8> Extremely attractive presentation of interesting data - thanks for this. As for where to go next, why not automate this methodology and do the entire world? :)

<comment><USER3> We can do it for the entire US. Stay tuned.

<comment><USER9> Please do it for Silicon Valley (South Bay)...

</comment></comment></comment><comment><USER10> I've been working with d3.js often lately for some freelance work. Out of curiosity, I viewed source trulla's script and have some comments and observations:

1.) To convert numbers, they use +number, where number is a string. That is some excellent short hand and relies on automatic type conversion in javascript. Not sure what the speed is like, but I imagine it doesn't slow down things much,

2.) They forgot that they had jQuery loaded in already. You can see this by looking at the lines when they define w and h. They use d3 to get the height and width in a awkward way. $("vis").width() would have done the same for less thought.

3.) They are using some tools to check for or create automatic clean javascript. Not a semi-colon or tab out of line. Probably jslint, because they use a forEach at some point and I don't believe coffeescript uses forEach's in it's output. Coffeescript is probably worth the time to learn then; All those function(d){return d.a} become just (d)-> d.a.

Depending on your style, this could be useful as well: getter = function(attr){ return function(d){ return d[attr]; } }

ds.attr("x",get("x"))

4.) I am embarrassed I didn't know d3.svg.axis existed. That saves time and mistakes.

All in all, well done. Learned a good amount from reading through that. Thanks!

<comment><USER3> Thanks for the code compliments Zack. As I've gotten more experienced with D3, I've been trying to use it exclusively, even for jQuery type things. In this case I'm just using jQuery for old browser fallback, since D3 doesn't go to great lengths to support old browser quirks.

And btw, no code cleanup tools in use, just my OCD. ;) I haven't used Coffeescript yet. Will have to check it out.

</comment></comment><comment><USER11> The y-axis scale distorts perception of the relative differences.

</comment><comment><USER12> Data!

... but, not really sure what _meaning_ i am supposed to take away from this.

"Zip codes contain heterogeneous housing units that have a spread of prices" ??

</comment><comment><USER13> How about something like a 33% grey to 75% grey gradient left to right under the zip code names which corresponds to the shading of the unselected map regions? That way I could see spatial trends on the map that would track your ordering preference. As it is I have to go dousing and try to mentally integrate over time.

The 33% still leaves room for the selected zip code to leap out.

</comment><comment><USER14> Very interesting data, and I know that the point of the graphic was to show spread, but honestly the prices looked a little low to me... not that I could afford it anyway, but the average home in Pac Heights at "only" 850k? Average price in the sunset was the same as the mission?

<comment><USER15> 1) The data is grouped by zip codes, not by neighborhood (notice that "pacific heights" spans multiple zip codes.) Better would be to have data derived from neighborhood polygons that delineate clear neighborhood boundaries 2) The prices are from listing prices (homes for sale), which could obviously vary from zip code to zip code and 3) You're relying on the accuracy of Trulia's data, which... well I won't get into that.

</comment></comment><comment><USER16> I've been wanting to do something fairly similar. Specifically, I would love to know how you got the zip code overlay data and built your map with zip code overlays. It looks like a deceptively complicated thing. Any information you can share on how you did that part?

</comment><comment><USER17> Pretty!

I wonder whether this framework can make traditional display of such a data (i.e. box plots with outliers) as pretty.</comment>


We just released the drawing app Leonardo on the Windows Store - <AUTHOR> https://www.getleonardo.com/blog/windows-store/ <comment><USER2> Happy to hear that, I've been waiting for it! Makes it much easier to make sure I have it on all my devices. Love Leonardo!</comment>


What happens when the cloud meets a bandwidth cap? - <AUTHOR> http://gigaom.com/2011/05/04/what-happens-when-the-cloud-meets-a-bandwidth-cap/

<comment><USER2> Perhaps this is a case of a bandwidth cap that's working as intended? If people figure out where they're wasting bandwidth and fix it, that's more bandwidth for everyone else. Without any incentives, who knows how long it would have taken?

</comment><comment><USER3> Gotta love utility computing. One minute your paying a fair market price of $3/mo comparable to Mozy, Carbonite or Backblaze. Next thing you know you are paying 33 times what you should have. Reminds me of the good old days of Compuserve and AOL. I remember getting this crazy $300 bill after discovering Neverwinter Nights II. Steep price for text adventuring.

</comment><comment><USER4> if anyone is in a similar situation, the tools you need (for linux at least) are etherape and then wireshark. the first will show you which machine is transmitting lots of data. the second will give you a good idea what that data is (if it's not already obvious from the destination computer shown in etherape).

what are the windows and mac equivalents?

<comment><USER5> Wireshark. After all, libpcap has been ported to all platforms worth mentioning.

I suspect that JungleDisk is primarily to blame here. Most programs (certainly the Windows search indexer) already know to treat files on network drives differently, otherwise they'd be unusable in business environments where you have a variety of SMB shares mounted on every computer.

If JungleDisk appears as a local drive, there's your problem. This is just speculation though, as I can't be bothered to give them my credit card details just to test that theory.

<comment><USER6> You misunderstood what the problem was. It was not that JungleDisk was downloading backup data, it was that since the AWS 'drive' is mounted as a local drive, when indexing happened (or when the antivirus scanned the files), Windows (or the antivirus) would download all the data they where trying to access. I'd actually go with the antivirus in this case, but it certainly is not JungleDisk's fault.

</comment></comment></comment><comment><USER7> I had a similar issue with a bug in Jungledisk 6 months ago. Jungledisk would download folders with UTF8 characters in the path repeatedly.</comment>


Avoid the Pitfalls of the JavaScript Trap on Gmail - <AUTHOR> http://www.fsf.org/blogs/community/gmail-jstrap <comment><USER2> From the article:

"Further, we've recently seen companies such as Research In Motion (makers of the Blackberry) advising customers to entirely disable JavaScript in the WebKit browser on its devices because of a security problem that was discovered. While free software JavaScript can have security problems too, this example illustrates that we have a real need to be able to see what the code we're running on our computers is actually doing, and change it."

I think the author doesn't understand how client side javascript works. If on the other hand they're referring to server side Javascript, that has nothing to do with the web browser over say, PHP. You don't necessarily get the source to a PHP-based web app when you use it. Why so much Javascript hate?

<comment><USER3> I think the rub here is not that they want to be able to see the script files, it's that they want the javascript behind GMail and other big apps to be released under a Free Software License.

<comment> DanI-S I can understand the point, but is it really necessary to express it in a way that evokes the works of L Ron Hubbard?

 _You may not be aware of the dangers of JavaScript — a problem we've deemed The JavaScript Trap — proprietary software running on your computer, inside your web browser._

Danger! Your very _soul_ is at risk!

This page is even worse: <http://www.gnu.org/philosophy/javascript-trap.html>

_Silently loading and running nonfree programs is one among several issues raised by "web applications". The term "web application" was designed to disregard the fundamental distinction between software delivered to users and software running on the server._

Beware, dear reader. They may be starting with this fundamental distinction... but your children will be next!

<comment><USER3> I agree, it is rather unsettling how they frame their argument--there really isn't an argument at all as to why these things should be released under such a license, besides a vague allusion to security concerns. I love open source stuff, but the Free Software Foundation always seemed to me like that annoying vegan friend who never leaves you alone about the evils of animal products

the tagline in the link reads like a scary movie trailer: >You may be running nonfree programs on your computer every day without realizing it--through your web browser.

<comment><USER4> Security concerns was not the only argument. "It's clear that JavaScript is a very powerful and useful technology in the right hands. Many free software developers have written add-ons and enhancements to popular websites thanks to tools like Greasemonkey. There's a slew of fantastic free software Greasemonkey scripts for Gmail. The existence of scripts like these shows both that Gmail's JavaScript is not trivial, and that there are users who could make useful, interesting contributions if the JavaScript were released as free software for them to modify." They argue that we should be able to change GMail's javascript code just like we do other applications we use.

<comment><USER5> >They argue that we should be able to change GMail's javascript code just like we do other applications we use.

What the FSF doesn't get is that its actually much _easier_ to change proprietary JavaScript than it is to modify a binary running on your system.

<comment><USER4> I think they do understand that. It is, however, nontrivial to edit compiled JavaScript. There might also be legal complications to editing the scripts...

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> How weird. Their position here seems to be that proprietary software running on Google's servers generating html is ok, but proprietary javascript embedded in those pages is not ok. (because it runs in your browser?)

<comment><USER7> Server side code is what they have the affero GPL for:

"The GNU Affero General Public License is a modified version of the ordinary GNU GPL version 3. It has one added requirement: if you run the program on a server and let other users communicate with it there, your server must also allow them to download the source code corresponding to the program that it's running. If what's running there is your modified version of the program, the server's users must get the source code as you modified it.…" — <http://www.gnu.org/licenses/why-affero-gpl.html>

presumably they dont want the back end of gmail being proprietary either but its not the point of the article?

</comment></comment><comment><USER8> FSF is going a bit too far here. Come on, Google even allows you to take your data off their servers. What more do you want?

</comment><comment><USER9> April Fool's joke got out a little early?

<comment><USER7> The corollary to Poe's law[1] is appropriate here: Even the most sincere fundamentalism will be confused with with parody by a cynical enough audience.

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

</comment></comment><comment><USER10> This article is ridiculous and pointless JavaScript hate article.

JavaScript is not different from HTML and CSS, all of these are generated by a sometimes proprietary service and executed in the browser.

This article is completely stupid because it not only misses the point of JavaScript, it even contradicts itself:

\- if the UI is plain HTML/CSS and is generated server side and then fed to your browser, you will never even have a clue how it works

\- if the UI is done with JavaScript on the client you can always de-obfuscate it

> Further, we've recently seen companies such as Research In Motion (makers of > the Blackberry) advising customers to entirely disable JavaScript in the > WebKit browser on its devices because of a security problem that was > discovered.

It seems the FSF wants to build a reputation by taking things out of context and leaving out important bits. The security was probably found in the browser and not in JavaScript, this is the same as advising someone to unplug the computer because of a computer virus.

I am really disappointed by this short sighted article, the FSF should be better than this.

</comment><comment><USER11> I have a problem with this article, which is that treats JavaScript "programs" as different from other resources on the web. Must the HTML and CSS which make up a webpage be free? What about pictures, audio, and video?

JavaScript may be the most flexible language which web browsers natively understand, but HTML has long included forms (now with support for validation) and CSS lets authors program complex, interactive rules for presentation.

Even without JavaScript, websites like Gmail are undeniably applications (in this case, a mail reader, manager, and composer), some part of which are downloaded to and rendered by your own computer.

(P.S. I believe I've heard about more security vulnerabilities in browsers' handling of images than in their JavaScript engines. Also, CSS is turning complete: [https://github.com/elitheeli/oddities/blob/master/rule110-gr...](https://github.com/elitheeli/oddities/blob/master/rule110-grid.html))

</comment><comment><USER12> The benefit to Google of the current mode is the ability to rapidly change the code pushed to your browser.

If there was a open source release of the gmail client code, it would force google into maintaining an API for that code for the foreseeable future, which would require additional effort.

The closest to this request that seems remotely likely is a client side API for gmail, so that browser plugins or third party services could extend it. I see a lot of cost to Google to actually release the code, and not a ton of benefit.

</comment><comment><USER13> Isn't the javascript at Gmail machine generated with GWT? Did I miss something?

<comment><USER12> The Gmail frontend is written in javascript using the closure library.

<http://code.google.com/closure/>

You can look at the (compiled version) of the code by looking at the scripts tab of the chrome web inspecter. They're there :)

<comment><USER14> Where/how are they hiding the client side javascript?</comment></comment></comment>


Hunter S. Thompson Would No Longer Recognize San Francisco - <AUTHOR> http://www.nytimes.com/2016/03/14/insider/hunter-s-thompson-would-no-longer-recognize-san-francisco.html?smid=tw-nytimes&smtyp=cur&_r=0 <comment><USER2> I just realized the biggest irony about San Francisco: by working to block development to prevent San Francisco from _physically_ changing, the NIMBYs are driving real estate hyperinflation that is destroying its culture. A pro- development San Francisco would probably indeed look like Manhattan by now, but it might still be home to quite a few artists and counterculture types along with all the nerds and businesspeople.</comment>


Choosing the "best software" - <AUTHOR> https://jvns.ca/blog/2017/01/24/choosing-the-best-thing/ <comment><USER2> This is a systems argument, not just software. It applies to choosing to do anything. I would rearrange these points, but they are essentially correct. You don't make changes for the sake of change or because something is cool, you make changes when:

1\. Necessity. You need something that the current system is not doing for you. That might be scalability, or performance, or stability, or having good maintenance procedures, or compatibility with another system... In order to justify this change, you must clearly understand and document what it is that you want to do and how the existing system cannot do it.

2\. Cost. Could be dollars paid for licenses, or for consultants, or for attention required from your own people, but excessive cost is certainly a convincing reason to change a system. You do need to make sure that the cost of implementing the new system isn't going to exceed the cost of keeping the old one. That can be non-obvious.

I have lumped in "difficult" with "cost" because they are the same thing with two names. Cost in time to change or time to learn or time to implement always converts directly to a cost in dollars and a cost in opportunities to do something different.</comment>


Show HN: Hotpot – A framework for building the home of your microservices - <AUTHOR> https://github.com/yizhang7210/hotpot <comment><AUTHOR> As the wave of microservices architecture hit, the hypothesis is that companies with a reasonably large size of microservices would want a dashboard or a home page to see these services, their metadata and their status in a single place.

They may further want to see where the services stand in terms of some rules/metrics.

Hotpot is a Spring Boot framework that allows companies to build these functionalities more easily, by simply integrating with their own datasources.

A demo app for using the framework is at: [https://demo.hotpotland.com](https://demo.hotpotland.com)</comment>


Middle School Misfortunes Then and Now, One Teacher's Take - <AUTHOR> https://www.waituntil8th.org/blog/2018/11/12/middle-school-misfortunes-then-and-now-one-teachers-take <comment><USER2> Middle school is the age when social hierarchies start to form

For millennia, teenagers were included in complex parts of society, with kids of different ages, and some adults around. They could learn, they could teach, the could choose authority figures to imitate.

In a modern school, though, they are isolated for most of their day in a group of 20-30 kids of same age. They can't build a natural hierarchy around experience and abilities, for a wide enough gamut is not available. So they end up building a hierarchy based mostly on aggression and persuasion. It of course ends up pretty toxic.

<comment><USER3> Are there any structures that kids can get involved with (or the family) that will provide some of "complex society" feel?

<comment><USER4> Team sports. I grew up playing competitive hockey. I learned from a very young age that I am not special, that the team is stronger than an individual, and magic happens when everyone commits to their role.

I am grateful for this gift, and attribute to it much of my present success.

<comment><USER5> Team sports has too much 'coach as dictator' for non-competitive kids to develop. They are left to pasture, literally. Only the star athletes receive attention, then they bully the rest.

<comment><USER6> This definitely happens, but that's also a bad coach.

Good coaches will develop kids across the entire range of skill levels, and will consistently give them tasks that they can succeed in (at least in practice). In the US, most little league teams have "must-play" requirements, so both coaches have to play their weakest players optimally.

<comment><USER7> I think both are true. The must-play requirements are present, but they don't stop certain things from happening -- things like the coach's kid from getting the most playtime, attention and opportunities in game. I saw this happen firsthand.

<comment><USER6> Absolutely.

Then again, that person is probably a bad coach.

For anyone out there looking to give back to their community, learning how to be a good youth sports coach is probably high on the list of value add. It's not easy, but you can have a positive impact on people that will last a lifetime.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Some of my 13yr old son's classmates have started a bullying campaign against their _own teacher_ , trying to dig up dirt or otherwise gossip about her. This happens over insta and snap.

My son isn't involved but as a result she wouldn't even meet with me to discuss his recent report card (a right I thought I had), she is so sick and tired of people ganging up on her.

I've always warned my son, you misuse or otherwise abuse a privilege in the presence of adults and they will strip you of it, a phone is no different. Then the more I tried to apply that to this situation I realized I'm wrong: his peers have already learned to bully and harass outside of school now, the teachers can do nothing about it.

I don't know what to do about this one.

<comment><USER9> Probably she could sue the parents? idk how it works in the US but kids aren't above the law, and their parents can't ignore illegal behaviour without consequences.

<comment><USER10> Being cruel and digging up dirt on people is wrong but not illegal.

<comment><USER11> Depending on what dirt was dug this could be called defamation which is illegal.

</comment></comment></comment></comment><comment><USER12> Middle school was the worst years of my life. It was absolute torture, the bullying, the teachers' petty power trips, the pointless lull in actual education before high school. Technology was my refuge. I passed the hours just waiting to get access to a computer, and it wasn't until a few years later that I finally got a modem and found BBSes where I could participate in discussions with real people. It was fun, it saved me from I don't know what, and it set me on a path that led to this place 25 years later.

I would have been so much better off with a cell phone.

<comment><USER13> It's easy to forget that BBSes were not at all populated by a representative sample of all people. The communities you experienced were the norm there but are a vanishingly small part of the modern internet. If you were raised now you might never have found your way to one before your psychological development was co-opted and sent in a very different direction by today's social media offerings.

</comment></comment><comment><USER14> The writer seems to be confusing 2008 for 1998. I remember middle school from 2008 onwards. Almost all teenagers were online by then (on MySpace, then Facebook). Nothing prevented your father from checking emails on his Blackberry at the breakfast table, your sister from texting on her cellphone or playing games on her iPod.

Teachers had to ban cellphones in classrooms back then due the teenagers texting or playing mobile games, and there were PSAs about being driven to suicide by cyberbullying. By 2009 you could already obsess over Facebook likes - before then, you could measure your popularity by the number of friends you had versus how many your own friends had - and embarrassing photos could easily end up shared online or circulating among the other students.

It may not have been as extreme as today, but an embarrassing video of yourself could just as easily end up going viral online and leading to social ridicule - see the Star Wars kid.

<comment> frosted-flakes In my experience, the turning point was between 2008 and 2011.

I was in late elementary school in 2008 (grade 8), and I don't know if any of my classmates had a cell phone. Yes, some people had Facebook, but I think it had a minimum age limit of 15 years (?), and stuff like Instagram did not exist. People still called each other on the telephone.

Fast forward 2–3 years into high school though, and everyone was on Facebook, probably half of my classmates had BlackBerries (BBM was all the rage), and some people had iPhones. A few kids had their own laptops that they brought to school, but schoolwork was entirely paper-based. (Heck, I didn't have home Internet access until after I graduated from high school, but I think I was in the minority there.) Using your phone during class resulted in it being taken away.

Now I look at my youngest siblings, and everything they do is online. They submit homework through Google Classroom while browsing Instagram on the sly (Facebook is for fudder dudders), and their phones are their lives. They don't call people, and txt spk lk this is rly populr again for some reason. And teachers encourage phone use during class for certain things.

<comment><USER15> I think the turning point might be regionally dependent. I know that social media was already popular before 2008. It simply wasn't Facebook, but other sites such as MySpace, Orkut etc.

<comment> frosted-flakes I agree, to a certain extent. People were definitely on social media and used online IM (plus stuff like YouTube and Runescape), but I think the hard disconnect that occurs when you step away from the family PC is worlds away from having a phone in your pocket. These days, we're always connected.

</comment></comment></comment></comment><comment><USER16> After hearing enough of those kinds of stories, middle schools in America just sounds like a really scary place to be. Growing up in China in the 90s, I don't remember being scared all the time for being socially excluded and bullied despite being a computer nerd.

After moving to US as adult, one thing I found really challenging is navigating social environments. It is not until I started viewing it through lenses of Hollywood school dramas, some of the social dynamics start to make sense. I am amazed how stark the contrast is between being perceived as "popular" as opposed to a nerd.

<comment><USER17> Yeah - I both keep tabs and help (mostly advice comments) to my neighbors on Nextdoor.

I am constantly dismayed at not only the fact that many seem to have an education somewhere at the high school level, but also that they still seem to crave a ton of drama and other similar "schoolyard" socialization habits.

It would be humorous if it weren't for the fact that I live here with them; but that was the choice I made - I deliberately chose to own an older home that cost less than what I could afford, in a decidedly blue-collar neighborhood with no HOA so I could work on my vehicles or do other "loud fabrication activities" that I couldn't in another neighborhood.

Part of me, though, wishes I had taken the plunge and had a home built out in the boonies.

For the most part, my neighbors are nice and thoughtful, but there's a certain segment among them that I wish would just "grow up" already.

<comment><USER18> I hate this!

I had a tough time in school. I had a teacher tell me how much she didn't like me in 6th grade, and had few friends. The girl with the locker next to me threatened physical violence from time to time, but it seemed she wasn't willing to throw the first punch. We moved in 8th grade, where the new school decided I was lesbian and didn't deserve to have friends. I ate alone most of the year. (They were half right, but I didn't realize at the time).

I had hope this would go away when I got older. I was _promised_ this. Instead what I found was that it was just as bad or worse lest you fit in and just do the "adult" thing. It is now years later and I live in a different country. It took that move to ever feel like I'm accepted by folks in general.

</comment></comment></comment><comment><USER19> This isn't going away. This is our society. So how do we deal with it? How could Brian have dealt with it?

There's probably a "right" answer. I imagine something like, "leaning into" the joke by posting a response, showing you can laugh at yourself. There are PR firms that specialize at this sort of thing.

Some would say it's a shame that middle schoolers need to develop the skills of a modern PR agency. I'd say, that's just what our society is now, and as usual, (most) kids will deal with the changes much better than adults.

<comment><USER20> Collect phones at the start of school. Like France.

> Some would say it's a shame that middle schoolers need to develop the skills > of a modern PR agency.

If teachers don't care yes.

<comment><USER21> > Collect phones at the start of school

While I don't disagree with this idea at all and think it would definitely make the situation somewhat better, I also think it's naive to think that bullying would go away if kids didn't have cell phones. My (admittedly anecdotal) personal experience of middle school before smartphones and Facebook and the like was that bullying was still a pretty common thing. While taking phones away could stop one specific incident from being the source of repeated bullying, bullies will still find a way to bully even if they aren't able to keep permanent video records of various embarrassing incidents of their targets.

That being said, I think there are additional arguments for not letting kids use their phones during school hours, and I wouldn't see any problem with enacting such a policy.

<comment><USER22> Yes but bullies coudln't send video of their actions to 1000 people at once and get positive feedback from 400 of them within a few minutes. Their audience was limited to whomever happened to be around, positive feedback from an even smaller group, and the verbal rumor mill which wears out quickly. The larger audience, and the anonymous group/mob encouragement is the difference...

<comment><USER15> No. The small audience was good enough. Hell, sometimes there isn't any audience when bullies bully people and they do it anyway. And the kid that's being bullied is still an outcast in school, meaning that they don't have friends. At least if they have a phone it's possible that they might get positive interaction from people online since they don't get any from their physical surroundings.

</comment></comment></comment></comment></comment><comment><USER23> An alternate take from the earlier time:

        Now it's eighth grade and Mark has become addicted to
        making smaller kids afraid.  Sure, he needs a lot more
        'victims' to get the same feeling, but that's okay.

or

        Now it's eighth grade and Mark has become addicted to
        alcohol.  Sure, he needs a lot more
        'drinks' to get the same feeling, but that's okay.

Pretending that "the old days" weren't full of kids doing whatever it took to hit the dopamine joy-buzzer is stupid.

        Smartphones and social media have transformed students into
        creatures craving one thing: content.

The author's phone must be a truly remarkable device, what with being able to mind-control people all on its own. Here in the real world, people have transformed THEMSELVES into those creatures...

        Childhood is fleeting. It shouldn't be spent staring at a screen.

It shouldn't be spent warehoused in a school either, but here we are.

<comment><USER13> No one is talking about the phone as a physical device. The "phone" is the multibillion-dollar industry dedicated to indiscriminately making every human spend every possible second of their day 'engaging' with media out of a simple paperclip-maximizing business imperative.

This industry doesn't need to make users happy anymore than the tobacco industry makes its own customers happy - as long as the dopamine is within arm's reach they've got most people hooked so much more than tobacco ever could. But unlike cigarettes, no one can cut open a slice of your social media lungs and show you that your mind is covered in tar. And since no one dies directly of exposure, we're left trying to convey how life could have been better without the second-order effects of using the product. If your lungs don't function with all that tar, you avoid physical activity because 'you don't like exercise' (when you can't breathe anymore). And if your brain has been trained to seek fulfillment from your phone that's because 'you like using your phone more than doing other things' (when you can't think of anything else you like to do anymore).

</comment></comment><comment><USER24> Be kind to others...fast forward 10 years and imagine some authority looking into Mark's social media history. Yeah you may be a big alpha in middle school, but you'll be labeled a bully and a social pariah the rest of your life.

Heck, let's imagine advances in NLP and video processing where people automatically get labeled as bullies. Being regarded as such could be the new scarlet letter. The Internet doesn't forget.

Live by the sword, die by the sword.

<comment><USER22> Unless Instagram is gone in 10 years. Does anybody go back and look at old MySpace profiles? Are they even still around? Every single one of these platforms is proprietary, and likely won't be around very long. After the bullying is done, and the service becomes uncool, the bullied kid still suffers.

On the bright side, the bully could grow up to be a really amazing person, and and maybe won't be labelled this way his whole life.

</comment></comment><comment><USER25> Think about this:

How many times in the past 24 hours did you unconsciously check your email, browse Facebook, visit a website, or check some other app?

Do you ever find yourself looking at your phone, and not remember consciously deciding to look at it?

If you're like 90% of smart phone users, this happens to you all the time.

Sure, you can be like the 10% that doesn't fall victim to the "slot machine" psychology of the modern internet. Unfortunately, that doesn't mean the other 90% aren't going to impact your life.

I feel the quality of conversations has vastly decreased, on average, because of the intense level of smart-phone addiction that is so common now. Even if nobody is looking at their phone. ("Attention residue" is a real thing.)

<comment><USER26> >I feel the quality of conversations has vastly decreased, on average, because of the intense level of smart-phone addiction that is so common now. Even if nobody is looking at their phone. ("Attention residue" is a real thing.)

It's a continuum. I used to write letters once. I loved email when it was new ("new" where I lived and amongst my friends). Within a few years, people who once wrote me a few pages of letters would rarely write more than 2-3 lines in email. It's gone downhill from there.

</comment></comment><comment><USER27> I can't help but wonder if there's not another side to this coin.

Just as gangs run prisons to effects both bad and good, I wonder if the new norms these young cyborgs (can't live without the technology that's glued to them) don't have a silver lining about them.

Parents have a window into their kids' social circles that they didn't use to have.

The four big bullies who'd corner the skinny kid in the alley and pummel him can instantly be repelled by a 4 ounce piece of plastic. Not repelled, deterred.

This brave new world has terrors aplenty and perhaps it's not a net positive that every teenager comes preinstalled with a battery of apps. But maybe it could be a net positive and we haven't realized it.

<comment><USER28> I can't think of much more terrifying as a 14 year old than if my parents had a window into my world. And I had a great relationship with them.

I would have rather gotten beat up once or twice as a kid, and learn to handle it, than have constant parental surveillance.

Privacy really is dead.

<comment><USER29> Isn't that just a matter of having parents that respect your privacy (in other words: good parents)?

</comment></comment></comment><comment><USER30> I'm quite glad there were no smart phones when I was in middle school. There were sufficient humiliations, and I'm glad they weren't amplified outside a relatively small group.

</comment><comment><USER31> If you're interested in a movie that explores similar themes of anxiety, social media, and just trying to survive middle school, I recommend Bo Burnham's film "Eighth Grade". Its average review is 90/100 on Metacritic, and is available to watch for free on Amazon Prime:

[https://www.amazon.com/Eighth-Grade-Elsie- Fisher/dp/B07FJNMS...](https://www.amazon.com/Eighth-Grade-Elsie- Fisher/dp/B07FJNMSFN/)

<comment><USER32> > is available to watch for free on Amazon Prime

In my country it isn't possible to watch any show on Amazon for free. You have to at the very least pay to be part of a club called Amazon Prime before you can watch shows. Is it different where you are?

<comment><USER33> Isn't that what he said? If you have Amazon Prime you can watch it for free as part of your membership.

<comment><USER32> Oh ok. I was confused by the use of the word "free", which you've used as well. Perhaps it means something different to Amazon customers.

</comment></comment></comment></comment><comment><USER34> Wait, why did Brian's follower count drop? Being the kid who fell in the puddle should be boosting his follower numbers.

</comment><comment><USER35> Boy, this sure is a rosy picture of how school bullying worked in 2008

</comment><comment><USER36> My son is a 12-year-old 7th grader in a public school in Manhattan. Phones are absolutely banned in the school building, and no one wants to lose their phone. The story could happen during out lunch, but not on school property.

More generally, the school has a big focus on anti-bullying and the kids generally seem much nicer and more together than my memories of middle school.

<comment><USER37> No phones, all phones are confiscated and you never get them back is a very good policy. Likewise with knives and guns at schools.

<comment><USER38> > all phones are confiscated and you never get them back

That's an interesting concept! Here in Ontario, Canada... it's my understanding that teachers have limited ability to take phones away from students... but they don't really want to because it becomes a liability issue. Some of these phones are worth $1000 and if the teacher misplaces it or another student swipes it, the teacher can be on the hook.

If the policy is that the student doesn't get the phone back at all, that changes things significantly.

<comment><USER39> > If the policy is that the student doesn't get the phone back at all, ...

That policy is commonly called stealing -- though it probably has a more specific label under law.

Schools traditionally have been implement civil-asset forfeiture for small stuff because people rarely kick up a fuss, and the schools can quietly hand things back when they do.

But if they start taking away people's smartphones there will be push-back.

</comment></comment></comment></comment><comment><USER40> Back when I was in high school, events like someone slipping and spilling soup all over themselves would be repeated forever and ever.

<comment><USER41> My experience is the same. High/Middle schoolers (circa late 90s early 2000s) would remember every little detail if you did something embarrassing. The most notorious would usually come with a nickname to cement it.

This story is very heavily straw manned to make a point, but I can believe that social media would amplify my above experience by magnitudes, so it's not unjustified. I just don't believe that Brian would have been quite so lucky back in 2008 either.

<comment><USER42> While I can understand where you're coming it's probably much harder to brush something off that's been recorded and passed around vs. being recalled from memory.

<comment><USER41> Definitely. That's why I'd say that the power of modern technology amplifies the issues that you'd normally see in the 90s/00s

</comment></comment></comment></comment><comment><USER43> I think the problem here is that it's legal to post content of minors without parental consent on the Internet, but more specifically on the major platforms that minors use.

When my child's daycare wants to work with the local university to do a behavioral study of toddlers, they ask for parental consent to film interactions. I can decline. Actively preventing disclosure without consent is beneath the major platforms; at best, it's a checkbox at sign up.

What should the age limit be? COPPA says 13 but these platforms oppose, resist, or pay that lip service to that.

> Mark Zuckerberg, co-founder and CEO of Facebook, has expressed opposition to > COPPA and stated "That will be a fight we take on at some point. My > philosophy is that for education you need to start at a really, really young > age." [1]

Maybe that age limit should be raised to 16, and maybe harsh GDPR-style privacy fines should be assessed against platforms that fail to prevent usages that violates COPPA.

[1] [https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Pr...](https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act)

<comment><USER44> One approach would be to take the issue to individual school boards. I think it's probably initially easier to propagate prohibition of posting content of any current student as part of a school system's acceptable use policy to ever greater numbers of school systems than to go the law making route.

<comment><USER45> A better solution might be to not attempt to replicate the criminal justice system, but possibly to classify this more like a traffic infraction. Only there should never be a monetary cost, it should be a community service one for both the child and the parent.

</comment></comment></comment><comment><USER46> WTF.. Because bullying that ostracized certain kids didn't exist before social media -- that's why Columbine didn't happen?

We have got to stop this "good old days" nonsense. That doesn't exclude or excuse the real problems that social media and always being online can cause, but stop pretending that dad wouldn't have been reading the paper or rushing off to work, or otherwise disengaged from Brian in the morning, his sisters wouldn't have heard from the school grapevine all about him falling down.

How about the kinda weird, quirky kid, who finds that putting videos of himself on Youtube helps him deal with his problems, like ADHD or dyslexia? Maybe without those videos, that kid would never have the confidence to succeed in the classroom.

> Teach your children that boredom is important.

Give me a fucking break! Exactly how does that lesson go down -- I imagine it's pretty similar to abstinence-only education. Some kids will listen, and it will probably screw up their lives anyway.

Why do people think kids are a blank canvas they can paint on? Were you when you were a kid?

<comment><USER46> > Tell them to go outside and explore the real world. Childhood is fleeting. > It shouldn't be spent staring at a screen.

Because every single kid in the history of the world hasn't heard that, either from their parents, on TV, from a teacher.

</comment></comment><comment><USER47> Is middle school just a thing in the USA (I assume from the comments) or other countries too? I don't know anything about it. How many years is it, what age range? It's always the same number of years?

(Also, people from the USA use the words 'sophomore', 'freshman' etc as if they're internationally understood, I have no idea what they mean, although I've heard them many times. Something to do with middle school perhaps.)

In Australia there's just primary school (Kindergarten + years 1-6), then high school (secondary school, years 7-12), then university (tertiary).

<comment><USER48> I think there are a couple different systems. When I was in school it was primary (1-6), junior high (7-9) and high school (10-12). I think more common now is primary (k-5), middle school (6-8) and high school (9-12), but it might vary from place to place.

<comment><USER49> Middle school is either grades 6-8 or 7-8 in USA. If 7-8 sometimes called Junior High School. High School is grades 9-12

</comment></comment></comment><comment><USER50> Having lived through the 80s and 90s, this actually made me feel like today is better than before.

<comment><USER51> Really? Sounds like a nightmare to me. Why do you think it's better?

<comment><USER50> For one, life was much more violent. A kid of low status, nerdy, or kind of weird (like me) could expect physical violence weekly, if not daily. Second, parents, and adults in general, were out of the picture. I actually suspect that some parents would even enable or encourage the conflict. And, then, we lacked social support networks like kids have today today.

Kids then were still as bored as they are now. But, instead of being able to use video games and apps to get their dopamine rush, they had to rely on causing trouble (which likely contributed to the increased violence) or risky decisions. Finally, there was no where place to escape to. There were no other social options. Kids today are at least able to socialize, gather, and meet online. For instance, I'm amazed to learn about how my nieces and nephews form large social communities of friends on-line. They have rich social lives, even though some of their closest friends are scattered around the globe.

Maybe my perspective is skewed. But, if you think I'm exaggerating, at least watch a bunch of films from that period. Maybe you'll know what I mean.

I honestly expected to read this post and sympathize. But, instead, as I read the descriptions of the kids of today, I felt ashamed that I actually felt a little jealous.

<comment><USER52> Seconding all points. Having grown up in 80's Russia, this is exactly what I feel.

</comment></comment></comment></comment><comment><USER53> Middle school was hard when I was a kid. Maybe it's harder now, but it wasn't a picnic 20 years ago either.

<comment><USER54> It was _never_ a picnic and I go back farther than 20 years.

I'm not discounting new brands of terror, but propensity for cruelty is the constant--the _medium_ of cruelty is the main difference.

</comment></comment><comment><USER37> Is it legal to take humiliating films of children in private settings and publish those films globally without the consent of any of the parties? Or would the person posting, and the company distributing the film be liable for criminal acts?

Perhaps this could be solved with a series of criminal and civil prosecutions.

<comment><USER29> I can't speak for US law but I'm pretty sure it is (it is in my country afaik).

However, I can imagine it's close to impossible to execute if you don't know who posted the material or it has been reposted like in the article.

</comment></comment><comment><USER55> Wow, the bullies these days just mean-post on social media? In my day they'd pull knives on you.

<comment><USER22> No. They pull a knife on you now, while their friend films it and posts the video online of you crying afterwards.

</comment></comment><comment><USER56> Yeah, I was in High School around 2008. Facebook was already a thing, as was obsession over followers. Smart phones had been around for a bit, many kids had them and had their phonest as had Twitter and a few other things.

Middle school just kinda sucks. It was easily the worst period of my life, and I don't think that's a rarity in America.

</comment><comment><USER57> My parents moved a lot. Every couple years. They were some sort of diplomatic staff. But just exactly what they did was never very clear to me.

But anyway, I was always the new foreign kid. Some times were good, and some were bad. But stuff didn't follow me from one place to another.

I wonder how that would work out now.

</comment><comment><USER58> My anxiety disorder kicked off around the age I realized I was too old to be that shy - about 7th grade in early 90s.

I don't know what I would have done if reality back then was anything like the second half of the story and not the first. I'm grateful it wasn't at least.

</comment><comment><USER59> American Vandal Season 2 digs into this topic a bit. I'm sometimes caught off guard by how deep that show goes in such a comical manner.

</comment><comment><USER60> There's different times today, people want to be famous, a viral video might launch a career.</comment>