Video: Microsoft PDC Promo Sung by Boy Band - <AUTHOR> http://blog.wired.com/gadgets/2008/10/video-microsoft.html <comment><AUTHOR> I've only had three shots of Espresso this morning, so let me see if I understand: This is a video made by Microsoft making fun of the idea that they might make a terrible video. Ah. It's meant to be _ironic_ , and presumably it tells us they know the difference between good taste and bad taste.

I think this is isomorphic to a Bond Villain pointing out all of his expensive and tasteful possessions. We all know that if the villain really had taste, it is not necessary to tell us he has taste, merely for him to live a tasteful life and we will observe his taste directly.

My suggestion to Microsoft (just in case they're trolling HN for ideas): Do good work and make good promotional videos. We will gladly forget the past without you telling us that you are beyond making bad videos about products that used to be questionable.</comment>


Show HN: A crowdsourced spreadsheet for products to calculate their durability - <AUTHOR> https://docs.google.com/spreadsheets/d/1fN_jFo4_hMgP2Fd9wLFP_VJuUkAAWOQHzpxLSvMKdoU/edit#gid=0 <comment><AUTHOR> I was asking myself, how could we quantitatively measure how durable a brand or product is?

I guess that a good indicator would be a data point that shows how long someone has owned and used certain products, so imagine a brand or product has an average "years owned" metric.

And that's why I need your help!

Just add your favorite Buy For Life products and fill the "years owned", "condition" and "frequency of usage" fields. We later will be able to calculate how many years certain products are owned on average and how durable they are (of course in relation to the product category and frequency of usage).

Let's find out which products/brands truly deserve the description "Buy For Life" :)

PS:

Any feedback is greatly appreciated.</comment>


To become a good C programmer (2011) - <AUTHOR> http://fabiensanglard.net/c/ <comment><USER3> I found that, after learning the basics of the language via K&R or a similar book, the best way to get a good understanding of C and its weird corner cases and eccentricities is just to go through the comp.lang.c FAQ page. [http://c-faq.com/index.html](http://c-faq.com/index.html)

It's pretty comprehensive, and I found the level was pretty good for a "not total newbie, but still not familiar with the subtilties" level that can be kind of hard to find resources for.

<comment><USER4> Making a blogging engine in C would be very informative (though difficult).

<comment><USER5> i think fefes cms is written in C... [1]

[1] [http://www.fefe.de/poweredby.html](http://www.fefe.de/poweredby.html)

<comment><USER6> Eeyup. A 2009 version is archived at [https://erdgeist.org/cvsweb/Fefe/blog/blog.c](https://erdgeist.org/cvsweb/Fefe/blog/blog.c)

The best part is that where stores his posts. SQL? Nope. NoSQL? Nope. Plain text files? Nope. Fucking LDAP. [1]

[1] Source: [http://blog.fefe.de/?ts=a8d61c27](http://blog.fefe.de/?ts=a8d61c27)

</comment></comment></comment></comment><comment><USER7> When I first started out with C (and back at that time it was the first programmimg language I started learning) I read a majority of the "standard" books and felt rather confident in my understanding of the basics, but when it came to actually _writing_ C, I never felt like I was writing good, pragmatic code. So I started combing through the sources of popular FOSS software like gtk, musl libc, Linux, OpenRC, gcc, etc, submitting bugfixes for a few of them, and asking for code reviews on mailing lists until I finally thought that I was doing okay. I still felt like my knowledge was lacking though, so I decided to learn the internals of the modern x86 machine by writing a hobby OS resembling MINIX (I think I even got X working at one point). Despite still not being the best programmer, it really helped with my understanding of why things are done in C like they are.

<comment><USER8> This sounds like a good way to learn, but I would worry about picking up bad habits. Do you have any recommendations of (C) projects etc. that are particularly well written?

</comment></comment><comment><USER9> The more I learn C the more I hate it. At first it seems simple and easy but reading "Expert C Programming" is reading a laundry list of what's really messed up with the language. 80% of the problems would be solved by some sane syntactic sugar that compiles down to C

<comment><USER10> I would say generally I feel that way about any language I've learned. Initially they are pretty easy and the examples given include slick solutions to contrived problems. Then you get into wanting to do real work and you learn about all the corner cases and ambiguities and landmines that are hidden farther afield.

Can anyone name a language that they've grown to like _more_ the more they learned about it? I would guess maybe only those in the LISP family would make the cut.

<comment><USER11> My favorite language remains 'C'. You don't have to even look at the corner cases, landmines and ambiguities - use the subset of the language that works.

Other than things like signed integer weirdness, most complaints about 'C' revolve around the library. Well, don't use those parts of the library.

<comment><USER9> Except that generally the point of using C is to squeeze performance out of your alogorithms - so you can't limit yourself. But even the simple straightforward stuff has been done just sloppily. I think we just take for granted that it's part of the learning curve and that programming just isn't easy.

And eventually your fingers memorize all the nuanced and sure if you don't screw up it all works. But it's designed in a way where you end up shooting yourself in the foot. It's hard to reason about pointer and reference notations, everyone eventually miss a break in a switch - const is weird, arrays vs. pointers is weird. Symbols are needlessly overloaded to do different hings. Things that seems like they'd work for strange reasons don't EXAMPLE:

foo(const char __p) { }

main(int argc, char __argv) { foo(argv); }

I really really recommend opening up "Expert C Programming". I promise by page 50 you will be angry - not because there are so many gotchas, but because most of them are completely fixable. Just no one has bothered to do it

</comment></comment></comment></comment><comment><USER12> I cannot recommend Understanding and Using C Pointers by Richard Reese highly enough ([http://www.amazon.com/Understanding-Using-Pointers- Richard-R...](http://www.amazon.com/Understanding-Using-Pointers-Richard- Reese/dp/1449344186))

Learning C syntax is pretty easy. Learning to use the standard library is mostly a matter of reading man pages and other people's code. But I found understanding pointers and memory management completely opaque until I read that book. It definitely brought me from "beginning C hacker flailing about" to "intermediate C hacker flailing about in a more dangerous way".

</comment><comment><USER13> You can be an excellent C programmer but still create horrible abstractions. Programmers underestimate the art that goes into that.

</comment><comment><USER14> K&R is often recommended, and it's certainly fun to read and accessible. But I've also heard it's outdated, and doesn't rally focus much on modern C software design, mostly because the world knew little about it when K&R was written.

Thoughts?

<comment><USER15> I think the style should be avoided; code shouldn't be compact and variable names should be descriptive.

Artificial example:

        for( int i = 0 ; i < c+j ; i += b )

should be:

        for( int count = 0 ; count < sum+extra ; count += skip )

It may be allowed to use _i_ in place of _count_ here, but this is the only place where single name variables should be permitted and only if _i_ is really just a simple array index iterator.

<comment><USER16> Even "i" can be changed to "index". My rule of thumb is this: If you wouldn't use the abbreviation when speaking, don't use it when coding.

I don't understand why 'i' has been given a pass. The argument boils down to saved keystrokes. Typing is not the bottleneck.

<comment><USER17> > I don't understand why 'i' has been given a pass.

Because it is well enough established (in both programming and mathematics) that it communicates literally no less information to the reader than "iterator" or "index" would in the same context.

> The argument boils down to saved keystrokes.

Not at all. I, for one, find it easier to see the shape of the whole expression when the variable names are shorter.

<comment><USER18> Yes; prolixity yields clarity in programming about as much as in prose. The old quip needs an update: a modern programmer can write COBOL in any language.

</comment></comment></comment></comment></comment><comment><USER15> This is the first time I have seen sizeof used like this:

      sizeof( &array[0] )

This looks equal to:

      sizeof( array )

at first glance, which would give the size of the entire array in bytes, but of course the &array[0] expression is really:

      &*( array + 0 )

which simplifies to:

      array + 0

which is a pointer. And using sizeof on it gives the size of a pointer to int.

Edit: (&* array) will also give a pointer.

\---

This is just a really convoluted way to write 2:

       &array[2] - &array[0]

       &*(array+2) - &*(array+0)

       (array+2) - (array+0)

       2 - <USER2>

Again I have never seen this written in such fashion.

<comment><USER19> Here are the relevant parts of the C standard:

C89 22.214.171.124

"The sizeof operator... When applied to an operand that has array type, the result is the total number of bytes in the array."

C89 18.104.22.168

"Except when it is the operand of the sizeof operator or the unary & operator, or is a character string literal used to initialize an array of character type, or is a wide string literal used to initialize an array with element type compatible with wchar_t, an lvalue that has type ``array of type '' is converted to an expression that has type ``pointer to type '' that points to the initial member of the array object and is not an lvalue."

Additionally, here is a thread of Linus Torvalds pointing out even more of the confusing nature of arrays and sizeof in C:

[https://lkml.org/lkml/2015/9/3/428](https://lkml.org/lkml/2015/9/3/428)

<comment><USER20> _Additionally, here is a thread of Linus Torvalds pointing out even more of the confusing nature of arrays and sizeof in C:_

I really like the idiom for passing sized arrays suggested at the end of that LKML thread[1]: pass them by reference!

      void func(int (*arr)[256])
      {
        printf("arr size: %ld\n", sizeof(*arr));
      }

      int main(void)
      {
        int array[256];
        func(&array);
      }

[1] [https://lkml.org/lkml/2015/9/7/147](https://lkml.org/lkml/2015/9/7/147)

</comment></comment></comment><comment><USER21> Lots of good book suggestions in the Ask HN thread I had posted earlier: [https://news.ycombinator.com/item?id=11560509](https://news.ycombinator.com/item?id=11560509)

</comment><comment><USER22> "And no good book is as good as disassembly output."

[x] Strongly agree [ ] Agree [ ] Neutral [ ] Disagree [ ] Strongly disagree

For me, C, i.e., GCC, is most useful as a faster way to generate assembly for a particular CPU than typing it out from scratch. I use GCC as a code generator. I'd like to see more free asm code generators, but I am not holding my breath.

I do appreciate C as a medium for distributing reasonably efficient software.

<comment><USER23> I don't really understand what this means. How is that different from how anyone else uses a compiler?

<comment><USER24> I think he means that he works like this:

1\. Write some C

2\. Dump the corresponding assembly code

3\. Modify the code by hand

<comment><USER22> 4\. Assemble

5\. Load into assembly debugger

6\. Learn

There is "C", the language, which can be relatively simple. Or hopelessly opaque depending on the author.

I think of C the language as just a shorthand for assembly. Only because that's how I use it.

[http://www.lysator.liu.se/c/bwk-tutor.html](http://www.lysator.liu.se/c/bwk- tutor.html)

But then there is "C" in practice: the specifications, the "standard" libraries, preprocessors, Makefiles, autoconf, etc.

<comment><USER23> But what would qualify as an "asm code generator" if not a compiler? There are other free compilers. Clang comes to mind.

<comment><USER25> Let us see... in my day, we called an "asm code generator" an assembler... anyone remember MasterSEKA, Devpac, TRASH'M-One and ASM-one?

<comment><USER22>
      1. Program that reads some input (e.g., C language) and generates asm and/or opcodes.
      2. Program that reads asm and/or opcodes and generates binary numbers ("object files").

No. 1 is what I need. No. 2 is what I call an "assembler". Although terminology means less to me than what a program actually does.

<comment><USER23> No. 1 is literally the exact definition of a "compiler". I still don't understand the distinction you're making.

<comment><USER22> That's because it is a compiler.

No. 1 is a program that accepts input (e.g., RTL, MINIMAL, etc.) and generates asm.

I like to call this an asm code generator. Because today when people say "compiler" they are often referring to a collection of programs, some of which do not generate asm.

<comment><USER23> I see. So you are excluding the preprocessor, linker, type-checker (for some languages this is a separate program), assembler, etc.?

<comment><USER22> Yeah. I'm sorry about the terminology. I guess I just like the term "code generator".

When I use that term I envision simple filters that take ASCII input, maybe even some sort of "template", and transform it into some other format that's useful. Ideally, asm. But not always.

For example, in GCC, for x86, there's a couple of programs that operate on i386-opc.tbl and i386-reg.tbl. I would not call them "code generators" but I suspect they are needed in order for "gcc -s" to work.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER26> the biggest virtue of a c-programmer is temporary forgetfulness.

forget for the moment, that all of the old-guard-tech foundations is basically a castle made of glued together jello filled rubber ducky's. forget all the tricks needed to jump through that final hoop in assembly. forget even those hopeful endeavors of the languagewiser that stood up, and then came back because performance is a bitch and there use cases to edgy. forget all those library's that overpRomised, undereallocated and disspointered. forget all the futile attempts to steer this boat, carried on the hands of the likes of you, towards some sail-able waters. blissful unawareness settles in, while every "good c-programmer" near you starts to spit fire as soon as management declares a new megalomaniac project in C worthy the effort and thus starting. forget that strange feeling of elated Shame of being the best to repair the most broken car in town.

Then, and only then, you will be a "good" C-Programmer, one that knows all the tricks of trade, while not getting wiser.

</comment><comment><USER27> Very cool. I would like to see a similar recommendation for TCP/IP, DNS, and perhaps HTTP 1/2, including SSL. (Although I suppose you could start with C and then just get involved with the linux kernel, linux net utils, and nginx. But that's like, hardcore.)

<comment><USER28> i think 'TCP/IP Illustrated' is good if you want to get into networking.

</comment></comment><comment><USER29> I'm interested in learning about reverse engineering and malware analysis. Is learning C the proper first step in getting my hands dirty? I used C++ in a few college courses, but I've been primarily a Java developer for the past two years.

<comment><USER30> Definitely C, and you will also need to know a fair bit of assembly. Also familiar yourself with the PE (portable executable) format and learn how to use IDA disassembler and possibly SoftICE (Not sure if it still works, but it was/is a very powerful kernel debugger)

</comment></comment><comment><USER31> What's a good practical but small enough project you can do with C? Typically if you are learning Ruby or Node, people recommend creating a blog. What's something like that for C?

<comment><USER32> A virtual machine and assembler. This is actually pretty straightforward and lots of fun.

<comment><USER33> Along the same lines: an emulator for an old computer or games console.

</comment></comment></comment><comment><USER34> What other experiences, non C based, will make you a better C programmer too ? ADA, ML, Forth ? some other academic domain ?

</comment><comment><USER35> Learn assembly then c will be easy</comment>


Tech startups best positioned to strike engineering gold - <AUTHOR> http://blog.linkedin.com/2012/05/17/top-10-tech-engineering-startups/

<comment><USER2> I was surprised at how few web/consumer companies there were on this list-- perhaps that is mostly a function of LinkedIn's demographic.

Anyhow, I work at Arista Networks, and would be more than happy to answer any questions you guys have about us, our technology, or our engineering culture. (P.S. If Santa Clara isn't your thing, we just opened a SF office!)

<comment><USER3> A little off topic..I had never heard of Arista Networks until just now. I did go and check out the product line, and one of those products promises low latency switching at the same speeds for both layer 2 and layer 3!! How is it possible to process routed and no-routed traffic at the same speed? I'm genuinely interested...Designing networks is part of what I do for a living.

<comment><USER4> Every packet goes through special switching hardware or ASIC. This ASIC has a pipeline for processing packets like a CPU has a pipeline for processing instructions. The ASIC also contains very fast tables optimized for storing and looking up MAC and IP addresses.

One part of the pipeline checks if the destination MAC matches the switch's MAC. If it does then the packet is routed and the ASIC will read the destination IP address from the packet. The dest IP is looked up in the routing table to figure out which port the next hop lives on and what it's MAC address is. If the destination MAC is for another host, then the MAC table is checked to see what port to send the mac.

Modern ASICs are designed to handle both cases very quickly.

<comment><USER3> So for a layer 2 packet, the routing table does not get consulted.. In effect, the time to forward a layer 3 packet is = time to forward layer 2 packet + time to look up routing table (no matter how quickly). ie Layer 3 packets take longer to forward than Layer 2 packets

</comment></comment></comment></comment><comment><USER5> Thanks taylorbuley, this HN post made me a nice sum of money (only publicly traded company in the post <http://www.google.com/finance?q=splk> )</comment>


Asking for more  salary  in interview , then that advertised in job description - <AUTHOR> Hello,<p>Does any one has experience , negotiating  a salary in academic/govt job , then that was advertised in job description. As most salary range in University are bounded by pay scale/grade systems ,will it be unethical to ask for better salary and grade ? <comment><USER2> Depends on where in Europe you are heading. My comments pertain only to UK academic research postings.

Your question implies that you are being interviewed on the basis of your established credentials. On that basis, you should have a good idea of how you compare with your peers in your area of specialisation. The pay scales are pretty much set in stone. That is, for any given grade there is a pay range (usually based on years of incumbency). That is not negotiable. Your best chance would be to be assigned to a higher grade and thus be on an elevated pay scale. Generally grades are grouped and it is very unlikely that you would be able to jump groups. The HR approval for the role, most likely, specifies the range of grades for the position. Going outside of that range would, typically, require a lot of additional paperwork. People responsible for hiring have already gone through enough bureaucracy that they wouldn't be happy to be faced with more.

Unless you are already very well paid and happy where you are, you might want to seriously consider (as other HNers have suggested) accepting the best offer and then working hard to prove yourself and thus be recognised for your contributions and being promoted.

<comment><AUTHOR> Thank you for your comment. Yes this posting is in UK and if it does matter, this posting is in University of Oxford. And i do believe since HR does have information about my current salary and benefits , it is worth asking them to elevate the grade if possible.

</comment></comment><comment><USER3> It wouldn't be unethical, it just sounds pointless, depending on where exactly this will take place. Usually government jobs are pretty strict. Private sector jobs are also going to be filled by people who are negotiation in the employers' budget. This is just an opinion based on common sense... You can do what you want, but i'd laugh if someone asked more money from govt

<comment><USER3> Especially before proving themselves

<comment><AUTHOR> To put things in context, they are flying me from Asia to Europe for second interview (in person on university campus) . So i assume they are pretty serious and would be open to salary negotiation.

</comment></comment></comment><comment><USER4> So long as the request is done ethically, it is hard to see why it would be unethical.</comment>


Adieu, Koku - <AUTHOR> http://www.fadingred.com/koku/

<comment><USER2> If you too have no idea what Koku is or was, the site used to say "a flexible financial manager for Mac and iPhone" [https://web.archive.org/web/20140701194344/http://www.fading...](https://web.archive.org/web/20140701194344/http://www.fadingred.com/koku/)

</comment><comment><USER3> A sad, sad day :(</comment>


Learning to Listen, in a Los Angeles Cafe Built for Vinyl - <AUTHOR> https://www.nytimes.com/2019/06/03/dining/vinyl-records-listening-bar-kissaten.html <comment><USER2> Vinyl is kind of silly compared to supporting actual live music especially I'm a city like LA with such a tremendously rich variety of live music acts. Not to knock vinyl but it's like why build a cafe for vinyl in la where there are so many tremendous live talents lacking space to perform?

<comment><USER3> You can ignore a record spinning on a turntable while you're having a drink, it's a bit harder to ignore a live band playing in the same room

<comment><USER4> Right, it's a completely different vibe - the live experience is like no other, but the audio quality is often too loud and harsh and crap, whereas listening in the vinyl cafe would be at the other end of the spectrum

</comment></comment></comment><comment><USER5> I recently went to Bar Shiru in Oakland (mentioned in the article) and it was quite the experience:

[https://www.yelp.com/biz/bar-shiru-oakland](https://www.yelp.com/biz/bar- shiru-oakland)

<comment><USER6> I was a little confused by the layout and amount of exposed concrete. Not that it sounded bad, but I prefer a bit more damped sound and maybe they intentionally went for a more live sound with the room itself being a major presence. They do have a fun collection of records along the wall.

</comment></comment><comment><USER7> Young people who have never heard music played on high quality equipment are in for a treat.

<comment><USER8> i'm 30, and i have no idea what vinyl sounds like. my grandparents played it a couple times but i dont remember

</comment></comment><comment><USER9> As a collector and founder of a startup about vinyl records, I find these places extremely interesting. Looking forward to seeing more of them, also in Italy.

</comment><comment><USER10> Vinyl is quietly making a comeback. I never knew just how hot vinyl records these days until I stumbled across the guys running vnyl.org. They are making a killing.

</comment><comment><USER11> Calling "a Garrard, an audiophile turntable" is the most laughable thing I've ever read in the Times. Yes, it's a belt drive table (although there may have been some with idler wheels) but, audiophile, no. A starter table like a Thorens, or a Rega, might count, but a Linn or any of the true audiophile tables might start to qualify. The difference between an analog record on a great system and a. Digital mp3 on anything would make most people who love music cry at what's missing in the digital version.

<comment><USER12> Except that all modern vinyl pressings are from the same digital masters as any other available medium or format. AFAIK nobody records, mixes, and masters in an entirely analog domain any more. Even so, vinyl isn't a very good audio storage mechanism, now if you made that argument for reel-to-reel tape, you may have a point. Possibly. But even then, high quality digital audio is still probably better. Especially given the practical implementation of any analog system.

Edit: and, lol, they're using tube amps and horizontally-placed horn speakers that aren't designed to be horizontal on a shelf in a resonant cavity. Yeah, this is not an audiophile setup at all. An LA hipsters idea of an audiophile setup at best. I'll bet it's fun though!

<comment><USER13> audiophile n. A person having an ardent interest in stereo or high-fidelity sound reproduction.

please quit your gatekeeping

<comment><USER14> If someone orients their speakers in an aesthetically-pleasing-but-sub- optimal-for-hearing manner, then it's difficult to argue that they have an "ardent interest" in high-fidelity sound replication.

<comment><USER12> And putting them deep in a shelf like that ... I mean, anyone who cared about sound reproduction could hear that hollow resonance sound ...</comment></comment></comment></comment></comment>


Reddit was amazing - <AUTHOR> http://blog.vickiboykis.com/2015/06/reddit-was-amazing/

<comment><USER2> Good observations. Questions to ask about them:

Can you be successful without acquiring some form of power, and can you receive that power and not work to retain it? In other words, how inevitable is the process that affected the extreme socialism of the early USSR and the extreme libertarianism of the early internet?

If this was triggered by the recent incidents at reddit, are they really relating to commercial / advertising pressure, or are they an attempt to _use_ the power that the controllers of reddit have gained, towards what they see as worthwhile ends?

<comment><AUTHOR> I really think a lot of this is driven by $$$, although some part of it probably is, yes, the CEO trying to gain control of Reddit, although judging by Yishan Wong's exit, that hasn't been possible for this site previously. As someone mentioned in another HN comment about the issue (I forget which thread), advertisers are scared of content they can't control, content that is in the hands of users who could go off-message at any moment. That's why small, "indie" sites never make money and why the most popular sites, such as Buzzfeed, as I mentioned, are so bland and universal as to offend as little of their demographic as possible.

As to the first part of your question, I'm hoping some people more qualified in historical analysis than me can jump in :)</comment></comment>


The 2020s will be known as the Remote Work decade - <AUTHOR> https://twitter.com/chris_herd/status/1212412869251350529 <comment><USER2> Hope so</comment>


Ask HN: What was your first job? - <AUTHOR> The end of retirement article made me wonder about this.  What was your first job, how old were you, and how much were you paid?<p>My first job was stacking bricks from an old building they tore down behind my house. I was about 10 years old and got paid a dollar or two, can't remember exactly, for a stack of 1,000 bricks, 10 by 10 by 10. <comment><USER3> Bike Messenger in DC.

Made great money for a HS student. Got to ride bikes all day and use my middle finger a lot. And my boss was just a voice on a walkie talkie. It was one of the best jobs I've ever had.

Almost everyone I worked with was an ex-con. Crack, stealing assault you name it. I worked for one company where the boss hired me for the summer on the condition that I found him a replacement in the fall. "If you leave without finding one," he yelled, "I'll see you in the street and run you over!" He was quite serious.

I'm a white guy and I worked for an all black company for a summer. My card said, "A black owned and operated company." During my interview there my future boss said, "I'll be damned. I'll be damned! You must be the ONLY white Willy in Washington."

The job was all about having a reliable bike and knowing the micro optimizations. You gained more speed by deftly navigating the buildings than the road. Knowing which buildings had service entrances, which doors had guards who didn't make you sign in and which elevators were fast all saved time and made money. I also got to know the mini subway system that runs between the capital and the senate and house office buildings.

But the government was the best for money. They took so long to do anything that you could charge them a dollar a minute for wait time. I feel like they should rate efficiency of institutions based on how long it takes for them to get a package in the hand of the person they called to pick it up. Like gigaflops for bureaucracies.

In four summers I got hit by about 12 cars. I was never seriously hurt but I did do some substantial damage to cars and went through a few bikes. If you ever get hit, ditch your bike and jump ON the car if you can. If you're flying through the air twist so you roll like a hotdog when you land.

One time I got decked by an SUV on a double rush (guaranteed 20 min delivery = $100 for the customer) to CNN in Rosalyn, VA. I was carrying a reel for the nightly news. It fell out and rolled through the traffic amazingly landing unharmed. I showed up to CNN on time and covered in road rash and blood. The receptionist grabbed the movie reel and didn't even ask me if I was OK.

Such sweaty, gritty, speedy good times.

</comment><comment><USER4> I worked as a carny at the Perth Royal Show for 2 weeks when I was 15. Pay was peanuts, but part of the job involved wearing a horror mask and jumping out at people from the dark with a pitchfork, scaring them senseless.

Not sure I've ever achieved the same level of job satisfaction.

</comment><comment><USER5> Baling hay and detassling corn for about $4.50/hr. I think I was about 12. The bales of hay were heavier than I was, so I had to use leverage to stack them and always ended up completely covered in debris. The cornfield job was easy...but it was really hot, so most of my peers quit. That's the first time I realized that different people could have dramatically different work ethics. Some people spent more time and effort figuring out how to cheat and goof off than it would've taken to just do the job properly.

I worked before that, chopping wood and the like, but just "to earn my keep" and not for payment. Around 15, I started giving lessons at the YMCA (swim lessons, horseback riding lessons, guitar lessons, and martial arts lessons) and cutting grass for elderly neighbors. Cutting grass I averaged $5-7 an hour, and giving lessons I averaged between $15-20 an hour, which taught me the benefits of 'specialized' knowledge and skills.

The first time I had any idea about a business model was in middle school. Most middle school kids couldn't go into our high school without getting into trouble, but I could because I was the editor of the newspaper and yearbook. Economic moat ;-) I used my "special hall privileges" to buy candy from the high school, which had a concession/vending stand, and resell them to the middle school kids, who had no junk food outlet of their own. I usually marked things up between 25-100%.

<comment><USER6> My first was 4:30am, dragging a giant basket down rows of sweetcorn, hand- picking at age 10. Got paid with a bag of sweetcorn and what I was told was "character".

Ahh, the innocence of being a stereotypical Iowan. In hindsight, the character built was worth every bead of sweat.

</comment></comment><comment><USER7> Unsoldering resistors, capacitors, etc from old VCR mainboards. 1 cent per part; 1.5 cents if I sorted them by spec. My family had an electronics repair shop. I think I was eight or nine. (Back then components were about the size of a large ant, not stuffed in by the billion)

I've been thinking about this lately -- giving kids work gives them _skills_ and I think people would be surprised what they can handle.

<comment><USER8> Eeek. Lead poisoning?

<comment><USER7> Eh. We rode around in an equipment van with no _seats_ , much less seatbelts, and which burned lots of juicy leaded gas. Different times.

</comment></comment></comment><comment><USER9> Other than helping my dad at work getting paid under the table, my first job was as a movie theater employee (vendor and usher).

We had a process called "counts", which was just the daily inventory, that everyone hated except for us few math-minded folks. The fun part of this was that all the vending terminals were old pentium 75-100MHz running software that ran on DOS (not even on windows).

My geek project was to build an app for assisting the "Counts" process with a custom GUI (YEAH EGA!) on the DOS terminals, and a backend portion that ran on the back office in Windows. They even paid me for my hours (which was awesome at the time, since it was my first time getting paid for programming). That software was run for a while even after I had quit, and because I was friends with everyone that worked there, I provided free tech support (which amounted to answering a question once every few months).

For that, I won the official "Trailblazer Award" from the company!

That bit was definitely a highlight of that year.

That's my "first job" story.

</comment><comment><USER10> My first real job was cleaning electronic and pipe components, typically of the sort which were used underwater for delivering oil. This was a somewhat under-the-table employment, probably because the owner of the company didn't want to deal with OSHA. As I recall I was 16 and the pay was an impressive $6.75 an hour.

After a summer of drama he became incensed that one of my pipes, which I had been cleaning of oil residue by means of scrubbing with a solvent and a toothbrush (it is exactly as fun as it sounds), was insufficiently clean. He attempted to demonstrate his displeasure by throwing the ~20 pound pipe at me. It passed close enough to my ear that I felt the breeze.

Thus ended my involvement in the informal labor market.

</comment><comment><USER11> My ancient experiences with the underclasses (summer jobs) and the first out of school job:

Flagman, turning a stop/yield sign around to let traffic through a construction area. Boring as hell.

Graduated to: laborer, basically using a giant heavy metal rod to tamp down earth around power poles we'd just dug a hole for and inserted. Even with gloves, turned my hands to mush.

Graduated to: instrument man, because I was doing math in university, started doing surveying for previously mentioned power poles (and eventually metal towers).

Graduated to: surveyor for the construction of a large container pier. Job involved sitting in a rowboat, and dropping a chain into the water, and measuring the depth, telling people "more fill here," and repeat. The real perk here was that sitting in a rowboat all day gave me an awesome tan.

Graduated to: a graduate in CS. Went to work for a small (tiny) oceanographic firm as sysadmin/developer/data entry/anything that was required. They put what was at time a state of the art Unix system on my desk (Motorola 68020 processor, with I think 2 mb of RAM) and it was my baby.

That job, the first full time one, actually paid less than the previous summer job.

</comment><comment><USER12> My first job was picking rocks out of the wheat field when I was 11 on our wheat farm. At 12, I was pretty much doing all the work for the dryland part of the farm. But being the family farm, that didn't directly pay.

After senior year of high school I worked on a wheat farm owned by a friend of my Dad and was paid $1.25/hr.

Lots of long days, hours wise. Carried that into computer profession.

However, at the end of the summer, farming was done. In this business, it is never done and there is no natural downtime.

</comment><comment><USER13> 1974: I was 12 rising 13 and my dad was fired (later it turned out that his boss was embezzling and was worried that dad would find out.)

My sister got a Saturday job in a corner store, and I got a paper round. 6 days a week, 05:15 start, 120 papers delivered before 07:00. I don't remember the pay, but it provided pocket money as my parents struggled to start their own business.

I learned a lot from watching them deal with cash-flow, customers, orders, invoices, manufacturing, deliveries, and having no money to spend.

</comment><comment><USER14> I had two:

I helped my mom load and unload furniture. She owned an antiques, used furniture and collectibles shop, and I would go to garage sales and flea markets on the weekend with her to help with the big stuff.

Consequently, I had the opportunity to buy a lot of old computer junk for cheap at said garage sales and flea markets. I bought and rebuilt Commodore 64, Apple IIe, TI 99/4a, etc. machines for resale at $40-$100 (depending on disk drives, printer, etc.). One time I found an Apple Lisa, with original receipts and in perfectly working order for about 25 bucks. I was stunned that the 10MB hard disk had cost something like $5495, and the 5MB one $3495. The Lisa itself was, I think, $9995.

</comment><comment><USER15> Picking dandelions, $0.01 for each stem, $0.02 if it included the root.

I was 4 at the time.

</comment><comment><USER16> I noticed that there was a nice discount for large bundles of pencils, so I bought one and then went door to door selling them. Not sure how old I was, but this was during elementary school. I think one pencil cost 2 cents, and I would sell them for 16 cents. Then a friend came along, and I hired him to join me for 8 cents a pencil. My father was later telling me I shouldn't have paid him so much, so I got discouraged and didn't continue the "business".

</comment><comment><USER17> Imagine Caddyshack minus all of the hilarity and sex, just the dragging golf clubs around for rich people part.

Pay always depended on how well the golfer did (better score, better tip) but it was normally around $25 for about 4 hours of work. I did that for a couple of years starting around 14.

It was a good job for developing a solid work ethic and realizing that computers were worth pursuing.

</comment><comment><USER18> 14, at The Fish Cove, a tiny fried fish joint. Summer, 6 deep fryers and no AC. And I had to "clean the trap" of the drain, which had rotten fish guts in it. On the ride home, dad made me sit in the back seat. The smell didn't wash off for 2 days.

Every job since has been better than the last, starting from that low point. Taught me the value of a dollar, though.

</comment><comment><USER19> Officially, my uncle's tobacco farm when I was 13. I was the stick shaker and I suckered and picked a bit too on my days off. Made a few grand that summer, which bought me my first guitar :)

Unofficially, before that a couple friends and I used to steal CDs and tapes from Zellers back before they had security sensors and resold them to kids in the neighbourhood at a discount. I made a couple hundred bucks that way when I was 11/12. Thankfully, I always felt bad for doing stuff like that and changed crowds when I came back from tobacco.

In high school, I figured out how to make web pages and did a few for friends' parents at about $1,000/pop, which kept me from having to work at McDonald's, or the farm. That turned into a default career move when I moved out and out of province at 18...

</comment><comment><USER20> Washing dishes at a steakhouse/buffet family trough at 16. Got in a knife fight one time with a mentally challenged but belligerent coworker. Avoid these places, but if you can't, avoid the bread pudding & ranch dressing. You really don't wanna know.

</comment><comment><USER21> 19, wrote some Javascript for a travel search engine, $1000/mo (I grew up in India - there were no summer jobs worth doing because you can't compete with the cheap labour in India).

</comment><comment><USER22> 15, doing web designing/prototyping to a local software company. Got paid something like 10€/hour even I didn't care about the money that much. I was just happy to work with web and being treated as equal member of a dev team. Learned quite a lot about web dev and business back then and I think it shaped me a lot.

Sometimes wonder that if you should try some "real" job, like basic customer service or physical labor.

</comment><comment><USER23> Bagger at Albertsons ("courtesy clerk") at $5.15/hr, during high school. I've never had so much financial freedom in my life.

<comment><USER24> Bagger at Safeway ("courtesy clerk") at $3.26 an hour, during high school. Management considered this above-average pay, since it was above minumum wage (which was $3.25/hr).

</comment></comment><comment><USER25> I'm not sure if this would qualify as my first job, but here I go: I used to run errands for my cousin at his car shop when I was 10-11 years old. I did a bit of everything: cleaning, moving/relocating car parts, and even painting at times. I used to get a tad more than $1 dollar a day, sometimes even less.

My first (second?) "real" job, however, was vastly more suitable for what would later become my passion in life: non-linear editor (yes, that was the official title). I was 18 when I landed the position. I was basically editing the news for a local TV channel in Dominican Republic. I was using a digital, Leitch editing panel attached to a PC running Windows NT. The paid was roughly $100 dollars a month. I've never wanted to work in anything that does not involve a computer ever since.

</comment><comment><USER26> 16, doing Telephone surveys. Lasted for 2.5 years through high-school. Minimum wage, but I was pretty good so I could get the volume bonuses a lot of time. Hated the work. _Loved_ the schedule.

</comment><comment><USER27> 18, selling knives for CUTCO, commission only. And I freakin loved it.

</comment><comment><USER28> Scraping and painting a greenhouse at a farm for $3.50 an hour when I was 16. It was actually a great job, except when we were painting the inside. Once my back was hurting from painting some trim and I stood up too quickly and put by head right through one of the panes of glass. Fortunately not even a scratch, but it scared the heck out of me.

That was my first "real" job if you don't include all the standard stuff like paper routes, shoveling driveways and mowing lawns.

</comment><comment><USER29> My first job was basically a part time developer for one of my school open source project - Archon. It was like half a year ago. And, my second job now is really amazing.

</comment><comment><USER30> My first job was at a national lab when I was 17. I was paid to write FORTRAN code to help with data mining. Not the best use of FORTRAN, let me tell you.

</comment><comment><USER31> During my high school years I delivered dry cleaning in my neighborhood in upper Manhattan. Great exercise. :)

I learned a few things about business, also learned how to use a steam presser for assorted fabrics. (Watch out for silk!)

Tried to learn some Chinese from the owner, but I failed big time. :(

I got to listen to assorted Chinese music when pressing clothes or working the counter. It was interesting, but it never really grew on me as something pleasurable.

</comment><comment><USER32> Guide (they called us 'explainers') at the Exploratorium, a science museum in San Francisco. I was paid minimum wage - then about $5.50 an hour, I think.

<comment><USER33> 16-ish... Meat man.

</comment></comment><comment><USER34> A summer job as code janitor at FORTH, Inc., age 16, $5/hour (80s dollars). While this was after Chuck Moore had left, it was still kind of educational.

</comment><comment><USER35> My real first paid job with contract and stuff was as a cashier for a grocery chain. That was in 1995 (I was 17) and I financed with this job my first trip to an island in Northern Germany. Then my first real independent thing with license and stuff was selling soft drinks at the Berlin Love Parade in 1996. I made on this one day four times what I got for working as a teller. That was convincing enough...

</comment><comment><USER36> this is fun ! let me think

I had a job as a cleaner at a shopping centre which i did at night times, i had a friend who was doing that full time and he asked me if i wanted to help, pay was good cause i was 13 so any money was good :P I first used those scissor sweeps, then i did some of the mopping then finally i got to use the buffing machine.

Then i worked in dominos pizza. I was making pizza's and chopping and boxing them, never did counters for some reason.

Then i worked at a call center as one of those annoying people that call you in the middle of the day to sell you phone plans and phone deals. Wasnt to bad a pay. This was during uni summer holidays between 1st year uni and 2nd year uni.

Finally between 2nd and 3rd year of uni i got a job as a developer coding perl cgi's. I was coding online shopping carts and delivering dynamic content for this small shutters company ....

Once i graduated then it was real world work ... consulting firms, systems engineering, realtime stuff, architect etc etc, been like that for the past 6 years and now hoping to graduate from this 9-5 cycle to the one finally owning the company :)

</comment><comment><USER37> 13; personal tutor for another student at $20/hour.

</comment><comment><USER38> Cleaning horse stables. Must have been about 10. Not sure what I was paid, probably a few bucks an hour. Worst part was in the winter when you had to carry a screwdriver to break the ice off the water bucket.

The radio in one barn was going all the time on the top 40 station. There are still songs that bring back the smell of horse manure and sawdust whenever I hear them.

</comment><comment><USER39> 18, bussing at Thai restaraunt. $2 something and tips. Learned then that tips _made up_ part of the minimum wage.

</comment><comment><USER40> Am I the only one who started with a realish job?

Other than a 1-time thing here and there, probably less than 10 times in my life, my first job is right now. I'm coding for a small Rails company in Seattle for a realish salary (bad for coding, great for being 16). We do some consulting work and some of our own products.

</comment><comment><USER41> Helped write mapping software for the US Army Corps of Engineers. Yeah, I guess I've never had a real job.

</comment><comment><USER42> delivering papers, $0.04 a paper, up at 5am 6 days a week.

<comment><USER42> someone gave me a sympathy vote! I just realized it wasn't quit this bad - <USER2> was more on Saturdays ( $0.06 a paper! )

</comment></comment><comment><USER43> Data entry. Ten hour shifts. At night.

</comment><comment><USER44> I grew up on a farm to a lot chores that I were things that other would consider jobs.

But I would consider hard wood flooring my first job. Hard as f--- work, and the employer I worked for was known for being one of the hardest working men in his profession around, him being my dad.

</comment><comment><USER45> 15, working at Burger King. I remember getting my first web development job a few months later that paid less than my job at BK.

No, my initials had nothing to do with my choice to work there...they were the only ones who would hire a 15 year old.

<comment><USER46> My first real job was a BK too :) 16 years old, and I think I made 5.25/hr

</comment></comment><comment><USER47> 17, I worked for a local family owned ice cream shop of course! $6.75/hr.

<comment><USER48> 16 and I worked for at an ice cream shop too! Corporate chain type though. $5.25/hr (1998 dollars).

edit: birthday paradox in action?

</comment></comment><comment><USER49> My first job was a CVS cashier, for about two or three weeks, before being offered a sales job at CompUSA.

It bothers me that I made more at 17/18 then any year since (I'm currently 22). I miss commission sales.

</comment><comment><USER50> newspaper route at age 10.

</comment><comment><USER51> I think I was about 8 years old when I started cleaning pet's cages and fish tanks in the family pet store. I think I made about 2 guilders an hour (which will be about $0.80 I guess).

</comment><comment><USER52> I was a sophomore in college. I took a job at a small web development company writing PHP. I made minimum wage, about $7.25 at the time.

Not the greatest story to tell, but those roots got me where I am today.

:)

</comment><comment><USER53> In my senior year in high school I earned $20 an evening twice a week helping someone I met in a COBOL course write DEC BASIC programs to compute ACRS depreciation schedules.

</comment><comment><USER54> Unpaid intern at NASA's Goddard Space Flight Center and at the same time worked Drive-Thru at a McDonald's (High School)

Application Developer at Cingular Wireless (College)

</comment><comment><USER55> Cashier at ShopKo when I was 16 - pay was a little over minimum wage. First interesting job was teaching horseback riding at a youth camp for $8-9/hr.

</comment><comment><USER56> Cook at Hardee's - it wasn't that bad, lots of free food. Definitely didn't do anything to contribute to my current career (Sr. Developer).

</comment><comment><USER57> I kind of feel ashamed of it, but my very first job was a game tester for online flash games, made $8/hr back around 1998.

</comment><comment><USER8> 14\. Construction. $15-$20/hr. Planning, wiring, roofing were pretty fun. Digging foundation trenches in clay was not.

</comment><comment><USER58> 13 in 1994, packing up groceries at the local supermarket. Tips only, made about $2/hour (yea, it was a bad deal)

</comment><comment><USER59> Around 9 years old, I was weighing people for money (~5 cents converted to USD in that time) on local markets.

</comment><comment><USER60> 17, Digitizing printed circuit board designs. It was basically tracing with a computerized drafting table.

</comment><comment><USER61> High school (16 or so): McDonalds College (18-20 or so): summer internships at Johnson and Johnson

</comment><comment><USER62> 16, Dominos pizza, taking orders and making them at $4.75 per hour.

Quit that job to become an asp developer :(

</comment><comment><USER63> 16, autocad drafting and tech guy for a small surveying company in town. $8/hr

</comment><comment><USER64> Paperboy.

</comment><comment><USER65> My first real job was as a telemarketer/telephone salesman at age 16.

</comment><comment><USER66> A summertime gig doing FoxPro database programming for $17.50/hour.

</comment><comment><USER67> 14\. Farmers market... about $50/week. 3am on a Saturday is early.

</comment><comment><USER68> Foot Locker, age 16 ... the striped nylon shirt was itchy ...

</comment><comment><USER69> 15 y.o., life guard at a pool. Minimum wage @ $5.00/hr. Ouch!

</comment><comment><USER70> 16, SAT instructor at Kaplan. I hated my life that summer.

</comment><comment><USER71> 16, martial arts instructor.

</comment><comment><USER72> Lifeguard, 16

</comment><comment><USER73> First "job"? Hmm, probably one of those phone book delivery schemes at the age of 13 in rural Virginia. Paid $7/hr, all said. I split the take with a few car-owning friends and paid them less of the commission than I got ($5/hr, maybe?)

First business venture was selling polished salt crystals (that I'd found at the beaches of Dubrovnik pre-war, say 1990) to the parents of my classmates at a craft fair. I was 8 or so, and used an overhead projector covered with hole- punched mylar to illuminate them. Made a few Austrian Schilling that way.

First Real Job was at 17 as a programmer/security analyst for a sleazy pay- per-click search engine in Thousand Oaks, CA. I got a $70k/yr salary and stock options, which I was slightly amused with at the time (having prefigured the dot-com phenomenon for a crash) and parlayed my low-paying position into a neat title.

Of course, this did nothing to stop me from squandering the majority of my 20s on sex, drugs and very loud music.

</comment><comment><USER74> I sold my website, which I created for fun, to a company in 1998 and continued to work for them, that was the first time earned a paycheck and I was still in college. Never in my wildest dreams did I think what I made would make money with it. It wasn't a lot but it covered my expenses for most of my college (it was in India).</comment>


Today we're opening up Foursquare Ads to all small businesses around the world. - <AUTHOR> http://blog.foursquare.com/2013/10/14/big-news-today-were-opening-up-foursquare-ads-to-all-small-businesses-around-the-world/

<comment><USER2> Is there anyone who can share the results of the advertising using Foursquare?</comment>


BBC Micro:bit computer now available to all for £13 - <AUTHOR> http://www.engadget.com/2016/05/31/bbc-microbit-preorders/ <comment><USER2> So it has leds.

Is this enough to get kids interested in computers and programming? I have the feeling that they would need something where the distance between what they can do as users and as developers is much smaller. Otherwise they still may not see it as "the same thing". The iPad will still be an opaque thing they use to consume content.

I'm coming from growing up in the 80s with a ZX Spectrum. The distance between users and developers was so much smaller - you turned on the Spectrum and landed on a BASIC interpreter. A device that "has leds" and you need to program using some IDE _outside_ of the device fails to convey the idea that "using" and "programming" are not separate things, but different points of a continuous spectrum (pun not intended).

I'm all for demystifying programming and computers for kids. There's this false belief that kids nowadays are "so good with tech" because they're 4 and they an use an iPad, but makes kids no better at tech than using a remote control makes them good at cinematography.

Maybe what we need is more like the Spectrum Next? [http://www.specnext.com](http://www.specnext.com)

EDIT: This may be closer to what I have in mind: [http://uk.kano.me/products/kano-kit](http://uk.kano.me/products/kano-kit)

<comment><USER3> > _fails to convey the idea that "using" and "programming" are not separate > things_

Bravo. It just makes no sense: in 1980 you could have a tiny device you could program on that device itself. In 2016, you have to use a PC with an IDE, without which it is just a brick. Where is the progress?

An interactive programming language _on_ that phone or tablet is better.

On the other hand, this separation between using and programming is good for teaching embedded development; but the focus of that should be the surrounding tinkering: we program the device, and it fits into some context where it does something on its own as part of something else. The program isn't the whole project, and the device isn't the whole system.

It doesn't have to be either/or; an embedded device can be interactively programmable somehow.

As far as hooking up to a PC goes, there should be a dumb serial interface, which is just a way to have a better keyboard and bigger screen: but all the interaction going on within the device rather than "build image, upload, flash, reboot".

</comment></comment><comment><USER4> _" While the BBC micro:bit has Bluetooth Low Energy (BLE) hardware it only has 16k of RAM. The BLE stack alone takes up 12k RAM which means there's not enough room to (currently) run MicroPython.

Future versions of the device may come with 32k RAM which would be sufficient. However, until such time it's highly unlikely MicroPython will support BLE."_ [1]

That's a shame. I mean, I know it can be accessed by programming the hardware directly, but for most of the kids receiving these that puts BLE out of reach, when remote sensor, remote control & mesh network type capabilities would have opened up another whole class of projects that these could have been used for.

Would another 16K of memory really have pushed the price out of range, or was this more a question of the hardware design being finalised before the software stack?

[1] [http://microbit- micropython.readthedocs.io/en/latest/ble.htm...](http://microbit- micropython.readthedocs.io/en/latest/ble.html)

<comment><USER5> respectfully, that's missing the point.

The beauty of the BBC Micro is the stark hardware specification -- the limits _are_ the point. That scarcity leads to different usage, different behavior, different learning patterns.

If one wants to go poking around with modern languages, multi-tier applications, color-coding IDEs, etc. there is no shortage of modern computers available.

But instead, if one wishes to learn the fundamentals of computing, and the joys of working around the limits to extract the most performance possible, I would argue the BBC Micro is a superior choice to modern systems inherently due to the low spec.

It was a mere 40 years ago that 16kbyte of RAM was a luxury item.

IIRC, Wozniak wrote Applesoft Basic interpreter in 2k for the Apple ][ ROMs. He lost the source, re-wrote it, and saved a few bytes.

Learning assembly was a necessity for the purpose of speed and efficiency (which are often inseparable). Understanding what's happening at a low level -- all the way down to the metal -- is key. Single thread. No real OS. Flat memory model, all addressable (anyone remember the fun of self-rewriting code? or direct-memory mapped graphics or I/O ?)

I've rambled enough. Hopefully I've made a point.

<comment><USER4> > respectfully, that's missing the point.

On the contrary, it seems you have missed my point, or at least, nothing that follows that statement directly contradicts it.

Speaking of which, you state that the BBC micro:bit (the BBC Micro was a very different computer) is good for education, which I would certainly hope, since that's what it was designed for. However suggesting that teaching assembly language to 11 year olds is a good way to encourage them to explore and engage with the platform _is_ missing the point (of the micro:bit).

<comment><USER6> High Level language statements can be easily translated to ARM assembly language([http://www.toves.org/books/arm/](http://www.toves.org/books/arm/)), easier than x86 in my opinion. 11/12 year olds should have no problem understanding it, after they've played around with the provided options for programming the micro bit. ([https://www.microbit.co.uk/create- code](https://www.microbit.co.uk/create-code))

</comment></comment></comment></comment><comment><USER7> Nice comparison with Raspberry Pi 3 here:

[http://www.trustedreviews.com/opinions/raspberry-pi-2-vs- bbc...](http://www.trustedreviews.com/opinions/raspberry-pi-2-vs-bbc-micro- bit)

Their conclusion:

> As you can see, there really is no comparison between these two devices. If > the Raspberry Pi 3 is a 'my first proper computer,' then the BBC Micro Bit > teaches the raw building blocks of coding at the heart of it. It's even more > fundamental.

> The Raspberry Pi 3 is a much more advanced and practically useful device, > but if you or your kid is starting at the very beginning of your programming > journey, the BBC Micro Bit looks hard to beat.

</comment><comment><USER8> Now that the Raspberry Pi 3 has built-in Bluetooth the micro:bit is a really nice compliment to it for projects that want to use the LED matrix display, remote sensors, or the provided accelerometer/compass.

We definitely see the two platforms working hand in hand nicely for some interesting projects!

We're one of the launch re-sellers who are offering pre-order with shipping in late June: [https://shop.pimoroni.com/products/microbit](https://shop.pimoroni.com/products/microbit)

</comment><comment><USER9> Fair number of commenters here justifiably laments over Micro:bit not resembling a "real" computers despite matching and exceeding specs of ZX- Spectum and other late 70s - early 80s microcomputers. Fair enough, good point.

But consider this: we have quite a lot of those "not quite computers" a.k.a. microcontrollers around us nowadays - there is one in a washing machine, _several_ in a car, complete with a network to talk to each other [1], etc... Many are to be found in quite unexpected places: inside an SD card [2], in every PC keyboard, in a bluetooth headset, inside your phone's touchscreen controller [3], or same phone's wifi/bluetooth chip, etc..

Would it maybe be a good thing to expose kids (and adults alike) to a general idea of having deeply embedded turing-complete devices, together with giving some hands-on experience with them?

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

[2] [http://www.bunniestudios.com/blog/?p=3554](http://www.bunniestudios.com/blog/?p=3554)

[3] [http://www.atmel.com/products/touchsolutions/touchscreens/](http://www.atmel.com/products/touchsolutions/touchscreens/)

</comment><comment><USER10> This is staggeringly good news. My partner and I were bemoaning just a couple of months ago that kids weren't being taught enough coding in schools. We have a 15 year old family member coming to spend two weeks work experience at my software company next month and he has never written a single line of code. Given how in to computers this kid is, I feel somebody somewhere has let him down.

In the face of this problem the BBC and a bunch of commercial partners have effectively donated one million BBC micro:bits to every year 7 student in England and Wales. This means that there are now one million kids in the UK aged 11+ who at the very least understand that programming is a thing and with any luck have experimented with it.

My kid is only two but regardless I'm going to buy one of these now they're commercially available and see if I can get him to engage with it and me as we program it to do various things.

Again, this is a huge step forward for teaching kids to code...great news :) I'd love to hear if any other countries have launched similar strategies to get their children to understand programming.

</comment><comment><USER11> Not a bad price compared to other nRF51 boards, but I wish they'd included a coin cell holder.

Btw the best way to program these (if you want to do it the 'real' way) is using Yotta.

[http://yottadocs.mbed.com/tutorial/tutorial.html](http://yottadocs.mbed.com/tutorial/tutorial.html)

You can get started really quickly:

1\. Install yotta

2\. Start->Run Yotta

3\. mkdir mything

4\. cd mything

5\. yt init

6\. Paste some code in source/main.cpp

7\. yt target bbc-microbit-gcc

8\. yt install ble

9\. yt build

Then find a file called mything-combined.hex in the build directory and copy it to the mBed USB drive.

It's all very command-line based and Yotta is Python/CMake-based which is quite slow and very IDE-unfriendly. But it does work well.

<comment><USER12> I disagree. Getting started really really quickly would be

      1. sudo apt-get install gcc-arm-none-eabi
      2. make

Instead, we have this extreme tool-bloat where a tiny tiny executable is produced using python, python-setup, cmake, libffi, libssl, clang, pip and finally yotta in addition to GCC and binutils (which is really all you should need).

Can someone please explain to me this new trend of in-house tools and tool- bloat?

<comment><USER11> Ok now how do you change targets to a different board (e.g. nRF51-DK), and have the LEDs and USB serial still work with no changes?

How do you install the BLE dependencies?

How do you use apt-get on Windows?

I agree it could be easier and also agree that Python and CMake are the wrong tools for the job, but frankly apt and make would be worse.

At least they seem to have designed the module description system fairly nicely so it could potentially be rewritten with a better architecture in future.

<comment><USER12> What you mention is a board/library issue not a tool issue. But looking at how the AVR community has solved this, it is certainty solvable at "apt-get level".

Also, apt-get works just fine on Windows 10 nowadays :)

edit: For the record, there is nothing wrong with a new tool system. But adding layers of layers of complexity and dependencies to something simple just because you couldn't care to learn to do things the standard way only creates problems for you and your users.

</comment></comment></comment></comment><comment><USER13> I've recently become a fan of the Adafruit Circuit Playground ([https://www.adafruit.com/product/3000](https://www.adafruit.com/product/3000)) they are about the same cost, have more LED and inputs (temp, sound tilt, touch) No bluetooth, but uses USB. Has a connection for a lipo battery connection. I think when the :bit was planned it would have been cool, but with the other stuff around for close to that price I think it's a miss.

</comment><comment><USER14> BBC's announcement: [http://www.bbc.com/news/technology-36416862](http://www.bbc.com/news/technology-36416862)

</comment><comment><USER15> Its worth looking at the website [https://www.microbit.co.uk/create- code](https://www.microbit.co.uk/create-code) to see how it can be coded. You can choose Python and JavaScript, looks like when you download it downloads a binary which you run.

This is very different to what we're used to. For tiny programs it is great, anything non-trivial might be difficult to debug.

</comment><comment><USER16> Espruino works nicely on these as micro python can't do Bluetooth on it.

<comment><USER4> I'm not familiar with Espruino (love the form-factor of the pico though!), but this page [1] only mentions BLE in the context of programming the device. Are you sure it has a driver / library to support the micro:bit BLE?

[1] [http://www.espruino.com/MicroBit](http://www.espruino.com/MicroBit)

<comment><USER16> Yes you can but it's early days so I'm sure there's more that needs work - [http://www.espruino.com/Reference#NRF](http://www.espruino.com/Reference#NRF)

Someone had to ask [further]([http://forum.espruino.com/conversations/284474/#comment12898...](http://forum.espruino.com/conversations/284474/#comment12898517))

</comment></comment></comment><comment><USER17> Is there any normal way to code for those or are they bound to those microsoft editors like presented on their website? Maybe even arduino compatible?

I would hate to spend money and yet another windows exclusive gadget.

<comment><USER18> They're not microsoft editors, they're web editors. But you can also use micropython, try [https://github.com/ntoll/mu](https://github.com/ntoll/mu)

Gives you a REPL, but you lose Bluetooth

</comment></comment><comment><USER19> Available for £13 when you order 90. So you pay more than £1000!

<comment><USER8> Available for £13 when you order 1! [https://shop.pimoroni.com/products/microbit](https://shop.pimoroni.com/products/microbit)

<comment><USER20> Full vendor list:

Preordering has started.

'For delivery in July'

CPC Farnell for bulk (school etc.) orders: [http://cpc.farnell.com/bbc- microbit](http://cpc.farnell.com/bbc-microbit)

Other stockists:

Kitronik: [https://kitronik.co.uk/microbitpreorder](https://kitronik.co.uk/microbitpreorder)

Pimoroni: [https://shop.pimoroni.com/products/microbit](https://shop.pimoroni.com/products/microbit)

The Pi Hut: [https://thepihut.com/collections/microbit](https://thepihut.com/collections/microbit)

Technology Will Save Us: [https://www.techwillsaveus.com/shop/microbit/](https://www.techwillsaveus.com/shop/microbit/)

Sciencescope: [https://sciencescope.uk/product/bbc- microbit](https://sciencescope.uk/product/bbc-microbit)

</comment></comment></comment><comment><USER21> They're currently available on eBay for ridiculous prices.</comment>


World War II Weapon: Monopoly With Real Money - <AUTHOR> http://blogs.wsj.com/informedreader/2007/11/19/wwii-pows-perk-monopoly-with-real-money/

<comment><USER2> Maps of safe houses? That sounds incredibly irresponsible, fine way to get operatives killed.</comment>


Ask HN: Machine Learning overview for non-engineers - <AUTHOR> My boss is impressed with a small project for document classification that we have done as a side-project and want to have an idea of what kind of things can be done using machine learning and how this can be applied to the business.<p>Which references can I pass to him to explain what can be done using ML algorithms? I prefer short documents, I think he will not read an entire book about the subject. <comment><USER2> Putting on my @patio11 disguise: maybe you should write up a paragraph or two about the major 'flavors' of machine learning (classifier, regression, nearest-neighbor, NLP, etc) and an example of how they could be used in a business context. e.g. classifier for detecting spam, regression model to predict when customer is going to churn, nearest-neighbor for making a list of similar products in a catalogue.

Throw it up on Github pages, slap an email form on that and get a mailing list going. Seems genuinely useful and might generate good leads for a consulting company or to sell ML training.

</comment><comment><USER3> Bearing in mind that the boss has access to expert colleagues whom can be asked for clarifications and explanations.

Option 1: The boss uses Google themselves, thereby allowing them to find resources at an appropriate technical level and then move along the gradient of technical detail as their knowledge deepens.

Option 2: _" Alice in Wonderland"...because it's the best book on anything for the layman._ Alan J. Perlis, Epigram 48 [http://www.cs.yale.edu/homes/perlis- alan/quotes.html](http://www.cs.yale.edu/homes/perlis-alan/quotes.html)

Option 3: Arbitrary poor substitute for options 1 and 2.

<comment><USER4> Ah but we must not forget the Tao Book 7 [http://www.mit.edu/~xela/tao.html](http://www.mit.edu/~xela/tao.html)

"You can demonstrate a program for a corporate executive, but you can't make him computer literate."</comment></comment>


Is 'open' killing Android? - <AUTHOR> http://www.bbc.co.uk/news/uk-13284156

<comment><USER2> No. They actually hit on the real problem halfway down: The official Android Market sucks! Finding new, good stuff is almost impossible. New, yes. Good, yes. New and good? No.

Google thought that letting sales/downloads/popularity was enough to drive the market, but it's not. That's why 'marketing' exists in the first place.</comment>


The brutal world of sheep fighting - <AUTHOR> https://www.theguardian.com/news/2018/feb/16/algeria-sheep-fighting-illegal-sport-angry-young-men <comment><USER2> Great writing, with a punchy closing statement:

"He takes pleasure now from the caged birds he collects. He loves their song. They sing and are trapped, just like him."

<comment><USER3> I was struck by how well done this piece was - astonishing.

The question I'm left with is: what can be done? How do you pull out of a tail spin?

<comment><USER4> Center the controls then apply rudder opposite to the direction of spin.

</comment></comment></comment><comment><USER5> As another oddity in ultra macho cultures, not to be content with dog fighting and cockfighting, in Afghanistan there is the occasional quail fight. People keep quail as pets, though it's not as common as having cats or rabbits.

<comment><USER4> I was curious so did a little Google sleuthing. The first thing I learned is that ram fighting is, historically, hardly unique to North Africa. That said, the second thing I learned is that ram fighting has a very long tradition in Algeria and Tunisia, perhaps pre-dating the adoption of Islam.

I realize the article isn't _really_ about ram fighting, but this aspect of Algerian culture was new to me.

</comment></comment><comment><USER6> Incredible writing; I was expecting a little more about sheep fighting itself, but still, a fantastic piece.</comment>


Homomorphic Encryption Breakthrough - <AUTHOR> http://www.schneier.com/blog/archives/2009/07/homomorphic_enc.html <comment><USER2> The idea of homomorphic encryption has really caught my attention - I am trying to work on distributed computing with privacy sensitive biometric data.

I hadn't appreciated before that Gentry's work was both general (any computation can be performed as a boolean circuit of addition and multiplication) but also impractical : a trillion fold increase is computational burden for an encrypted web search? That is going to kill the advantages of distributed computation.

Schneier also opened my eyes to fact that previous existing encryption schemes are homomorphic under certain operations, such as RSA under multiplication.

I wonder if there would be any gain to distributing parts of a computation and then reassembling it rather than having a fully remote computation done under homomorphic, but very costly, encryption. Of course the gains of parallel computation would have to more than offset the costs of distribution, but that is always the case for parallel applications.

</comment><comment><USER3> While this particular algorithm is impractical, its discovery will lead to refinement, additional research, etc. We are much closer to a practical algorithm now.</comment>


Stranger than fiction: John McAfee's self-imposed exile - <AUTHOR> https://decrypt.co/8257/stranger-fiction-john-mcafee-exile <comment><USER2> A Johnny Mac attack! We will miss him when he is gone.</comment>


NASA's longshot bet on a revolutionary rocket may be about to pay off - <AUTHOR> https://arstechnica.com/science/2017/02/nasas-longshot-bet-on-a-revolutionary-rocket-may-be-about-to-pay-off <comment><AUTHOR> One thing I don't quite get is their claim that the rocket would need "just some solar panels" instead of a fuel tank when in the paragraph before that they talk about exhausting argon-based plasma.

If there is a propellant, you'd need to store that somewhere first, right? Does each particle of the propellant exit the rocket with much higher energy? Or can Argon be stored in a much denser form than other fuels?

<comment><USER2> Specific impulse or Isp is what you want. And yes, ion thrust takes a lot less propellant. [https://en.wikipedia.org/wiki/Ion_thruster](https://en.wikipedia.org/wiki/Ion_thruster)

However, this is not really 'new' tech. [https://en.wikipedia.org/wiki/Deep_Space_1](https://en.wikipedia.org/wiki/Deep_Space_1) used an early version in 1998.

<comment><USER3> > However, this is not really 'new' tech. > [https://en.wikipedia.org/wiki/Deep_Space_1](https://en.wikipedia.org/wiki/Deep_Space_1) > used an early version in 1998.

As discussed in the article, this is a very different kind of ion thruster. That category is quite large. In particular, I believe essentially all ion thrusters flown have been _electrostatic_ ion thrusters, including both Deep Space 1 and the Hall thrusters discussed in the article.

[https://en.wikipedia.org/wiki/Ion_thruster#Electrostatic_ion...](https://en.wikipedia.org/wiki/Ion_thruster#Electrostatic_ion_thrusters)

In contrast, the VASIMR engine discussed in the article is an electromagnetic ion thruster

[https://en.wikipedia.org/wiki/Ion_thruster#Electromagnetic_t...](https://en.wikipedia.org/wiki/Ion_thruster#Electromagnetic_thrusters)

(Apologies if you didn't intend to suggest the tech isn't that new, and just meant that the low-propellant-usage part isn't that new.)

<comment><USER2> They all need a propellant and power feed. But, you can use those same feeds for an array of multiple engines. Thus, 'scaling up' has a wide range of options and trade-offs. Vasimr let's you scale power output a lot from the same engine, but so would an array of smaller engines.

With that in mind the specific techniques are important, but the gaps are often overstated.

</comment></comment></comment></comment><comment><USER4> "Such an engine design offers a couple of key benefits over most existing propulsion technology. Perhaps most notably, unlike chemical rockets, Vasimr operates on electricity. As it flies through space, therefore, it does not need massive fuel tanks or a huge reservoir of liquid hydrogen and oxygen fuel. Instead, the rocket just needs some solar panels".

Sounds incredible. I wish him the best of luck.

<comment><USER5> Electric propulsion has existed and been flown for decades.

Many commercial satellites use it for station keeping.

[https://en.wikipedia.org/wiki/List_of_spacecraft_with_electr...](https://en.wikipedia.org/wiki/List_of_spacecraft_with_electric_propulsion)

<comment><USER6> The difference is this one can scale up the power/efficiency ratio on demand.

<comment><USER7> I guess you mean the power-to-thrust ratio, which indeed scales roughly with the specific impulse.

The thing is, pretty much every plasma propulsion device has the theoretical ability to throttle specific impulse. Gridded ion engines and Hall thrusters can for instance directly throttle specific impulse (Isp) by varying the discharge voltage. Other plasma thrusters can do this by other means like increasing RF heating, varying the magnetic field, etc.

Unfortunately, in real life the actual usable range of Isp always ends up much narrower that initially predicted because of a variety of factors that are difficult to predict theoretically (erosion and ionization efficiency in particular).

AFAIK, due to the shear size and complexity of Vasimr, its thrust has never been directly measured and we know very little about its actual performance. I would therefore wait a little and discard sensationalist articles until real, extensive testing has taken place.

</comment></comment></comment></comment><comment><USER8> How are those superconducting magnets cooled?

<comment><USER9> In space, probably by shade.

<comment><USER10> Isn't it extremely hard to dump waste heat in a vacuum?

<comment><USER11> I don't know how hard it is, but the ISS uses big radiators to dump excess heat into space.

> The Station's outstretched radiators are made of honeycomb aluminum panels. > There are 14 panels, each measuring 6 by 10 feet (1.8 by 3 meters), for a > total of 1680 square feet (156 square meters) of ammonia-tubing-filled heat > exchange area.

More info at [https://science.nasa.gov/science-news/science-at- nasa/2001/a...](https://science.nasa.gov/science-news/science-at- nasa/2001/ast21mar_1)

</comment></comment></comment></comment><comment><USER12> FTA: _" And at a time when the national discourse assails the value of Spanish-speaking immigrants..."_

What a load. Aside from the repellent need by the author to inject politics into a science story, it's flat-out _wrong_ : the rancor isn't over people who (like Chang-Díaz) pursue _legal_ citizenship or _legal_ residency, nor is it over people who speak a particular language simply on the basis of that language.

<comment><USER13> With respect, I disagree. Derogatory terms like "anchor babies" describe people who are, after all, US citizens of immigrant descent. Similarly, the rancor directed at the judge in the Trump university case had nothing to do with legal citizenship and everything to do with Hispanic ancestry. And obviously refugees are legal immigrants granted that status by the US State Department. But this doesn't prevent them from being the subjects of a great deal of both fear and fury.

These controversies, taken individually, could be viewed as legitimate questions about the ethical grounds for birthright citizenship, or the appropriate scope for recusal, or the balance between mercy and safety. But in aggregate it's clear they aren't any of those things. They're expressions of a xenophobic insistence that immigrants, particularly non-white immigrants, are "the other". That they are cheaters, that they can't be trusted, that they are /dangerous/. That's xenophobia and racism, and it has nothing to do with the rule of law.

<comment><USER12> There may be some xenophobia and racism there, but I think there's also a substantive amount of anger among a sizeable amount of the populace due to how the rule of law is selectively applied, and how open-borders advocates intentionally blur the lines between lawful immigrants and individuals who illegally enter a sovereign nation.

Case in point: in the last couple of months, how much have we heard the "we are a nation of immigrants" line, especially during a border security debate...as if just about everyone, including the passengers of the _Mayflower_ , skirted customs?

The racists and xenophobes likely don't want immigrants, but I think the vast majority of Americans are happy to welcome folks from other countries who have demonstrated respect for our laws by entering the country legally. Hell, if you've spoken to naturalized citizens, they're often the most patriotic, pro- American people you'll encounter!

And many of _those_ Americans, who have spent time, money and energy to become citizens, are strongly against the lackadaisical border enforcement that has led to the current mess.

<comment><USER13> I appreciate that you acknowledge that racism and xenophobia taint the arguments you're making, even if you yourself are not racist or xenophobic. It's hard to stand up for a view when it is held by people who are widely reviled, and I suspect that courage is something our country needs more of.

However, I think the examples I provided compellingly demonstrate that issues of legality do not sit at the core of the anti-immigration sentiment in the US. In particular, an overwhelming concern for the sanctity of law would likely not motivate one to demand that a sitting judge recuse themselves because of their ancestry. Nor can it have motivated anti-refugee sentiment.

More broadly, the argument about rule of law does not have good explanatory power for the actions and statements of those who make it. It does not explain opposition to open borders, or to more expansive visa programs, which of course could both be made law with comparative ease. And it seems obvious to me that anti-immigrant militias like the Minutemen represent the height of contempt for the rule of law, but somehow find a warm reception among those who advance the very argument that you do.

Does this mean that nobody legitimately cares about the legality of immigrants? Of course not. It is possible that a broad coalition of people simply happen to agree on this wide range of narrow topics that have nothing whatsoever to do with race or ancestry. But Occam's razor suggests that the simpler argument is the better one: that duplicity and political convenience are at play.

Specifically, I suspect that the broader anti-immigrant movement in the US believes it has a winner of an argument in this one despite its lack of policy prescriptions. As a result this argument-- the one you make-- often gets advanced as a fig leaf for those "other" viewpoints. Which leaves you in the awkward position of carrying water for some truly despicable people, whatever your own views are.

<comment><USER12> I can't speak for Trump's attack on the judiciary. He's barking up the wrong tree there, and did little to help his case. It will likely be left for SCOTUS to decide, as should be the case; judges shouldn't be cowed by politicians to change their rulings.

We do disagree about the point about the sanctity of law. IMO selective enforcement (engagement/detainment directives for the Border Patrol) and the implicit support of "sanctuary cities" seem to encourage the violation of immigration law. I think it is specifically the former that gave rise to groups like the Minutemen.

As for carrying water for despicable people...well, so be it. I happen to think that, as with any group, most are reasonable folks of decent character but often overshadowed by the extremists and attention-seekers in their midst -- an argument, I'm happy to point out, also made in the defense of foreign individuals who come to this country under less-than-legal circumstances.

<comment><USER13> Just to be clear: selective enforcement _is_ the law of the land. Has been since before IIRIRA passed-- and enforcement was looser, not tighter, before then. So when you say you respect the law, that's the law and I'd expect you to either respect it or say plainly that you don't and why.

Regarding the Minutemen-- a gentle reminder that regardless of whether a person is illegally in this country or not it is a felony to "point your gun right dead at them, right between the eyes", as Chris Davis publicly advocated for during the Minutemen's heyday. And of course, there's Shawna Forde, the leader of Minutemen American Defense. She's an individual so law-abiding that she has her own entry on murderpedia. And the cofounder of the original Minuteman project was later charged with three counts of child molestation including his own daughter, and is currently serving a nearly 20 year sentence resulting from those charges. Then there's the allegations of influence peddling and fraud that have embroiled the organization in litigation against another founder, Jim Gilchrist... and the fact that Simcox cofounded another related Minuteman project with Jason Ready, a known member of the American Nazi party who received a BCD from the Marines, was believed by the FBI to have been involved in the execution of at least two suspected illegal immigrants, and finally wrapped things up with a 4-on-1 murder-suicide a few years ago. Seriously law abiding folks, there-- and just as another reminder _that 's the leadership_. That's who these supposedly lawful folks decided to follow. Those are the people whose acts you compare the civil infractions of illegal immigrants to.

You know what? I'll take the illegal immigrants, thanks.</comment></comment></comment></comment></comment></comment>


Using GPS navigation turns off brain's spatial navigation regions - <AUTHOR> https://www.scientificamerican.com/article/the-brain-takes-a-guided-tour-of-london/ <comment><USER2> Rewriting an article title like this breaks the HN guidelines.

The guidelines do ask you to change a title if it's misleading or linkbait, but you shouldn't do that to cherry-pick a detail that you consider important or catchy. On HN, submitters don't have any special ownership over the submission and don't get to frame it for everybody else. If you want to say what you think is important about an article, please do so by posting a comment in the thread. Then your view is on a level playing field with everyone else's.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)</comment>