Private Internet Access VPN Not Routing via UK Due to Investigatory Powers Bill - <AUTHOR> Since yesterday if I try to connect via the UK it actually connects via the Netherlands, has this affected anyone else? See below an email response to my query:
"As you may have noticed, our UK servers (London and Southampton) are currently listing Netherlands IP addresses.
This is part of initial changes we have enacted on our network in response to the Investigatory Powers Bill which passed Royal Assent on 29 November 2016.
We will send an email in the near future detailing our response to the Investigatory Powers Act, including the steps we are making moving forward, but at this time I cannot release any further information.
I apologise for the limited information at this time, but please be assured that we are taking steps to ensure your privacy and security are maintained." <comment><USER2> Ah, interesting. Nice to see them being proactive about it. I just assumed it was outdated Geolocation from IP changes.

I find I'm more annoyed by sites _assuming_ I want Dutch over Samsung USA than sites that ask if I'd prefer...

<comment><AUTHOR> It is good that they are being proactive about it, but a UK option is one of my requirements, I'm currently looking for an alternative provider that will still route via the UK, is priced competitively and has a Linux client.

</comment></comment><comment><AUTHOR> OK they have now changed this back, so UK connections are now valid. I'd edit the title of this to avoid what is now incorrect, but I can't.</comment>


Zed's "One Battery Review" of Django - <AUTHOR> http://www.zedshaw.com/blog/2009-03-20.html

<comment><USER2> As a huge fan of Django, Python, and both communities I would like to point out a few more things:

\- Always track the trunk, there's really no compelling reason not to. It's always extremely stable and full of new features you won't find in the tarball release.

\- The ORM is good for simple things, but you may find yourself needing to write SQL if you're doing anything complicated. In reality this probably applies to any ORM, though. Even though people ignore it.

\- Caching is built-in, effortless, and awesome.

\- The template language is intentionally crippled in various ways to keep you from "doing too much" in them. Thankfully Django is modular enough to allow you to drop in a more powerful replacement if that's your thing.

\- Django is basically retarded when it comes to multi-processing environments and should not be considered even remotely thread-safe. I mean it. Copious use of locks can _usually_ keep transactions from walking all over each other, but your mileage may vary.

\- If you want some piece of functionality or add-on or whatever, chances are somebody has already written it. Check djangoplugables.com and djangosnippets.org before wasting precious cycles.

<comment><USER3> Good point about ORM for any framework. Eventually you'll have to write SQL, so why use the ORM in the first place?

</comment></comment><comment><USER4> I didn't find Zed's review much of a review at all. He doesn't go into a lot of what's going on under the hood which would really take more than one battery but is typically more Zed's style.

What Zed does talk about are the conceptual things that make Django appear good on paper like reusable applications and he also likes Django's tip of the hat to Jazz. It's too bad he doesn't talk about stuff like the crazy ORM that Django has which seems to be the least Pythonic ORM out there, or whether or not Django handles string encodings well, caching, etc. That's the kind of detail I've enjoyed from Zed's previous reviews... err... rants. Hopefully we'll see some more substantial review in the future.

<comment><USER5> He actually makes it quite clear that this is a superficial overview.

</comment></comment><comment><USER6> Damn. The day after I claim he's been doing nothing for the past year, he goes and posts a fairly interesting review of django.

Now, lets quote Zed:

"Read it, and take it as a chance to discuss pseudo-macho speech online, and whether you really are only listening to perceived strength rather than reason."

I did some searching, and the highest ranked similar post I could find is this one which currently has 31 points:

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

Want to bet this article gets more points? :)

<comment><USER6> 39 points within an hour or so. I'm not really sure what to take from this tbh.

</comment></comment><comment><USER7> I really like the idea of measuring writing in laptop batteries. Start writing, unplug the laptop, when it's about to die, wrap things up.

<comment><USER8> My laptop battery only lasts about 25 seconds. Microblogging it is!

</comment></comment><comment><USER9> emacs is actually awesome for Python programming. For easy Python coding, just add the following to your .emacs file:

      (setq-default tab-width 4)
      (setq-default indent-tabs-mode nil)

Also get ipython.el -- very handy. My .emacs is here for your reference: <http://github.com/ki/my-dot-emacs/blob/master/dot-emacs.txt>

<comment><USER10> Anybody have a good .vimrc file for Python, or thoughts on customizing vim for Python?

<comment><USER11> Use the indentation script pointed to and explained by this article: [http://henry.precheur.org/2008/4/18/Indenting_Python_with_VI...](http://henry.precheur.org/2008/4/18/Indenting_Python_with_VIM.html)

It is better than the default vim python autoindentation behavior.

</comment></comment></comment><comment><USER12> No. 1 thing about Django that annoys me(1) is that the Admin-interface, in all it's awesomeness isn't modular and pluggable. I want to put CRUD+filtering lists on the non-admin part of the site, and can't seems to find a non-hacky way of doing it.

(1) The list thins out a lot after than. I agree with Zed that the apps-in-a- site structure is very cool.

<comment><USER13> Do you know about generic views? <http://docs.djangoproject.com/en/dev/ref/generic-views/>

...and ModelForms? [http://docs.djangoproject.com/en/dev/topics/forms/modelforms...](http://docs.djangoproject.com/en/dev/topics/forms/modelforms/)

In my experience, "simple CRUD" often gets complicated by permissions or other special cases, but generic views and modelforms are useful tools for hammering out a lot of the basics very very fast. Both of them allow for some degree of customization, but should be helpful in achieving what you want.

</comment></comment><comment><USER14> That was pretty much my first impression of Django as well, and I bet it's the impression they want to leave.

The reality doesn't really hit home for a few weeks. Django gives you all sorts of really cool stuff right out of the box that does nearly everything for you. The problem comes when you want to do something just that little bit different, and you find yourself unrolling every single piece of it one-by-one as you discover that these pieces don't fit your needs exactly.

I also found myself baffled by the terrible decision to make everything revolve around function calls rather than a Request and Response object. No matter what happens in your page flow, you still need to return a HttpRequest object at the end of the day. No more Response.Write();Response.End(); from any point. You need to have every bit of code capable of returning in a way that triggers the thing above it to return in a way to trigger the thing above it to return a HttpRequest object. Makes debugging a serious pain.

So yeah, if you're doing a simple CMS for a media site (which is what they wrote Django to do), it rocks the house. If you're trying to do any heavy lifting, it seems to fall apart pretty fast.

I don't think I'd use it again.

<comment><USER15> > No matter what happens in your page flow, you still need to return a > HttpRequest object at the end of the day.

I think you mean HttpResponse object. We must use Django differently (Do you use templates and contexts?) I don't understand what you are saying in your bafflement paragraph. And your evaluation of good for simple but not for heavy lifting is the exact opposite of mine. I love Django cause it makes the simple, simple and and the hard, possible.

Each view function takes a Request + parameters and returns a Response. Simple, consistent, and flexible. Easy to write decorators. Easy to reuse view functions, easy to compose view functions from parts. Easy to ditch the whole thing and roll your own.

Django is extremely well decoupled. It comes with all sorts of batteries included but it's very easy to take out a battery and use your own. Templates, storage, url routing are all easily replaced. Apps can come and go, middleware can come and go. And most the functionality admin/auth/caching/templates/storage backend/sessions/etc are split out into apps and/or middleware so it's easy to replace/extend if you need to do something special. Recent releases have made even made the admin much easier to customize without wholesale replacement.

I've even used Django for non web apps. I didn't have to do anything particularly special. It just worked.

P.S. If you think "media"/newspaper sites are simple, you don't know newspaper sites.

</comment></comment><comment><USER16> very good overview. i have been learning and utilizing django in most recent project and generally liking it as well. the things i like the most are the orm, and the modular application architecture is truly potent. missing however - and some would have the opposite feeling - the greater opinionation of rails ... i for one welcome a crystallized project structure. my rails projects still read so elegant, clean, and paired down comparatively.

</comment><comment><USER17> > At this point, the only warning I've received is that deployment is hard, > but then, deployment is hard with every web application once you start > getting serious.

I have 5 django sites running at the moment and can't say that there are any deployment issues I came across. And its only getting better now that we gonna probably see "multi-database" support I'm guessing in ver 1.2

</comment><comment><USER18> We recently switched to Python at work (and personally, I have a few projects at home as well).

We opted to go with the web2py framework at work but I have been giving Django a long, hard look for some of my personal work.

<comment><USER19> Be sure to take a look at Werkzeug ( <http://werkzeug.pocoo.org/> ) - we've had great success with a Werkzeug, jinja2 and SQLAlchemy setup.

</comment></comment><comment><USER20> Is there a Rails equivalent to "The Admin"?

<comment><USER21> Not really. There have been several attempts since 2005 to create Super Auto- Scaffolding (streamlined, ActiveScaffold, and several other generic names that I don't remember, like "Ajax Scaffolding"). These aren't identical to Django's admin, but they could serve a similar purpose.

For all of its innovation, I'm a little surprised that the Rails community hasn't put together a quality solution for this problem yet. I assume the ORM differences are a part of this - Django's ORM (I think?) defines the schema in the application, while ActiveRecord gets this from the database directly. But does that really make a Django-style admin impossible with ActiveRecord?

</comment></comment><comment><USER22> Zed writes:

> Now, I know that when I drop the f-bombs and do crazy shit like disagree > with people they get their panties in a bunch and call it trolling

Actually, no, folks DON'T tend to take simple disagreement as trolling.

However, it's crucial to Zed's self image as an "outlaw rock-and-roll biker" that his opinions not be accepted, and that he be a renegade, so he has to remind us each and every time he posts "hey, look at me - I've got an opinion. Isn't that just so DARING of me?"

Yawn.

<comment><USER23> You actually missed the point entirely, where Zed's saying that he _doesn't_ want to piss people off but that he still thinks "fucking" is a necessary descriptor to announce his emotions.</comment></comment>


Taming Advanced Compilation bugs in ClojureScript projects - <AUTHOR> https://dev.solita.fi/2020/06/25/taming-cljs-advanced-compilation.html <comment><USER2> Oof that XR bug was a rough one to run into. If you're a small startup trying to move fast with CLJS, these kinds of impedance mismatches between GCC/CLJS/browser versions can be both hard to track down and a time killer to fix.

I really like CLJS, when it works it really feels like you have superpowers - immutable data structures and higher order functions being idiomatic in Clojure makes Reagent more ergonomic than React in vanilla JS.

Additionally the Clojure philosophy of embracing the host makes interop feel quite ergonomic when you do need to duck down into JS.

That said, I wouldn't say that the CLJS->JS compilation is watertight (especially with advanced compilation turned on) and in any non-trivial project you will run into issues as outlined in this blog post. Once you are familiar with the stack most the problems fall into a set of predictable buckets (like the ones mentioned in this article) but debugging them for the first time can be gnarly.

CLJS is not a tool you can use blindly without knowing how it works IMO. But maybe that is true of the modern JS stack itself as there is a lot of churn in JS too.

That said for server-side CLJS we had success turning off advance Closure compilation as package size isn't as much of an issue

<comment><USER3> > we had success turning off advance Closure compilation as package size isn't > as much of an issue

I always thought that package size was just one of the benefits of advanced compilation. It also does other nifty things, like automatically unrolling loops, inlining functions, etc. Those have actual benefits on runtime performance don't they?

<comment><USER4> It depends. GCC (the Google Closure Compiler) indeed does some transformations that will improve run-time performance, but it is not its forte, and definitely not its primary goal.

In the benchmarks of Scala.js [1], another compiler that uses GCC behind the scenes, we have shown that:

* the GCC optimizer alone often introduces performance improvements (not always, and sometimes it _worsens_ performance)

* our optimizer does better than GCC on its own

* the combination of both does not improve over using only our own optimizer

Scala.js uses GCC essentially for its code size improvements, not for its impact on run-time performance.

[1] [https://www.scala- js.org/doc/internals/performance.html#in-p...](https://www.scala- js.org/doc/internals/performance.html#in-production-mode-fullopt)

</comment></comment></comment><comment><USER5> Have you tried shadowcljs? Its default (:shadow) option is to use advanced optimizations only on your code; it will not run advanced optimizations in libraries but will include them minified. For me, this has struck a good balance and delivers consistently small and dependable bundles.</comment>


What the Hex? - <AUTHOR> http://yizzle.com/whatthehex/ <comment><USER2> I'm sorry, I couldn't resist:

      var result = $('#target').text();

      $('#' + result).css({'background' : 'black', 'color' : 'white'}).text('me');

</comment><comment><USER3> Pretty fun. I can usually get the colour right but the brightness/saturation usually catches me out.</comment>


Ask HN: International LGBTQ group for tech industry employees? - <AUTHOR>

Do you know if there are any LGBTQ groups for workers in the tech industry? There are some national (eg. http://www.intertechlgbt.com/ ) but I haven't managed to find something with a broad geographical target (eg. European or International). It doesn't have to be an organization, a mailing list or a social media group is sufficient.<p>If not, is anyone interested on starting something? (Nothing too fancy , I guess a mailing list would be sufficient given a small number of participants). <comment><USER2> This is a small mailing list, but people there can give you some ideas:

[http://lists.hackerspaces.org/mailman/listinfo/equality](http://lists.hackerspaces.org/mailman/listinfo/equality)</comment>


Show HN: Volument – A new take on website analytics - <AUTHOR> https://volument.com <comment><USER2> I wish there was a lower price brackets for smaller side projects / app etc. Something like a "pay-as-you-go" sort of price, as in, 50$ per 10000 views but not capped to a month. I think your approach works a lot with the sort of philosophy from the lean startup etc, but that sort of philosophy encourages to put products to the public with very little user and focus on quality. If I make a side project that brings me 100$ a month, paying 50$ for analytics seems too much. Also, the sort of user that do such side / small projects might end up championing your products in their main job if it's nice.

<comment><AUTHOR> I can hear you. Volument is indeed built with startups in mind and we're going to start with the current pricing. Let's see what the future holds.

<comment><USER3> Is the company sustainable at only $50/month?

</comment></comment></comment><comment><USER4> Hey everyone. We built this thing over the past few years after realizing that we could not really understand from traditional analytics how our visitors truly behave and convert. We wanted to measure the AIDA funnel (awareness -> interest -> desire -> action) that all the marketing books and growth essayist talk about, but not truly applied to analytics. We have implemented this together with a couple of customers and it is now ready for the public eye.

Happy to hear your professional feedback.

Thanks!

<comment><USER5> I would have put a volument solution dashboard applied to the volument website itself somewhere prominent to demo how it works, plus if it's real time enough it would be ultra cool to see change while I browse the website (for example if it floats somewhere ? I'm really bad at UI ^^).

On the current state, I left the website after a short reading session (~3 minutes) and I'm really unsure what is it you're selling exactly !

<comment><AUTHOR> In short: we're selling analytics that is specifically designed for conversion optimization. Right now you are forced to use a bunch of different tools to get some vague idea whether your website updates were genuinely good or bad.

We see the temptation for real-time analytics and could possibly that for marketing or entertainment purposes. However, the real value in Volument comes from the data that is aggregated from the longer term visitor behavior. How many returned after the first visit? How many re-returned? Which market segments are engaging the most? Who brought the most traction? Believe it or not, the current analytical tools fail to give answers to these basic questions. This is because their internal data model is not designed to answer these questions.

We have tried our best to explain the product in these "Problem" and "Solution" articles:

[https://volument.com/learn/problems-in-standard- analytics](https://volument.com/learn/problems-in-standard-analytics)

[https://volument.com/learn/how-volument- works](https://volument.com/learn/how-volument-works)

<comment><USER5> I read both pages, and I think they do a very good job of explaining the problem part. I don't think they do as good a job of explaining what exactly is the value Volument brings.

As an other commenter pointed, it's not clear whether the images in [https://volument.com/learn/how-volument- works](https://volument.com/learn/how-volument-works) are actual screenshots of the product running or just there to clarify the points, and if they are not screens of the product I'm left with no screen of what exactly will be the product.

To me, it does feel a bit like when you're interviewing someone for a position, and they're not able to really separate their own contribution from what their team achieved.

Just my 2 cents though, I wish you the best :-)

<comment><USER4> We tried our best to explain the value of Volument on the features page:

[https://volument.com/features/](https://volument.com/features/)

The solution page just explains the technical details. We mostly use abstract images when explaining things. The demo works like the product works.

Thank you for the feedback! Definitely valuable and something to take insights from.

</comment></comment></comment></comment></comment><comment><USER6> I think the good ideas that make the product compelling and innovative are hidden too far away from the elevator pitch. Measuring engagement after the page has loaded rather than before is an extremely good one.

This you can do with other solutions but most people don't bother, even if they are SEO experts.

I think some fettling is needed to reach decision makers with a pitch that they can understand assuming goldfish attention spans, then you could be on to a winner.

<comment><USER7> I actually like that their approach isn't like your typical SaaS website's where there's only buzzwordy elevator pitches and it's impossible to find out what the product is actually about.

Here I take 5 mins, read through "The problem" and "The solution" pages and feel treated like an adult.

<comment><USER8> I like it too and this site is beautifully created to that effect. I find it inspiring for our site. I only wonder if perhaps it's an approach that speaks more to techies.

</comment></comment></comment><comment><USER9> I thought I would share my experience signing up for your product in case you find it helpful.

I'm actually shopping right now for a solution for conversion optimization and lead attribution for our website (www.facetdev.com). I read almost every page of your site, but it was still not clear how your product works and what it does. I signed up anyway to give it a shot.

Sign up experience went smooth. After I completed the sign up process, and installed the snippet, I ended up on the Team page. I wasn't sure where to go next. I clicked on Traction and it took me to some demo website date for Acme. I tried to use the team drop down to pick my website, but it wasn't listed there. I tried for 5 minutes to find my website, refreshed the page, clicked other links, etc.

The 7th or 8th time I clicked Traction it took me to a blank page. Then a page with two empty sections that say Not Enough Data. It still says that now. I'm not sure what I'm supposed to see in these sections. I don't know what "Market traction" means.

I couldn't really tell how the product worked before signing up and I'm more confused now. Rather than telling me "Not enough data", maybe tell me what I should expect to see here and when? The behavior page is also presented without explanation. The "Changes in Behavior" panel has some stats at the top that don't make sense to me.

My feedback is that you are introducing too many new concepts for me - terminology is new, data visualizations are new, app layout is unusual, the settings tab/flyout on the right is unusual, and the app is blended with your marketing website.

If your product does what I think it should do, the pricing is good, maybe a little low.

Hopefully this is helpful!

<comment><USER4> Thank you for the feedback! We take these points seriously since they are critical. Especially the issues on the onboarding flow. The main problem currently is that the product leaves you in rather confusing state after installing the embed code. We will fix that next.

Your other points are also valid and will be addressed. I really like Hacker News — hard to get this valuable feedback elsewhere.

Thank you "rsweeney"!

</comment></comment><comment><USER10> Looks cool! Love the focus on "goal/conversion optimization". Would you be interested in building an integration w/ Segment? We can highlight you in our Catalog, this way 19,000+ Segment customers can discover and try your tool with just one click. Let me know, I'm at sudheendra [@] segment.com

<comment><AUTHOR> We certainly are. We will first cover all the issues mentioned on this thread. We want to focus on building a solid, reliable software instead of acquiring tons of people.

Thanks for the opportunity!

</comment></comment><comment><USER11> Seems a bit expensive to me. How do you justify the high prices compared to other analytics tools?

<comment><USER4> We hear mixed voices. Most people seem to think $50/month is cheap for a small- and medium-sized company (with lower volumes).

For bigger sites Volument is indeed more expensive than Mixpanel for example, but we justify that with providing data that helps them do more of those valuable conversions.

And Heap Analytics is much more expensive for bigger sites than Volument.

<comment><USER12> I have some side-projects that have a few pageviews a day and make a few dollars a month. They would be a perfect way for me to try out your service and keep it in mind for larger projects or work, but I don't want to spend $50 when that's many times my monthly revenue.

Maybe it would be a good idea to have a free tier for something like 1000 pageviews per month? Just an idea.

<comment><USER13> I second this. I'd love to try it out on some low-volume side projects before recommending it to some of the larger sites I work on.

</comment></comment></comment></comment><comment><USER14> The design is wonderful, I love it.

</comment><comment><USER15> I'm getting an error when I attempt to "set up". I don't see anything until I open the JS console:

"/api/validations:1 Failed to load resource: the server responded with a status of 500 ()"

It looks very compelling!

<comment><AUTHOR> This is now fixed. Thank you for reporting this critical bug!

</comment></comment><comment><USER16> I've seen a sneak peek before and learned that things evolve pretty quickly at this point :) Cannot wait to see where all this goes, congratz on the release!

</comment><comment><USER17> Love the product concept and the problem / solution descriptions. I am not your typical customer though as I was already aware of the limitations of existing solutions.

I just signed up for this and set it up in our website. I have a couple of questions: \- Is the analytics realtime or does it take time to process events? \- Is there minimum data threshold that is needed before anything shows up in the dashboard?

<comment><AUTHOR> Currently the views are generated once per hour. Everything in Volument is based on aggregation, ie we look how much "traction" is generated in the first 1, 3, 7, 14, or 30 days (based on your ability to retain visitors). All that important information is not real-time.

We see the importance of real-time tracking on the initial onboarding phase so that it's easier to debug things and see the potential setup errors.

We're just getting started so not everything in place yet.

Thank you!

</comment></comment><comment><USER18> Nice design and looks promising! greetings from Finland!

</comment><comment><USER19> We definetly need analytics toools like volument.com! Great job and what a design! Keep up the good work

</comment><comment><USER20> One important point that I don't see anywhere on the website is if to use this service do I need to add a GDPR banner? Does it use personal user data (like an identifiable number for each user) ?

Because if it does, I need to add a GDPR banner and opt-in mechanism, which I don't want. It is possible to do funnel analytics without using PII, and I'd like to know if Volument allows that (without their Tracking conversions feature obviously).

<comment><AUTHOR> This is an important point and needs to be addressed on our site. Volument client stores an unique client id to localStorage, and I'm _pretty sure_ GDPR banner is needed for that. We're investigate and extend this document about the topic:

[https://volument.com/learn/user-privacy](https://volument.com/learn/user- privacy)

Thanks for pointing this out.

<comment><USER21> FYI on that page the text is too thin, it is hard to read. Removing the font- weight: 100 CSS rule fixes it.

<comment><AUTHOR> Crap.. Which page and what browser? Thanks!

<comment><USER21> [https://volument.com/learn/user-privacy](https://volument.com/learn/user- privacy) on Firefox

</comment></comment></comment></comment></comment><comment><USER22> Looks like an interesting new product. I will test it out!

</comment><comment><USER23> pedantic note: shouldn't "No analytics is like Volument" be "No analytics _are_ like Volument." ?

<comment><USER24> Perhaps not, according to Wikipedia anyway.

[https://en.wikipedia.org/wiki/Analytics](https://en.wikipedia.org/wiki/Analytics)</comment></comment>


Falsehoods programmers believe about addresses - <AUTHOR> https://www.mjt.me.uk/posts/falsehoods-programmers-believe-about-addresses/ <comment> fbi-director Quite a long and comprehensive list. Let me tl:dr for the readers here:

\- there are no adress conventions that cover each and every address throughout the world, or even the western world, or even the English speaking countries, or even the UK (article focuses on UK a lot)

\- just save whatever the user enters as a (long) string and pray its a real adress, if not they'll be complaining because they didn't get your mail or product

\- allow users to have more than one address, and let your system send mail to all addresses if there are indeed multiple entered by the user (to accommodate, for example, divorced parents that both want to get doctors notes)</comment>


Jitsi's Emil Ivov on scaling up during a pandemic - <AUTHOR> https://portswigger.net/daily-swig/it-was-quite-a-ride-jitsis-emil-ivov-on-scaling-up-the-video-conferencing-platform-during-a-pandemic <comment><USER2> "I would say that we started this project very much with a technology mindset and focus on technical problems," Ivov told The Daily Swig. "If I were to start over again, I would worry significantly more about use cases and about how real people could use the technology."

This was buried at the end yet is arguably the most interesting part, worthy of its own article. Scaling up cause you used a cloud infrastructure is old news. Details on product vs engineering lessons is timeless.

<comment><USER3> Every technology faces that problem - you get a huge influx of users and the numbers say you have to start making it possible for non-technical and inexperienced users.

The problem is usually that when software nowadays gets popular, business people get involved and start messing with the secret sauce that is responsible for the popularity.

The sentiment behind his words seems to be "I could have been zoom", and that kind of thinking may lead him to think he should compromise the core values (that are driving people from zoom to jitsi in the first place).

<comment><USER4> There's going to be a large number of video conferencing apps and startups over the next few years as we settle in with distance learning and remote work. Zoom and meet are the bare minimum but not optimal.

</comment></comment></comment><comment><USER5> There's a chapter on Jitsi by Emil Ivov[0] in "The Architecture of Open Source Applications" book.

[0]: [http://aosabook.org/en/jitsi.html](http://aosabook.org/en/jitsi.html)

<comment><USER6> Note that this is the Jitsi desktop app, which is not the same as Jitsi Meet (the web-based videoconferencing site that people are more likely to use today).

</comment></comment><comment><USER7> Anyone ever get jitsi to stay connected? We use Google meet daily but it's still half baked, we actually liked jitsi but could never keep it from dropping

<comment><USER8> I've tried it for calls with a few people and didn't have a lot of connection related issues. If you're able to, you could self-host a Jitsi Meet instance at any cloud service provider with a geographically closer presence to you. I've been thinking of doing that but haven't tried it yet.

Jitsi Meet does eat up phone/tablet batteries a lot and also causes a lot of heating. I guess it could still be optimized further to handle these better (improvements to the client and platform have been pushed all these months too).

<comment><USER9> I have it running on a 1cpu 1gb Ubuntu vps add can hold twenty or so people (audio only) at 15-40% cpu. (We're audio only because not everyone has good internet connections, and makes things run smoother). It's stable as a rock. Very impressed. The odd person will turn on video for no appreciable deficit to the rest, or the server.

</comment></comment></comment><comment><USER10> Brave recently released Together, which uses Jitsi. Wish we could see a bigger push towards staying off Zoom and Meet. Seems like Jitsi, Together and others can provide solid alternates to Zoom - just a matter of getting users to care enough to switch.</comment>


Just for fun: linux print fabrics by the yard - <AUTHOR> http://www.spoonflower.com/shop?type=&view=designs&shop=fabric&q=linux&x=-679&y=-8

<comment><AUTHOR> I work in a hospital and occasionally have need of a scrub cap, but didn't want digi-cami like every other military doc. found this, hell yes.

Anyway, thought some other folks around here might have a use for such a thing, and, hey, I didn't see any python, or BSD, or ... So, more designs need to be send in my friends. Get on it!</comment>


Embedding Objective-Smalltalk - <AUTHOR> https://blog.metaobject.com/2020/05/embedding-objective-smalltalk.html <comment><USER2> This brings to mind an expression I wanted to have put on a T-shirt around 1997:

On the front: The more I use Java On the back: The more I love Smalltalk

This was while I was in the middle of writing a compiler front-end and a code generator for a JVM. I decided to write the compiler in Java (eat your own dog food), and the exact kind of do. every. step. at. a. time. in the example here made me long for select: []

</comment><comment><USER3> It looks a lot like functional code actually. I used to do this stuff with F# and Elixir. Arrows are quite effective to point out where the data is going.

<comment><AUTHOR> Yeah, this is mostly OO code, and good OO code tends to be not all that dissimilar to good FP code.

You might find Gilad Bracha's talk interesting:

[https://www.infoq.com/presentations/functional-pros- cons/](https://www.infoq.com/presentations/functional-pros-cons/)

</comment></comment><comment><USER4> "both without a hitch and the latter shrugging of a Hacker News "Hug of Death" without even the hint of glitch."

Not an easy feat, indeed. Respect !

</comment><comment><USER5> Got a bit feel of Objective C. Related?

<comment><AUTHOR> Did the name give it away? :-)

Yes, as the peer comment noted, the "Objective" part of the Objective-C hybrid language was modelled after Smalltalk.

If you need more information about how it all connects, you can check out

[https://blog.metaobject.com/2019/12/the-4-stages-of- objectiv...](https://blog.metaobject.com/2019/12/the-4-stages-of-objective- smalltalk.html)

and

[http://objective.st/](http://objective.st/)</comment></comment>


Different approach to form protection - <AUTHOR> http://friedcellcollective.net/outbreak/2011/08/05/form-protection/

<comment><USER2> I've done this on a couple well-visited client sites and it worked incredibly well. The best part is that it's super easy to add an invisible "email" field to a form and check if it has any content on the backend. By far the best bang for the buck.

I'm fairly sure I first learned this trick from Chris Shiflett's blog[1] a few years back, although I can't seem to find the original post.

1: <http://shiflett.org/></comment>


Canonical Redirect Pitfalls with HTTP Strict Transport Security (2010) - <AUTHOR> https://coderrr.wordpress.com/2010/12/27/canonical-redirect-pitfalls-with-http-strict-transport-security-and-some-solutions/

<comment><USER2> It looks like all the problems raised would be solved by using the option includeSubDomains in the HSTS header on paypal.com</comment>


Vector successive insertion much faster than list - <AUTHOR> http://alecbenzer.com/blog/2011/08/02/vector-successive-insertion-much-faster/

<comment><USER2> As with everything, it depends. If you have large data structures then the overhead of a vector's over-allocation and eventual copying (possibly multiple times) might be an issue.

<comment><USER3> I'd love to see where the crossover point is on different architectures...especially when the size of the collection is just over the CPU's L1 cache size. I wonder if the vector's 1-or-many cache miss(es) would exceed the cost of the list's guaranteed-one-or-two cache miss(es).</comment></comment>


California drought most severe in 1,200 years, study says - <AUTHOR> http://www.latimes.com/local/lanow/la-me-ln-california-drought-worst-20141205-story.html <comment><USER2> It's bad, but California has the California Water Project, a huge collection of dams, reservoirs, and aqueducts built in the 1960s, to store water and move it around. Here's current reservoir status:

[http://cdec.water.ca.gov/cdecapp/resapp/getResGraphsMain.act...](http://cdec.water.ca.gov/cdecapp/resapp/getResGraphsMain.action)

Levels were slightly lower in 1977, but the population of California was 16 million people lower then. The California Water Project was designed to store enough water to get through 3 years of drought. We just finished drought year 3. (The water year ends Sep. 30, before rainy season starts.)

San Jose has a new sewerage treatment plant so good it can be used to provide drinking water. It just came on line last summer. Right now, it's just being used for irrigation and recharging ground water, but if things get really bad, that backup is available. ([http://www.mercurynews.com/science/ci_26160300/california- dr...](http://www.mercurynews.com/science/ci_26160300/california-drought-san- joses-new-high-tech-water))

So, yes, extensive preparations for this were made a long time ago.

Rain so far during this water year, starting Oct. 1, is slightly above normal.

<comment><USER3> Population has little to do with it. 80% of water is used by agriculture. The climate isn't helping, but actual water shortages are entirely manufactured by an industry that feels like it's infinitely entitled to grow plants in the desert.

<comment><USER4> To be fair, it's because they're feeding a population that feels like it's entitled to low cost food. Because we've never had to pay the true environmental and resource costs of our food.

</comment></comment></comment><comment><USER5> This drought seems pretty awful, and water resources in a lot of places in the US seem threatened by issues (either natural or man-made), which makes me wonder:

What if we were to build a bunch of desalination plants and just start pumping water into aquifers or something of the sort? Are there major issues with desalination on a large scale?

<comment><USER6> >What if we were to build a bunch of desalination plants and just start pumping water into aquifers or something of the sort?

If you're talking about conventional fossil fuel desalination, I invite you to do the energy audit on that activity. If you're talking about solar desalination in industrially-manufactured greenhouses, I invite you to do the energy audit on that activity. Don't forget to account for the energy- opportunity cost of land use.

I know there's a lot of hype surrounding desalination here, but a centralized energy-sucking plant (owned by the ultra rich naturally) is a counterproductive business-as-usual non-solution.

We can get a net-positive energy audit by redesigning our agricultural and storm water management. Right now they're designed with exactly the wrong goal in mind — shunt rainwater to the ocean in big straight hardware as fast as possible. This maximizes runoff instead of infiltration, so we're simultaneously preventing aquifer recharge and necessitating aquifer pumping by drying out the soil.

"Keyline" design—a method of cheaply altering landform to soak water—is probably a good start for these new infiltration maximizing strategies, but this is by no means a solved problem.

In California, like any desert, the name of the game is minimizing evaporation. This means all of the above, plus shading (e.g. date palms), sunken beds, buried drip irrigation, and dew/rain harvesting strategies like land imprinting.

Proper rainwater management is the lazy hacker's desalination. :D

<comment><USER7> Yeah I was wondering if our storm-water sewage system is sucking the water out of our lands. But how much does this really matter? There would have to be some analysis of these systems vs land with no such system vs where they are to rain sources etc.

<comment><USER8> The city live in (Maplewood MN) recently built rain gardens in our neighborhood for catching rainwater.

They are basically deep pits filled in with gravel with slightly sunken garden on top. The water runoff from the street is diverted into them where most of it is absorbed into the ground.

[http://www.bwsr.state.mn.us/images/ww- box.jpg](http://www.bwsr.state.mn.us/images/ww-box.jpg)

[http://1.bp.blogspot.com/-31kb5tVYmJU/Ub9T22Hgy_I/AAAAAAAAAv...](http://1.bp.blogspot.com/-31kb5tVYmJU/Ub9T22Hgy_I/AAAAAAAAAvI/_TMboIzREK0/s1600/merge1.jpg)

[http://1.bp.blogspot.com/-VLZpvg9e-H8/UbY86YdLjzI/AAAAAAAAAn...](http://1.bp.blogspot.com/-VLZpvg9e-H8/UbY86YdLjzI/AAAAAAAAAn0/gUv7kV1HjCA/s1600/2466+East+7th+St..jpg)

</comment></comment></comment></comment><comment><USER9> In the meanwhile, conservatives have "experts" like Anthony Watts to come and say that not only are we not in a horrible drought[0], but that our recent showers[1] are proof that the alarm over the drought is just part of the global warming conspiracy[2].

So, if you were wondering how conservatives in good conscience can oppose efforts to deal with climate change, here's one of the reasons. They have their own experts from a bizarre alternate universe, where they start with the same data but conclude that everything is opposite.

[0][http://wattsupwiththat.com/2014/11/22/worst-drought-in- calif...](http://wattsupwiththat.com/2014/11/22/worst-drought-in-california- history-not-really/) [1][http://wattsupwiththat.com/2014/12/04/the-perfect- storm-cali...](http://wattsupwiththat.com/2014/12/04/the-perfect-storm- californias-record-breaking-december-super-soaker/) [2][http://wattsupwiththat.com/2014/11/23/people-starting-to- ask...](http://wattsupwiththat.com/2014/11/23/people-starting-to-ask-about- motive-for-massive-ipcc-deception/)

<comment><USER10> I like your approach, but let me see if I can get you to question some of your beliefs. First, Watts is actually only the author of your second link, the other two are guest posts by two other authors. I won't try to rehabilitate Watts, as he's likely already too tainted in your mind, but I'll guess that you don't yet have strong opinions about the other two. Please consider how well they fit the image that you have of them based on the articles you read.

The first piece was written by Robert Moore ([http://www.nrdc.org/about/staff/rob- moore](http://www.nrdc.org/about/staff/rob-moore)). Personally, having looked at the actual paper, I thought his article was more accurate than most of the media coverage. Moore does not "oppose efforts to deal with climate change". To the contrary, he's an analyst with the National Resources Defense Council (NRDC), which is one of the largest, staunchest and most effective environmental groups in the US, and lists "Curbing Global Warming" on the top of it's list of priorities. If you look at Moore's credentials, I think you'll be positively surprised -- he's legitimately an expert, and unquestionably an environmentalist.

The paper uses a very specific definition of "worst drought". It's a reasonable and defensible one (cumulative deficit on the PDSI scale), but it's probably not what most people would guess. As Moore says, the paper does not say that it's the longest dry spell, or the period of least rain. Would you have guessed from the other media coverage that despite the phrase "worst drought", there have been two other years with less rain just in the last 100 years? That there have been longer droughts?

I think Moore believes what he says in the piece: "Do these facts mean that we are in good shape re California's water supply? No! But we shouldn't be framing the search for a stable California water supply by starting from a wildly incorrect statement that seems focused on creating public panic." He's bothered (as I am) about the level of hyperbole and inaccuracy in the media reports of climate change, and wrote the piece to counter that. Neither he, nor Watts, nor Tim Ball (the author of the third link) believes "that recent showers are proof that the alarm over the drought is just part of the global warming conspiracy".

While I fear that some of the kookier commenters at WUWT might believe that (I don't read the site, although I highly recommend Steve McIntyre's climateaudit.org) many of those you demonize care a lot about the environment and climate change, but disagree on the causes and the approach that should be taken to deal with it. For example, try reading this piece on Urban Forests by Tim Ball to see if he matches the pathological business-comes-first stereotype often associated with "climate deniers": [http://drtimball.com/2012/importance-of-urban- trees/](http://drtimball.com/2012/importance-of-urban-trees/)

</comment></comment><comment><USER10> The author's website:

[https://sites.google.com/a/umn.edu/daniel- griffin/home](https://sites.google.com/a/umn.edu/daniel-griffin/home)

Has a PDF of the study:

[http://www.tc.umn.edu/~griffin9/pubs/griffin_anchukaitis_201...](http://www.tc.umn.edu/~griffin9/pubs/griffin_anchukaitis_2014_GRL_CAdrought.pdf)

</comment><comment><USER11> I haven't seen anyone mention the drought in Brazil. It's possible that deforestation in the Amazon is at least partially responsible for that[1]:

       Some scientists have suggested that the recent
       uptick in deforestation in Brazil may be partly
       responsible for the drought, since loss of
       evapotranspiration from trees is known to reduce
       cloud formation.

I know its the other hemisphere, but it's certainly possible that drought, deforestation, and changing weather patterns in South America would also affect us. Yes, no? I'm just spitballing here.

[1] [http://news.nationalgeographic.com/news/2014/10/141024-sao-p...](http://news.nationalgeographic.com/news/2014/10/141024-sao- paulo-brazil-drought-water-environment/)

</comment><comment><USER12> Thankfully, it's been cloudy and raining in LA for a week!

</comment><comment><USER13> Looks like California could benefit from permaculture.

</comment><comment><USER14> What do they know? There aren't any written proof from that period. This is all a conspiracy of evil mustache twirling scientists. / sarcasm

<comment><USER15> Yes, some people just don't get the difference between historical and observational science.</comment></comment>


Entropic, a Federated Package Manager for JavaScript - <AUTHOR> https://twitter.com/i/moments/1135060936216272896 <comment><AUTHOR> There's an essay version published here: [https://github.com/ceejbot/economics-of-package- management/b...](https://github.com/ceejbot/economics-of-package- management/blob/master/essay.md)

And a video of the talk: [https://www.youtube.com/watch?v=MO8hZlgK5zc](https://www.youtube.com/watch?v=MO8hZlgK5zc)</comment>


Coffee not essential for life, Swiss government says - <AUTHOR> https://www.bbc.com/news/world-47898537 <comment><USER2> If Sweden were cut off from the world and forced to defend itself, I would hope its defenders wouldn't simultaneously be fighting caffeine withdrawal. There's your strategic justification.

Of course, if Sweden were under serious attack, it would likely mean that Russia was moving against NATO, and the world would be on the brink of apocalyptic nuclear war. But you wouldn't want _two_ problems. :)

<comment><USER3> (Sweden != Switzerland)

<comment><USER2> Ack! >_<. Thinking about an "European country with a coffee habit," I guess my brain was predisposed to think about Sweden.

</comment></comment></comment><comment><USER4> > "Coffee contains almost no calories and therefore does not contribute, from > the physiological perspective, to safeguarding nutrition," the Federal > Office for National Economic Supply said (in German).

That's true: nobody _needs_ coffee to survive and it doesn't provide nutritional value. But does that really mean that you can't keep a little on hand, given how many people enjoy it? This is coming from someone who doesn't drink coffee, FWIW.

<comment><USER5> This is meant to be an emergency stockpile to ward off mass starvation, in various disaster scenarios. I know it's hard for us to imagine in modern times, but during desperate situations like war, people literally die of starvation. When faced with a situation like that, you'll be very glad that the government elected to store 15,300 tonnes of additional food instead of coffee.

<comment><USER4> I'd still say it's a difficult decision to make: whether you'd like a significant portion of your country to suffer from caffeine withdrawal and not be able to function properly, or have some additional people starve 3 months from the start of the disaster, with would only happen if there was no additional help and at that point you're probably not going to get more food anytime soon…

<comment><USER6> Caffeine withdrawal doesn't last really long mate. You'll get a headache 1 afternoon then you go to sleep and it's gone.

</comment></comment></comment></comment><comment><USER7> There are many things not essential to life but add to the overall productivity, and fulfillment of tasks.

</comment><comment><USER8> I'm counting on my coffee stockpile to be a critical barter item during the zombie apocalypse.

</comment><comment><USER9> I would love to know what foodie countries like France and Italy are stockpiling.

</comment><comment><USER10> For comparison, MREs have coffee.

</comment><comment><USER11> false

</comment><comment><USER12> #FakeNews

<comment><USER3> What's fake?

The BBC article links to the primary reference at [https://www.admin.ch/gov/de/start/dokumentation/medienmittei...](https://www.admin.ch/gov/de/start/dokumentation/medienmitteilungen.msg- id-74644.html) .

> Kaffee-Pflichtlager in Frage gestellt

> Bern, 10.04.2019 - Der Bundesrat hat am 10. April 2019 die Vernehmlassung > zur Änderung der Verordnung über die Pflichtlagerhaltung von Nahrungs- und > Futtermitteln eröffnet. Vorgesehen ist die Aufhebung der Lagerpflicht beim > Kaffee.

<comment><USER12> #Woosh

<comment><USER3> Can you elaborate?

</comment></comment></comment></comment><comment><USER13> Downvoted so hard.</comment>


Teaching foreign policy majors to code - <AUTHOR> https://medium.com/@cfmccormick/teaching-foreign-policy-majors-to-code-2a55bbda6ee0 <comment><USER2> I must say I am conflicted to write on this subject. On the one hand I am a person who has a humanities background turned to coding (bachelor's on philosophy; master's on sociology) but on the other hand I am burned out now and unwilling to do anything code related thanks to previous employers so my outlook isn't a nice one.

The problem I experienced was most of the companies want a bachelor of science or an engineering degree on their job postings. I think this is because the workshop kool-aid has proven ineffective in creating good programmers but rather code workers who are good at menial jobs but unable to provide good solutions. So if a foreign policy major decides to go full on coding by self- teaching skills to himself he'd get slaughtered on job applications, without being able to show his skills on the technical interviews.

Secondly, the job politics of most companies are just dreadful. After all those humdrum job interviews, skill tests, certification badgering; what I experienced is writing code that generates a sql query to the parameters that's taken from the frontend which had NOTHING to do with interview questions or the skills demanded by the employer.

In sum, I have to emphasize that these are my experiences and maybe limited to where I live and tried to earn my keep by coding. So I hope that it is a local thing and where you live has a better environment when it comes to employing programmers who are outside of the field.

Thanks for reading anyway.

<comment><USER3> I've been programming for the vast majority of my life, professionally for something like 30 years. I've done other jobs as well. My general advice to people thinking of becoming a programmer: Go ahead if you like programming. If not, then there are almost certainly better jobs than this.

Don't get me wrong. On paper it's attractive. Quite high salary. Casual dress. Often flexible hours. No heavy lifting. High demand for skilled workers.

On the other side: You have to concentrate to a level that most people can't even understand -- and you have to do it all day, every day. Nobody understands what you are doing and most people under appreciate the difficulty (which is actually a huge understatement). Many managers believe that the reason things are going more slowly than they would like is because you don't have enough stress in your life. Unfortunately, the reality is that while you don't have much day to day stress (unless you are are in dev ops), you have ridiculous long term stress. No matter what you are working on, you don't have enough information to do your job. As soon as you learn enough to do your job, the job changes. Your tools change on a yearly, if not monthly basis -- and the amount of learning necessary to get good at your new tools is a full time job in itself. On top of all that, the field is immature to the point that it is likely that every single person on your team has a different way to solve every problem. And they are all convinced that everybody else's solution is crap. And they are _all_ correct (pause to let the implication sink in). You're going to get it wrong almost all the time, and it will take you something like 30 years (if I'm any measure) to realise it. But even when you finally figure something out, _nobody_ will listen to you, because they all think you are wrong (and they are probably correct about that too).

It's a terrible job. Only do it if you really, really want to do it.

On the other hand, I've known a few people who are able to clock in and clock out, do a competent job, and not get too stressed about stuff. I'm still trying to figure out how they do it.

<comment><USER4> _> On the other hand, I've known a few people who are able to clock in and clock out, do a competent job, and not get too stressed about stuff. I'm still trying to figure out how they do it._

This is an amazing skill I only learned during a PhD, and only after burning out half way though.

Obviously, step 0 is clear boundaries and reasonable work hours. Clock out at 5 or 6 (or 7 or whatever -- point is, put in your 40 hours and leave).

After that, things get more difficult.

For me, the answer was to work out _directly_ after work (so before the commute home even!) and to listen to an interesting audiobook/podcast during my workout.

That way, when I got home, I would have something on my mind other than work. Fortunately, my personality is such that as long as the audiobook/podcast was interesting, that's what I will focus on/think about the rest of the night.

<comment><USER5> Working out before going home works great for me, too. And it has the added bonus of helping you skip some of the traffic on that commute home by pushing the start time of that commute back a bit. Depending on where you live and when you work, I suppose.

</comment></comment></comment></comment><comment><USER6> >>> More broadly, this illustrates that there are hidden traps of confusion and misconceptions among first-time programmers that are very hard to see if you've been programming for a long time.

This may happen in other subjects as well. I taught college math as an adjunct for all of one semester, and discovered to my surprise:

1) None of my students knew the meaning of "show your work." Hint: It doesn't mean turning in your scratch paper along with the answers.

2) When I asked the math professors how to explain "show your work," some of them bluffed and blustered, but none of them could give me a straight answer. At worst, I got, "they should just know."

<comment><USER4> _> 2) When I asked the math professors how to explain "show your work," some of them bluffed and blustered, but none of them could give me a straight answer. At worst, I got, "they should just know."_

It sounds like you were teaching calculus or maybe college algebra ("they should know" is actually good advice for the higher level mathematics courses -- most departments have a whole course that's more-or-less about how to write proofs).

At research universities, the tenure-track professors rarely teach anything below Calc II, and might not teach any Calculus courses at all. Certainly nothing below Calc I.

If you ad junct again, consider asking the other ad juncts/instructors instead. They're more likely to have lots of exposure to that university's demographic in a relevant course.

<comment><USER7> I'm not conceding that it's reasonable for a professor to answer something with "they should just know," but I think the issue here is that they seemed _incapable_ of explaining it. It's one thing to say to a class "you should know how to $x, so I'm not going to teach it to you right now" but another entirely to be either unwilling or unable to explain exactly what they mean to a colleague.

<comment><USER4> Keep in mind that teaching is its own skill. Especially in universities, that skill can get awfully specific awfully fast.

In particular, for a TT professor at an R1, odds are _extremely_ good that they've _NEVER_ taught anything below calculus and may have never even been the instructor of record even for calculus courses! They were hired to do research and teach graduate/upper-level undergraduate courses.

Teachers that know how to explain and assess everything in a graduate analysis course with perfect clarity might not know how to handle the situation where a student doesn't know what it means to "show you work" in the context of calculating a derivative or solving a linear equation. In fact, they might not have even thought about learning/teaching that material themselves since early high school or maybe even middle school. This doesn't make them a bad teacher. It just makes them a bad calc I/college algebra teacher. Which is okay -- teaching those courses is not their job and is not what they were hired to do.

So this is somehow a bit like complaining that a web programmer isn't particularly adept at kernel hacking. That doesn't make them a bad programmer, it just means they focus is elsewhere.

Again, most universities do hire experts in teaching the lower-level courses. They're just not typically tenure-track professors.

<comment><USER6> Indeed, the professors are either surprised or offended that the university even offers college algebra, which they obviously never had to take, and which they consider to be a few levels below remedial.

Admittedly, I was a math major in college, and was unaware of the existence of college algebra until I was hired to teach it.

</comment></comment></comment></comment></comment><comment> crooked-v Starting off with C? Ow. R or Python seem like they'd be much better choices for something students would actually use in the future, given their data analysis tools.

<comment><USER8> Or Julia if you want to prepare them for the future.

<comment><USER9> I'm a big fan of Julia, but I wouldn't say that it's a great introduction to programming. Python is the way to go IMO, unless Julia really takes off.

<comment><USER8> Why isn't it a good introduction to programming? It has a really consistent syntax, and polymorphism via multiple dispatch is a lot simpler to learn than polymorphism via classes imo.

</comment></comment></comment></comment><comment><USER10> I understand why the teacher in this case hid the coding requirements of the course. His reasoning makes sense. But I'm not sure it was ethical misrepresenting the course even for the students own benefit.

<comment><USER11> Is it unethical to do something if all parties are happy? Does it only become unethical when a party has been tricked and become unhappy, or is tricking somebody even for their own good unethical? In that case, what would be your definition of ethics?

I don't have a strong stance whether his decision was ethical or not, just interested in seeing your opinion as you seem to be implying that it might not be :P

<comment> evil-olive Is it unethical for a professor to lie to their students?

Yes.

Is is still unethical if the professor argues that the lies were for the students' own good?

Yes.

Is it still unethical if, a few months into the course, the professor tells the truth?

Yes.

Is it still unethical if, a few months later, the professor tells the truth _and_ one or more students says "you know, I understand now why you lied to us"?

Yes.

This really isn't a challenging conundrum. The student-teacher relationship is a special one. There are expectations that need to be fulfilled on both sides. One of the most basic ones that can be expected of a teacher is _don 't lie to your fucking students_.

<comment><USER12> Possible overreaction alert...

<comment><USER13> Lying always being unethical is actually a relatively standard idea in classical ethical theories e.g. Summa Theologica, Question 110, Article 3. However, the statement that the class involves "no coding" could be considered truthful in the social context or as part of a use of mental reservation.

<comment><USER14> Lying can be perfectly okay under consequentialism, which also goes way back. Personally I'm not very convinced of ethical theories where lying is unethical in all circumstances (sorry Kant), and I suspect I'm not the only one. Stating that there exists an ethical theory that supports your point just isn't very convincing for people who don't subscribe to that particular theory.

</comment></comment></comment></comment></comment></comment><comment><USER15> > Lesson #2: the basic paradigm of code (strictly sequential execution, with > flow control and function definitions) isn't always intuitive and should be > explained clearly to first-time programmers.

That's a good point. I like to tell programming newbies (or just other people who don't know what software development is) that a computer program is like a cooking recipe: It defines step by step what to do, and someone (the computer) executes it.

</comment><comment><USER16> What about teaching coders about foreign policy? Now that sounds exciting! :)

</comment><comment><USER17> > Another problem was that I used several different ways to do the same thing > in the code, without being clear about why. For example, I declared some > parameters as constants and others (which weren't being changed) as > variables — mostly because I was being sloppy.

That's why C or especially C++ is probably the worst possible language to teach programming.

Also, be frank with your students from the beginning about one thing: there are areas that they should understand, and then there are areas that they should just treat as "magic" and not go into, on a certain level of development. Not because they're really magic, but just keep first things first.

</comment><comment><USER18> I think the Professor is vastly overestimating how much his students benefited from this exercise. What they need are data analysis and modeling skills. R + Rstudio would be the perfect tooling for them. Laudable goal nontheless.

<comment><USER19> That would not have been useful at all in the course - which involved programming an actual device, powered by an Arduino.

<comment><USER18> Exactly what I meant. Why would foreign policy majors need to know how to program an Arduino. I can't think of a single reason to.</comment></comment></comment>


Nuster:  a web caching proxy server based on HAProxy - <AUTHOR> https://github.com/jiangwenyuan/nuster <comment><USER2> Both nginx and varnish make a big deal about their performance. What design choices is it that makes haproxy and/or nuster so much faster?

<comment><AUTHOR> I'm updating benchmark report right now, will share once done. Also the technical details

<comment><USER3> Perhaps add Apache Traffic Server for completeness!

</comment></comment></comment><comment><USER4> Will it be compatible with incoming 1.8 version of haProxy ? With the http2 ?

Is there a way, like in varnish, to purge some URL ?

If yes, I would love to give it a try !

<comment><AUTHOR> Current nuster is based on haproxy-1.7.9.

nuster based on haproxy-1.8 is WIP, and will be released when haproxy-1.8 release(not rc).

Also purging URL is not ready yet, its under development with other features like cache stats, admin throught web/api, shared memory in multiple processes.

<comment><USER4> Ah too bad. I've got Magento behind my Varnish (with nginx for serving). They have native Varnish management, but I would have adapted it for using your tool. Well, I'll wait ´til it's ready :)

</comment></comment></comment><comment><USER5> Given that HAProxy 1.8 adds a small object cache, what does this do etra?

<comment><AUTHOR> Yeah, I just noticed that. The cache functionality introduced in HAProxy 1.8, as it said, small object cache, which means that only small response can be cached, which defaults to 16KB as defined by the global parameter `tune.bufsize`.

There is no such limitation in nuster, and nuster can do more things like cache based on request url/query/header/cookie, response headers, request rate, TTL, etc.

<comment><USER6> Why forking, btw? Curious why you chose that route.

<comment><AUTHOR> I'm releasing initial version, and plan to collaborate the developing of all functionalities I want on Github, then I'll send the patch to the HAProxy team.</comment></comment></comment></comment>


On the Sad State of Macintosh Hardware - <AUTHOR> https://daringfireball.net/linked/2018/06/14/sad-state-of-mac-hardware <comment><USER2> Oddly, every one of the design elements I discuss get pro and anti feedback. I hate the touchbar, frobozz loves it. I hate the chiclets, buzzfuzz loves it. I love the battery, xyzzy hates it.

What gets copied by others strongly suggests to me is design which works, and the touchbar is not it. But chiclets are everywhere as are milled aluminium cases and nonbezel screens.</comment>


Show HN: I compiled book recommendations from 1300+ leaders - <AUTHOR> https://readthistwice.com/people <comment><USER2> Great work. It looks absolutely polished and really well done. Can you describe the tech stack and how did you go about collecting images ?

Also, did you fetch the titles via Amazon ?

If you would like to be featured on [https://hackerspad.net](https://hackerspad.net), please let me know.

<comment><AUTHOR> Hey, thank you! It's built on react and node. I fetched the titles from Amazon, but there's some manual work involved cleaning them up.

I'd love to be featured on [https://hackerspad.net](https://hackerspad.net). Thank you!

</comment></comment><comment><USER3> Nice work, the design is very clean and fitting for a site about books. One comment: I was looking for a link on the header that would give me topics or categories, but couldn't find one. Eventually I realized "Books" was your categories page; maybe rename it so people can have an easier time finding it?

<comment><AUTHOR> Thank you! And yes, that's a good point, I'll see how I can fix that.

</comment></comment><comment><USER4> You should check out another Show HN right now which might enhance the look and feel of your site even more: [https://3d-book- css.netlify.app/](https://3d-book-css.netlify.app/)

<comment><AUTHOR> haha yea I saw that, looks really good. thank you!

</comment></comment><comment><USER5> Did people stop reading literature? Or they just don't advertise it?

</comment><comment><USER6> Is there a way to see which books have been referenced most?

<comment><AUTHOR> Yup, [https://readthistwice.com/lists/most-recommended- books](https://readthistwice.com/lists/most-recommended-books)

</comment></comment><comment><USER7> This looks great, but this feels way too skewed to people who are popular or in roles of power. Is it really valuable to know what Trump is reading? Emma Watson? Ashton Kutcher? Oprah? Ellen? Musk? Tom Hanks? Like, at least Obama was in academia for a long time (also, tagging him just as "politician" is ... misleading), so he's probably well-read and has decent suggestions. Bill Gates has been incredibly active in third world development, the tech industry, etc., so he likely also has decent suggestions. But ... Alicia Keys? There's way too much noise here.

Edit: BTW, I'm surprised by how well this performs. What did you use to build this?

<comment><AUTHOR> I was actually deliberate about adding these people. The mission here is to make people read more and some people might not be impressed by what Alicia Keys, Emma Watson or Taylor Swift have to recommend, but there's an ocean of teens who don't normally read and no matter what Obama or Bill Gates recommend they'll not get into reading unless they see a book recommendations from one of their pop gods.

Thank you, it's built on react and node.

</comment></comment><comment><USER8> Trump never read most of the books you listed. Please fix that. Specially those written in '19 '20

<comment><AUTHOR> We don't usually include recommendations that look more like a promotion than a recommendation, but he does explicitly recommend most of these books and it wouldn't be fair for us to decide which ones he actually did read.

<comment> user00012-ab To be honest, I loaded the page, saw "what books Trump reads" and gave up on the site right there.</comment></comment></comment>