Ask HN: I get headaches. What sensors can I get to collect data about them? - <AUTHOR> Hi, I work in quant finance and spend a lot of time with data. I also get headaches 3-4 times a week. I would like to collect data on myself with various sensors. I know there are simple things like a fitbit to collect data but how can I discover what other data I can collect? <comment><USER2> I used to get headaches too. I finally figured out it was three things that would get me. Being dehydrated, exposure to perfumes, colognes and other scented household stuff like cleaner solutions, and the 3rd was industrial and household solvents like lacquer thinner and acetone (fingernail polish remover).

It took me years to figure that out. Perfumes and scents are so pervasive they're easy to ignore as a trigger for headaches but they get to me fast and the headaches last a long time.

I avoid that stuff like poison now. I will leave the area if I detect it.

Getting outside and breathing fresh air always cured the headaches from perfumes and solvents. It was the only thing that did get rid of them. Over the counter meds did nothing for me.

I use an activated charcoal filter on my tap water now and that makes drinking water a pleasure again. And I pay closer attention to not letting myself get dehydrated. It's easy to tell, I just press a fingertip and if it leaves a dent I need water even if I don't "feel" thirsty.

So, if these are what's causing your headaches you need to be proactive to prevent them and to get rid of them, and a "fitbit" won't help much with figuring out the cause.

</comment><comment><USER3> Instead of logging data, I'd suggest debugging for root causes. Regardless of approach, items:

Hydration. Eye-strain. Sleep. Exercise. Stress. Etc. [https://en.wikipedia.org/wiki/Migraine#Cause](https://en.wikipedia.org/wiki/Migraine#Cause)

Meta: we seem obsessed about data and we have standard techniques for exploring relationships between them, but what is the equivalent source of techniques for first-principle root-cause search? (In the more practical, not the philosophical* sense)

* [https://plato.stanford.edu/entries/causation-metaphysics/](https://plato.stanford.edu/entries/causation-metaphysics/)

</comment><comment><USER4> I don't personally get headaches that often, but my mother and sister both do. My mother gets cluster headaches - tension headaches plus migraines, normal headaches, and sinus headaches on top of it. My sister gets migraines. Extended family has also been plagued. I fully urge you to figure out the root cause and seek medical help. I don't know if sensors will help with some (most) of these.

I fully suggest keeping track of when you get headaches, including what you were doing when you noticed it. Might keep track of daily activities as well.

The following are things that I know can trigger headaches. Obviously not all- inclusive:

1\. Poor eyesight or other eye strain. Normal folks will get eye strain reading too-small text or staring at a computer screen. 2\. Stress, anxiety, or depression: The muscles tense up, causing headaches. Massages help my mother, as do muscle relaxers and/or anti-anxiety medicine. 3\. Sinus problems and/or allergies. 4\. Dental problems. 5\. Scents from various things or chemicals 6\. Lack of sleep, sleep apnea, or other sleeping issues 7\. High blood pressure (pharmacies and wal-marts often have machines to test, and I'd test often for a few weeks) 8\. Food sensitivities 9\. Neck strain (posture or medical). 10\. Dehydration (easy to check) 11\. Changes in weather. 12\. Random viral or bacterial infections. 13\. Low vitamin D. I personally had this happen, among other things. 14\. Smoking or living with a smoker 15\. Dry nasal cavities. You can use a saline nasal spray for this. I recommend disposables since they are sterile each time you open them (less chance of mold, etc). 16. Hormones. This might be more for women, especially with PMS and/or menopause. I'm not sure how it happens in men.

</comment><comment><USER5> A lot of phones have a barometer in them. New iPhones do and most Androids do. Log the data on a 1-minute interval, understand that the data is noisy and the noise comes from moving elevation. Watch the graphs over 1-hour, 6-hours, 12-hour, 2-day timeframes. You'll see rises and peaks and you might note headache timing with a peak or a trough. Migraines happen to a lot of people and can be triggered by sudden changes in pressure. Not sure about your headaches but it's a start.

<comment><AUTHOR> That's great. I'd like to collect all sorts of data because it's unclear what the triggers could be. Thank you.

</comment></comment><comment><USER6> I'm very prone to headaches and migraines as well and after a couple of decades of observations, I've nailed down the root causes pretty well for myself. This doesn't answer your question for logging data but it's some things you could look into.

1\. Hydration - a main contributing factor in almost every episode of migraine I get. If I go for prolonged periods without water (as in, a couple of hours), it can start. This has really only gotten worse/more prone as I got older. I need to keep drinking water more frequently than when I was younger to keep off migraines. The funny thing is, if I want to sleep in on the weekends, I have to make sure to drink some water when I wake up at 7~8, before I go back to sleep. Otherwise, I wake up after sleeping for 10 hours with a migraine.

2\. Sleep time - as I got older, I became intolerant of "elastic" sleep hours. I pretty much have to keep to a fairly consistent sleep schedule daily (varying no more than an hour off a day). If I go to bed an hour or 1.5 hours late for a day, my chances of getting a migraine the next day is very high. (could be reduced if I drink even more water than usual that night; see previous point)

3\. Screen color - Use an automatic blue light reducer software like f.lux for your OS, whichever you use. Even better, install it on mobile too. This made a noticeable difference when I first started using it.

4\. Screen use when unfocused - this one is funny and might be unique to myself. I find that when I'm bored and just surfing the web (like reading HN right now), I start getting migraines after a longer period of it (an hour or two). If I'm actually working, writing code, etc. I have no problems looking at the screen for hours on end. I don't really know why this is, but I have pretty much confirmed this to be the case myself.

5\. Gaming - less of a factor nowadays simply because I don't game much anymore. I used to play games like SC Brood War, Diablo 2, WoW for hours on end and be OK when I was younger. Now, if I play Starcraft 2 or HotS for more than an hour, the migraines start.

</comment><comment><USER7> I too get headaches. I'm only certain about two causes in my case.

\- Alcohol: If I drink even 1 glass of alcohol there's a good chance I'll wake up with a nasty migraine. In my case this means pretty much banning alcohol out of my life except for special occasions (to let some steam off ...)

\- Exercise: This one is a bit nasty, I feel great just after exercising, but 12h later there's a good chance I'll have a migraine.

</comment><comment><USER8> Caffeine is the number one cause of headaches. It causes the arteries to constrict, lowering blood flow to the brain.

Other than that, there's lots of things that can be measured.

1\. Sleep.

Fit bit will work, but more importantly is a pulse oximiter that measures oxygen intake through the night. If you're not sleeping well, apnea may be causing your headaches. You would see this by an oxygen drop below 88. This will cause your heart to race as well throughout the night as it has to work harder to push oxygen through your body.

Also, it's worth noting that it's not heavyweight people that experience apnea. It can happen with anyone and with any weight.

Some watches have oximeters built in I believe. This really needs to be done for one night, and if something is wrong, you should go see a sleep doctor anyway.

2\. Caffiene / Sugar intake

This can be simple script that when you drink caffiene/sugar you just run a script that logs the time/date and amount to a google doc. Also you can use this to track your headaches. If you get headaches during a particular time of day, then it could be intake related.

3\. Exercise

Your cellphone/smart watch can measure steps, as can a fit/bit, etc. 10,000 steps a day is the recommended amount of exercise for people that don't get a lot of exercise in.

4\. Feelings / Stress

So seratonin regulates your feelings. Ideally, if you're feeling sad, angry, or stressed, or down, you should feel those for a while and then your feelings should return to normal over time. If you're feeling emotionally bad all the time, you can get your seratonin level checked through a blood test.

5\. Eye strain

60 hertz flickering lights, bad eyesight, are all causes of eye strain.

Here's an article which talks about detecting flicker.

[https://www.graybar.com/applications/lighting/blog/the- flick...](https://www.graybar.com/applications/lighting/blog/the-flicker- checker-on-smartphone)

If you have a friend with a D850 camera, that camera can detect flicker and report it through the viewfinder.

6\. Blood pressure.

A blood pressure cuff is a good thing here. $30 or so. Take your blood pressure once a day and record the readings. And take your blood pressure when the headaches arrive.

7\. Salt intake.

So salt increases blood pressure, so one option is to watch how much salt you eat in your diet, and if you're salting food constantly, cut back. Or drink more water to help flush the salt out of your system.

There's a sodium tracker here in a pdf, but you could just as well make a google doc out of it:

[http://www.heart.org/idc/groups/heart- public/@wcm/@fc/docume...](http://www.heart.org/idc/groups/heart- public/@wcm/@fc/documents/downloadable/ucm_448279.pdf)

8\. Energy Drinks.

These should probably be avoided at all costs. But if you're hooked and feel like you need them, just record when you drink one. The key is not to make you feel bad about drinking them if your hooked, but making you aware that when you're drinking them.

<comment><USER9> > 60 hertz flickering lights, bad eyesight, are all causes of eye strain.

If that's the case, it's funny we would choose to use 60fps for games. Shouldn't that have a similar affect with flickering between scenes? Or actually I guess the new scene replaces the old scene rather than going dark in between like what happens with a flickering light

<comment><USER8> Apologies for not seeing your post until just now.

Back in the day, The multi-sync CRT's would sync VBLANK[1] to the power line if the screen was at 60hz. If a fluorescent tube overhead was also 60hz, the flicker became unavoidable and caused many an office worker a migraine headache. To avoid this issue, graphics cards and monitors started syncing at 85hz.

With an LCD panel at 60hz, the backlight is not flickering, and the screen itself is not vanishing off the display like it is on the CRT.

The reason to use 120hz and higher these days is to prevent motion blur. [2]

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

[2] [https://www.cnet.com/news/ultra-hd-4k-tv-refresh- rates/](https://www.cnet.com/news/ultra-hd-4k-tv-refresh-rates/)</comment></comment></comment>


Snowden Criticizes U.S. Panel Overseeing Surveillance - <AUTHOR> http://blogs.wsj.com/washwire/2013/12/22/snowden-criticizes-u-s-panel-overseeing-surveillance/?mod=WSJ_hpsMIDDLENexttoWhatsNewsSecond

<comment><USER2> When the U.S. Government realizes that Snowden has more credibility than it does on spying, it may come to realize better ways to improve its stature. The tried-and-true method for handling huge PR gaffs is to come clean and state everything you've done the public might consider wrong so no one else can, state you understand you shouldn't have done it, and take responsibility for doing it better.

The problem for the U.S. Government for doing anything remotely like that is that the decision to do so has to come from the top, which is Obama, and Obama doesn't seem to agree with the public that the government did something wrong. Or that somehow the system isolated him or twisted his understanding to where he doesn't understand the public's perspective, odd as that may sound regarding a lawyer who would understand the Fourth Amendment.

<comment><USER3> Any change is resisted because bureaucrats have a vested interest in the chaos in which they exist. ~ Richard -I am not a crook- Nixon

</comment></comment><comment><USER3> "Their job wasn't to protect privacy or deter abuses, it was to 'restore public confidence' in these spying activities. Many of the recommendations they made are cosmetic changes," Mr. Snowden said in an email exchange with the Globo TV channel."

Likewise when someone does step forward and leaks, their first action is to ridicule the person doing the leaking.

</comment><comment><USER4> AFAIK Brazilian law forbids extradition of criminals to countries that have a death penalty, so I guess he would be safe if he gets here.

<comment><USER5> I haven't heard anyone talk about the death penalty for Snowden. Manning got 35 years. I'm sure the US gov would be happy to lock Snowden up for the rest of his life (instead of the death penalty) if it meant they could get him back on US soil.

<comment> grey-area Just in the last week a few prominent and influential figures have said just that:

"I think giving him amnesty is idiotic," Former CIA Director James Woolsey said. "He should be prosecuted for treason. If convicted by a jury of his peers, he should be hanged by his neck until he is dead." [1]

Former U.S. ambassador to the United Nations John Bolton: Edward Snowden 'Ought To Swing From A Tall Oak Tree' [2]

That's not the administration's official line of course, and might be Fox News or the administration just floating the idea, but these are very senior figures in the Washington establishment.

[1] [http://www.foxnews.com/politics/2013/12/17/ex-cia- director-s...](http://www.foxnews.com/politics/2013/12/17/ex-cia-director- snowden-should-be-hanged-if-convicted-for-treason/)

[2] [http://www.huffingtonpost.com/2013/12/17/john-bolton- edward-...](http://www.huffingtonpost.com/2013/12/17/john-bolton-edward- snowden_n_4461196.html)

</comment></comment></comment><comment><USER6> I sincerely hope that he gets asylum from Brazil. It worries me that there still has not been sweeping reforms in NSA

<comment><USER7> I hope so too, but I see sweeping reforms in the NSA around never.</comment></comment>


Tools You Should Know as a Cybersecurity Engineer - <AUTHOR> https://medium.com/manishmshiva/10-tools-you-should-know-as-a-cybersecurity-engineer-3b9809c7bbc2 <comment><USER2> 1\. Wireshark 2\. Nmap ... Gotcha. One of those articles...

<comment><USER3> I found it very informative and educational, perhaps it's time to get off your high horses and be more inclusive?

<comment><USER4> His entire blog is clickbait...

Why do people do this on medium?

</comment></comment></comment><comment><USER5> Although the first three mentioned tools are quite generic tools that, in my opinion, any programmer should learn to make their lives easier, the list does provide a useful list for people wanting to teach themselves cyber security skills.

If you're experienced in the field then you obviously have already used most of these at some point, or at least heard about them. If you think the choices are obvious, you're not the target audience of this article.

What I think this list is missing is some more Windows-specific tools. Even if you don't like Windows, someone in your company will use it at some point. With some creative use of process monitor and log analysis you can easily spot infections across a wide network of Windows PC's that even antivirus might miss. Twitter's SwiftOnSecurity has made quite an extensive configuration you can take from Github to help defend your network with.

I'd also add tools like OWASP ZAP to the list for testing the security of web applications automatically. Very noisy, easy to detect but in a test setup very easy to find low-hanging fruit with.

I really need to give Snort and Nessus another spin, my last two tries weren't very successful but they were also quite early into my studies of the field. Does anybody know if these tools still the go-to tools for IDS and compliancy scanning, or have they been replaced since I first took a look at them?

</comment><comment><USER6> This article was useful. Not everyone are experienced in the cybersecurity.</comment>


Why Doesn't US Make 2 Year Warranty on Products Mandatory Like EU? - <AUTHOR> <comment><USER2> New Zealand has the consumer guarantees act that requires companies to provide repairs or replacements for goods for a reasonable duration.

[https://www.govt.nz/browse/consumer-rights-and- complaints/co...](https://www.govt.nz/browse/consumer-rights-and- complaints/consumer-rights-and-complaints/your-rights-even-if-you-dont-have-a- warranty/)

I used this with my first MacBook when the trackpad stopped working outside the default period.

Rather than being based on a fixed period of time it's based on the expected quality of the product- because Apple computers are a lot more expensive than competitors it's assumed that Apple are selling a higher quality/more durable product that should last for a reasonable period of time.

Unfortunately Apple doesn't have any NZ offices so I had to deal with Australian office that took several letters to convince them they needed to make the repair under New Zealand law.

In the end we negotiated and I got free replacement parts and service under a $100 service fee.

</comment><comment><USER3> The products and prices are basically the same, so why you guys dont insist on a 2 year warranty, is puzzling to me.

<comment><USER4> People care more about how much money companies make than their own well being as customers.

It's weird.

</comment></comment><comment> ng-user Vastly different set of principles clearly.

</comment><comment><USER5> Why doesn't the EU pay developers 6 figures?

<comment><USER6> > Why doesn't the EU pay developers 6 figures?

.. They do?

<comment><USER7> Maybe in Switzerland - but not in Germany / Austria. If there are so many companies that do this, please tell me :)

<comment><USER8> It's crazy expensive to live in Switzerland, so you better have a big salary.

<comment><USER9> The costs don't hurt, because everyone's pay is good. (Example: Cleaning personnel and waiters make more after taxes than engineers in Germany...) and taxes are so much better than anywhere really. And you meet smart people mostly.

</comment></comment></comment></comment></comment><comment><USER10> U.S. citizen here. The products I buy are working great, and I get cheap stuff. No need for mandatory warranties.

<comment><USER8> If the products are so great it wouldn't cost anything to offer 2 years of warranty since they'd never break anyway. But they do.

<comment><USER10> Yes it would cost a bunch, because many users suck at taking care of their cheap stuff, they don't have any sense of stress their mishandling puts on things, or because they're plain scammers. It's a risk companies and sellers don't need, especially small ones, and the benefit is that they can make stuff cheaper, sell stuff cheaper, and people can buy stuff cheaper. One of the many reasons median Americans enjoy a higher material standard of living than people in Europe.

<comment><AUTHOR> Can you state 5 examples of products which you think are working great for more than a year and are cheap which you would buy without any warranty?

i am sure we all would be so happy to buy them.

<comment><USER10> I generally don't look at the warranties of products, so, literally everything I've ever bought except for my car.

</comment></comment></comment></comment></comment><comment><USER11> Consumer protection and regulation have declined in popularity in the US.

</comment><comment><USER12> Do you know the name of the EU provision that makes 2 year warranties on products mandatory?

<comment><USER13> It's name is Directive 99/44/EG. Here is the link to the english HTML version [http://eur-lex.europa.eu/legal-content/EN/TXT/?uri=celex:319...](http://eur- lex.europa.eu/legal-content/EN/TXT/?uri=celex:31999L0044)

Unfortunately it is not that simple with with the two years. The directive states that a good needs to confirm with the contract at the time of sale. So the seller is only liable for a lack of conformity with the contract which was present at the time the goods were delivered. And that's the point were one needs to pay attention.

For the first six month any fault of the product - if it is required by the contract explicitly or implicitly - the seller needs to prove that the fault didn't exist at the time of delivery. After the six month period the consumer needs to prove this fact. So there are 2 years theoretically but in practice it is not that easy.

<comment><USER14> That should be Directive 99/44/EC, with a C on the end, also known as the "Consumer Rights Directive"

</comment></comment></comment><comment><USER15> Freedom in principle is important in the US. Why can't I sell a shoddy product? Why can't I buy a shoddy product?

<comment><AUTHOR> looks like there is a dark side to the word freedom.

<comment><USER15> How do you mean?

<comment><AUTHOR> freedom to do bad things.</comment></comment></comment></comment>


Download HD Instagram image bypassing instagram security - <AUTHOR> I have wrote a script, that will help you in saving any Instagram images. By default Instagram don't allow you to save or download image from their site. But now you can in following simple steps<p>go to the image you want to download copy the link go to http://bmanish001.pythonanywhere.com/ paste the link , hit button you'll get full size HD image you can save it using right click <comment><USER2> Is it just scaping the following from the web page?

        <meta property="og:image" content="{{image url}}" />

<comment><AUTHOR> no,this is not that simple. Ya scrapping is there but that's bit complicated.

<comment><USER2> Would you explain how it really works, then?</comment></comment></comment>


Darpa Perspective on AI - <AUTHOR> http://www.darpa.mil/about-us/darpa-perspective-on-ai <comment><USER2> DARPA may be looking beyond the current Neural Network focus on perception and manipulation but the rest of the field seems to be stuck on NNs. Good-Old- Fashioned-AI (GOFAI) techniques, such as knowledge representation (e.g. SCONE ([http://www.aaai.org/ocs/index.php/FSS/FSS11/paper/viewFile/4...](http://www.aaai.org/ocs/index.php/FSS/FSS11/paper/viewFile/4212/4568\))) or Subsumption Based systems ([http://dl.kr.org/oldproceedings/AIMag11-02-003.pdf](http://dl.kr.org/oldproceedings/AIMag11-02-003.pdf)), or Rule-Based Programming ([http://mprc.pku.cn/mentors/training/ISCAreading/1986/p28-gup...](http://mprc.pku.cn/mentors/training/ISCAreading/1986/p28-gupta/p28-gupta.pdf)), the whole large field ([http://dai.fmph.uniba.sk/~sefranek/kri/handbook/handbook_of_...](http://dai.fmph.uniba.sk/~sefranek/kri/handbook/handbook_of_kr.pdf)) are simply ignored these days. (disclaimer, I was involved with several of these systems).

Suppose your problem is to replace a tire on a car using a wrench. Perception is involved in finding the wrench. Manipulation is involved in recognizing torque. NNs are excellent for both of these tasks. In fact, it would seem ideal to bind both kinds of NNs to the concept "WRENCH". They provide grounding for the concept.

But knowing how to find a wrench or how to use one is different from knowing WHY you want to do either. This is where DARPA has lost the thread. In my opinion, the future belongs to self-modifying systems that can do knowledge representation and planning using NNs as the I/O subsystems. Self-modification implies that the system gradually evolves as it acts in the world. The mistakes it made yesterday will change the system to avoid those mistakes. GOFAI techniques combined with self-modification fundamentally changes the game.

An interesting side-effect is that, given two identical systems, they will eventually diverge. One will "know" that a table has 4 legs. The second will know that a table has rows and columns. Through self-modification their knowledge nets will gradually diverge until they are nowhere the same. The side-effect is that you can no longer "learn by copying" but have to "learn by teaching".

</comment><comment><AUTHOR> Direct links

PDF slides: [http://www.darpa.mil/attachments/AIFull.pdf](http://www.darpa.mil/attachments/AIFull.pdf)

Video: [https://www.youtube.com/watch?v=-O01G3tSYpU](https://www.youtube.com/watch?v=-O01G3tSYpU)</comment>


W now 6 years old (in the swedish alphabet) thanks to "Webb" - <AUTHOR> http://wwwwwwwwwwwwwwwwwwwwwwwwwwwww.se/

<comment><USER2> For those of us who can only barely make sense of the Swedish language:

Background according to <http://en.wikipedia.org/wiki/Swedish_alphabet> :

 _Until recently the letter ‹w› was treated as a variant form of ‹v› at least for sorting purposes, and this practice is still commonly encountered. However, in 2005 the Swedish Academy separated the two letters in conformity with international lexicographic practice. They appear under separate headings in the 13th edition of Svenska Akademiens Ordlista, released on 10 April 2006.[1] ‹w› has nonetheless been an official letter in the Swedish alphabet, but sorted as if it were a ‹v›. The loanword webb is a word which has become rather common in Swedish since 1995._

From what I can gather from the linked post, this decision to include W was made on the 3rd of March 2005.

</comment><comment><USER3> The text shown is basically an e-mail from a member of the Swedish Academy (<http://www.svenskaakademien.se/web/en.aspx> is their English site) confirming when the letter 'W' was first added to the official Swedish dictionary.

That dictionary (<http://en.wikipedia.org/wiki/Svenska_Akademiens_Ordlista>) is generally considered normative for the Swedish language, and thus this inclusion can be counted as some kind of "official" statement that yes, the Swedish alphabet does indeed include the letter 'W'.

Previously it was only used in names of people and places, and grouped with 'V' for sorting purposes.

</comment><comment><USER4> As mentioned on the page we've had the letter for a long long time in the alphabet, however since almost no swedish words started with it, V and W were sorted together in dictionaries and other word lists like phone books.

The best part about that was that even though it has a separate pronunciation (V: 've' and W, 'dubbel-ve'), when used in abbreviations it is common to say 've' instead of 'dubbel-ve', so when the web came along everybody said 've ve ve dott' for www. instead of 'dubbel-ve dubbel-ve dubbel-ve dott'. Which is nice.

<comment><USER5> I think this is the same in Germany (www.google.de is pronounced vay-vay-vay google de).

I could be wrong though, I'm basing this off a net radio advert I heard in german once.

<comment><USER6> "vau" is V. It's quite distinct from W in German.

<comment><USER5> ahhh, so W is pronouced 'vay' and V is 'vau'. I see. I got the german pronunciation confused with the french (which is double-vay), and assumed that Germans were pronouncing 'w' as 'v' in www. But I was wrong. Thanks!

<comment><USER2> Also note that 'v' in German is hard (like an English 'f'), whereas 'w' is soft (like the English 'v'). There isn't really an equivalent of the English 'w' sound in German. (thus the correct pronunciation of 'Volkswagen' is closer to 'Folksvahgen' when applying the [unreliable] English phonetics)

The confusion works both ways, German speakers often pronounce English words with too hard v/w sounds, English speakers pronounce German words too soft v/w sounds. It's phenomenal how deeply ingrained these habits can be.

</comment></comment></comment></comment></comment><comment><USER7> While I would like to poke fun at the Swedes any day of the week, in Denmark the "alphabet song" still doesn't mention 'w' I believe ;)

</comment><comment><USER8> I really like the domain name, I wonder how often it gets misspelled :)

</comment><comment><USER9> A mere 700 years after it became commonplace in English :-)

<comment><USER10> And the English speaking world still calls it a double U. Maybe the Swedish should have settled for double V: vv ;-)

<comment><USER11> In French they do call it "double V". I wonder why in English it's U though.

<comment><USER12> Because originally in English it actually was "uu", not "vv".

See <http://en.wikipedia.org/wiki/W#History> if you want to understand why.

</comment></comment></comment></comment><comment><USER8> just FYI, Chrome browser does a decent job in translating the page to English

</comment><comment><USER13> Why do they have to add a new alphabet just to add new word ? Don't they have swedish equivalent of the word web ? This is insane.</comment>


Ask HN: Where can I learn technical stuff about EVs - <AUTHOR> I wish to enter the Electric Vehicle workforce so i'm intrested in technical stuff. <comment><USER2> Search for EV conversions.</comment>


Songcraft Beta – A songwriting tool and guitar tab builder - <AUTHOR> https://songcraft.io/ <comment><USER2> I'm also thrilled to see more songwriting tools on the web! As an active songwriter, the area I need the most assistance with is lyrics. To that point:

\- It'd be great if the rhymes panel was larger (or resizable). I use RhymersBlock on iOS which has a kinda neat way of color-coding rhymes within your lyric.

\- Something I desperately need that no app has implemented is a way to build lyric "alternatives" on a phrase by phrase or line by line basis so that I can swap in an alternate lyrical treatment and see it in context. (Revision history would be a related and also probably very cool feature)

\- I personally don't think I'd have much use for chord progression suggestions, but that's just me.

\- I can't currently move a chord annotation while that annotation is selected. Have to click off of it to deselect before dragging works again.

\- For chord annotations, it's often useful to be able to "split" the chord into the chord + bass (or root?) note especially for passing changes. You see this all the time in Beach Boys songs.

\- Apple's Music Memos app has a bunch of audio analysis capabilities that I realize I use a bunch. They extract chords (which I don't use very often) but more importantly, they auto-detect a BPM from a recording which I use as the starting point when I'm ready to move from demo -> production.

I'm really excited about this app. Here's hoping it turns into the "Songwriter's notepad" I've always dreamed of!

<comment><AUTHOR> This is really valuable, thanks for the thoughtful feedback!

\- I'm considering making all panels resizeable, I think it would be really helpful. Also planning to build out the dictionary capabilities more.

\- A friend of mine suggested the exact same thing re: lyric alternatives. I really like this idea.

\- Are you on Safari? There's a bug with dragging selected chords on Safari. You also won't be able to play chords live. Chrome and Firefox should be good (I hope!)

\- Really curious to explore some of the chord manipulation ideas as well as bringing a project from creative phase to production.

<comment><USER2> I am on Safari, so yeah, maybe that's it.

Thanks for the responses!

</comment></comment></comment><comment><USER3> Nice idea, and I'm happy to see more music-focused technology on the web!

Nitpick: the video refers to the site content as "tabs," but I'd call it a chord chart instead. Tablature is specifically notation for individual notes on fretted instruments — e.g., play the second fret on the B string. I didn't see any single-note stuff in your product, unless I missed it...?

All of that is to say: As a musician, I groaned when I heard you describe that as "tabs." I expect other musicians would have a similar reaction ("um, this company doesn't know what a tab is"), or at least they'd be confused due to expecting something else.

My own company Soundslice ([https://www.soundslice.com/](https://www.soundslice.com/)) does proper tabs and standard music notation, though I wouldn't call it a competitor. We're more about learning existing tunes than songwriting. Welcome to the wonderful world of web music software!

<comment><AUTHOR> Thanks for the feedback - that's really helpful! I totally agree that chord chart is more accurate than tab at the moment. I'm working out the messaging still and trying to balance its current state with my vision for it (which will include single-note features)!

<comment><USER4> Why tabs? I much prefer guitar-spaces!

<comment><USER5> The challenge with guitar chord diagrams is they are almost invariably first position. For song writing inversions, bass lines and melody lines are important which is what tab is for. It would be good to create drag and drop tab creation tools on a 'stave' of strings.Looks good though, will use

</comment></comment></comment></comment><comment><USER6> As someone who picked up songwriting a few years back after having been a serious musician in my younger years, this is the kind of applications I love to see.

This is exactly how it should be. You found the right pain points. Now extend it with piano and you are getting really close to something I would pay for.

There are some small things like the use of the word "tabs" instead of chord charts but I love where this is heading.

I might write my next song in this. Or even try to add my older songs.

<comment><AUTHOR> I really appreciate the feedback. What type of piano support would sell you on it? I'd love to hear how Songcraft works, or doesn't work, for your process if you give it a shot. Please feel free to reach out if you have thoughts, ideas, requests, etc.

<comment><USER6> Same as with guitar and ukulele. Inversions substitutions etc all based on the context of the song.

</comment></comment></comment><comment><USER7> This is cool! Me and a friend have been working on [https://chartcomposer.com/](https://chartcomposer.com/) which is specifically hooked up to Dropbox and uses the VSCode monaco-editor as a front end for the ChordPro syntax. Seems like there's interest in this space which is exciting.

[http://github.com/elsigh/chartcomposer](http://github.com/elsigh/chartcomposer)

</comment><comment><USER8> This looks interesting in its simplicity. A few years ago I thought quite a lot about what a writing environment for lyrics might look like, so here are some free ideas to steal.

I'm on mobile right now where it doesn't seem to work quite fully, so forgive me if this is how it already works on desktop - but I think it would be much more valuable if the rhyme search was automatically based on the words I write. Otherwise I will spend a lot of time copying/changing focus/pasting. It could even work like a code autocomplete feature, where it would suggest words or phrases that rhyme with nearby lines, in an overlay next to the cursor.

Another neat addition for crafting lyrics would be to add some way to analyze, visualize and/or constrain the rhythm/stress of the lyrics. It's one of the main things you need to fit together when writing song lyrics. This could also help give more relevant suggestions for rhymes and synonyms that match a specific part of a rhythm.

<comment><AUTHOR> Thanks so much for the feedback.

On desktop, you can hit a hotkey (Alt/Ctrl + w) to send the nearest word directly to the dictionary to the right, which is a time-saver. However, I think there's also something to be said for some sort of autocomplete, especially if it can take into account the context, previous lines, etc. I'm hoping to do a similar thing with chord recommendations as well.

I completely agree that the rhythm and stress of lyrics would be valuable to analyze. It's going to be one of my major takeaways from today's feedback - I'll just have to figure out a nice clean way to include it!

<comment><USER8> Just showing a dot above every syllable, and highlighting stressed syllables could be a great start, as you would be able to see patterns visually.

Another idea that came back to me now: rhyming words are good, but if you can get _phrases_ as well it could be a great source of inspiration. See Pentametron[1] for a good example of how evocative rhyming non sequiturs can be.

1: [https://twitter.com/pentametron/](https://twitter.com/pentametron/)

</comment></comment></comment><comment><USER9> I tried it, it's exactly what I'm looking for. But I'm only on mobile (iPhone) and while it works, based on the comments from others it seems a lot of features are not in the mobile version.

Personally, I would only use a tool like this on my phone. And I'd want it to be a native app, not a web app (I predominantly have terrible reception).

I like he note pad, but I'd also like the ability to stash lines, verses, choruses, etc and then rearrange them very simply. This is effectively what I do with the standard notes app for iPhone. When it's reasonaly cemented I write it up in a very similar notation you're using and put it into google drive, with offline enabled.

I use the motive app, and mic, to record a demo. And then start polishing it via GarageBand.

All of which can and is done via mobile only.

I'll follow where this development goes, it's definitely a tool I'm looking for.

<comment><AUTHOR> Thanks for checking it out! For the beta, I took mobile web to a pretty minimal state. I know it will be a huge use case for a lot of people, so I really want to have first-rate support on mobile. It helps a lot to hear the types of features you need. Please do keep up with development - I'd love to hear your thoughts as mobile support improves!

</comment></comment><comment><USER10> Great and really cool! A few tiny notes.

I had a moment where I deleted all the chords on one line (by hitting backspace repeatedly). When I got to the end, I hit it again thinking it would remove the line, and the whole page went blank.

I would also love a feature where I can share the song publicly at a URL. Is everything just persisted in the browser right now? I noticed there's no auth. At any rate, I wrote a song and annotated it in songcraft, but now I need to share it with the band's singer! This feature would be great.

Thanks again!

</comment><comment><USER11> Looks really nice! A few years ago I started working on a vaguely similar tool because I was playing in a band and we needed a better way to collaborate on chord sheets.

I used CouchDB (and PouchDB) to get a nice real-time sync for editing the documents, and together with a good service worker setup it made the whole app work great offline, which was very useful in our rehearsing room's basement (it was actually inside of a nuclear shelter within a Stockholm subway station).

The other fun feature I made was a Web Audio synthesizer that would play the chords for very quickly checking the harmony. You can see a demo in this short video, unfortunately the app is not online anymore.

[https://www.instagram.com/p/8oGx7HKukq/](https://www.instagram.com/p/8oGx7HKukq/)

I also had a feature where you could upload an MP3 for a song and then put in sync points with the chord sheet so you could hear the song while also seeing exactly which chord it's currently on...

<comment><AUTHOR> The MP3 syncing is a super cool idea - did you analyze the MP3 at all to smooth syncing between sync points? Also love the little video, thanks for sharing! I think collaboration has huge value for any tool like this - it'll be one of my earlier priorities for Songcraft.

<comment><USER11> I was only doing linear interpolation between the manually set sync points. In my tests I would usually need to put a sync point per verse, or so.

The karaoke ball you see in the video was fun to make although I never got it quite perfect. The chord sheet is just a flexbox with wrapping and the ball is a CSS animation; the JavaScript only moves it from div to div once per measure.

</comment></comment></comment><comment><USER12> Very cool. I've been working on a tab builder as a pet project. I've gotten frustrated finding tabs that are 95% correct, copying and pasting and then manually editing them. I know there are some tab builders out there, but ultimate guitar annoys the hell out of me so I figured it would be a good exercise to try out some new languages/frameworks that I haven't used. I wanted to be able to import a text tab, convert it to some kind of data structure that I could then manipulate easily.I might finish polishing it up some day, but it works for me as a bedroom guitarist

Here's a short screen recording I made. As of now it's still riddled with bugs, which I'm sure you'll spot a few in the video like the alignment bar hanging around when it's not supposed to.

[https://uploadfiles.io/mk54d](https://uploadfiles.io/mk54d)

<comment><USER13> > ultimate guitar annoys the hell out of me

I'd love to steal all the content back from them (I submitted tabs to alt.guitar.tab and OLGA long long ago, and have backups of the archive) and present it in a clean UI.

As you know, plain text files.

I'm curious though, is there a standard identifier authority for artists, albums, and songs that one could use to normalize such content?

<comment><USER12> >I'm curious though, is there a standard identifier authority for artists, albums, and songs that one could use to normalize such content?

Here's what UG has to say about it. [https://www.ultimate- guitar.com/news/ug_news/are_ug_tabs_leg...](https://www.ultimate- guitar.com/news/ug_news/are_ug_tabs_legal_and_does_ug_pay_money_to_artists_for_hosting_tabs_yes_and_yes.html)

Sounds like a load of crap to me. They probably have a small payment stream just to play the "see, we're trying to comply!" card. Otherwise, I highly doubt they fork over any money unless a lawsuit is thrown their way, even then it seems like they just "block" the tabs as that page describes. There are so many artists on there who probably don't even know people have created tabs for their music. I made my tool for my own personal use and mainly because I wanted to try out Django and Postgres on the backend, so that was never a real consideration for me. I might throw the builder portion of it out there for public use when I wrap it up, but there won't be any saving/sharing of tabs. Just export the tab to a PDF or a raw JSON file which can then be re-imported and edited, I suppose.

</comment></comment></comment><comment><USER14> I see a lot of folks mention guitar tab pro files with a few open source editors[1], but little mention of where folks are getting free pro files. What do you use and where do you get your tabs? I'm willing to pay if it's worth it.

[1] [https://music.stackexchange.com/questions/1386/is-there- any-...](https://music.stackexchange.com/questions/1386/is-there-any-free-tab- viewer-for-guitarpro-files)

</comment><comment><USER15> Looks interesting.

Personally, a killer feature for me would be to position lyrics up above a staff and be able to show alignment between syllable length/emphasis and harmonic rhythm/percussion. Having the ability to suggest synonyms for words that don't rhyme or fit the rhythmic structure of the music would be pretty awesome too.

<comment><AUTHOR> That's a really interesting idea, thanks for sharing. I've heard some similar things from a person I was talking to who writes a lot of rap and poetry. I'm excited to explore that space a bit!

</comment></comment><comment><USER10> Looks promising! I like that it's a little bit more geared towards lyrical integration, as opposed to something like Hookpad, which focuses more on melodic note entry:

[https://www.hooktheory.com/hookpad/app](https://www.hooktheory.com/hookpad/app)

<comment><AUTHOR> Yeah, I think Hookpad does some really cool things (and they have a neat prediction API), but I couldn't find anything that really fits my songwriting process as a whole. Thanks for checking it out :)

</comment></comment><comment><USER16> This is really great! I used to work at another music startup where we did something similar. I've been using OnSong (mobile app) to organize my songs for live performances, but I love that this is focused on creation. Excited to try it out.

<comment><AUTHOR> Thank you! OnSong looks cool - I hadn't heard of it. I'd love to make Songcraft performance-ready as well, I think it would be a very natural feature. Looking forward to your feedback!

</comment></comment><comment><USER17> I signed up and will be looking at it tomorrow evening. I'm an active songwriter and have a couple of fresh songs in process right now, so it'll be interesting to see how well it works for me!

<comment><AUTHOR> Thanks so much for checking it out. Excited to hear your thoughts!

</comment></comment><comment><USER18> Tried to add my first chord Bmaj7(no3) and it doesn't seem like the app recognizes it (can't play the chord or change the key of the song).

<comment><AUTHOR> Thanks for trying it! There's no support for Maj7(no3) chords at the moment. It's a less common pattern, but would be easy to add support! At the moment, I'm using tonal for chord recognition under the hood, so these are the chord types that it can recognize: [https://github.com/danigb/tonal/blob/master/packages/diction...](https://github.com/danigb/tonal/blob/master/packages/dictionary/data/chords.json)

<comment><USER18> Thanks for the quick reply and helpful explanation.

</comment></comment></comment><comment><USER19> This is totally awesome. I've been waiting for _serious_ musical tools to find their way online, and this seems like a great start.

<comment><AUTHOR> Thank you so much! I was really surprised I couldn't find a thing like this anywhere. I've got so many ideas - looking forward to turning it into an even more serious tool :)

</comment></comment><comment> 52-6F-62 This is very well done! I'll definitely be making use of this!

Once I get a chance to try it I'll happily provide what feedback I can.

<comment><AUTHOR> Thanks so much! I appreciate any and all feedback :)

</comment></comment><comment><AUTHOR> I should note that everything should work fine on updated Chrome and Firefox, but no guarantees on other browsers!

</comment><comment><USER20> How does the suggested chords feature work?

<comment><AUTHOR> At the moment, I suggest common chords in the same key as the rest of the song. I'm working on a recommendation system that will take more into account the music theory of progressions as well as common existing patterns found in different styles of music. Super excited to have a decent system for that, as it's one of the main things that I personally want to use in my songwriting.

<comment><USER20> Sounds cool, open source by any chance?

<comment><AUTHOR> Right now it's closed, but I plan to open source at least some of the cooler pieces of it :) Likely some of the recommendation and audio stuff. Haven't had much time to think about that yet though!</comment></comment></comment></comment>


Startup Tip: Not Every Failure Is A Learning Experience - <AUTHOR> http://blog.crowdspring.com/2010/06/not-every-failure-is-a-learning-experience/

<comment><USER2> Sometimes I wish people still wrote down their thoughts, instead of telling a camera about them and uploading it to Vimeo.

<comment><AUTHOR> I also do quite a bit of writing, but the videos are a nice change of pace. A few people have suggested transcribing the videos - and I'll look into doing that. I realize video isn't an optimal medium for everyone.

<comment><USER3> A lot of people (myself included) prefer to keep speakers off because of work- environment.

<comment><AUTHOR> A good point and something that I hadn't heard before.

</comment></comment></comment></comment><comment><USER4> My understanding of "fail fast" is not that you should pack up and go home if your idea doesn't work, but rather that you should _change course_ toward an idea that works better as soon as you realize you're heading in the wrong direction - rather than chasing your losses by clinging stubbornly to a doomed trajectory.

</comment><comment><USER5> "Fail fast" doesn't mean you should seek failure eagerly. It means you should find promising ideas that need market testing, and market test them as quickly as possible, and then evolving them as warranted based on feedback.</comment>


Puppies as a Service - <AUTHOR> http://puppyswap.ca/

<comment><USER2> It's a risky joke, someone might get inspired and see this as the natural evolution of kitten cafes.

[http://www.washingtonpost.com/blogs/going-out- guide/wp/2014/...](http://www.washingtonpost.com/blogs/going-out- guide/wp/2014/11/20/so-how-would-a-cafe-crawling-with-adorable-kittens-pass-a- d-c-health-inspection/)

Incidentally, if you do want some short time with animals but aren't in a situation where you can commit to one, a lot of shelters have programs where you can help socialize animals or help care for animals with special needs.

</comment><comment><USER3> I was about to post something like _" PuppySwap - By psychopaths, for psychopaths"_ .. but alright, you got me. Congratulations.

But let's see.. The target audience of this website is people who abandon animals. But they're kind of lacking in the empathy/remorse department, because otherwise they wouldn't abandon animals!

So basically, all the work put into this website was wasted, because you can't guilt those people into _not_ abandoning animals!

But great work tricking _me_ and others with empathy though!

</comment><comment><USER4> This is WRONG! The internet was made for kittens, not puppies!

Also, this is seriously surreal. I am looking at this site, and I am not certain if it is for real or satire.

Probably for real, but if it was satire, it would be _really_ good.

(Also, I apologize, I have been awake for about 25 hours now - I am not a moron, I am just sleep-deprived.)

</comment><comment><USER5> This is a terrible idea. Totally irresponsible. We have animals in need of loving homes already.

<comment><USER6> Click the sign up button and you'll see the point of the site.

</comment></comment><comment><USER7> Should make one for babies. Swap them out at 2. Be interesting to see how many sign ups you get.

</comment><comment><USER8> This is something Paris Hilton would do but with boyfriends.</comment>


Quickly Switch between Gmail Accounts - <AUTHOR>

Just change the number in the URL (starts at 0) -
https://mail.google.com/mail/ca/u/0/#inbox
Made me so happy when I discovered this. So much better than clicking Switch Account etc. And of course you can play with the #inbox portion. <comment><AUTHOR> A friend added the urls to the bookmarks bar which is sweet when one of your hands already on the mouse. If both hands on keyboard, then of course Ctrl/Command + L to highlight the adress bar and then change the number.

</comment><comment><USER2> I always have my multiple Gmail accounts open in different tabs using these URLs.

</comment><comment><USER3> Cool trick. I use Thunderbird and am able to have all my accounts up.

<comment><AUTHOR> Cool. I use Sparrow at home. If you are on Mac, give it a try. Nice clean interface.

</comment></comment><comment><USER4> Nice tip - solved one of my annoyances with the GMail interface :)

</comment><comment><USER5> Very nice. Thank you for this one!</comment>


The New Monopoly Has a Voice Controlled AI Banker That Will Never Cheat - <AUTHOR> https://gizmodo.com/the-new-monopoly-has-a-voice-controlled-ai-banker-that-1835593536 <comment><USER2> The banker doesn't cheat? That's not very realistic...

</comment><comment><USER3> > _As with previous iterations of the game, physical cash isn't even included, > which should help eliminate at least one method of cheating._

How does this work? Is there an always-on display showing how much cash you have? Doesn't this hurt the game by making it impossible to "hide" your money from other players by stacking it up?

</comment><comment><USER4> How else are children going to learn to be wary of financial institutions?</comment>


Fixing E.T. The Extra-Terrestrial for the Atari 2600 - <AUTHOR> http://www.neocomputer.org/projects/et/ <comment><USER2> ET was green in the game, I'm guessing, because Howard wrote it (completed it!) before the movie was released. The whole thing was on a punishing deadline, which is why it may seem rough and strange to lots of folks. Howard was tremendously proud of finishing a whole Atari 2600 game in just a few weeks; not a single other Atari programmer was willing to take on the challenge. In fact, Howard had to do it against management's wishes.

<comment><USER3> All this time I thought management had forced Howard to do it under an unreasonable deadline, leading to a poor game, but this comment made me rethink things. I'm starting to think Howard had the idea for an exploration game more or less thought out long before E.T. came to be and just saw an opportunity to fit his vision in the game.

Too bad he didn't have enough time for testing (I presume), the fact you're punished for exploring in a game that requires lots of exploring is really unexcusable.

</comment></comment><comment><USER4> If you want to compare the original and the 'fixed' version, here they are running in the browser:

Original: [https://archive.org/stream/atari_2600_e.t._-_the_extra- terre...](https://archive.org/stream/atari_2600_e.t._-_the_extra- terrestrial_1982_atari_jerome_domurat_howard_scott_wa/atari_2600_e.t._-_the_extra- terrestrial_1982_atari_jerome_domurat_howard_scott_wa.bin?module=atari2600&scale=2)

Fixed: [http://jamesfriend.com.au/et2600/](http://jamesfriend.com.au/et2600/)

</comment><comment><AUTHOR> Also recommended is "Racing the Beam" from MIT Press [1]. It is a terrific tour of Atari 2600 software development by examining several different games, including another Howard Scott Warshaw cart, Yar's Revenge.

[1] [http://mitpress.mit.edu/books/racing- beam](http://mitpress.mit.edu/books/racing-beam)

</comment><comment><USER5> Stuff like this is personally really cool, and is one of the reasons I learned to program in the first place/ still play with programming.

</comment><comment><USER6> If you manage to complete it send it to angry video game nerd. His faith will be restored :)

</comment><comment><USER7> I love reading reverse engineering and ancient game modding stories because it's like an extreme form of inheriting a messy, undocumented codebase.

</comment><comment><USER8> This is insane in a good way :)

</comment><comment><USER9> Makes me proud to be a nerd. :)

</comment><comment><USER10> Nice job. It's fun to seem some creative hacking. You could flame bait the title by renaming it to "Why I stopped using E.T. and started using E.T." :-)

</comment><comment><USER11> Did anyone have difficulty recognising 'E.T.' in any of the screenshots, particularly the first one? Or was it just me?

</comment><comment><USER12> Well, it still sucks.</comment>


Top 10 WebOS (Web OSes & Desktop) - <AUTHOR> http://www.supersot.com/2008/06/top-10-webos-web-oses-desktop.html

<comment><USER2> Is anyone actually using one of these? I don't really see the point.

<comment><USER3> Agreed. With the myriad of VNC, sharing, etc apps I just can't find a use for web OSes.

</comment></comment><comment><USER4> "a linux-based operating system designed for the 100,000,000 MySpace users"

I'm glad I wasn't on the R&D team for that.

</comment><comment><USER5> I like Pytagor because organizes my files, Internet addresses and contacts in one Folder.</comment>


A Conversation: Yuval Noah Harari, Daniel Kahneman (2015) - <AUTHOR> https://www.edge.org/conversation/yuval_noah_harari-daniel_kahneman-death-is-optional <comment><USER2> On people becoming superfluous to the market and the state as machine intelligence progresses:

 _"... [in the future, work no longer exists for] most of humanity... That mass of people cannot work, but they can still kill people..."

"and how will they find some sense of meaning in life when they are basically meaningless, worthless?

My best guess at present is a combination of drugs and computer games as a solution for most"_

On "one of the big problems with technology":

 _" It develops much faster than human society and human morality, and this creates a lot of tension. But, again, we can try and learn something from our previous experience with the Industrial Revolution of the 19th century, that actually, you saw very rapid changes in society, not as fast as the changes in technology, but still, amazingly fast.

The most obvious example is the collapse of the family and of the intimate community, and their replacement by the state and the market."_

<comment><USER3> I really do hope tthat we can make that massive cultural shift ttowards finding meaning outside of laboring for the capitalist class. For most of human history, people had no boss and worked for themselves or werr tradesmen(essentially contractors)

<comment><USER2> I agree.

Kahneman and Harari also discussed how the shift to agriculture, while a great step forward for humanity as a collective group, was a major bummer for the individual. (Much more interesting and healthier to be a hunter-gatherer than a serf.)

<comment><USER3> Have you ever farmed before? I spent one summer doing it and it is the definition of toil. I couldn't imagine how much more it sucked without modern tools, yet people built irrigation ditches and terraformed the land.

People often miss the meaning behind the Biblical story of the fall of man. The garden of eden can be seen as a metaphor for the hunter gatherer lifestyle. Knowledge, (a metaphor for agriculture) led to the fall. It is further highlighted when God curses cain for killing abel, that when he tills the soil, it will resist him as an enemy. Farmers have to work day and night doing back-breaking work while a sinlge pig can feed nearly 100 people.

Also, interestingly, hunter-gatherer remains had larger skulls as well as a more developed physique. While they had a more nutritious diet, the mental demands required to be a hunter gatherer in those times required relatively extraordinary cognitive ability...a near encyclopedic knowledge of the safety of foods, its various uses as medicines, the ability to accurately map your entire stomping grounds and the memory necessary to store and recall all this information

</comment></comment></comment></comment><comment><USER4> To anyone interested about the history of human evolution, I highly recommend Sapiens: A Brief History of Humankind by Yuval Harari. It's the best book I have read about human history and how we have evolved until now. The book is also listed on the Gates Summer reading list.

<comment> Ar-Curunir I did not find it particularly good. Sure, I learnt some things I did not know, but for the large part I was turned off by Harari's self-assurance about a time for which little archaeological evidence exists. It seemed very unscientific to me.

<comment><USER4> I read the book around a year ago and I remember him pointing out the uncertainty to his claims. It was simply his personal research and views which I think should be taken at his face value. Sure, there might be a few things wrong here and there but that book left a lasting impact on me with regards to how I perceive day to day generic things.

</comment></comment></comment><comment><USER5> _"...the power of the masses, that we are so used to, is rooted in particular historical conditions, economic, military, political, which characterized the 19th and 20th centuries. These conditions are now changing, and there is no reason to be certain that the masses will retain their power."_

</comment><comment><USER6> When he says humans will become useless in the economic sense, i wonder:

When looking at the value created by the average human job, you see a constant decline in that - most of history human though wars, produced basic food, shelter, health. But today, many humans produce stuff that is far from necessary, we could live well with far less of those products and services. Heck, we even semi-deliberatly construct out economy in that way, for example, by creating/allowing tools like advertising and planned-obsolescence, tools that enable the rise of the consumption economy.

So maybe that's a trend, an we need to look where humans+machines are preferred over machines, just barely, and construct our economy around that ?

<comment><USER7> I guess it kind of depends on what you mean by value when you say "value created by the average human job", but I think for most definitions the opposite is the case. Average productivity per worker has been rising pretty steadily since the industrial revolution, even if you correct for inflation.

</comment></comment><comment><USER8> This is a 2015 conversation but was interesting as I recall.

<comment><USER9> Thanks! Added.</comment></comment>


The galaxy cluster Abell 959 - <AUTHOR> https://phys.org/news/2019-09-galaxy-cluster-abell.html <comment><USER2> I guess they have a Union regulation never to mention "plasma". "Hot gas" is the closest they can get. Mentioning electrons is an advance: in the old days, x-rays were proof positive of million-degree hot gas.

"Turbulence" in gas at hard-vacuum pressure is impossible. What they are talking about is plasma fluid dynamics, charged particles in motion generating fields that affect other particles at a distance, without collisions. Anyone tackling that merits admiration.</comment>


Ask HN: Which array processing programming language should I learn? (APL/J/K) - <AUTHOR> For years now, I want to learn one of the array processing programming languages, such as APL, J or K, and this pandemic is good excuse to do it, instead of netflixing.
Which one should I learn and why?
The main criteria I'm interested in are:
- intelectual/conceptual interest
- quality and quantity of current learning resources
- open-source
- ease of use/usefullness for power-users (I'm ok with a steep initial learning curve, if it pays out later)
Thanks! <comment><USER2> I'm pretty satisfied with gnu apl.</comment>


Ubuntu convergence, part 1: Setting it up - <AUTHOR> http://sturmflut.github.io/ubuntu/convergence/2015/11/01/ubuntu-convergence-part-1/ <comment><USER2> This tactic of your phone as your phone, laptop, and desktop is a possible way that I see Microsoft gaining a substantial foothold in the mobile market through its corporate presence. If Microsoft had such a product, IT departments could give you a phone that you also use at your cubicle as your PC and replaces an alternative corporate sponsored phone. In many environments, you have to have a Windows machine, but their isn't enough lock- in for Android or iPhone to avoid being pushed out by a single solution.</comment>


Optimization Tricks used by the Lockless Memory Allocator - <AUTHOR> http://locklessinc.com/articles/allocator_tricks/

<comment><USER2> This is very similar to a multithreaded memory allocator I implemented many years ago: <http://people.cs.vt.edu/~scschnei/streamflow/>

Full paper: <http://people.cs.vt.edu/~scschnei/papers/ismm06.pdf> I also have an incomplete extension to that paper with more algorithmic details. I can clean it up and send it to interested parties.

Source code: <http://github.com/scotts/streamflow/>

There's also an excellent paper recently published at PACT 2011 that is extends and improves on what we did previously, but the paper is not available anywhere yet: [http://aces.snu.ac.kr/Center_for_Manycore_Programming/SFMall...](http://aces.snu.ac.kr/Center_for_Manycore_Programming/SFMalloc.html) I have a copy of the paper and can email it to interested people.

Edit after looking through his code: I think he has locks on the main execution path for malloc. That violates one of our design principles, which was to avoid synchronization on the main path, and to only use lock-free synchronization for most operations on the main path. (Allocations that hit the page-block allocation in our work hit a lock. The SFMalloc allocator I mention above takes those locks out and sees performance improvement.)

<comment><USER3> Going lock-free has the benefit on any platform (well, any platform with atomic primitives) that you don't have to worry about a thread getting preempted while holding a lock and blocking others indefinitely. However, I think the scalability advantages aren't as evident on today's systems as they will be (or are, in the case of GPUs) on systems with high-tens to hundreds or thousands of hardware threads. The main reason I've found is that most lock- free algorithms I've implemented add significant constant factors over their serial equivalents (often via retries on CAS failure), so you really have to have high access concurrency to make it worth your while.

Going lock-free also tends to force you to use simpler data structures, since you have to figure out how to migrate the data structure from state A to state B via a sequence of very "small" operations (e.g., a CAS or atomic add), making sure that every intermediate state along the way is also valid. This is in contrast to acquiring a (group of) lock(s) and going to town for a lock- based data structure. As evidence of this, being able to figure out a lock- free variant of something like a linked list or skip list --- things which are not considered rocket science in the serial world --- will usually get you a conference or journal paper.

Another reason I don't think we've seen the best of lock-free yet is that most current implementations besides GPUs ride on top of cache coherence; you incur all the overhead of getting the cache line in your local cache, perform the atomic op, then ship it somewhere else. Since the whole raison d'etre of lock- free algorithms is that data operated on atomically tends to be getting hammered by many threads, there's really not much point to shipping it all around the chip; just put some functional units in the last-level cache and keep the data there.

Haven't looked at the Lockless source yet, but locks on the fast path does seem unusual; it seems fairly standard in high-performance allocators to have a per-thread cache of freed blocks, which obviously doesn't need locks.

I'd be interested in a copy of the SFMalloc paper, if it's alright with the authors (email in profile); wasn't able to attend PACT this year to see the talk, but I'm very interested in the work.

<comment><USER2> Your points are true in general, but memory allocation is a special case.

The main data structures in memory allocators tend to be pretty simple. We got away with using singly-linked lists (FIFO queues) as the only shared data structure that needed to be lock-free. In that case, you trade one lock for one compare-and-swap, so there it's an even trade. The main path of the allocation was free of synchronization.

I also implemented a lock-free radix tree (the original was borrowed from TCMalloc), and you can see multiple compare-and-swap operations in the main routine ([https://github.com/scotts/streamflow/blob/master/streamflow....](https://github.com/scotts/streamflow/blob/master/streamflow.c#L395)), but they will be hit only rarely.

I applied your reasoning, though. The fast path for allocation and freeing small objects was usually synchronization free, and always lock-free. But I protected my page manager with spin locks. The page manager was responsible for grabbing pages from the OS, giving them back to the OS, and carving out pages for individual threads to use as their backing store for their small object allocations. My rationale was that we would only hit the page manager rarely, and in that case, it would probably be _faster_ to use a spin lock, since I anticipated getting pages from the page manager would usually be uncontended.

But that was back in 2005 and 2006. We only had access to 8 thread machines. The SFMalloc paper makes it lock-free all the way up the stack, and their experiments of up to 48 cores shows significant improvement.

</comment></comment></comment><comment><USER4> Lockfree slab allocator for _smaller blocks_ is frequently all that's needed, especially in STL-heavy C++ code.

There is typically heck of a lot allocations of 0-32 byte blocks, about half of that of 33-64, a further half of that of 65-128, etc. - meaning that if one optimizes allocation of blocks smaller than 512 bytes, it would yield 80-90% of achievable speed gain due to a better allocator.

In practical terms it translates into simpler implementation - just set up a bunch of slab buckets - one for 0-16 byte blocks, next - for up to 32, next - for up to 63, etc. - and pass larger allocation requests to default malloc. Exact size ranges are easy to determine by running the app with a proxy allocator and looking at the block size histogram. I did this with several projects and in all cases histograms stabilized very quickly. The tricky part is a lock-free management of the slabs, especially the disposal, but it is not a rocket science by any means.

A real-world example - adding a lock-free slab allocator to a Windows app that did some multi-threaded data crunching yielded 400% speed up compared to native HeapAlloc().</comment>


Ask HN: How long before bitcoin bubble collapses? - <AUTHOR>

https://coinbase.com/charts In the past 20 days, the value of bitcoin spiked up 3x +. No currency can appreciate or depreciate that quickly, it is usually a clear sign of bubble building up. The question is when will this bubble burst ?
My Guess: Around 15 days ~ 10th December <comment><USER2> One interesting point to notice is that since bitcoin's inception there have been numerous bubbles, yet each time the value after the burse is slightly higher than before the bubble.

So my guess is that bitcoin will continue to appreciate upwards with periodic bubbles.

</comment><comment><USER3> I guess that all depends on when Amazon starts accepting bitcoins...</comment>


Learning Vim while playing a game - <AUTHOR> http://vim-adventures.com/ <comment><USER2> > \- 6 months access to VIM Adventures

> \- 13 fun and engaging levels

> \- More than 60 commands and motions

> \- Covers most of the keyboard

> \- Now for only $25

I personally think it is a wonderful idea and love how it is implemented(got very excited the first time I saw it). But I can not justify $ 25 for a game I can only use for 6 months, but I will pay $ 25 once off.

Then again one need to take hosting costs, and the time it took the creator to make the game in to account; and lastly it is his product so he can set the price point to whatever.

It will just not bring the joy of vim to African kids in Uganda.

<comment><USER3> Only 6 months access is a big turn off for me. Even if I use it for less than 6 months, I like the feeling that I could go back to the site and practice, if I wanted to. I'm guessing over 90% of users would not use it for the whole time, so server costs would seem like a non-issue.

EDIT: I spent so long typing this that organsnyder had the same response.

In addition, I feel that the price point is off a little here. I think that dropping the price (or at least adding unlimited access) would increase the amount of people buying the game at a higher percent.

<comment><USER4> I wonder if the license actually deactivates after 6 months, or if the creator simply added this term to limit his liability. Per jtreminio, he purchased two years ago and continues to have access. I bring this up because you could flip this and rather appreciate his transparency, letting his customers know that they'll have at least 6 months access if and when he decides to shut the game down.

</comment></comment></comment><comment><USER5> there is also vimgolf[1] for a free and more challenging alternative, in which you solve various text editing problems with least number of keystrokes. it has a nice cli[2] that retrieves problems to the real vim editor, and submits scores. it is interesting to see how other players in the leaderboard solve the same problems differently, and you learn a few useful tricks along the way.

1: [http://vimgolf.com/](http://vimgolf.com/)

2: [https://github.com/igrigorik/vimgolf](https://github.com/igrigorik/vimgolf)

</comment><comment><USER6> I bought this game a few years ago. I learned quite a few things about vim. Unfortunately the puzzles in the later levels aren't very clear. I spent hours trying to figure out what on earth they wanted me to do. To me this was counter productive and got less and less fun. I ended up leaving the last few levels unfinished as I felt I got very minimal returns for time invested.

If you're interested in picking up vim, I love it for the first 5 or so levels. After that, not so much. (I currently still use sublime text but do occasionally use vim on servers)

</comment><comment><USER7> I got good at the Vi movement keys by playing Nethack. Nothing like a few 50,000 turn games to put hjkl into muscle memory.

<comment><USER8> I've played a massive amount of Crawl. I already knew vim, but you get a lot of repetition with those keys for sure.

</comment></comment><comment><USER9> About vim: There is one thing that always has bothered me a lot, and it is that I am lefty, and I tend to think that at the left I have the "arrow up". Naturally I always expect the "arrow up" at the left, but it is hjkl.

<comment><USER10> you can always remap the keys

</comment></comment><comment><USER11> Loved it, but as a student 25$ is kinda steep. Also, 6 months is weird.

</comment><comment><USER12> A good way to learn the vim hjkl keys is to play tetris. Most tetris allow remapping the keys. That's how I got used to those keys.

</comment><comment><USER13> I just want to say thank you for making this game. That's how I first learned Vim and I have been using it ever since.

</comment><comment><USER14> I'd pay $25 for permanent access and/or an offline version. However I dislike the 6 month access a lot, and it burns a little of the good will I have.

</comment><comment><USER15> I've been using ShortcutFoo. It's pretty good to force myself to learn the basics.

[0] [https://www.shortcutfoo.com/app/dojos/vim](https://www.shortcutfoo.com/app/dojos/vim)

</comment><comment><USER16> I highly recommend this to anyone interested in vim. Vim-adventures is how I got into using vim as my main editor.

Also for the people complaining about the 6 month access, I get your point but I think this is meant to be just an easy introduction to vim, not a tool for mastering it. I played this for only like a month or two and after I knew enough to start using vim as my main editor I hardly ever touched it again. I haven't even finished the game.

</comment><comment><USER17> Reminded me how much I hate vim and how it is biased towards right-handers.

<comment><USER18> Really? I'm right-handed, but don't have any trouble making any kind of key combinations at any speed with my left hand. Aren't most people (in tech, at least) ambidextrous when it comes to typing?

<comment><USER19> Check your privilege.

<comment><USER20> This is unhelpful because it's unclear what your intent is, other than a general rebuke.

More helpful would be something like "This is not correct. Anecdotally I've found ..." or "It is unfair to expect that everyone can ..."

<comment><USER19> /sarcasm

</comment></comment></comment></comment></comment><comment><USER21> Two and three years ago:

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

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

</comment><comment><USER22> If you are interested in learning vim, there is also the handy vimtutor command.

</comment><comment><USER23> The Vimium extension for Chrome is a decent way to get used to the 'hjkl' movement key bindings. I also love being able to yank/put URLs as well as navigate through tabs using VIM-esque key bindings.

<comment><USER24> The huge gain with vim browser plugins is the navigation. Hitting f or F then getting numbered shortcuts for every link? Fantastic.

<comment><USER23> Yep, can't believe I forgot to mention that feature! Mouse-less navigation is the best.

</comment></comment></comment><comment><USER25> I played through all the free levels. It's slow, you don't learn a lot, and you end up having to pay to keep going.

If you are learning I'd advise you to check stuff like this: [http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial...](http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html)

They show you a few shortcuts on a keyboard layout and they keep on adding shortcuts to the pictures so you can learn at a nice pace.

</comment><comment><USER26> I teach a first year Intro to Unix module (CS and ICT) at a University in the UK.

We ran this for our students as an exercise and it went down really well. We've got people using Vim on a daily basis who probably would have never heard of it otherwise.

It's a great way to beat the learning curve that vimtutor represents, for people who prefer more visual challenges.

</comment><comment><USER27> Well that killed my morning routine.

<comment><USER28> Don't worry. The efficiency improvements you'll glean will pay back the time eventually.

<comment><USER24> Not only that, but the reduction in frustration when transforming a bunch of text (say, using macros) will compensate even more than the actual time spent. There's a joy to be had when doing menial tasks with vim, a joy from wizardry.

</comment></comment></comment><comment><USER29> FWIW, I learned the vi cursor keystrokes playing rogue in 1982. I also learned C studying the source, while staring at lines like while ( _j++=_ i++); which was a pretty strange construct to a Pascal programmer.

</comment><comment><USER30> It's broken for me as I have "start searching as soon as you start typing" feature on in my browser. It's searching instead of moving. Latest Firefox on GNU/Linux.

</comment><comment><USER31> I'd love to be able to reassign some keys. I use colemak and for example h,j,k,l need to be reassigned to actually be usable (otherwise, the layout hardly makes sense).

</comment><comment><USER32> pacvim is also a nice game for learning vim keys: [https://github.com/jmoon018/PacVim](https://github.com/jmoon018/PacVim)

</comment><comment><USER33> Bit off-topic but that pleasing musical sound when you hit the space bar is really like the first note in Aphex Twin's "PAPAT4 (Pineal Mix)" :)

</comment><comment><USER34> This is how I finally learned to get comfortable with HJKL in Vim. It's a great game.

<comment><USER35> I eventually tried using the arrow keys and it pops up a message saying that hjkl is the vim way, but vim lets you use the arrow keys, so they'll let you make the decision yourself. I'm glad they did that, because I'm comfortable with the arrow keys and the other aspects of the game are a lot more fun and interesting without having to re-train muscle memory.

</comment></comment><comment><USER36> Some of my more engaged intro programming students thoroughly enjoyed this game.

</comment><comment><USER37> Learning Vim if you don't know it already is a waste of time for new programmers. If you want a text editor, use Sublime. If you happen to be in a terminal without a GUI, and need to edit something real quick, just use Nano.

Don't spend your valuable time learning Vim. It's not worth it.

<comment><USER38> Opinions on development tools without explanations are pretty meaningless without context. Great for polls, not so much for discussion. It's like telling someone what kind of car to buy based on whatever you happen to own rather than what they might use it for.

<comment><USER37> That is actually 100% fair.

My issue with Vim is that it takes quite a bit of effort to learn, as this very thread illustrates. And for what gain?

I don't know how to use Vim, but I've given learning a shot a few times before having this visceral reaction like, "Why the hell am I doing this?" And then I move on to other things.

I've watched other programmers use Vim, and they do not appear to be any faster or more efficient than me with Sublime and/or an IDE like PyCharm or Eclipse. And for some tasks they seem to be quite a bit slower.

I dunno. To each their own. I wouldn't fault someone for learning Vim. But to me it seems like a waste of time. Modern text editors are much easier to learn and use. If you want to spend time learning something, learn something useful.

Just my opinion though.

</comment></comment></comment><comment><USER39> Good concept, sound doesn't seem to be working for me on OSX Chrome.

<comment><USER40> It works for me, same setup. =P

</comment></comment><comment><USER41> This has been posted about a hundred times already. Perhaps check the history before posting something old?

<comment><USER42> Reposts are frowned upon in some Internet forums, most notably Reddit, but that's not part of the culture of Hacker News.

Reposts are fine here as long as enough time has passed since the last posting.

</comment></comment><comment> tek-cyb-org This is awesome. Thank you!

</comment><comment><USER43> 3rd vote for nethack.

</comment><comment><USER44> Just play nethack.

</comment><comment><USER45> I dont do that much text editing. I use notepad++ . Is vim super amazing or something? ps. I usually work on a windows machine but vim is available for windows.

EDIT: Also emacs is available for windows, isnt emacs meant to be the ultimate text editor type thing? I dont really have any need to these, I'm just curious really. When Ive had to do perform some weird operation on a load of text or source code for example I've just written a script to do it.

<comment><USER46> I don't really have experience with notepad++ at all, but I did try sublime text 2 for a while. It really wasn't my cup of tea. Vim is really useful to me because it's easy to use in terminals and it has a lot of powerful, time- saving keystrokes once you get past the learning curve. Need to comment out lines 52-58? ":52,58s/^/#/", which comes naturally after a little practice. I've used emacs and it's very comparable, but I just happened to like vim more. It can be just a matter of taste, but I really recommend checking out both vim and emacs to see if it can save you time typing out small, repetitive stuff that isn't worth writing a script to do.

<comment><USER47> 52GqqI#<Esc><Enter>q6@q is how I'd usually do that (go to line 52, record how to comment out a line and move to the next line, then do that 6 more times). The macro is about the same number of keystrokes to write, is more generally powerful, and leans more on standard editing skills.</comment></comment></comment>


Ask HN: Giving a talk on entrepreneurship, what should I talk about? - <AUTHOR> this is pretty exciting news for me,
a university entrepreneurship club is doing an event to introduce entrepreneurship to students,
I was invited to talk since the founders of the club know that I code/create stuff,
I'm thinking about cutting through all the entrepreneurship porn and talk to ppl about real entrepreneurship
* finding a pain point
* coming up with a solution
* sticking to the process and doing the work it takes
* not to expect success in the first 1-2 years, neither from the first startup/project
* coding is not a required skill to be an entrepreneur
* you don't have to finish university to start doing something
this is what I'm thinking to talk about, do you think I should remove or add something? <comment><USER2> I've got some slides from some talks I've done on this before. Happy to shoot them over and you can user stuff that's useful if you'd like?

Otherwise:

* Problems > Solutions: How you fix something is not as important as actually fixing it. People will pay you if you can actually fix things, even if it's not as sexy as you originally intended.

* Validate problems: Why * 5, don't reveal your ego "I'm building this...", get them to talk about the last time the problem occurred.

* Don't get married to a solution: There are 100's of ways to get from A-B. Come up with a bunch of "solutions" and note down the assumptions they are based on. Pick the one you feel aligns best with your vision of the future and go talk to the people you think have the problem

* Knowing when something isn't working.

* Knowing when something is working.

\+ the things you listed above.

Potentially survey the students before hand, I've used this to find some super relevant problems that I can discuss based on real life. Make people way more engaged.

<comment><AUTHOR> Nicee!

> * Knowing when something isn't working.

this could be too subjective, can you please explain more

> * Knowing when something is working.

this too

and please shoot me your slides here email@example.com

</comment></comment><comment><USER3> Talk explicitly about the distinction between a newly founded company and a startup.

<comment><AUTHOR> very good point! I'll add it to my list

</comment></comment><comment><USER4> Depending on your location, paying (close) attention to your local labour laws ( since your first employee ) and all those extra-hours just before each release.</comment>