Grading systems are obviously broken.  Why isn't anyone fixing them? - <AUTHOR>

I am working on a series of educational apps for iOS and other mobile platforms.  Part of this is coming-up with a grading system that makes sense.  The objective isn't to simply provide a grade that corresponds to how a student tested.  That would simply reflect how someone did on that particular test.  The goal is to grade knowledge, not test results.
Having lived and studied in three different cultures in different parts of the world I can say that, from my experience, grading in the US and abroad is pretty much the same.  Other parts of the world might use a 0 to 10 scale while US schools like the A through F symbols.  In the end the result is the same:  You are grading test-taking performance, not knowledge.
Any entrepreneur knows full-well that test performance does not matter.  How many times have you failed before succeeding?  Failure is a part of learning.  Some might argue that failure is the start of learning.
Yet another example is that of a skilled athlete, say, a gymnast.  It might take weeks or months of failure to master one particular move that lasts barely past one second.  After hundreds of failures the gymnast gets it right and it is part of their skill set.  Countless other examples abound.
The problem with test-style grading is that it does not encode acquired knowledge.  It encodes isolated and aggregate test scores.  And, to add further insult to injury, you get to average test scores at the end of the year, semester or quarter to get your grade.  The resulting number is meaningless.
Imagine that we applied this to the aforementioned gymnast.  They would get grades below 5 or 6 most of the time due to constant failures while learning.  Then, once they figure it out they start getting 10's.  Well, if you average hundreds of scores at 5 or below with a few dozen 10's you'll get an average score that does not represent what this person can now actually do.  And therein lies the problem.
So, I've been looking at grading systems that allow one to place greater weight on success when compared to failure in order to encode acquired knowledge rather than average test scores.
I'd be interested to learn from others who may have traveled this road and what they may have learned in the process.
An even greater topic is how to go about changing the way schools grade for the benefit of all involved.
Thank you,
-Martin
PM: email@example.com where x = martin
      y = algoshift
      z = com <comment><USER2> In undergrad after your first year my college had an open book policy for all engineering courses. Tests were usually 2-3 questions (~2hrs long) and you could use any resource you wanted just like you would at a job. There was no memorization, they only tested your ability to solve a problem.

Feel the same way that's why I really didn't care about 'grades' or 'majors'. Sadly most people need the physiological motivation of the grading system. If I wanted to learn something I took the class: engineering, comp sci, bio, whatever I felt like. In grad school I never even opened a report card, they just went right in the trash. You're there to learn, not to get grades. But again most people cant work like that.

</comment><comment><USER3> Most project-based university courses sort of use a system like that, at least over the timeframe of the course. Often there will be intermediate checkpoints, but they rarely count for a lot, and if you turn in a great final project, that usually overrides anything else. So basically you have 14 weeks to acquire and apply the knowledge. True in humanities courses to some extent also; in many philosophy courses, for example, there are some short essays and responses throughout the semester, but you could do badly on those and still get an A if you turned in a top-quality final paper that showed the prof that, by the end of the course, you had figured out how to develop and communicate a good philosophy argument.

It's true that you might want to do this over a timeframe longer than 14 weeks, though.

</comment><comment><USER4> I think the fundamental issue is that no one asks the simple question, "What is the goal of testing/grading?"

I think is in order for the _student_ to evaluate their mastery of the given discipline.

Everything else, I feel, stems from a distortion of this process for other purposes.

As for grading in schools, I cannot say anything reasonable because I got good grades, although I hated school. However, I recall my art teacher in middle school who would sit you down and ask you about your aim with your work and what you thought you deserved, and then she'd settle on a grade. I found it really strange, because I was too young to understand. I would often overestimate my grade, but what she wanted of me was to figure out what I expected of myself and to develop the ability to evaluate that.

It's profound that someone would want that of you at 12 years of age.

I'll never forget it, though I only understood it many, many years later.

</comment><comment><USER5> After reading all the comments I find myself at the tipping point of a truly great idea -- no doubt inspired by the questions brought forth by Martin.

If the end goal of schooling is to learn AND be able to apply knowledge, then what can be used to show a child the benefit of understanding knowledge? That is, could you construct a situation in which a child in, say, third grade would want to repeat a course without outside pressure?

If we can assume that adults are willing to make this decision based on a couple of key factors: e.g. 1. the need to provide for themselves (and family) 2. curiosity - the desire to innovate, is there a way to convey or reinterpret these ideas to a child?

My thoughts anyway and kudos to logjam for quoting Pirsig...that's awesome.

</comment><comment><USER6> Robert Pirsig advocated the abolition of grading. From Zen and the Art of Motorcycle Maintenance:

"The student's biggest problem was a slave mentality which had been built into him by years of carrot-and -whip grading, a mule mentality which said, "If you don't whip me, I won't work." He didn't get whipped. He didn't work. And the cart of civilization, which he supposedly was being trained to pull, was just going to have to creak along a little slower without him.

"This is a tragedy, however, only if you presume that the cart of civilization, "the system", is pulled by mules. This is a common, vocational, "location" point of view, but it's not the [true learning]'s attitude. [True learning]'s attitude is that civilization, or " the system ", or "society", or whatever you want to call it, is best served not by mules but by free men. The purpose of abolishing grades and degrees is not to punish mules or to get rid of them but to provide an environment in which that mule can turn into a free man."

"So he would come back to our degreeless and gradeless school, but with a difference. He'd no longer be a grade-motivated person. He'd be a knowledge- motivated person. He would need no external pushing to learn. His push would come from inside. He'd be a free man. He wouldn't need a lot of discipline to shape him up. In fact, if the instructors were slacking on the job he would be likely to shape them up by asking rude questions. He'd be there to learn something, would be paying to learn something and they'd better come up with it. "

"Motivation of this sort, once it catches hold, is a ferocious force, and in the gradeless, degreeless institution where our student would find himself, he wouldn't stop with rote engineering information. Physics and mathematics were going to come within his sphere of interest because he'd see he needed them. Metallurgy and electrical engineering would come up for attention. And, in the process of intellectual maturing that these abstract studies gave him, he would be likely to branch out into other theoretical areas that weren't directly related to machines but had become a part of a newer larger goal. This larger goal wouldn't be the imitation of education in Universities today, glossed over and concealed by grades and degrees that give the appearance of something happening when, in fact, almost nothing is going on."

"It would be the real thing."

<comment><AUTHOR> I don't think that the abolition of grading is a good idea. You need some way to communicate what someone has learned. Current grading systems are meaningless. I can't hire someone with a perfect 4.0 and assume that they really know their stuff.

The example I use all the time is from when I was in college taking subjects like physics and calculus. A few of us were very much hands-on kind of guys that grew up making things and generally connecting with the real world. Other students had never done anything beyond high-school science class. Never a splinter in their finger or trying to make balsa-wood contraption fly.

There was a stark contrast between testing in math and physics because of this. There was a bunch of students that were test taking machines when it came to calculus. Always got A's.

However, when it came time to apply that to a physics test they failed --sometimes miserably-- because there was no real understanding or knowledge.

I find myself re-living some of that as I now help my kids learn science. Dad is no famous for taking the algebra explanation to the garage and grabbing a tape measure, some wood and a handsaw. The function y = x can have a myriad of different domain values depending on what it is you happen to be talking about. This is not what they teach in school and it certainly isn't what they are testing for.

Anyhow, grades need to encode real knowledge. This is what I am striving for in the apps I am working on and hope that some day schools figure it out as well.</comment></comment>


How to get a rails job - github: a social network for hackers - <AUTHOR> http://www.danielharan.com/2008/06/28/how-to-get-a-rails-job/ <comment><USER2> Things haven't changed that much from the past, networking with other people (or with other hackers) will always lead to more opportunities. Except now, there's the extra online networking like github.</comment>


How to Address Your Coworker's Bad Code - <AUTHOR> http://www.daedtech.com/how-to-address-your-coworkers-bad-code-part-1 <comment><USER2> I think we just need to talk about this often and dig into these problems every day as a part of the job and not let tensions build up.

Address the problems while they are small, use humor and friendly attitude, keep it constructive and everything should be just fine.

<comment><USER3> I totally agree with you and also think a good approach is to start with asking the offender if he can help with explaining his code to me so I can understand it well enough so I can change it. Maybe also during the talk ask how he managed to test his code. If I am lucky this will make him understand why it is good to have solid code that others can understand and change without his help. This way I am not directly saying that his code is bad, I am saying I am not able to understand it leaving a possibility that it is me there is a problem with. If the code was written more than 2 days ago he will probably also start having problems with understanding exactly what it do.</comment></comment>


Launch HN: D-ID (YC S17) – Protecting Identities from Face Recognition Tech - <AUTHOR> Hi all,
We are D-ID (http://d-id.com/), part of the YC S17 batch. We protect people's identities by processing face images in a way that denies automated face recognition, while keeping them similar to the human eye. We've just launched on TechCrunch and signed our first pilot, so here's some info about us.
With the advancements of face recognition technologies (both in accuracy and growing use), the data in face images must be protected, because unlike passwords, you cannot change your face.
We came upon this idea after experiencing it as a personal pain at first, while serving in the military where we were not allowed to post to social media for reasons of information security, later to realize that it has become a worldwide issue where we're all losing our basic right to privacy.
At first it was meant to be a B2C product, but we then understood that businesses are in greater need due to their responsibility in handling personal data of their clients and/or employees.
Since we use image manipulation techniques, it's clear that if all goes well it will probably start an arms race with face recognition algorithms. Would love to hear your ideas as to how to win in this battle :)
Our approach helps companies which handle images (cloud storage or even just profile pictures of their employees/users) to comply with privacy regulations, such as the GDPR (an EU regulation, nearly worldwide in its scope, which addresses face images as Sensitive Personal Data).
This gives companies a way to keep using images but without the responsibility of protecting the sensitive data they carry, helping them build their brand reputation for caring about the privacy of their clients/employees. We also enable security agencies and governments to protect their citizens and employees.
We'd love to hear feedback from the HN community! And we'll be glad of course to answer any questions you may have. <comment><USER2> You're entering an active and mainly successful research field:

[https://nips.cc/Conferences/2016/Schedule?showEvent=6213](https://nips.cc/Conferences/2016/Schedule?showEvent=6213)

TL;DR: if a human eye can differentiate, GANs can learn to differentiate given enough training data.

however, it's unlikely that gov't regulations will catch up with technology like this for 10+ years so you can probably sell your algorithms to give companies legal protection.

<comment><USER3> Wouldn't be sure about that. Plenty of companies will catch up quickly especially ones like Palantir.

</comment></comment><comment><USER4> I am developing Deep Video Analytics [1] which incorporates FaceNet [2] and MTCNN detector.

1\. What makes you think that governments would openly release their recognition models?

2\. Do you have any hard numbers?

3\. What's the difference between manipulating an image vs. just blurring/blacking it out, since the latter essentially gives you complete anonymity.

In my experience all Adversarial techniques fall apart when another algorithm is added to the mix (including the recent ones by OpenAI [3]). As a result I am frankly distrustful of any claim about protecting identity. The State of Art in Face Recognition moves extremely fast, and these are just publicly available / permissively licensed models, and not what Government agencies around the world are experimenting on with their billion face datasets. [4]

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

[2] [https://github.com/davidsandberg/facenet/](https://github.com/davidsandberg/facenet/)

[3] [https://www.dropbox.com/s/oshcos8wzvqtgow/Screenshot%202017-...](https://www.dropbox.com/s/oshcos8wzvqtgow/Screenshot%202017-07-25%2013.44.23.png?dl=0)

[4] [https://github.com/wy1iu/sphereface](https://github.com/wy1iu/sphereface)

</comment><comment><USER5> Cool website. Domain in Columbia TLD. No examples. No street address. No identity info in SSL cert. Anonymous domain registration. Very little info in Crunchbase.[1] Not in Dun and Bradstreet.

[1] [https://www.crunchbase.com/organization/d-id#/entity](https://www.crunchbase.com/organization/d-id#/entity)

</comment><comment><USER6> Brilliant idea but no explanation about how it works, not the slightest hint and no before-after-pics.

Will you stick eyes closer together, stretch noses and mess with other face geometries so nobody takes selfies anymore?

Curious.

EDIT: Ok, I think I know what they do, my first guess:

They change/normalize/randomize the proportions and geometry of the face + make the pic blurry. Look at their team fotos at [https://www.deidentification.co/#team](https://www.deidentification.co/#team) where their faces don't look normal.

They slightly alter distances between (and dimensions of) eyes, eyebrowes, nose, mouth, chin and other face features that it's harder to identify faces.

The questions is if this works with pictures shot from other than frontal viewing angles and if users want to put such pics on sites with public exposure like LinkedIn, FB or Instagram.

<comment><USER7> I'm hoping the employee pictures at the bottom are after examples, otherwise there's no excuse for being that blurry.

<comment><USER8> Haha we're actually about to publish our new website - the photos at the bottom are not protected and I agree that they are in bad quality... they'll be changed in the following days. Thx!

</comment></comment></comment><comment><USER9> Congrats on getting into YC! I like your landing page; simple and clear. One minor comment: it would be nice to see a short bio for each of the team members.

I have one technical question. How are you confident that your tech cannot be reversed? Since your company depends entirely on this technique, I'm assuming that your main priority is to avoid such a situation. I'm guessing that you are leveraging some sort of one-way function. If so, how "future proof" is the function you are using?

Good luck!

</comment><comment><USER10> When you have a chance could you give a blogpost on an overview of your system? I realize that it could be a trade secret or you don't have the time to do one now. I could make a educated guess that you are stopping classification by generating adversarial examples of the users face.

Also would you consider B2C in the future? I had an idea of something that consumers would buy but I don't have the time right now and would wonder if there would be some need at all for my idea.

</comment><comment><USER11> Do you have samples of face images and their corresponding obfuscated images?

<comment><USER12> The photos of the team look suspiciously grainy and low res. I wonder if they might be dogfooding there. [https://www.deidentification.co/#team](https://www.deidentification.co/#team)

<comment><USER4> I don't think so, I tested and neither detector nor recognizer were fooled. Here are the results with FaceNet, Inception, MTCNN face detector and MobileNet SSD detector. Facenet also retrieved similar looking faces from LFW.

[1] [https://www.dropbox.com/s/weasqs8pxn9q7qv/screencapture- loca...](https://www.dropbox.com/s/weasqs8pxn9q7qv/screencapture- localhost-8000-frames-13396-1501005613202.png?dl=0)

[2] [https://www.dropbox.com/s/i2nii4biy8aioyo/screencapture- loca...](https://www.dropbox.com/s/i2nii4biy8aioyo/screencapture- localhost-8000-query_detection-57349-1501005569123.png?dl=0)

[3] [https://www.dropbox.com/s/lmq8ldqujyk3pa9/screencapture- loca...](https://www.dropbox.com/s/lmq8ldqujyk3pa9/screencapture- localhost-8000-query_detection-57351-1501005503971.png?dl=0)

</comment></comment></comment><comment><USER13> At first, I started reading this, and thought it was like that lifelock service (that i used to see TV commercials for)...but then read "Our approach helps companies which handle images...to comply with privacy regulations...", and then understood. I think there is a good market for this...though for slow-moving enterprises and governments it might still be early days. But, hey, you guys will have first-mover advantage, so kudos to you!

</comment><comment><USER14> Perhaps I'm overly plugged into political news right now, but I read your name as "Democrat - Idaho".

</comment><comment><USER15> All: I'm not sure what happened here by way of engaging the community, but as long as D-ID is AWOL I'm going to bury this post. Sorry about that!

The 'contract' for Launch HNs is that founders engage with the community. I'm sure that's what they meant to do, so something must have come up. Whatever it was, I'm sorry that everyone's questions haven't been answered yet. If this changes, we'll un-bury the post and I'll delete my comment.

<comment><USER8> Hi all, Sorry, we didn't expect such a volume of comments. And are now here to answer them one by one. Thanks!

</comment></comment><comment><USER16> Are there any demo images processed with your "obfuscation" tool?

<comment><USER17> Looks like their own photos on the landing page are obfuscated.</comment></comment>


Autism treatment: Science hijacked to support alternative therapies - <AUTHOR> http://www.chicagotribune.com/health/chi-autism-science-nov23,0,6519404,full.story

<comment><USER2> I don't think it's as black and white as this article suggests.

We don't know what causes Autism and to the best of our knowledge it doesn't exist in any other species. Even if it did exist in other species it would be almost impossible to diagnose. So there's really no testing (other than long term trials) that can be performed on perspective treatments. This results in a marketplace where completely bogus treatments look no better or worse than ones that have potential. Combine that with Parents who are desperate to help their children and you get a very dangerous and volatile situation. That situation is what this article tries to address.

But I'm not sure you can fault parents who try alternative treatments that are supervised by physicians. These researchers act like their opinion should be the last word on the findings in their report. That's especially frustrating when their opinion is "we don't know what it means and have no real way to find out". All these parents are doing are taking an aggressive approach.

Again, I don't support anyone who tries a treatment that isn't supervised by a physician but I don't see anyone doing that here.

<comment><USER3> I didn't see anything in the article that suggested the parents were at fault.

It read to me as solely faulting the 'physicians': the ones that we hope and expect to know the difference between snake-oil and medical science; the ones we trust to behave appropriately.

<comment><USER2> I read the blame differently but I don't agree that the physicians are at fault here either. The article treats the researchers' opinion as if it was unquestionably correct. The researchers said x wouldn't work and this person tried it so they are ignoring science.

But the researchers are no more qualified to interpret their results than another clinical researcher specializing in the field (the whole point of a research paper is to present what you found not interpret it for the audience). If someone else thinks x might work and they are backed by their own research and a physician who makes sure it isn't dangerous than I don't see the problem.

<comment><USER4> You don't see a problem with using autistic children as guinea-pigs for experimental treatment, based on nothing more than a preliminary study? In many of these cases, the study itself warns against using it as the basis for any sort of treatment!

Also, there's no double-blinding. Hello placebo effect!

</comment></comment></comment></comment><comment><USER5> I see desperate parents may not make the most sensible decisions regarding the medical care of their kids. It's sad, but expected they will try whatever weird treatment a doctor says may possibly have a tiny chance of improving the kid's condition.

After becoming a parent, that movie quote, "My logic is uncertain where my son is concerned", took on a whole new meaning to me.</comment>


Chef now automates Windows servers/clients/instances - <AUTHOR> http://www.opscode.com/blog/2011/05/24/chef-hearts-windows/

<comment><USER2> This is great news! Have been missing this feature for a while now.</comment>


The Shortest Reflected XSS Attack Possible - <AUTHOR> http://brutelogic.com.br/blog/shortest-reflected-xss-possible/ <comment><USER2> Wow that pesudo pop up after 30 seconds is a terrible thing to do to your users.

<comment><USER3> Ok, just click on "never see this message again".

<comment><USER2> I'd prefer to just not use a site that does that by default.</comment></comment></comment>


Get Static - <AUTHOR> https://meyerweb.com/eric/thoughts/2020/03/22/get-static/ <comment><USER2> Static site generator for non-technical people:

      1. Write your article in Microsoft Word.
      2. Save as 'Web Page, Filtered'
      3. Upload/Place in html folder on Webserver.

Almost everyone has access to a copy of Word, if not I _think_ LibreOffice has a html save function also.

This solution is 100% wrong for us technical people, but for non-techies who just want to _get the information out there_ it's a really good option imho.

<comment><USER3> Also available, Blue Griffon, which is an open-source successor to Dreamweaver. It offers templates and CSS, and what's uploaded is a totally static page unless you stick in something dynamic like a form.

<comment><USER4> Wow, I didn't realise Nvu had been resurrected. This looks great for basic publishing.

[https://en.m.wikipedia.org/wiki/Nvu](https://en.m.wikipedia.org/wiki/Nvu)

</comment></comment></comment><comment><USER5> As pointed out in the article, not only do you avoid 502 Bad Gateway, but rolling static sites is also trivially downtime-free, meaning no 503s either[1]

[1] [https://rauchg.com/2020/2019-in- review#s1](https://rauchg.com/2020/2019-in-review#s1)

<comment><USER6> I wonder if you can create a fallback easily instead of serving 503 , you get a static fallback version.

</comment></comment><comment><USER7> It all comes down to:

      1. If two users access the same page, do they see the same content?
      2. How often do you update the content of the website?

The reason to ask yourself 1) is to know if the content has to be generated _on the fly_. If it's a blog post or a hospital "about" page, then the content is the same for everyone. There is definitely no need to fetch it from the database on every page load. Like Eric says, "get it down to static HTML and CSS".

Cases where the content is dynamic are social networks (FB, Twitter), search engines (Google, any ecommerce search feature), and any logged in content (cart, likes, friends…). For the latter, I've seen cases where the logged in content is only fetched via JS after the initial page load. This hybrid solution probably saves a lot of bandwidth.

The reason to ask yourself 2) is to know how long, as a content creator, you are willing to wait between updates. I can imagine that updates to a blog post or a hospital "about" page are allowed to take several minutes. In that case, static websites are favourable.

I guess the waiting time is correlated with the amount of updates: the higher the amount of updates, the shorter the waiting time you would want.

The reason why CMSs like WordPress are still popular is because of their ease of use. I've had several clients ask me specifically for a WP solution. I guess the issue is that it's hard to detach the dynamically-created content from a dynamically-served website. There are cache plugins, but I'm still looking for a custom solution where WP is only used as a non-public CMS, that then, at a push of a button, gets generated into a static website (or even a Gatsby one).

<comment><USER8> There is a lot of room between "generate everything from the database on page load" and "fully static site". We could expect many people editing crucial sites at this time are not so technically literate, under time and other pressure, and do not have the spare time to learn something completely new such as authoring a static site.

Given those criteria, I think a better solution to these problems would be some sort of caching layer, either built in to the CMS or perhaps a different server acting as a reverse proxy.

</comment></comment><comment><USER9> I've been working on an restaurant order system for a client lately.

Instead of doing the obvious thing and build a database connected web application hosted in the cloud; I opted for a local application that generates static files for customer ordering, uploads them to a web server and polls for orders. On the server there's a simple PHP script that writes a chunk of JSON to a file when the order is created.

The main motivation was to allow them to continue taking orders in the restaurant and perform maintenance even if the internet connection isn't working. Generating files also simplifies the implementation of customer specific customizations.

And since the database isn't customer/web facing any more and therefore doesn't need to scale beyond a couple of simultaneous users, I opted for a simple file based solution.

The fact that the customer order part runs blazing fast is a nice bonus.

<comment> 076ae80a-3c97-4 I've done this before too and it works well for a good while. The issues start coming when the number of files increases to a volume where the hosting machine becomes slow. Having millions of tiny files takes its toll on even the best file system. However this can be mitigated by perodically archiving files. Just something to watch out for.

<comment><USER9> Yep, at some point, given that the system is successful, you will have to tackle archiving.

Still a lot nicer than paying for complexity you don't need before the system has even proved useful.

</comment></comment></comment><comment><USER10> Put a caching reverse proxy in front of dynamic content, like Varnish. That way the technically less inclined can keep using traditional UIs. Keep in mind most people don't even grok the static/dynamic distinction, they just want to publish content

<comment><USER11> Yes, with a properly configured CDN you can continue serving information even when the application server is overloaded or down.

I would suggest this route for organizations that are already using dynamic solutions like Wordpress.

</comment></comment><comment><USER12> This appears to be well-meaning (which is to say it's not the usual tautological whinging tech hate for dynamic sites, it appears to come from a place of concern for delivering important information in a crisis). But it's also quite a lot to ask _in a crisis_. Stuff like this should set off alarms:

> I can't tell you how best to get static—only you can figure that out.

Okay. Is this helping? I guarantee anyone responsible for uptime of critical services is pretty overwhelmed right now, and not going to be immediately receptive to calls to make huge, abrupt architectural changes without any guidance.

Edit: this is how it should be done[1] (HN thread[2])

[1]: [https://mxb.dev/blog/emergency-website- kit/](https://mxb.dev/blog/emergency-website-kit/) [2]: [https://news.ycombinator.com/item?id=22657571](https://news.ycombinator.com/item?id=22657571)

</comment><comment><USER13> This is good advice, and is meant for service based sites that are now more important than ever. But I'm not sure how many service providers can even afford to spend time and money on such things and risk more failures in this process than the current timeouts or other issues. The largest companies would've already optimized these (to a great extent) long before this pandemic.

One can only hope that in the coming months, websites focus on reducing their bloat and catering to audiences with restricted bandwidth (if streaming services are already doing their bit to reduce traffic, so should others).

For truly static websites, the ones without a lot of dynamic or frequently changing content, what good CMSes exist that can easily adapt to or be used with SSGs (for self-hosting, not using Netlify or some other site)?

<comment><USER14> I haven't used it personally but I've heard good things: [https://www.getlektor.com](https://www.getlektor.com)

Generates static files while also providing an interface for edits.

<comment><USER15> Are you suggesting that mission critical sites rewrite in a tech stack that you haven't used? That seems misguided

</comment></comment></comment><comment><USER16> In case you're in the situation where you're considering moving your site from a CMS to something static, I did this with PhotoStructure's public site in December, switching from ghost to hugo. It's fantastic to be able to prop up a new site in seconds with an rsync command, and revert to prior versions with filesystem snapshots or standard backup software.

</comment><comment><USER17> Something I found during the weekend, if you have PowerShell available (so any Windows machine, or any macOS with brew installed, or linux if you're willing to add a pkg source from microsoft):

1\. Take a Markdown document

2\. In PowerShell: ConvertTo-Html -Body (ConvertFrom-Markdown -Path .\README.md).Html -CssUri "stylesheet.css"

That results in a complete and valid HMTL document that can be published anywhere with its assets.

ConvertTo-Html: [https://docs.microsoft.com/en- us/powershell/module/microsoft...](https://docs.microsoft.com/en- us/powershell/module/microsoft.powershell.utility/convertto- html?view=powershell-7)

ConvertFrom-Markdown: [https://docs.microsoft.com/en- us/powershell/module/microsoft...](https://docs.microsoft.com/en- us/powershell/module/microsoft.powershell.utility/convertfrom- markdown?view=powershell-7)

</comment><comment><USER18> I use Hugo for a few things. I'd mostly recommend it.

But in the worst case it can take minutes and hundreds of megabytes to update my blog to S3, even for a simple text change.

Not amenable for quick updates, or updates in the field.

You can add layers of tools to improve it, of course. But then you're back to it not being much different to wordpress + CDN.

<comment><USER19> Updates in the field should be a solved problem with a CI/CD pipeline that is actually doing the work. I use Hugo to generate a few small blogs, but don't do any of the generation locally, nor uploading. Quick updates don't feel like much of a pain in these cases (update the file, commit, push), but agreed that on a big site it will be a bigger update.

<comment><USER18> I do this too for some sites. But it's what I mean by adding extra tooling. You can do that, but it creeps closer toward something more Wordpress + CDN like.

<comment><USER19> Oh, I agree. I still prefer it for the relative smallness compared to needing a DB and such, but I am with you that it is creeping bigger.

</comment></comment></comment></comment><comment><USER20> Static isn't a panacea, but it can help.

I have written sites using CMSes that load lickety-split. The trick is to use simple, "bald," basic themes, very few plugins, no JS libraries, and hand- write your own CSS.

Depends on what the site does, and, most importantly, where the content originates.

That said, Eric Meyer rocks, and it's always a good idea to listen to him.

<comment><USER21> Totally agree - the bottleneck are bloated themes. Just started to use Framework7 for a new site ... I like it's compact design and great features to design mobile sites.

</comment></comment><comment><USER22> I like React's paradigm of declarative programming, and I like that it has static site generators like Gatsby, react-static and Next.js. React is interesting because it combines both a programming paradigm with the method of delivery, so it's nice that one can decouple that from the other.

</comment><comment><USER23> I can't count the number of times when download + rendering time has been the difference between a useful and a useless response to a "do I still have time?" query. Imagine being in that situation in an emergency.

</comment><comment><USER24> I was really wondering if any of the FAANGs reached out to help websites like [https://www.worldometers.info/coronavirus/](https://www.worldometers.info/coronavirus/), which while not that fancy cannot really be static 100%, as they update the virus numbers almost by the minute. They used to have some DB connections problems a couple of days ago and I think I also saw some 503 responses, but thankfully things have stabilised for them since then.

<comment><USER25> Cronjob that re-generates the static HTML every 1 minute would work just fine for a use-case like this.

<comment><USER26> Isn't that how 4chan works? They just generate static HTML every time something changes.

It works because the read/write -ratio is so heavily skewed towards reads.

</comment></comment></comment><comment><USER27> Extensive list of stating site generators here: [https://www.staticgen.com/](https://www.staticgen.com/)

</comment><comment><USER28> A static site generator gives you many of the advantages from a "CMS" on-the- fly rendering, while also giving you all the advantages from static hosting.

</comment><comment><USER29> If using PHP the way it was initially meant to be used (i.e. includes, variables, and helper functions where it makes sense, etc.), then it doesn't need to be 100% static in the way the author is suggesting, to be orders of magnitude more efficient than a full-fledged WordPress site.

</comment><comment><USER30> [https://jamstack.org/](https://jamstack.org/) "Fast and secure sites and apps delivered by pre-rendering files and serving them directly from a CDN, removing the requirement to manage or run web servers."

</comment><comment><USER31> Such a true point.

It amazes me why every site seems to need the latest and greatest framework just to tell me a paragraph of text.

We have to stop teaching junior devs react and start teaching them more static site generators.

I personally use hugo and love it.

<comment><USER32> Nothing wrong with React. React has built in server rendering. With frameworks like Gatsby that render to static assets and netlify for deployment, this becomes radically easy.

I've seen plenty of new devs take this approach.

</comment></comment><comment><USER33> A lot of the time, you use a CMS so that non-technical people can _manage content_. I'm also not aware of any static site generator that doesn't completely fail in this regard.

You can turn some CMS content into static content, but it's pretty limited. Even something as simple as a contact form is going to fail.

</comment><comment><USER34> Static is not the way to go. There are technologies today which can scale fast without crashing. You don't need static sites to handle the load. Checkout a serverless CMS like Webiny - [https://www.webiny.com](https://www.webiny.com)

</comment><comment><USER35> Made that choice for the K Health's Corona updates web application

</comment><comment><USER36> This guy has a bunch of javascript and PHP running his site its not static what a hypocrite.

</comment><comment><USER37> Really? People are hunkering down in their homes and have lots of time on their hands. If a web site is overloaded, they can try again later. Annoying, sure. Life or death? I am skeptical.

Moreover, "getting static" is nice and a fine way to improve performance, but it seems to me that really the goal should be, "be available." What's wrong with using a CMS or anything else as long as you have the capacity to meet demand?

<comment><USER38> I feel like few people even know about static site generators, and use general purpose solutions what anything that includes word "site" in it, whether it's dynamic social portal or single page static content.

Like, from the practical perspective, if you have a blog with content that is requested 1000 times per minute, but updates once per month (23 microtimes per minute), why on earth would you setup a database (with geo-redundant replica, of course) and run overly complex code to render the same HTML over and over every single time it's requested? The only possible answer here is being oblivious of other available options, and I believe author of the post is trying to raise awareness that there is another option.

<comment><USER39> Most websites are more dynamic than they look. Anything with frequent updates (news for example), user accounts, any kind of personalization / geo-based content, or running A/B testing will demand dynamic rendering.

That's not an excuse for terrible performance either way. At this point it's trivial to handle hundreds (or thousands) of req/s on common hardware if you just choose the right software to run.

<comment><USER40> even then it's only a question of how long can "stale" data be served, or is the dynamic-ness worth it?

You can you lamba/cloud functions as webhooks for your CMS to ping when a rebuild of the static site is necessary. Netlify helps you set this up easily.

Even if you updated a dozen times a day, it would take only a few minutes or less to rebuild and deploy.

edit: yes per-user data is a primary use case for dynamically rendered sites.

But public pages that all users load make sense as static if possible

<comment><USER39> Not dozens, think millions/billions of combinations for dynamic content. You cannot pre-render all the possibilities.

</comment></comment></comment></comment></comment><comment><USER41> This advice is a bit misguided:

> get it down to static HTML and CSS and maybe a tiny bit of enhancing JS, and > pare away every byte you can.

HTML is a language used for building your DOM. CSS is a language used for styling. JavaScript is also a language that can do those things, and focusing on the language used isn't going to help.

If the goal is to save space and power you can do it much better with JS. A lot of server side rendering, html caches, and static content is focused on good SEO and low latency, not small download size and power consumption.

You can fit a much smaller download into a stripped-down Gatsby site if you have a nontrivial amount of content. It also makes things like serving only much smaller versions of any images way easier. You can go even smaller with vanilla JS if you want.

<comment><USER42> Specifying content, styling, and layout are what HTML and CSS were designed to do, and they do it quite well. Throwing the bigger hammer of Javascript at this problem means anybody who likes to browse without Javascript (which is quite a few of us in this era of abusive ads and malware) is not going to see your site properly. It also means you've opened the door for some future maintainer to introduce a multi-megabyte Javascript library 98% of which isn't actually needed, and which will _very much_ consume a lot more power on the client's platform than HTML and CSS.

Never use a Turing-complete language to solve a problem that's already well- solved with a non-Turing-complete language. Especially when that non-Turing- complete language is _already present_ on the client's machine. Most especially when you're talking about static sites for essential public information.</comment></comment>


Cuba's Lack of Literature - <AUTHOR> https://www.the-tls.co.uk/articles/public/106941cuba-lack-literature/ <comment><USER2> Visiting second-hand bookstores during the nineties was my hobby, in my hometown in that peculiar Caribbean island. There wasn't much to read, except a lot of old science books translated from Russian. And mixed with those, some western textbooks printed at the same press than the Russian ones (I have always wondered if those were reproduced with permission). For lack of juvenile literature, I developed a hobby of deciphering foreign textbooks during my teenager days...

But those were the nineties, and now is now. These day, bookstores only sell "souvenir literature", dreadful works about and by the dictatorship ideologues that ordinary Cubans regard with indifference at best ...

</comment><comment><USER3> My last Feria del Libro was over 12 years ago and it was great! I got American Psycho, a Nightcrawler comic book, and thriller novel (now or never by elizabeth adler). Perhaps this was due to my ignorance as a young Cuban and not being able to learn about what was going on in the literary world outside the country. The Cuban Government censors many things, in my opinion, I wanted to know what specific works the author thinks should be available.

</comment><comment><USER4> Can't pirate literature travel by thumbdrive? Maybe there's no desire for contemporary literary fiction and its endless turmoil about coming to terms with guilt, in a country where most people don't feel guilty.

<comment><USER5> Assuming that assertion is true, which I doubt, surely they must have some interesting conflicts in their societies and lives that international literature could speak to, if only a little. There's quite a bit happening in Latin American literature that may well speak to Cubans, but is unavailable on the island. And since the government control which books can be brought into Cuba, I doubt demand is the root of the issue.

</comment></comment><comment><USER6> Gabriel Garcia Marquez was a good friend of Fidel, his books must be available in bookshops.</comment>


Ask HN: Suggestions on a WYSIWYG editor for email templates? - <AUTHOR>

So we have been using tinymce as the basis of an email template builder directly used by our clients from our platform, but we are going to do an overhaul of our template/email design tool as it needs to get easier for clients.  We of course can continue to use tinymce and work to resolve the problems we have had with it but it seems at least prudent to evaluate other options as we expect this to be a extensive update.
Any suggestions on WYSIWYG editors or other methods or what you have done (good or bad)?  Our one hard limitation is we can't utilize a third party editor where the client would be off our site, it has to be integrated to our platform.
We are not against paying for the tool and I don't want to reinvent the wheel here, but I'd prefer open source.  We need compatibility across current browsers but we have no requirement to support IE8 or lower.  We have even considered writing a custom tool here, but it seems prudent to instead add components to existing tools if possible (time and money wise).
ideas? <comment><USER2> I have used Summernote on previous projects and found it easy to use, powerful enough, and good browser compatibility. Also has inline editing capabilities.

I have also heard good things about textbox.io but have never used it so can't give an opinion.

<comment><AUTHOR> Thanks, haven't used or honestly heard of either one. Glad to have more to look at, thank you again.</comment></comment>


Patternify | CSS Pattern Generator - <AUTHOR> http://talentopoly.com/posts/942-patternify_css_pattern_generator

<comment><USER2> Why not the direct link to <http://www.patternify.com/>? I realize you are a part of talentopoly.com (if not the sole founder), but it adds utterly nothing to the content.

Meta discussion aside, I think the base64 export is a really cool feature in a webapp that otherwise is simply MS Paint.

<comment><AUTHOR> Yea the Base 64 export is what caught my attention.</comment></comment>


I was going to report a malicious app to Facebook, but... - <AUTHOR>

So, yet again, one of my several Facebook friends did a Bad Click and now there's a Facebook Wall entry from them about winning an iPad for free (or something), with a bit.ly URL.
My first instinct is to comment on the post that nobody should click the URL, so that all of our friends are suitably notified, but in this case I had a mind to report the app itself. Lowering my mouse cursor to the similar-to-innocuous name of the app, I was struck by fear: what if this puts some crap on my wall from the app maker (even if I don't install anything). After all, I have to go to the app's site within Facebook. What if there's something malicious stuffed into the description or something?
Just like we saw with Microsoft all those years ago, this is yet another downside of being a big fish target of hackers: why should I contribute to what is apparently a black hole, helping a lost cause with security, and possibly harming my own resources? People just started expecting Windows to be bug ridden, blogging about how quickly an unpatched Windows box would get 0wn3ed on the open Internet (something less than 30sec, IIRC).
These kinds of problems were also demonstrated by Microsoft to be mostly a PR problem, but after a point it really starts to hurt the brand. I don't know what Facebook's internal metric for basic success, like what sales would be to Microsoft, but I have to think that follow-on effects from bad apps factor into it. <comment><USER2> FB apps can't post until you explicitly give it permission to do so. Visiting the app page != granting permissions. Watch out for the popup requesting rights.

<comment><USER3> _What if there's something malicious stuffed into the description or something?_

You never know.

</comment></comment><comment><USER4> I've had a few cases of hesitation when I'd like to report a post item but not the posing user. (User is ignorant or compromised.)

Not caring to keep up on every changing detail of FB's self-management, the dropdown options left me uncertain of the effect(s) my reporting (e.g. as "spam") would have.

IMO, FB could put in some work to make the reporting options clearer in terms of effect. (E.g. reporting a spam "post" will or will not ding the post's owner -- your friend.)

Just a suggestion. Use clear communication and information to make it easy for the user to help you (reporting spam).

Of course, I tend to "overthink" these things. Perhapss/likely, most users just ignore or "report" without thinking about the implications of doing so.</comment>


The internet's men who hate feminism: here's what they're like in person - <AUTHOR> http://www.vox.com/2015/2/5/7942623/mens-rights-movement <comment><USER2> It's the closing of the article that is pure gold:

 _"...You feel bad about it the next day."

"You do?"

"Sure."

"Do you apologize?"

"For being critical? No, I mean, they were still wrong."_

And that is, in a nutshell, everything about arguing with people on the internet.

</comment><comment><USER3> I'm not an MRA. I don't like the Reddit anti-feminism scene. I don't hate feminism, but I strongly oppose a lot of the ideas it comprises. It's an incoherent mess, a circular, self-defending hall of mirrors that shames people for not caring _more_ about ethnicity and _more_ about gender than they do now, when I think we should be trying to care _less_ about those things.

Why isn't it rape when a woman has sex with a man too drunk to give consent? Because men can't be the victims of rape. Why not? Because it's not really rape unless it's done by men to women as a way of maintaining a rigid hierarchy of domination.

Why isn't it female privilege when women aren't required to sign up for the draft, or can comfort a stranger's young child, or are one tenth as likely to be incarcerated, or enjoy any of a thousand other undeserved advantages conferred by society? Because, by definition, those advantages are all benign sexism. _Anything_ that appears at first glance to your ignorant eyes to be female privilege is actually benign sexism, and the fact that you thought it might be female privilege is just more evidence of how deeply entrenched the patriarchy is.

Why isn't it racism when someone makes blanket statements about all white people? Because racism isn't just discrimination on the basis of race, it's discrimination on the basis of race by members of a relatively privileged class against members of a relatively less privileged class. And how do we know what the classes are, and their levels of privilege? Well, feminists will be glad to tell you. But the criteria for deciding may never be revealed, and they certainly wouldn't be open for debate.

If feminists make statements about, e.g., "men", and you are a man, and the statement is clearly not true in your case, and not true of your dad, or your granddad, or any of your male friends or male coworkers, you would be wrong to be upset, because they _obviously_ weren't talking about you, or them. If you told them that their machine gun seemed to be hitting 90% innocent bystanders, that would be an attempt at derailing.

I'm being a little snarky, and I really don't like that. I want to be positive and not add to the noise. But in this case I think it's important to try to express how infuriating it is to come in contact with this stuff. It's toxic waste. It's a mental virus.

Needless to say, everything I've said here is invalid, because I'm a cis white male. It's irrelevant how difficult my life has been. I'm still privileged, and one of the best things I could do would be to shut up [1].

[1] [http://www.blackgirldangerous.org/2014/02/4-ways-push- back-p...](http://www.blackgirldangerous.org/2014/02/4-ways-push-back- privilege/)</comment>


An Experiment with GitHub Pages, Jekyll and Travis CI (Having Some Fun) - <AUTHOR> http://darek.dk/2016/05/29/an-experiment-with-github-pages-jekyll-and-travis-ci.html <comment><AUTHOR> EDIT: There is an easter egg in this post. Funny by-product of static site generation. Can you see it?</comment>


$1.5 Billion Star Trek Theme Park to be Powered by Alternative Energy - <AUTHOR> http://inhabitat.com/jordans-1-5-billion-star-trek-theme-park-to-be-powered-by-alternative-energy/

<comment><USER2> I find the cognitive dissonance of this stunning. If you claimed that the opposite of an Islamic future was Gene Roddenberry's view of the future I would not dispute that.

In Gene's future women wore as little as possible, religion was like a country club membership, and discrimination against any lifestyle choices was a major faux pas.

The Christians in the US really hated it back when it was first on for these very reasons, I doubt the middle east would embrace it.

<comment><USER3> I don't think it's fair to think of Jordan as a particularly Islamist (which is distinct from Islamic; the former being a political philosophy, the latter meaning "primarily Muslim") country. Especially compared to the Gulf states which have lots of oil wealth, Jordan is a relatively moderate society, much closer to Turkey in terms of westernization than Yemen or even Saudi Arabia[1].

[1] According to the CIA World Factbook, female literacy rates are 96% in Israel, 85% in Jordan, 80% in Turkey, 70% in Saudi Arabia, and 30% in Yemen. That's just a single, relatively poor metric, but gives some idea of the state of things.

<comment><USER2> I don't think I called out Jordan as Islamist, I said that a Star Trek universe is conceptually the inverse of an Islamic universe. Creating a theme park in the Middle east which is dominated by Islamic politics seems unlikely to succeed at best.

Jordan is perhaps one of the few places where this project could even get off the ground (Dubai as well perhaps). The fact that it would be built, in spite of being antithetical to a large chunk of possible 'customers' is where the dissonance comes in.

</comment></comment></comment><comment><USER4> This looks like a pipe dream to me. Another fantasy building project for the middle east.

<comment><USER5> Except this one's a lot cooler and I'd actually visit, unlike the Burj Khalifa.

</comment></comment><comment><USER6> For $1.5 billion I hope it has a holodeck, transporter, and a take-home-pet- android named Data.

</comment><comment><USER7> slightly off-topic, but why does the quoted press release refer to real time? "...advanced visual and sound effects to give the people coming in the park a real-time feel of things".

No idea what that could mean.

<comment><USER8> My guess is that it's a next-gen version of Star Trek: The Experience, the defunct Las Vegas tourist attraction.

You'd go through a transporter (it was very well done), get aboard the Enterprise, then escape the Borg and ride a shuttle which was rigged up with hydraulics and big-screen effects.

There was an original ST:TNG version, and later, a more advanced Voyager version with incredible audio (built into the headrests of your chair), some decent 3D and some well-designed low-tech effects (e.g., you'd get squirted with water after phasering a Borg, and when you were assimilated, a mechanical "probe" in the upholstered chair would start to "drill" into your lower back, no joke).

You'd exit into the DS9 Promenade (gift shops) and then into Quark's Bar (a themed restaurant). Lots of fun.</comment></comment>


Web App Directories to Promote Your Startup - <AUTHOR> http://justinmcgill.net/massive-list-of-web-app-directories-to-promote-your-startup/ Has 105 different websites that you can promote your startup or web app to. The post itself also includes a downloadable excel file. <comment><USER2> Oh wow. Remember those "submit your link to these search engines" sites back in the late nineties / early 00s? Or "site of the day" sites?

What is old is new again.

Genuine question: how many of these sites (except for resources like Crunchbase) are actually visited by real people? I'd love for someone to test the impact of submitting to all of these.

<comment><USER3> You can use Alexa rank and other public metrics as a crude first-approximation of how many visitors a site gets. In my experience it's usually accurate to within an order of magnitude for sites that aren't incredibly big or incredibly small.

Here are the results for the first 10 domains on the list:

        domain                 daily visitors
        </comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>
        101bestwebsites        5,000
        aboutyourstartup       3,500
        alltopstartups         11,000
        alternativeto          1,750,000
        angel.co               500,000
        appappeal              15,000
        appmit                 400
        apps400                5,000
        appuseful              3,000
        appvita                6,000

</comment><comment><USER4> Web app directories? Is it 1995 all over again? Are we going to have webrings again?

<comment><USER5> Many of these sites have real visitors. Even lesser known sites can dozen around a hundred visitors to your page...which is better than nothing.

<comment><USER6> [[citation needed]]

</comment></comment></comment><comment><USER7> [http://webcache.googleusercontent.com/search?output=search&s...](http://webcache.googleusercontent.com/search?output=search&sclient=psy- ab&q=cache%3Ahttp%3A%2F%2Fjustinmcgill.net%2Fmassive-list-of-web-app- directories-to-promote-your- startup%2F&oq=cache%3Ahttp%3A%2F%2Fjustinmcgill.net%2Fmassive-list-of-web-app- directories-to-promote-your- startup%2F&gs_l=hp.3..0l4.885.2078.0.2418.104.22.168.0.0.1.281.978.0j3j2.5.0....2...1c.1.49.psy- ab..3.4.699.at6VoPTHT2E&pbx=1)

</comment><comment><USER8> App idea, service that hits all of the links and submits your startup.

</comment><comment><USER9> I'm currently finishing up our software/webapp/saas review subsite here:

[https://software.techendo.com/](https://software.techendo.com/)

Would love any feedback.

<comment><USER10> Looks like you have some issues with SSL on a lot of the pages.

<comment><USER9> What did you find? Can you give me some more info on that?

</comment></comment></comment><comment><USER11> You can also promote your startup on my "Internet Startups" Google+ community, posting (only once) under the "Introduce your startup" category:

[https://plus.google.com/communities/100445483815501942968](https://plus.google.com/communities/100445483815501942968)

</comment><comment><USER12> site currently 404s.</comment>


Didn't they realize I was on National TV? - <AUTHOR> http://www.jamesaltucher.com/2011/04/didnt-they-realize-i-was-on-national-tv/

<comment><USER2> This is really, really hard to follow. What point were you trying to make?

<comment><AUTHOR> That every day in everyone's life is a beautiful story.</comment></comment>


Ask HN: How can I be competitive? - <AUTHOR> I don't have any projects to show off. I haven't been programming since I was 5 years old. I don't have a college degree. How am I supposed to compete with those who went to Stanford, started programming while still in the womb, and have already started 2 or 3 companies? Obviously I am exaggerating, but there are still loads of potential developers out there whose resumes would run circles around mine. What can I do to make sure I stand a chance? <comment><USER2> Take the time (a few years at least) to learn, and to write code. AFTERWARDS, you might be competitive, and might stay so if you continue to learn and code.

Note that it might be possible to do so while getting paid. I know of a guy who years ago applied for a job with Borland in SDK tech support. They gave him an open book test, saying "if you can find the answers in the manual, we'll hire you." After years of doing tech support, since he was immersed in the info day in and day out, he became one of the most knowledgeable C++ programmers I've met. Other potential paths include starting in QA, or tech writing.

Take classes. Khan Academy, Coursera, Udacity, and EdX offer free classes.

BUT it will take time. If you're not willing to spend the time, pick another field.

<comment><AUTHOR> This is interesting because, while I know it will take time, I don't want to wait. Right now I feel so far removed from the technical community because the city I live in doesn't offer a lot. I think that, given the opportunity, I would be very happy to work in QA while I learn.

What resources would you recommend for finding a QA or similar job? I've never held a job even remotely related.

</comment></comment><comment><USER3> Most people spend most of their "free" time browsing the internet and being unfocused.

Don't be like most people.

<comment><AUTHOR> Last night I read something about 16 ways to be productive or something like that. After some thought, I realized how much time I waste just mindlessly surfing the net every day.

One point the article made was that scheduling is key, especially is self- discipline isn't your strong point (and believe me, it isn't a strong point of mine). So I decided that, before going to bed, I would create a schedule for the following day (that is, today) and stick to it. There were a few bumps along the road that required moving some things around but now it's 7:00 PM and I've managed to complete everything on the list up until this point.

From now on, I will be explicitly scheduling free time (I actually have some coming up in about 30 minutes).

<comment><USER4> If you struggle to schedule, which you don't seem to, you can de-schedule.

What I do is schedule time for goofing off (browsing) that way the rest of the time is focused on what I have to do. Granted it helps listing the tasks but I struggle to complete tasks in allotted time frames.

<comment><AUTHOR> I tend to schedule more time than I think I'll need to complete a task, rather than less. Any time left over goes to tasks that I didn't complete earlier in the day and, if none exist, I browse.

</comment></comment></comment></comment><comment><USER4> I am not a developer but a few people I know were able to score freelance gigs by creating open source software for businesses and blasting them.

One guy created a small utility for text expansion and easy to program keyboard shortcuts, hundreds of these exist, he emailed the Git URL to several businesses in the area who he thought would find it useful. They replied and now he has clients asking to modify/enhance his open source software.

</comment><comment><USER5> Perhaps you are being unrealistic. Don't expect to be competitive now. If you don't have the skills, you need to develop them. This takes time.

But then again all you need to create a startup, is some working code. I doesn't even need to be bug free or optimized or thoughtfully designed for that matter. If it's good enough to offer something for someone it's enough to get you started.

<comment><AUTHOR> I would think that releasing before working out bugs is considered to be bad practice. Is this not the case?

<comment><USER5> Bugs have priorities. It depends.

</comment></comment></comment><comment><USER6> For now, do what you need to do pay bills. Eventually, you'll find problems you want to solve, and solve them for fun. Once you've programmed for long enough to deliver great solutions, you become competitive.

<comment><AUTHOR> No offence, but I'm looking for something more proactive. :) I want to actively work towards my goal, not wait for something to come along.

<comment><USER7> I'm in the same boat as you, but the above advice is good advice. I'm looking for any job so that I can pay my bills while I take online classes and complete Ruby on Rails tutorial.

I also have 2-3 ideas that I want to develop that I can showcase. These projects are just vehicles to showcase my technical expertise. Then I'll apply for positions and use my portfolio I have made to showcase experience.

This is actively working towards your goal. If you can't find a job in the profession you want, you have to generate the opportunities yourself!

<comment><AUTHOR> I was thinking about working on a Reddit clone while making some open source contributions. How does that sound?

<comment><USER7> Go for it man! the RoR Tutorial builds a twitter clone. The process of making the clone is the learning period.

Once I'm done with going through RoR, I want to develop my own blog from scratch.

I'm also taking some Udacity classes and Coursera as well.

Lastly, get involved, do some volunteer work (e.g. design a site for a nonprofit, church, whatever..)

Those kids from Standford started programming at a young age, but they built up a nice portfolio, you should do the same.

<comment><AUTHOR> Shoot me an email at email@example.com sometime; I'd be interested to hear what you think about Udacity. I'm taking the Introduction to Statistics class right now myself.

</comment></comment></comment></comment></comment></comment><comment><USER8> You have it the other way around. Resumes, programming skill, college degrees mean nothing. NOTHING. You should be complaining about your ability to think up interesting problems and interesting solutions to solve them.

.

Think of programming like Legos. The only fun way to play with Legos is to pick an awesome thing to make beforehand (Say a 3 foot tall T-Rex) then figure out how to put random pieces together until you have what you had in mind. It doesn't matter you don't know fluid dynamics, rigid body mechanics, or structural engineering. You don't need a physics degree from MIT to make something interesting in Legos. In fact, the only real thing that really matters is your ability to pick something amazing to make. You _will_ learn how to make it if you have sufficient motivation. You will get motivated because what you're about to make is incredibly exciting.

Say there was an amateur who managed to make a 3 foot tall T-Rex vs. a mechanical engineer who made a 10-inch high structurally sound lego table. An audience sudden enters and they immediately warm around the T-Rex. "But, but," protests the mechanical engineer, "my chair is built with industry best practices. Look at that T-Rex! It's a mish-mash of random structure. No self- respecting engineer would be seen next to that thing." The audience doesn't care. The T-Rex is cool. The T-Rex is interesting. The T-Rex is fun.

Could the amateur have built a better T-Rex if he knew about some of the engineering principles? Yes. But in the end, it doesn't matter. The mechanical engineer chose to build something stuffy and boring. The amateur, using his superior problem discovery skillset, chose to build something amazing.

There are a million engineers out there who can build to industry best practices. There is only one out of a million who trains up his ability to think of something crazy new and interesting to build.

.

A personal story:

I went to MIT and I still didn't know how to do MVC in php properly until my senior year. What I did know how to do was pick a fun problem then bash my head against it repeatedly until it worked. I would spend hours perusing through the docs and obscure questions on bulletin boards until I found a code snippet that did what I wanted. Even then, I didn't always know how the code snippet worked. I just pasted it in and prayed to god it worked. Sometimes it did, most times it didn't. When it didn't, I fiddled around with the variables until somehow, somehow I made it work. And boy, that felt great!

If a semi-decent programmer had looked at my code, he would've gouged his eyes out. The redeeming factor to all my franken-code was the fact that if I did manage to get everything functional at the end, it was always a fun result. Because it was fun, I did side project after side project. It was an addictive cycle -- with the new skills I picked up, I could envision even more fun projects. During the process, I learned about php, MVC, mySQL, then rapidly accelerated through to Android, ObjectiveC, Flash, HTML5, RabbitMQ, Node, and Redis.

.

 _Jiggity's Guide to Become a Rockstar Startup Founder_

1\. Try your best to think of a FUN problem. (Think T-Rex equivalent of something "cool" and "interesting" in tech.)

2\. Try your best to think up a FUN solution. (Most people never fully achieve steps 1 and 2, settling for mediocre problems and mediocre solutions.)

3\. Figure out what is the minimum set of skills you need to make the solution.

4\. Learn those skills while making the solution.

5\. Congratulations! You've added a creative product to your portfolio and increased your skillset by X amount.

<comment><AUTHOR> Thanks for taking the time to type that beast. I can see how most people never achieve steps 1 and 2. I find it difficult to come up with an idea that other people think is really cool or, if I do, it's a ridiculously difficult idea that I don't possess ever a fraction of the required skillset.

One project that I've considered before is some sort of auto-piloted arduino- based plane that would fly across the US from Jacksonville, FL (where I live now) to Mountain View, CA. I think this might be comparable to your T-Rex example in that, while it has no practical use, it's still pretty damn cool.

Thoughts?

<comment><USER8> That's excellent! It certainly had me going, "That's pretty cool." I was checking the arduino docs and it looks like it has a ton of support for connecting the board to the Internet -- even being able to host its own webserver / connect with Twitter / run a Telnet client.

If your goal is to learn further web development, try including a net component as a more central piece of your product vision. It's your way of hacking your brain such that you'll have to, _want_ to learn that stuff to achieve your cool project.

<comment><AUTHOR> I'll keep it in mind! Thanks!</comment></comment></comment></comment>


Ask HN: Junior engineer being considered for lead engineer - <AUTHOR> I have had great experiences sharing on HN so I am somewhat comfortable to share vulnerably about this issue. I have 2 years of experience in writing software but about two decades of experience in professional work in other industries. To be honest, I had not been professionally successful and this has been a great source of suffering for me. Recently, I spoke to a hiring manager of a particular team at a large non-tech corporation, and expected to be considered for a mid-senior job like SDE II or the like, but the lead recruiter sent me a listing for "lead software engineer." I am a little confused. Flattered and ambitious, of course, but also cautious and wondering if it was a mistake. At the same time, I am not sure I can actually do the job, although I am excited about the project and I performed well at the first contact with the hiring manager. I literally felt possessed by a very intelligent person and spoke very well. Afterwards when I looked into the topics being discussed, I knew I had many days, weeks, or maybe months of studying to do to really know what I am doing. Does anyone have any experience with this situation, and if so, what happened then? <comment><USER2> I suspect you are not getting many replies because your situation is fairly specific.

But I think the answer is pretty easy: Do you want to work for the company you interviewed with and are you excited to work with that team? Do you understand the expectations well and are you willing to do the work to meet them?

If the answers are yes, then go for it.</comment>


Meme (Multitasking Extensible Messaging Environment): Multiuser Forth VR (1994) - <AUTHOR> https://web.archive.org/web/19990125100147/http://www.immersive.com/ <comment><USER2> I remember reading about Marc de Groot (author of this software) in Douglas Rushkoff's _Cyberia_. Unfortunately he passed away in 2004.

[https://www.sfgate.com/news/article/DE-GROOT- Marc-2732584.ph...](https://www.sfgate.com/news/article/DE-GROOT- Marc-2732584.php)

<comment><USER3> Likewise. Stumbled upon a copy of Cyberia as a 15 year old and it made a huge impression.

</comment></comment><comment><AUTHOR> Interesting criticism from David Cake and Gavin Bell. Fortunately now we benefit from nice IDEs and other tools for editing popular programming languages (but none I know of for FORTH or PostScript, but there are lots of applications that edit or write out JavaScript and JSON and WebAssembly, even built into every browser ;).

Before JavaScript was released on December 4, 1995, there actually was some disagreement about not just about which language to use, but whether a browser should include a Turing-complete programming language at all. Sun was pushing TCL as a contender, then RMS issued his fatwa against it, and Sun switched over to pushing Java (not because of RMS though ;).

[http://1997.webhistory.org/www.lists/www- vrml.1994/0268.html](http://1997.webhistory.org/www.lists/www- vrml.1994/0268.html)

        From: "Gavin Bell" <%20(fwd)"email@example.com>
        Date: Fri, 24 Jun 1994 09:41:24 -0700
        To: %20(fwd)"firstname.lastname@example.com
        Subject: Re: Meme

        >Marc de Groot wrote:
        >>Meme has certain features that I would want to see in any specification for
        >>VRML. In particular, Meme allows the world designer to specify platform-
        >>independent executable code for the object's behavior. Without this
        >>ability, objects have relatively rigid, uninteresting behavior.

        David Cake replied:
        > Basically VRML browsers need to be basically include much of the function
        > of a simple interpretive language, and hopefully both a basically object
        > oriented one (personal preference, I guess), and one that is not too
        > verbose (for efficient use of low bandwidth). In this it would function
        > like most existing cross platform packages of various kinds (many database
        > packages, for example).

        [Gavin Bell replied:]

        One of the things I really like about HTML is that it is reasonably
        easy to write an editor that allows you to read in and then modify any
        HTML file.

        One of the things I really hate about PostScript is that is is really
        hard to write an editor that can edit an arbitrary PostScript file.
        Meme strikes me as more PostScript-like than HTML-like; it looks like
        it would be easy to write applications that wrote out Meme files, but
        it looks very difficult to write applications that provide a
        user-friendly interface for editing Meme files.

<comment><AUTHOR> "Why you should not use Tcl": Richard Stallman kicks off The Great TCL War.

[https://vanderburg.org/old_pages/Tcl/war/](https://vanderburg.org/old_pages/Tcl/war/)

[https://vanderburg.org/old_pages/Tcl/war/0000.html](https://vanderburg.org/old_pages/Tcl/war/0000.html)

Richard Stallman (email@example.com)

Fri, 23 Sep 94 19:14:52 -0400

Why you should not use Tcl. Richard Stallman, GNU Project.

As interest builds in extensible application programs and tools, and some programmers are tempted to use Tcl, we should not forget the lessons learned from the first widely used extensible text editor--Emacs.

The principal lesson of Emacs is that a language for extensions should not be a mere "extension language". It should be a real programming language, designed for writing and maintaining substantial programs. Because people will want to do that!

Extensions are often large, complex programs in their own right, and the people who write them deserve the same facilities that other programmers rely on.

The first Emacs used a string-processing language, TECO, which was inadequate. We made it serve, but it kept getting in our way. It made maintenance harder, and it made extensions harder to write. Later Emacs implementations have used more powerful languages because implementors learned from the problems of the first one.

Another lesson from Emacs is that the way to make sure an extension facility is really flexible is to use it to write a large portion of the ordinary released system. If you try to do that with Tcl, you will encounter its limitations.

Tcl was not designed to be a serious programming language. It was designed to be a "scripting language", on the assumption that a "scripting language" need not try to be a real programming language. So Tcl doesn't have the capabilities of one. It lacks arrays; it lacks structures from which you can make linked lists. It fakes having numbers, which works, but has to be slow. Tcl is ok for writing small programs, but when you push it beyond that, it becomes insufficient.

Tcl has a peculiar syntax that appeals to hackers because of its simplicity. But Tcl syntax seems strange to most users. If Tcl does become the "standard scripting language", users will curse it for years--the way people curse Fortran, MSDOS, Unix shell syntax, and other de facto standards they feel stuck with.

For these reasons, the GNU project is not going to use Tcl in GNU software. Instead we want to provide two languages, similar in semantics but with different syntaxes. One will be Lisp-like, and one will have a more traditional algebraic syntax. Both will provide useful data types such as structures and arrays. The former will provide a simple syntax that hackers like; the latter will offer non-hackers a syntax that they are more comfortable with.

Some people plan to use Tcl because they want to use Tk. Thankfully, it is possible to use Tk without Tcl. A Scheme interpreter called STk is already available. Please, if you want to use Tk, use it with STk, not with Tcl. One place to get STk is from ftp.cs.indiana.edu:pub/scheme- repository/imp/STk-2.1.tar.Z

<comment><USER4> Stallman was really seeing with clarity back then. It's kind of crazy that he doesn't get credit for the things he _did_ unambiguously get right.

<comment><USER5> When considering how much of the web currently depends on non-free JavaScript, perhaps in hindsight it would have been better in terms of freedom to have gone with a less capable language?

<comment><USER4> Until Javascript became fully-capable, Java and Flash applets ruled the WWW.

</comment></comment></comment></comment></comment><comment><AUTHOR> I forgot to mention: this was from 1994!

And for reference: This was more than a year before JavaScript was released on December 4, 1995. And a few months before RMS started The Great TCL War on September 23, 1994. The title of Official Scripting Language of the Web was still up for grabs.

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

[https://vanderburg.org/old_pages/Tcl/war/](https://vanderburg.org/old_pages/Tcl/war/)

I dug up this treasure from last century by looking up urls from old saved favorite emails with the Internet Archive:

Marc de Groot made a brilliant multi-user networked VR system programmed in multitasking FORTH, called "MEME"!

Here's his announcement that Brian Behlendorf forwarded to the www-vrml mailing list:

[http://1997.webhistory.org/www.lists/www- vrml.1994/0255.html](http://1997.webhistory.org/www.lists/www- vrml.1994/0255.html)

        From: firstname.lastname@example.com (Marc de Groot - KG6KF)
        Subject: Meme
        To: email@example.com
        Date: Wed, 22 Jun 94 11:26:25 PDT

        Hello. It's about time I introduced myself. I'm Marc de Groot, the founder
        of Immersive Systems, Inc. in San Francisco.

        I started ISI to sell Meme, which is a virtual world development
        system. Meme is intended to create a single shared virtual universe on
        the net.

        ISI released the alpha version of Meme last month.

        Meme stands for Multitasking Extensible Messaging Environment. Meme started
        life as a programming language. Some "OS-level services" were added to the
        system, and finally the messaging mechanism was added to allow virtual objects
        to communicate. At this point, Meme is evolving into a communications
        protocol.

        I heartily agree with the statements that have been made on this mailing
        list about net software: make something proprietary, and the net hackers will
        write a free replacement which everyone will use.

        I intended to make the protocol public later this year, after ISI had fulfilled
        higher priority obligations, however the establishment of this list has
        prompted me to put some preliminary information on the net at this time.
        I have put up a WWW page for Immersive Systems. The URL is

        http://remarque.berkeley.edu/~marc/home.html

        >From the home page, you can read an overview of Meme, look at the programming
        manual, and download a demo world to try on your own PC.

        Meme has certain features that I would want to see in any specification for
        VRML. In particular, Meme allows the world designer to specify platform-
        independent executable code for the object's behavior. Without this
        ability, objects have relatively rigid, uninteresting behavior.

        That platform-independent code needs to load over the net with a minimum
        of overhead, and needs to execute efficiently. Meme satisfies both of
        these requirements.

        That completes my thoughts for now. I will post in the future, as time
        permits.

        Marc de Groot
        Immersive Systems, Inc.
        firstname.lastname@example.com

</comment><comment><AUTHOR> Immersive Systems Inc:

[https://web.archive.org/web/19990125100147/http://www.immers...](https://web.archive.org/web/19990125100147/http://www.immersive.com/)

[I'll quote some of the page here for people with sensitive eyes]

>Meme tm: Real VR for the Net!

>"A brilliant idea..." -Andries van Dam

>Meme tm was designed from the ground up for multi-user networked virtual worlds.

>Meme tm is a platform-independent standard for networked virtual reality.

>High performance. Self-contained. FAST real-time 3D. Easily customized for use with head-mounted displays, data gloves, and other VR peripherals.

>Meme tm is designed so it can run on memory-limited machines such as settop boxes and game consoles. Meme tm can also take full advantage of the most advanced graphics hardware.

>"This is what VRML 3.0 hopes to be." -Tony Parisi, VRML co-inventor

>Meme tm enables the construction of virtual worlds on the Internet.

>Fully interactive. Inhabitable by many users. Quickly constructed. Complex lifelike behavior. Easy to deploy.

>"Marc de Groot is a brilliant programmer." -Mark Pesce, VRML co-inventor

>Highly efficient virtual machine used by NASA and the aerospace industry. Will run on any system that has a 3D rendering engine. Portable to platforms with primitive or non-existent operating systems. Really works identically on all platforms. Runs in less than 500 kilobytes of memory. Upwards of a million context switches per second on current-generation processors.

>"How the hell did you do that?" -unknown attendee, Web Interactive '96

[Click through for more praise for Meme, colorful images, and awesome 1994 web site design!]

An Overview of Meme:

[https://web.archive.org/web/19990504200616/http://www.immers...](https://web.archive.org/web/19990504200616/http://www.immersive.com/overview.htm)

>Meme TM--The Multitasking Extensible Messaging Environment Meme TM is a software package for the development of virtual world applications.

>Worlds built with Meme TM can be inhabited by multiple users who are connected to a computer network. Meme TM virtual worlds distinguish themselves by providing rich object behavior, unlike menu-driven systems that offer a fixed set of choices.

>Meme TM is designed to be interoperable, that is, Meme TM worlds and objects will behave identically on any computer running Meme TM, irrespective of differences in the underlying hardware.

>Meme TM was conceived to enable the construction of a shared virtual universe for everyone on the Internet.

>what kind of software package is Meme TM?

>Meme TM does not easily fit into a well-known category. It incorporates elements of an operating system, an interactive development environment, and a programming language.

>Meme TM is an operating system [...]

>Meme TM is an interactive development environment [...]

>Meme TM is a programming language [...]

Meme Development System for Windows Product Specification:

[https://web.archive.org/web/19990422114909/http://www.immers...](https://web.archive.org/web/19990422114909/http://www.immersive.com/mdswin.htm)

>Required hardware: PC, 80386 or better with math coprocessor, 8 MB RAM, VGA, mouse, Ethernet or 10BaseT card or modem (for network connection.)

Meme Demos:

[https://web.archive.org/web/19990504193428/http://www.immers...](https://web.archive.org/web/19990504193428/http://www.immersive.com/memedemo.htm)

Meme Programming Guide:

[https://web.archive.org/web/19980110220614/http://www.immers...](https://web.archive.org/web/19980110220614/http://www.immersive.com/pgmguide.htm)

[It's totally programmable in FORTH! What more is there to say? ;) So here's some code! ]

>Writing Meme TM code

>Writing code for use in a multi-user universe is an undertaking that requires some sophistication. Often, the programmer wants to try out an idea quickly, without concern for the demands of multi-user distributed programming.

>For instance, let's assume the programmer would like to spin a ball, all alone, in the virtual world. Meme TM makes it easy to animate such a scene. The following text is the actual code that implements a spinning ball, and is very similar to the spinning ball demonstration on the demo page. The backslash character (\\) is used to delimit a comment to end-of-line.

>The comments assume that each line is being typed by hand at Meme TM's command prompt, with pauses between the lines to observe the effect on the displayed scene.

        \ First we create an eyepoint with which we view the scene.
        \ The eyepoint is initially positioned at the origin, looking down the
        \ negative Z axis (away from the user).
        Eye: eyepoint

        \ Let's put the eyepoint at +20 on the Z axis.  This moves the camera
        \ away from the origin, towards the user.
        10e0 eyepoint z!

        \ We put a ball in the scene.  It is created at the origin.
        " sphere.rwx" Shape: ball

        \ Up until now, the display has remained blank.  To draw a single frame
        \ on the display, we execute the meme "render".
        render

        \ There is now a ball on the display.  Rather than type "render" each time
        \ we want to draw a frame, let's start a background task that redisplays the
        \ scene continuously.

        background r                    \ Define a new task called "r".
                begin                   \ Start of a looping structure
                        render          \ Draw one frame
                        pause           \ Switch to the next task
                again                   \ Loop forever
        ;                               \ End definition

        r wake                          \ Start execution of the rendering task.

        \ Let's define another background task to make the ball spin.

        background spin                 \ Define a new task called "spin".
                begin                   \ Start of a looping structure
                        1e0 ball yaw+!  \ Increment the yaw angle by one degree
                        pause           \ Switch to the next task
                again                   \ Loop forever
        ;                               \ End definition

        spin wake                       \ Start execution of the spinning task

<comment><USER6> Would be interesting to take this same codebase and increase the rendering resolution since computers are so much more powerful 26 years later.

<comment><AUTHOR> I just found this!

[http://metatopia.sourceforge.net/](http://metatopia.sourceforge.net/)</comment></comment></comment>


Operation Ivy Bells - <AUTHOR> https://en.wikipedia.org/wiki/Operation_Ivy_Bells <comment><USER2> Years ago, I wrote software for what was to be the next generation of Ivy Bells. I was responsible for the real-time operating system and the time/scheduling software. The previous systems had all been coded in 68000 assembler. We were using what was a relatively new language at the time called C. After my tasks were completed, I moved on to a new job and lost contact with the program. It was some years later that I heard about the disclosure but I've always wondered what happened to the system we were building. I imagine it's in that big warehouse where the ark of the covenant is kept.

<comment><USER3> How did you know it was for Ivy Bells though? The Wiki article describes the huge amount of secrecy around the project; so why did they trust you/your co- workers?

<comment><USER4> It's called need to know: If you read "Taking of K-129" \- about a related - but even more secret op, you'll find countless examples of individual contractors who had to be fully cleared into the program because they were smart enough to "connect the dots".

The result there is they get briefed/cleared in, rather than kept on the outside where their curiosity might blow things up.

</comment></comment></comment><comment><USER5> Some of these missions are described (in a very suspenseful way) in the book _Blind Man 's Bluff_. What was interesting to me is that the DSRV[1] program provided both a cover story, equipment, and funds that could be secretly appropriated for these missions. According to the author, the DSRV was created by the Navy to salvage (heh) its reputation after the loss of the USS Thresher.[2]

[1]: [https://en.wikipedia.org/wiki/Deep- submergence_rescue_vehicl...](https://en.wikipedia.org/wiki/Deep- submergence_rescue_vehicle)

[2]: [https://en.wikipedia.org/wiki/USS_Thresher_(SSN-593)](https://en.wikipedia.org/wiki/USS_Thresher_\(SSN-593\))

<comment><USER6> Ah, you beat me to referencing the book! The Soviets discovered one of these Sea of Okhotsk tap pods, and interestingly enough it had printed on it "Property of the United States Government".

More info here for those that don't want to read the book: [https://www.nytimes.com/1998/11/08/us/a-tale-of-daring- ameri...](https://www.nytimes.com/1998/11/08/us/a-tale-of-daring-american- submarine-espionage.html)

Edit: The pod ended up on display in the Ministry of Security's museum in Moscow.

<comment><USER5> Good article. And of course the obligatory _Glomar_ [1] response from the Navy when asked for comment—"we can neither confirm nor deny." That legal phrase has an interesting undersea pedigree as well.[2]

[1]: [https://en.m.wikipedia.org/wiki/Glomar_response](https://en.m.wikipedia.org/wiki/Glomar_response)

[2]: [https://www.npr.org/sections/parallels/2017/09/18/549535352/...](https://www.npr.org/sections/parallels/2017/09/18/549535352/how- the-cia-found-a-soviet-sub-without-the-soviets-knowing)

</comment></comment></comment><comment><USER7> A tip of the hat is necessary to John Piña Craven (deceased), the Chief Scientist of the US Navy Special Project Office at the time.

He made mention of his days on the Mississippi River and the occasional "Underwater cable - Do not drag anchor" signs that dot the riverside. When asked, "What? You mean we should look for signs that say 'Underwater cable - Do not drag anchor' written in Russian?"

His answer was pretty much "Yes, that's exactly what we should do."

Craven was a colorful character and worth anyone's time to look up more on his contributions. I'll second the recommendation to the book "Blind Man's Bluff."

</comment><comment><USER8> > He [Pelton] reportedly received $35,000 from the KGB for the intelligence he > provided from 1980 to 1983, and for the intelligence on the Operation Ivy > Bells, the KGB gave him $5,000.

Spend $40k to blow a multi million (billion?) dollar operation. That's a pretty good return on investment for the KGB.

> It remains unclear why it took the Soviets so long, although a plausible > explanation is that it was used to feed disinformation to U.S. defense > intelligence.[original research?]

Reading one of the memoirs of Victor Cherkashin, an ex-KGB officer they were certainly fond of running double agents and feeding disinformation in the process. Well I guess that's a standard spy tactic I suppose. Another reason was probably to not betray Pelton.

Also Cherkashin was working in the Russian Embassy in DC at the time and he recalls the story in his book. After Pelton walked in and was debriefed, they suspected he was probably followed. So they dressed him as a delivery/service person, shoved him into a van and drove away. Apparently it worked because FBI was unable to follow and discover him. He was found later, when he was betrayed by a defector.

<comment><USER9> Remember that was $40k... but presumably not in Soviet rubles.

For closed economies (e.g. the Soviet Bloc), foreign reserves were non-trivial to acquire.

That said, it's still a bargain. But that's why every country has spies!

<comment><USER10> They had oil and diamonds. I don't think lack of foreign currency in those amounts ever really limited what Soviet intelligence could do.

What has always amazed me is how trivially cheaply most treason is paid for; it's almost always ego driven or blackmail driven, not outright "cash for secrets".

<comment><USER11> See "The Psychology of Espionage and Leaking in the Digital Age" [0] from the CIA for more on this. From the paper:

> What Causes Someone to Spy or Leak?

> "Crises and vulnerability together intensify emotions, undermine already > compromised judgment, and galvanize impulses to seize opportunities to > obtain escape or relief through ill-judged negative conduct. People in this > state are ready targets for manipulation and recruitment for espionage. They > are also primed for behavior such as leaking, if they believe it will bring > them respite and reward."

[0] [PDF] [https://www.cia.gov/library/center-for-the-study-of- intellig...](https://www.cia.gov/library/center-for-the-study-of- intelligence/csi-publications/csi-studies/studies/vol-61-no-2/pdfs/why-spy- why-leak.pdf)

</comment></comment></comment></comment><comment><USER12> 60 years earlier, at the outbreak of WWI, Britain cut all of Germany's undersea cables [0], except one that went through Britain. So the Germans had to use radio or route through Britain, which could be intercepted and decrypted [1, 2]. Less subtle than tapping, but effective.

[0] [http://blogs.mhs.ox.ac.uk/innovatingincombat/files/2013/03/I...](http://blogs.mhs.ox.ac.uk/innovatingincombat/files/2013/03/Innovating- in-Combat-educational-resources-telegraph-cable-draft-1.pdf)

[1] [https://en.wikipedia.org/wiki/Room_40](https://en.wikipedia.org/wiki/Room_40)

[2] [https://en.wikipedia.org/wiki/Submarine_communications_cable...](https://en.wikipedia.org/wiki/Submarine_communications_cable#British_dominance_of_early_cable)

<comment><USER13> One thing I've wondered about history: There are dozens of stories of the brilliance of allied decryption efforts, but very few about the German or Japanese. Were they that far behind us?

<comment><USER10> We assumed they read a bunch of our lower tier codes, and the Germans (specifically Deutsche Afrika Korps) completely dominated in radio direction finding and traffic analysis, which was in many ways more important than decrypts (and largely considered more sensitive from an ongoing security perspective after the war, so not as publicized.)

Nachrichten-Fern-Aufkl-Kp 621 and Hauptmann Alfred Seebohm were pivotal for DAK actions. There were some similar units on other fronts, but this one was particularly well documented.

</comment></comment></comment><comment><USER14> > Eventually, more taps were installed on Soviet lines in other parts of the > world, with more advanced instruments built by AT&T's Bell Laboratories that > were nuclear-powered and could store a year's worth of data.

I assume they're referring to an RTG[1], where heat is generated by natural decay.

Earlier the article specifically mentions the storage medium being tape, and that they were replaced on a monthly basis. Perhaps the larger capacity versions were also tape? Was that the only realistic option at the time in such a situation, deep underwater with a requirement for large storage capacity?

[1] [https://en.wikipedia.org/wiki/Radioisotope_thermoelectric_ge...](https://en.wikipedia.org/wiki/Radioisotope_thermoelectric_generator)

</comment><comment><USER15> And the legacy of those days continues with the USS Jimmy Carter... very interesting things that boat's "multi-mission platform" can achieve. :-)

[https://warisboring.com/secretive-u-s-navy-submarine-went- on...](https://warisboring.com/secretive-u-s-navy-submarine-went-on-a- dangerous-mission/)

</comment><comment> V-2 Apparently Ronald Pelton (the man who spilled the beans to the Soviets) _" was tried and convicted of espionage in 1986 and sentenced to three concurrent life sentences[3] and a $100 fine"_.

My question is, _who_ fines you a hundred bucks after sentencing you for life 3 times over (plus 10 years on the top of that, as was the case) :)

<comment><USER16> Also it seems like a bargain if the NSA or CIA would monitor their employees bank accounts and, if someone is running low on money, give them some cash and then ease them into a role where they no longer have access to secrets, and can be watched.

<comment><USER17> That would be socialist of the USA ;)

</comment></comment></comment><comment><USER18> _" The Seawolf was almost lost during one of these missions—it was stranded on the bottom after a storm and almost had to use its self-destruct charges to scuttle the ship with her crew."_

Does this imply that they made the whole crew commit suicide via the charges?

<comment><USER19> It seems to imply that they would have... I suppose it's just like the risk of getting shot and dying for one's country.

</comment></comment><comment><USER20> Did knowledge of the leaks in cables lead to advances in cryptography?

<comment><USER21> It certainly did in the latter half of 2013.</comment></comment>


Viddyou Offers High Definition Uploads For Personal Videos; For a Price - <AUTHOR> http://mashable.com/2008/03/19/viddyou-hd/

<comment><AUTHOR> Hey guys - this is my tiny little startup, and we released some exciting new stuff that's getting a little coverage. I'd love to hear your feedback if you have any. :]</comment>