1. 1

    Bitcoin has undergone enormous changes in the last sixty days or so. The world started buying lots more, so the exchange rate went up. As a direct consequence, fees were more expensive when considered as the fiat equivalent. As an indirect consequence, there were more transactions competing for space in blocks, so the native (satoshis/byte) fees went up. Headlines talked about just how poorly suited bitcoin was for its original mission and likely how overvalued it might be if it’s so expensive to execute transactions.

    But in a stunning turnaround, lots of effort has moved into segwit and LN in the last couple weeks. Fees now are lower than ever.

    1. 7

      At that time, when you turned on your computer, you immediately had programming language available. Even in 90’s, there was QBasic installed on almost all PCs. Interpreter and editor in one, so it was very easy to enter the world of programming. Kids could learn it themselves with cheap books and magazines with lot of BASIC program listings. And I think the most important thing - kids were curious about computers. I can see that today, the role of BASIC is taken by Minecraft. I wouldn’t underestimate it as a trigger for a new generation of engineers and developers. Add more physics and more logic into it and it will be excellent playground like BASIC was in 80s.

      1. 5

        Now we have the raspberry pi, arduino, python, scratch and so many other ways kids can get started.

        1. 10

          Right, but at the beginning you have to spend a lot of time more to show kid how to setup everything properly. I admire that it itself is fun, but in 80’s you just turned computer on with one switch and environment was literally READY :)

          1. 7

            I think the problem is that back then there was much less competition for kids attention. The biggest draw was TV. TV – that played certain shows on a particular schedule, with lots of re-runs. If there was nothing on, but you had a computer nearby, you could escape and unleash your creativity there.

            Today – there’s perpetual phones/tablets/computers and mega-society level connectivity. There’s no time during which they can’t find out what their friends are up to.

            Even for me – to immerse myself in a computer, exploring programming – it’s harder to do than it was ten years ago.

            1. 5

              I admire that it itself is fun, but in 80’s you just turned computer on with one switch and environment was literally READY :)

              We must be using some fairly narrow definition of “the ‘80s”, because this is a seriously rose-tinted description of learning to program at the time. By the late 80’s, with the rise of the Mac and Windows, the only way to learn to program involved buying a commercial compiler.

              I had to beg for a copy of “Just Enough Pascal” in 1988, which came with a floppy containing a copy of Think’s Lightspeed Pascal compiler, and retailed for the equivalent of $155.

              Kids these days have it comparatively easy – all the tools are free.

              1. 1

                Windows still shipped with QBasic well into the 90s, and Macs shipped with HyperCard. It wasn’t quite one-click hacking, but it was still far more accessible than today.

              2. 4

                Just open the web-tools in your browser, you’ll have an already configured javascript development environment.

                I entirely agree with you on

                And I think the most important thing - kids were curious about computers.

                You don’t need to understand how a computer program is made to use it anymore; which is not necessary something bad.

                1. 4

                  That’s still not the same. kred is saying it was first thing you see with you immediately able to use it. It was also a simple language designed to be easy to learn. Whereas, you have to go out of your way to get to JS development environment on top of learning complex language and concepts. More complexity. More friction. Less uptake.

                  The other issue that’s not addressed enough in these write-ups is that modern platforms have tons of games that treat people as consumers with psychological techniques to keep them addicted. They also build boxes around their mind where they can feel like they’re creating stuff without learning much in useful, reusable skill versus prior generation’s toys. Kids can get the consumer and creator high without doing real creation. So, now they have to ignore that to do the high-friction stuff above to get to the basics of creating that existed for old generation. Most won’t want to do it because it’s not as fun as their apps and games.

                  1. 1

                    There is no shortage of programmers now. We are not facing any issues with not enough kids learning programming.

                    1. 2

                      I didnt say there was a shortage of programmers. I said most kids were learning computers in a way that trained them to be consumers vs creators. You’d have to compare what people do in consumer platforms versus things like Scratch to get an idea of what we’re missing out on.

              3. 4

                All of those require a lot more setup than older machines where you flipped a switch and got dropped into a dev environment.

                The Arduino is useless if you don’t have a project, a computer already configured for development, and electronics breadboarding to talk to it. The Raspberry pi is a weird little circuit board that, until you dismantle your existing computer and hook everything up, can’t do anything–and when you do get it hooked up, you’re greeted with Linux. Python is large and hard to put images to on the screen or make noises with in a few lines of code.

                Scratch is maybe the closest, but it still has the “what programmers doing education think is simple” problem instead of the “simple tools for programming in a barebones environment that learners can manage”.

                The field of programming education is broken in this way. It’s a systemic worldview problem.

                1. 1

                  Those aren’t even close in terms of ease of use.

                  My elementary school circa 1988 had a lab full of these Apple IIe systems, and my recollection (I was about 6 years old at the time, so I may be misremembering) is that by default they booted into a BASIC REPL.

                  Raspberry Pis and Arduinos are fun, but they’re a lot more complex and difficult to work with.

                2. 3

                  I don’t think kids are less curious today, but it’s important to notice that back then, making a really polished program that felt professional only needed a small amount of comparatively simple work - things like prompting for all your inputs explicitly rather than hard-coding them, and making sure your colored backgrounds were redrawn properly after editing.

                  To make a polished GUI app today is prohibitive in terms of time expenditure and diversity of knowledge needed. The web is a little better, but not by much. So beginners are often left with a feeling that their work is inadequate and not worth sharing. The ones who decide to be okay with that and talk about what they’ve done anyway show remarkable courage - and they’re pretty rare.

                  Also, of course, back then there was no choice of which of the many available on-ramps to start with. You learned the language that came with your computer, and if you got good enough maybe you learned assembly or asked your parents to save up and buy you a compiler. Today, as you say, things like Minecraft are among the options. As common starting points I’d also like to mention Node and PHP, both ecosystems which owe a lot of their popularity to their efforts to reduce the breadth of knowledge needed to build end-to-end systems.

                  But in addition to being good starting points, those ecosystems have something else in common - there are lots of people who viscerally hate them and aren’t shy about saying so. A child just starting out is going to be highly intimidated by that, and feel that they have no way to navigate whether the technical considerations the adults are yelling about are really that important or not. In a past life, I taught middle-school, and it gave me an opportunity to watch young people being pushed away by cultural factors despite their determination to learn. It was really disheartening.

                  Navigating the complicated choices of where to start learning is really challenging, no matter what age you are. But for children, it’s often impossible, or too frightening to try.

                  I agree with what I took to be your main point, that if those of us who learned young care about helping the next generation to follow in our footsteps, we should meet them where they are and make sure to build playgrounds that they can enjoy with or without a technical understanding. But my real prediction is that the cultural factors are going to continue to be a blocker, and programming is unlikely to again be a thing that children have widespread mastery of in the way that it was in the 80s. It’s really very saddening.

                1. 1

                  They should put this in a cheap laptop - a 15’’ one, not those silly netbooks.

                  1. 5

                    Snapdragon SoC laptops are supposed to arrive 18Q1. I suspect that they will be followed by other ARM based SoCs soon after.

                  1. 2

                    Wow. Just imagine a city filled with cameras equipped with realtime (or even ~10s per image) masked object detection. With today’s technology you could easily ask the city’s cameras, “So, what happened today?” Each location is probably normally filled with the same ten or twenty objects doing the same ten things.

                    What a beautiful, terrible world.

                    1. 1

                      I remember watching this video around the time when it was released. With the recent explosion in commercial interest in RISC-V it seems like J-Core is getting left behind.

                      I look forward to seeing J-Core SoCs and boards. I expect that unlike J-Core, many RISC-V cores will be packed with proprietary extensions and private toolchains.

                      1. 3

                        What if it were phased in? Like writing OS behavior to mask-interrupts-and-poll with the existing design, and new chips could be designed to capitalize on the fact that no one uses the interrupts?

                        I ask because it seems like a cardinal sin for hardware to make backwards-incompatible changes.

                        1. 5

                          Working on bugs for raiblocks, a cryptocoin I’ve recently heard about. It’s got a small dev team (it was just solo until ~1-2 months ago) so my contributions feel like they’re really valuable.

                          1. 2

                            Cool post, thanks for sharing.

                            Worth noting that HN has an API

                            1. 7

                              Mitigations on the way from Chrome and Firefox.

                              1. 1

                                Does anyone know: how can I see whether the version I have has these mitigation(s)? These announcements aren’t explicit about the version numbers that introduce the change.

                                Seems odd that project zero disclosed this six months ago and so many seem caught off guard. Was the problem only disclosed to CPU vendors and not to OS, compiler, browser vendors? And yet many of the mitigations are only now going into compilers+browsers?

                                1. 2

                                  The Firefox post has an update at the bottom listing the versions now. If you’re on the regular stable release they’re in 57.0.4, which was released on January 4.

                              1. 5

                                iPhone 6S and subsequent discovery that the performance restored to its full potential after a battery replacement.

                                I was pretty skeptical until I read this bit. At least this feature is bound to the battery performance/age instead of device age as a proxy for battery life.

                                These batteries are notoriously difficult to replace, though, right? How much would it cost to use a repair service to replace the battery on an iphone 6/6S?

                                1. 5

                                  I just had my iPhone 6 battery replaced at a Genius Bar. It cost $80 and took 2 prime-time hours.

                                  1. 4

                                    2 hours to replace a battery. A few years ago on any android device this would have taken about 5 minutes and cost $20.

                                    1. 3

                                      It doesn’t actually take that long. I got my battery replaced at a non-Apple shop and it was 5-10 minutes.

                                      1. 2

                                        And your phone has the extra overhead of clips, switches, and whatever other components are necessary to make it easy to disassemble. You may prefer that overhead and that’s fine, but I think it’s fairly obvious that Apple doesn’t, which is fine too.

                                        1. 1

                                          5110 etc. replaceable battery as the whole back cover.

                                      2. 1

                                        These batteries are notoriously difficult to replace, though, right? How much would it cost to use a repair service to replace the battery on an iphone 6/6S?

                                        Batteries on iPhones aren’t that bad to replace - you remove the screen, disconnect the battery (and unglue it) and then put the new one in. The problem is IIRC, third-party batteries might not be working with the sensors, so you’ll still have the throttling.

                                        1. 1

                                          Is it possible to find genuine Apple battery without risking of buying clones that lack proper control electronics? I think they’re distributed weirdly to authorized companies so it’s not easy to find genuine batteries.

                                      1. 2

                                        Google pushes the envelope with compilation and linker features on their browser. I’d wonder whether this is a bug or a feature. Was LTO or ThinLTO enabled for the build? That alone could be responsible for a large portion of the time.

                                        Also any significant compilation work should consider the I/O to the files as a potential bottleneck. Was the filesystem cache cold or hot? Was ccache enabled?

                                        Compiling the entire Linux kernel for ARM though

                                        Notably this is a project which is entirely C + assembly and no C++.

                                        Michael Zolotukhin gave a presentation called “LLVM Compile-Time: Challenges. Improvements. Outlook. “ at the 2017 US LLVM Developers’ Meeting. Much of this talk is regarding performance over commits but IIRC there was a decomposition of a single compile and where the time is spent. I recall the C++ frontend being a significant contributor to compile time.

                                          1. 3

                                            IIRC codeship doesn’t store the build configuration in the repo, it stores the build config in your project on their site. It was kinda nice that I didn’t have to push commits to iterate over the various quirks in the build environment.

                                            I’m pretty sure codeship is not only free for open source projects but even a limited number of private ones too?

                                            1. 1

                                              Thanks for mentioning Codeship!

                                              It seems that in their Basic version they don’t require any configuration file. You configure your commands via web UI. Not sure about private ones yet, as their pricing page doesn’t mention anything about it.

                                              1. 2

                                                Yes, and they allow you to use ssh to debug failures or investigate/prototype.

                                                I’m almost certain that I have used them in the past with a private bitbucket repo.

                                                1. 3

                                                  I see one problem with Codeship for starters, though. They don’t allow you to add a project without connecting your SCM first, which means granting a lot of permissions to codeship, i.e. seemingly more than truly necessary.


                                                  GitHub

                                                  Personal user data:

                                                  • Email addresses (read-only)

                                                  Repositories: Public and private

                                                  • Code
                                                  • Issues
                                                  • Pull requests
                                                  • Wikis
                                                  • Settings
                                                  • Webhooks and services
                                                  • Deploy keys
                                                  • Collaboration invites

                                                  BitBucket

                                                  • Read and modify your account information
                                                  • Read and modify your repositories’ issues
                                                  • Access your repositories’ build pipelines and configure their variables
                                                  • Read and modify your team’s project settings, and read and transfer repositories within your team’s projects
                                                  • Read and modify your repositories and their pull requests
                                                  • Administer your repositories
                                                  • Delete your repositories
                                                  • Read and modify your snippets
                                                  • Read and modify your team membership information
                                                  • Read and modify your repositories’ webhooks
                                                  • Read and modify your repositories’ wikis

                                                  GitLab

                                                  • Access the authenticated user’s API:
                                                    Full access to GitLab as the user, including read/write on all their groups and projects

                                                  Second problem is similar to what was I had with old drone.io: old preinstalled packages. I’m mostly referring to very old GCC 4.8 here.

                                                  And I’m still not even sure that building C/C++ projects is actually really supported here, as it’s not mentioned explicitly anywhere.

                                                  1. 1

                                                    Great points, I used it for Python w/o any native/extension code. It was fine for that but might not be suited for C/C++.

                                            1. 6

                                              “People keep telling me it’s not a ponzi scheme and I guess they are right but I don’t like it so now I need a new name.”

                                              People keep talking about this stuff as diff things to fit diff narratives. It’s the new $! No wait, it’s actually digital gold…

                                              This happens because many disparate communities fall underneath the “Bitcoin supporter” umbrella. Some of them are far too optimistic for realistic applications of Bitcoin.

                                              Bitcoin’s market cap just passed Visa’s.

                                              Yeah, I wonder if that really makes sense. I think Bitcoin is fantastic but is it really worth more than Visa?

                                              1. 5

                                                No, it makes no sense. Visa is a currency processor, bitcoin is a currency. Comparing them is as stupid as comparing the market cap of Coinbase and the US dollar.

                                                1. 0

                                                  It’s not entirely without merit. Bitcoin is not a currency, it’s a protocol for mediating transactions. Visa also provides a protocol for mediating transactions. Visa can mediate more transactions (many many more!) than Bitcoin.

                                                  Bitcoin rewards your participation in the network by logging transactions in your favor, and this provides its functions as a “currency”, but that’s more about book-keeping than anything else. It essentially turns CPU time into a tradeable good.

                                                  //As an aside, I feel like there should be a blockchain implementation that, instead of rewarding you with “coins”, simply rewards you with room to store data in the blockchain. Trickier to do (you have to limit the creation of IDs), but frankly, I think it’s more valuable.

                                                  1. 4

                                                    It is totally and completely without merit to compare the market cap of Visa and bitcoin. You can only disagree if you have no idea what market cap is or means.

                                                    1. 2

                                                      //As an aside, I feel like there should be a blockchain implementation that, instead of rewarding you with “coins”, simply rewards you with room to store data in the blockchain.

                                                      I believe Storj wanted to implement this.

                                                      1. 2

                                                        filecoin

                                                        1. 1

                                                          Thanks, that was it.

                                                          On the face of it, it makes sense. I’m providing utility - networked disk space - so I should be rewarded for it.

                                                          The problem is that plenty of people have a) huge hard drives, and b) fast internet, and they’re already providing decentralized storage (bittorrent) for nothing more than some vague altruistic sense that being reciprocal is a good idea. Trying to monetize that doesn’t seem like a great business plan.

                                                1. 8

                                                  The BBS that I built for it was not open source, but did interact with much of the website components with telnet, SSH, and Javascript/WebSockets interfaces. (source)

                                                  Quite a few people asked me how the whole system worked, and since I am not currently planning on releasing the source code (as it was largely a creative effort) (blog post)

                                                  1. 1

                                                    (as it was largely a creative effort)

                                                    i know this is heresy to some of you, but if jcs is still attached to this code, maybe some copyleft license would be appropriate for it?

                                                    1. 2

                                                      Or maybe we could just collectively pay for it?

                                                  1. 15

                                                    borrowed Apple’s C++ compiler backend

                                                    I don’t think it’s fair to refer to LLVM that way. Certainly, Apple has taken a large role in shepherding llvm, clang and the rest of the items in llvm-project. Sure, Apple hired Lattner from University of Illinois and llvm really blossomed around then. But llvm started out independent from Apple and IMO remains so.

                                                    They built a convenient package ecosystem, allowing the out-of-the-box capabilities of Rust to grow while the core language and standard library remained small.

                                                    IMO this is the sleeper hit for Rust. I suppose Swift and Go also have analogous features? But being able to satisfy the no-GC requirements (or preferences) of C/C++ developers along with simplified build/dependency resolution is really awesome.

                                                    1. 3

                                                      I suppose Swift and Go also have analogous features?

                                                      In some senses, there’s CocoaPods for Swift, but I’m not sure how first-class it is. It does have a lot of packages though!

                                                      Go is a bit different here, but if the dep project works out, will have a similar model. My understanding is that it’s looking good.

                                                      1. 3

                                                        dep is just the “blessed” tool for locking dependency versions — raw go get is convenient enough on its own, and many similar tools have existed before.

                                                        CocoaPods is kinda old. The new cool Swift tool is Carthage, which is registry-less like the Go ecosystem.

                                                        1. 3

                                                          There’s also Swift Package Manager, which seems awfully official, bundled with the compiler at all, but not widely used?

                                                    1. 4

                                                      I’m thinking of getting an ARM laptop

                                                      The ARM laptop landscape is likely about to shift significantly in the next 6-12 months.

                                                      https://www.theverge.com/2017/5/31/15711334/microsoft-windows-10-arm-qualcomm-pcs-asus-hp-lenovo

                                                      With the snapdragon plus Win 10 as a platform, it will IMO normalize the technology so that the solutions for “ARM laptop” will be much less unique. Although I suppose that depends on whether it’s successful enough to deliver a second generation. If so, I predict Qualcomm won’t be the only vendor. Then again, if these laptops have locked bootloaders it won’t help your ultimate goal of linux or BSD on ARM. I hope it’s not the case.

                                                      1. 1

                                                        Wow. The Snapdragon 835 seems like the desktop match to Qualcomm’s new server chips. Higher clock frequency, 4k display support, and dual channel LPDDR4x RAM. With 8gb LPDDR4x modules, that implies these laptops could have at least 16gb RAM.

                                                        Definitely worth waiting to see how this plays out.

                                                      1. 3

                                                        Gee, maybe I’m too cynical but it’s hard not to see these as just P&D. What distinct value/utility does this token provide?

                                                        1. 2

                                                          The main reason for altcoins is “maybe I’ll get rich for free too if I start my own magical internet money!” ICOs just brought the process to perfection.

                                                          Though in this case, it does have a lot of “let’s see how this goes”, and he did start by giving almost all of them away.

                                                          1. 3

                                                            The main reason for altcoins is “maybe I’ll get rich for free too if I start my own magical internet money!” ICOs just brought the process to perfection.

                                                            I don’t have anything against altcoins, several of them do offer a real distinct advantage not present in other coins (litecoin, ethereum, monero, peercoin, namecoin, primecoin, etc)

                                                            Indeed, the complexity of forking the bitcoin repo and building and making a small patch was enough to filter out a lot of folks. Tokens are AFAIK remarkably simple to create.

                                                            Though in this case, it does have a lot of “let’s see how this goes”, and he did start by giving almost all of them away.

                                                            That seems to be the cleverest bit of all. Create value from nothing with the appearance of altruism. But it’s really just “expensive” marketing. “Only” keeping 2% of the coins that took remarkably little effort to create. Dump on an exchange 72 hours after airdrop. Lather, rinse, repeat.

                                                          1. 1

                                                            It would be interesting to learn whether the struts application was intended to have access to this scope of information in the leak, or if it was only a vector into which other layers of security were circumvented.

                                                          1. 1

                                                            Some of the details I’m looking for seem to be in the manpage. It would be great if this article or the README.md contained a “Why sandboxfs?” section that clearly indicated what use cases are better suited by sandboxfs than more traditional solutions (chroot, filesystem namespaces, bind mount, seccomp, etc).

                                                            It sounds like it could be appealing but I’d like to understand more. I’m also especially curious about the cost: a FUSE mount sounds like it would be slow.

                                                            You can view a rendered version of this manual page using the following command after cloning the tree

                                                            Would that github had a ?roff renderer. I know we hate to repeat ourselves but an excerpt or two copied from the manpage would be really convenient.