46 ms·
Tessel: The end of web development as we know it
- websitescenes 13y agoArduino for web developers!? I'm sold. I have been working with other boards and dreaming of something like this and here it is! Thanks
- reustle 13y agoTessel has been on a pretty strong marketing push ever since the Espruino funding page went up.
- buro9 13y agoIt's worth giving Espruino their credit: http://www.espruino.com/ http://www.espruino.com/ The campaign was massively successful and a lot of devs I know are excited by it and have ordered 1 or 2 to play with. We've even ordered a couple for the office just for our devs to play with when they need distraction from their work.
- reustle 13y agoI'm actually more excited about the espruino. I ordered one early on as well :)
- yogo 13y agoI fail to see the connection between the end of web development and using javascript to write code for hardware (something that has been done a long time ago).
- TheZenPsycho 13y agoIt's a marketing slogan. Marketing slogans don't have to make sense, they just need to bait your clicks cough I mean get your attention.
- dman 13y agoFool me once ...
- zdw 13y agoI think the gist of their provocative title is that "the end" used to be a screen. With their product, the "the end" is now hardware/devices/etc.
- easytiger 13y agoI know it most likely was accompanied by a talk but it is an abysmal slideshow as well. Too much hype creates in people suspicion.
- adpreese 13y agoEvery time I see a thing about the internet of things, I get a little excited, but then they don't really show exciting examples of what you should do with it. Outside of Lockitron and Nest, I am unimpressed with what's come out so far. But it's tough. The field seems so expansive that most people get overwhelmed with possibilities, but few bare any fruit. For my part, I've only had one decent idea in the space. I'd love to see a robot that cooks food for me while I'm commuting home. Possibly like a Zojirushi rice cooker that I can program to make stuff at a certain time, but with more flexibility and a web API.
- woah 13y agoMechanical engineering is really hard. Getting injection molds made is really expensive. 3d printed stuff is janky (right now).
- adpreese 13y agoSure, but that's hardly the only problem. The simple fact is most people don't have systems in their home that they want/need to interface with through an app or something. Here's a close to comprehensive list of the electronic things in my home: Several computers, Microwave, George Foreman Grill, Rice Cooker, Fridge, Thermostat, Toothbrush, Lights, Dish washer, Washer/Dryer Mechanical engineering doesn't seem to be blocking point for any of those except maybe the washer/dryer and food related stuff. I could definitely see the opportunity to have a device that could portion out N grams of rice per person and then have it ready to eat when I get home, but for the rest, I don't see it as the stumbling block.
- woah 13y agoMachine vision is also a problem. One of the biggest I think. You could have a tiny tractor that grows you delicious veggies, but machine vision can't deal with plants.
- jes5199 13y agoYeah, but if we had that we wouldn't be talking about "internet of things" we would be talking about "actual AI everywhere" which a whole next level of difficulty up.
- cbhl 13y agoFor the longest time I was wondering how they were fitting node.js in 32 MB RAM when V8 uses something like 256 MB of RAM. I'd never have expected cross-compiling to Lua bytecode.
- plorkyeran 13y agoWhy compile JS to Lua bytecode rather than just using Lua directly? Lua is very similar to JS, except without a lot of JS's warts.
- cpdean 13y agoI know right? I wish there was a recording of the talk-- the slides are glossing over something that was probably either in the QA or explained during.
- deleted 13y ago[deleted]
- nrubin 13y agoI think the appeal is that web developers won't need to learn another language in order to do embedded development. That's another barrier to entry to embedded development lowered.
- benologist 13y agoI'm not sure that's accurate ... web developers went out of their way to make CSS and JavaScript not be written in CSS and JavaScript.
- bigiain 13y agoFrom where I sit - it seems a lot of the UI for "internet of things" hardware is going to be your phone, so your end user facing code is likely to be html5/javascript web apps served from the webserver on the embedded hardware. There's tehn a lot of good reasons to run javascript code on the device as well. (Which isn't the approach we're taking, we've got html5/js for the UI and Python running most of the code on our hardware (for details and shameless self promotion, see http://dev.moorescloud.com/ http://dev.moorescloud.com/ ).
- pjmlp 13y agoI rather have a native application using TCP/IP to talk to the device.
- JungleGymSam 13y agoWhere is the video version of this presentation?
- BigChiefSmokem 13y agoIf hardware doesn't require a traditional web UI then why even use JavaScript? Did we all suddenly forget the history of why we even have to use JavaScript on the web. Here's a hint: the web browser. I don't use it cause I like it, I use it cause that's what we were forced to standardize on. There are much better languages and frameworks out there we can use for this.
- randomdata 13y agoFamiliarity. If you are someone who builds traditional web UIs, then Javascript is what you know best, and that is the market segment they are trying to attract what this product. If people truly want the better languages and frameworks that you mention, then the products that come out with those choices should win out in the marketplace eventually.
- zxcdw 13y agoExcept that no. Because of players within the market entrench themselves, like JavaScript for example has, there's practically no way for a change. The iterative change is constantly restricted by past decisions, abstractions and investments. It's very hard to come up with nothnig but "good enough, sort of" solutions in this kind of a model. I don't even know why I care. Psychology is a bitch, and I suffer. :(
- deleted 13y ago[deleted]
- dxhdr 13y agoThe question is, why are they trying to attract the segment of the market that builds traditional web UIs?
- randomdata 13y agoBecause they have identified a demand from people writing web UIs and wish to make money fulfilling that demand, I expect. There seems, from my anecdotal vantage point at least, to be a distinct trend of developers becoming more interested in hardware and it would appear that some of those developers would like to write software for that hardware using the tools they already know. Since the web has been the place where a significant portion of software has been written in the recent past, Javascript happens to be the tool that is familiar.
- poxrud 13y agoYou can run node on raspberrypi. I don't see how this is so much better.
- outside1234 13y agoits theoretically lower power consumption - that is a bit issue in embedded.
- diydsp 13y agoprobably faster bootup time and smaller too. also RPi has no analog inputs. the cortex M3 has decent analog in. I'm with the 1% of EEs who have no major issues with Tessel... except that I'll be facing 1000s of friends who want me to write device drivers for peripherals that aren't in the stock lineup. :)
- div 13y agoWell, you'll have a Tessel microcontroller with an array of pluggable sensors, each with their own little node module to drive them over http. Slides 45 to 51 illustrate the idea.
- auggierose 13y agoI can understand the motivation. But not sure if I want to be surrounded by hardware powered by software written by people who think that Javascript is actually a good programming language.
- striker44 13y agoand what is a 'good' programming language, sir.
- auggierose 13y agoHere are a few languages you could choose from (my favourite currently would be Scala): Scala (http://www.scala-lang.org/ http://www.scala-lang.org/) Clojure (http://clojure.org/ http://clojure.org/) Haskell (http://www.haskell.org/ http://www.haskell.org/) OCaml (http://caml.inria.fr/ http://caml.inria.fr/)
- bigiain 13y agoHave you tried to employ experienced developers to support a codebase in any of those languages? As much as I dislike it, sometimes PHP is "the right language".
- freyrs3 13y agoTypically if they are the type of programmer inclined to learn Clojure, Haskell, and/or Scala the experience part isn't a problem.
- shadowOfShadow 13y agoLook, we can bolt training wheels to embedded! This is all fun for sparking creativity, but it always seems like a massive diss to the EE's in the crowd when web devs run around fronting that they are going to disrupt the embedded world with their transpiled bloatware. EEs are so stupid and use such crap tools!!! Put some damn Bootstrap on that circuit-to-PCB layout tool. It's so not even flat OR responsive! How the fuck am I supposed to drag-n-drop my codez?!?!?! My favorite is when someone posts a vid of LED PWM or, worse, just basic blinking... You spent how much time and money on what? And you created the embedded version of the blink tag? Definitely a web developer. Tester board acquired. Let's go find some problems! Can't wait until craigslist is full of requests for bringing a dream device to fruition... It'll be an iPhone-killer that also sets the temperature of your house and blinks to let you know your dog bowl just tweeted you and donate a bitcoin to the NSA because you forgot to put the induction recharger next to the eFacuet controller this morning. Equity only. NDA required. One person converts an arduino or whatever to a red-inked start-up that gets taken out for $1B and it's on...
- deleted 13y ago[deleted]
- solnyshok 13y agowhere this bitterness comes from?
- bowyakka 13y agoI agree with you but I am thinking that your point on bolting training wheels might be more valid than sarcastic. See getting into full EE is a serious amount of work (I get it, whilst I work on ML stuffs I have spent time in the embedded space; and the web crowd could learn a lot from the embedded folks). I do however wonder how many people would be willing to undertake the effort if they had a toy to hook their interest at the start. Me, I will happily stay with my FPGA's and verilog, but then I grew up on computers that were meant to be messed with (e.g. the spectrum), in an era where my parents encouraged me to take apart, _understand_ and mend electronics. Today it feels like this is no longer the case and that bugs me. Maybe as a toy this fulfills that niche ?
- 13y ago
- noonespecial 13y agoLong ago embedded systems were a pain. You programmed eproms with ASM and UV lights were involved. Someday the computorium will be so strong, cheap, and ubiquitous that you can program it with whatever you want. This isn't that day. I applaud the spirit of what they've done, but that's a shrinkified version of a rack server, not a smartened version of a light-bulb. The Internet of things is more about swarms and emergent behaviors and less about turning everything into a tiny stand-alone version of our datacenter servers.
- ChikkaChiChi 13y agoConsider this more a web API to GPIO instead of just a web server and you can see the inherent value.
- noonespecial 13y agoI get it. And its a start. But its so huge and expensive its like considering the rest of the car an API to a tire. That's a crap-ton of computer and the sysadmin that goes with it to flip a switch. I don't have a beef with programming the 'net of things in java or lua or even pascal. What I'm saying is that that's way too much computing too far down the stack. The closer we get to the GPIO pin, the less computer, expense, and electrical requirements there should be. I'm just saying that the thing that should be hitched to the actual GPIO pin ought to look and function more like an RFID tag and less like a mini rack server.
- lifeisstillgood 13y agoI cannot agree (I mean I do from a pure techie point of view) but last week I got my hands in a Raspberry PI for the first time and knocked up a traffic light demo for a school in Python, with LEDs directly shoved into the ribbon cable. I have not been so child-like excited for years. by throwing a wasteful amount of computing power into just turning on a light, we put this in the reach of more and more people. we could have web servers in assembly language, and it would be more efficient use of computing resources - but that's not been the optimal way and it won't be here either
- adamb_ 13y agoAfter seeing HN posts such as "Why hardware development is hard: Verilog is weird"[1] I can see the value of trying to make hardware development more approachable and less niche... And JavaScript is anything but niche. [1] https://news.ycombinator.com/item?id=6347848 https://news.ycombinator.com/item?id=6347848
- boomlinde 13y agoTo be fair, this won't exactly ease hardware development in any sense that Verilog or VHDL do.
- JeanSebTr 13y agoLet them choose the wrong language for the task as long as the hardware is open. Is it open ? In fact, I think it's what the "internet of things" needs: many open & low cost hardware.
- nrubin 13y agoYep, https://github.com/technicalmachine/tessel-design-docs https://github.com/technicalmachine/tessel-design-docs
- goshx 13y agoKudos to these guys that are doing something different. I am sure a lot of web developers out there will be more than happy to try creating new things on a completely different field using their current skills. Seriously, thank you! It is so easy for the people here to criticize and make a lot of judgements over a few slides and their lack of knowledge of how things work in your product. Don't listen to their prejudgement, these people are obviously not your product's target.
- ChikkaChiChi 13y agoI'd say the title is a bit much, but otherwise I couldn't agree more. There seem to be a lot of close-minded commenters on HN on the weekends.
- ChikkaChiChi 13y agoTessel is another good idea that will help the DIY homebrewers to relate their existing skillsets into prototyping fresh ideas to a growing market segment. If you object to javascript being used, by all means go back to building your 555 timers by hand or feel free to construct a competing unit in whatever religion...I mean language...you feel is the one true answer.
- xerophtye 13y agoexactly! This is a good effort and if people have a problem with JS, why not make something like this in their language of choice? I mean i understand why people are hating on JS for this application, but I don't think "robust, mission critical systems" are the aim here. this is just for hobbyists and to let a larger number of people bring their ideas for life. Once you get those ideas out in the open, use some of u veterans could make it in a "proper" language. Currently people dont program embedded systems because the task seems daunting. This project is just an attempt to remove that initiating feel of hardware. Their motto is "Don't teach webdevs abt hardware, teach hardware about webdevs!" and it's a pretty nice way to bring a massive number of brain power to the domain of embedded systems that interact iwht the internet
- div 13y agoGreat slidedeck. Most of the comments here seem to be missing the point that step 1 of 'the plan' is to make hardware more accessible. With that background, complaining about javascript is a very "No wireless. Less space than a nomad. Lame." remark. I haven't dabbled with any microcontrollers before, but if I ever felt like it, Tessel would be on top of my list of things to try.
- flyinglizard 13y agoFor me, this has a pretty narrow appeal: 1. For most people, Arduino would be easier to use (being that many Arduino guys are non-programmers to begin with), with a great ecosystem and a variety of hardware. 2. On the other hand, no one would ever use this hardware for an actual product. Cost is too high, power consumption - I assume - is also up there. 3. As opposed to Arduino, this is not a "hard" real time system. It's severely limits the development of applications featuring, for example, motor control or orientation sensing (gyros/IMUs). And from what I'm seeing, even Arduino didn't make great strides in the commercial market; product development often requires very precise level control over your hardware as well as real development tools (namely a JTAG debugger). So we're left with an interesting experiment, the longevity of which mainly depends on the community acceptance. It basically targets web developers that want to turn LEDs on and off. This is as far away from the "internet of things" as one can imagine, unless these things are one-off hobby projects. Yes, embedded development sucks, and product development can be an exercise in futility and despair - but this is not the answer.
- Schwolop 13y agoI entirely agree. I'd much rather be tied into someone else's ecosystem with an electric imp or Xively, than have to work with hardware designed by people who think the software is the difficult bit.
- hershel 13y agoMbed which is similar to arduino but with a commercial friendly licensing, seems to have gotten some adoption as a professional tool.
- goshx 13y agoWatch their video here to understand the product a little better: http://www.dragoninnovation.com/projects/22-tessel http://www.dragoninnovation.com/projects/22-tessel
- frozenport 13y agoTool's aren't the problem, I think most system level developers in industry are busy doing 'real things' to solve 'real problems' to care much about bringing about the Web-of-Things. They would rather build a sate-light communication link then get paid 50% more to program a toaster. Arduinos are much easier to use then JS.
- thomasreggi 13y agoI hate the title of this slideshow. It should be "Opportunity for web developers to integrate hardware into their routine".
- digitalmaster 13y agoagreed.
- senthilnayagam 13y agoI can tolerate JS, but they should also offer a direct way to code and deploy in Lua as well
- theon144 13y agoI don't want to be a naysayer, but isn't this just another Internet Of Things board for the umpteenth time? I fail to see how it's anything new.
- hardwaresofton 13y agoNot that this thread needs any more opinions, but I think it'll work, because the market and the people who want to build stuff with it are there. No matter how flawed their concept might be, or how shitty JS is as an embedded language, people are out there that want to run with this idea. And when they run with it (one of Tessel's major goals seems to be getting their users to be able to get up and running fast, to boot) -- things will get made. When things get made, lives change, markets get shaken up, simple as that.
- neya 13y agoEveryone on this thread is so dismissive about the language that they forget to credit the accomplishments of these wonderful boards. See, Javascript maybe a 'bad' language according to many of you, but it has massive adoption unlike other languages. These board creators just want to ease the path for most web developers to become hardware developers. It not only opens up a whole new industry to work with, but also it creates a good 'filter' to filter out the bad ones. I will explain. The thing about hardware products is that most people dont care about internals. Most of them care about the experience. I am NOT an Apple fanboy, but in this occasion I would like to cite the iPhone's sales as a good example. If you suck at programming in Javascript, it will show up, especially in the Hardware world, easily, and you/your product will be rejected. Also, when you develop, say, a DSLR Quadcopter[1] with this board, people aren't going to ask you "What language is it running on?", "How slow is your language?". People are going to be asking about the footage you're going to film with it. Let's not dissolve ourselves into the hatred of a language. Instead, let's take the time to appreciate what these developers have achieved and what we can build out of these boards. Cheers. [1]A sample DSLR quadcopter for reference: http://farm7.staticflickr.com/6225/6868828438_e6d798c68d_b.jpg http://farm7.staticflickr.com/6225/6868828438_e6d798c68d_b.j...
- jeswin 13y agoDamn right. People arguing about programming languages are like people who focus more on cameras than on the art of taking good photographs. Those of us defending JS or PHP or VB (in discussions which aren't about programming languages) aren't suggesting we should take a point-and-shoot (or a leica) to an action game.
- cbsmith 13y ago> People arguing about programming languages are like people who focus more on cameras than on the art of taking good photographs. Hmm... just to play on that metaphor: there are certainly camera choices that can make the process of learning to take good photographs easier or harder. Isn't that a relevant point?
- 13y ago
- spullara 13y agoThis was done years ago and is running on 8B+ devices: http://www.oracle.com/technetwork/java/embedded/overview/getstarted/index.html http://www.oracle.com/technetwork/java/embedded/overview/get... Java is pretty simple. I think that someone that can program in Javascript can handle it.
- thenerdfiles 13y agoWhat is a Mind but a set of actively constructed fabric of neuro synaptic pathways unfolding a maximally-normalized unit-norm?
- deleted 13y ago[deleted]
- knappador 13y ago"You don't. You teach hardware about web developers." I mean I hate the limitations of C macros and the esolang that C++ can become, as well as facets of every language, but seriously, if language is a barrier then how did anyone learn javascript? It's been said that JS is one of the languages that people think they don't need to know in order to use. Every language is like this, honestly. You write hello world and abstract away from there. Look at it, clearly, without surrounding distractions: ---Nobody, I mean nobody, thinks they need to know JS before they start using it, and lo and behold everyone, and I mean everyone, can learn to use it--- What a phoking coincidence! To some degree isn't the community holding itself up by pretending JS is a security blanket instead of cough that thing that Node is written in that is apparently graduating to a real language? Is anyone going to get absolutely worse at JS when it becomes totally real? Now, when it comes to setting some pin to hi-state, it becomes very important to be able to execute some instruction to move some register value to some memory address. Do it once. Put it in a C function. Bind C function into Cython. Call Cython from Python. You never have to do engineer your code precisely once you've given the low-level part an API into a high-level language. Let me think about the barrier to entry into writing Cython. Serously, it takes 5 min. Reading the documentation on calling the function that does that thing you need to do takes 5 min. An understanding of the device and its limitations becomes very helpful when it's breaking. That's something I don't want to figure out from the Phonegap API. I want to reduce my problem to hello world in C, the world where nothing happens if I don't do it, the clear void from which a single expression can be tested without a complicated data-model below it. VM's don't tell you about real devices. I'm not asking anyone to get their RAM emulator out, but can we get over this BS about JS and web being something for everyone but all that code architecture stuff being only for people who double-majored EE and CS? Study a line of brainfuck. Read a minimal program written in LLVM IR. Write a program that outputs '1'. You're programming in that hard stuff. I assure you, you didn't just give away four years of your life and 50k in student loans. Meanwhile JS/HTML/CSS, while ubiquitous, suck pretty hard. JS is the least sucky. I hate HTML like I hate metastasizing pancreatic cancer. <hello><twice><everything/></hello></twice>. CSS, that language that accepts no math because expressions are hard and Photoshop is easy so only programmers end up using CSS and designers who would benefit from something easier can't be bothered to even learn that(!?!?!?!). I maintain an application framework that uses data-binding in a terse format, Cython for fast/low-level things, and Python for the development API. AMA. =D I do want to add on top of this criticism that I was impressed by the work and do applaud the pro-activeness going on. Openness and accessibility are very important. I just think it's very important to constantly, persistently, call "nonsense" at perceived barriers that prevent the community from bootstrapping itself in any way whatsoever. There is a way. It's okay to say JS and C++ are both crap. It's not personal. We can all learn tons of languages and have that one that we use to think in.
- callmevlad 13y agoAtwood's Law [1] seems to be holding up so far: "Any application that can be written in JavaScript, will eventually be written in JavaScript." [1] http://www.codinghorror.com/blog/2007/07/the-principle-of-least-power.html http://www.codinghorror.com/blog/2007/07/the-principle-of-le...
- ati 13y agoThere are three main problems in the "internet of things" field: 1. The lack of consumer grade sensors that can detect human presence and behavior patterns. 2. The lack of robust models and open source software describing patterns of human interaction with environment. 3. Insufficient and incomplete solution to power supply and interconnection problem. I see any advance in these fields an order of magnitude more important than any new board running [modern language interpreter].
- camus 13y agoPeople are not going to make hardware for hospital with that dont worry,it's like 3D printers,it is for hobbists / artists... I dont think the point is really the "internet of stuffs". Just to fool around or to do installations or prototypes. I dont like the NodeJS logo ripoff though.
- marcamillion 13y agoThis is awesome. I have always been interested in hardware programming, but always hated the languages I had to learn to do it properly (java, c++, c, assembly, etc.). Technology is reaching a place where I can eventually start doing embedded programming with Ruby. I can't wait for that to happen - I am sure it will. Makes me very excited for the next 10 years.
- easytiger 13y ago> I have always been interested in hardware programming Ok. > but always hated the languages I had to learn to do it properly (java, c++, c, assembly, etc.) Then you weren't interested in hardware programming; not one iota. You were interested in playing around in fashionable languages.
- TomAnthony 13y ago> Then you weren't interested in hardware programming; not one iota. That is a bit of a leap. I read what (s)he meant as more "interested in programming hardware" - as in controlling hardware and making it do things. That doesn't mean you need to be interested in the low-level hardware side of things to be interested in making the hardware do stuff.
- easytiger 13y agoFailing to learn what it takes to solve a problem you have is not a viable business case. One doesn't simply decide: "no this product i want to exist is impossible because I can't be bothered learning something new or because I have a non-technical and non-financial hipster-hued-bias against the existing commoditised technologies that lead me be able to solve the problem."
- marcamillion 13y agoI have no idea what you are talking about here. Who said anything about solving problems? Viable business cases?
- dlitz 13y agoEveryone is talking about the Internet of Things. I wonder when we're going to start talking about firewalls harm the Internet by breaking end-to-end connectivity.
- p1mrx 13y agoThe Texas Instruments CC3000 contains an embedded IPv4 stack, with no support for IPv6: http://www.ti.com/lit/ds/symlink/cc3000.pdf http://www.ti.com/lit/ds/symlink/cc3000.pdf If you're trying to build the Internet of Everything with 40 billion devices, you're using the wrong equipment.
- haberman 13y agoTo me the big story here is that Tessel apparently has a working JS->Lua-bytecode compiler. Lua has by far the smallest, most portable, easy-to-integrate runtime of any embeddable language I am aware of. JavaScript has good implementations (V8, etc) but they are orders of magnitude larger, more complex, and imposing if you're linking them into your binary. If this is truly a robust JS implementation, this means that there is now a tiny, easy-to-embed implementation of the programming language that powers the web. This could enable JavaScript to start making inroads in the "embedded language" space, and really become the language of both client and server. If it can compile to LuaJIT bytecode also, it could also possibly be competitive in speed with other JS implementations, though some of that would depend on how efficient the resulting bytecode can be. I think this would actually be a cool trend. Having a code-base that can run either in the browser or "natively" is a powerful approach. Though Lua is a cleaner language, JavaScript is a totally decent language if you use it right -- much better than a lot of people give it credit for. Hint: if you think JS sucks because of browser incompatibilities, what you really hate is bad implementations of the language, not the language itself. Of course another approach to achieve "one language" would be to have a Lua->JS compiler (or Lua->asm.js, or a Lua interpreter in asm.js). But Lua the language is a bit more of a moving target; to preserve cleanliness and orthogonality they sometimes break the language in non-backward-compatible ways.
- Derbasti 13y agoBut why not use Lua itself then? It is a very elegant, beautifully consistent language. In a way, it is JavaScript Done Right.
- haberman 13y agoI addressed this in my last paragraph. Lua is a nice language (and I use it myself) but it has downsides too. Noticeably it is a moving target that breaks backward compatibility. And I'm not sure what the state of the art is in terms of running Lua in the browser.
- justincormack 13y ago
- ricw 13y agoBeing in the hardware business myself, I can only laud their attempt of simplifying and easing access. However their approach only solves a basic problem that already has been solved for quite a while (access, look at the likes of arduino, contiki os, rasperrypi). The much much harder and real problem is developing a coherent system for 'everything'/'the internet of things'. and others, particularly contiki, are much more advanced when it comes to knowledge, development state and commercialisation. So in short: I want to see product before I am impressed. Other than that I see little novelty and a bad choice of programming language for embedded dev..
- hbbio 13y agoIs the js to lua(jit) compiler available? This would enable to write nginx/lua applications in javascript.
- kybernetyk 13y agoAnd there I was thinking someone finally had created webdev tooling that made webdev more bearable and more like other software engineering disciplines. Only to find out that it's about yet another hardware board with a bloated software layer so people don't have to deal with pointers. Meh. Sorry for being grumpy but I haven't had my morning coffee yet.
- thesz 13y agoThis thing will be non-optimal in terms of energy use. Apple allows for JS in iPhone because they need to have it anyway. Anyone else should do better. At least, no JIT.
- alexatkeplar 13y agoHaving written software for Arduino[1], I see this initiative succeeding for two main reasons: 1. JavaScript means developers don't have to understand manual memory management to program their hardware (and many developers simply _can't_ grok manual memory management these days) 2. node.js gives access to the npm package ecosystem - which opens up a huge potential "common lib" to hardware developers (potential because incompatibilities e.g. node.js network support vs luasocket will need to be handled) Hardware hackers are generally a very curious bunch - they're not afraid of learning a new language on the software side, so it's not really _JavaScript_ per se that is Tessel's advantage here. Straight to Lua could have been a second choice, but the package ecosystem in LuaRocks is hugely immature.[2] Because Lua execution in a LuaRocks-supporting environment is the exception, not the norm, most developers continue to manually bundle dependencies[3], which again doesn't encourage the package ecosystem to grow. [1] https://github.com/snowplow/snowplow-arduino-tracker https://github.com/snowplow/snowplow-arduino-tracker [2] http://luarocks.org/repositories/rocks/ http://luarocks.org/repositories/rocks/ [3] https://github.com/snowplow/snowplow-lua-tracker/tree/master/src/snowplow/lib https://github.com/snowplow/snowplow-lua-tracker/tree/master...
- otikik 13y agoPlain Lua FTW
- _pmf_ 13y agoThe tone of the presentation is like this: "Hurr durr, look at the dumb EEs, using bits. They probably even design and validate their stuff before implementing it, how retarded and un-agile!"
- stigi 13y agoOff Topic: What's that August device they keep mentioning? I'm having a hard time googling for it. Thanks! EDIT: Finally I google reverse image searched and found it's the August Smart Lock: http://www.august.com http://www.august.com Just adding a .com to the august would have done it as well ;)
- deleted 13y ago[deleted]
- MildlySerious 13y agoWhy all the bashing? If you don't want JS controlled hardware, use the Raspberry PI or an Arduino. It's an alternative, with a different approach directed towards people with a different skillset. The successful funding shows that there are well enough people interested in this.
- philipn 13y agoThis is certainly interesting, but this title couldn't be more hyperbolic link-bait if it tried, especially since content has nothing to do with "the end of web development as we know it."
- stinos 13y agoelectrical engineering tools really suck No they generally don't. They are just pretty hard to use but once you get over the learning curve they are just as easy as any other program. Yet of course you still need the electrical engineering knowledge to create something useful with it. Apart from that: neat ideas.
- louischatriot 13y agoSo many negative comments so let's say it loudly: this freaking rocks. Massive kudos to the team. Maybe the performance is not yet on par with C. Maybe it will never be. But using JS means we can use this for very rapid prototyping and move on to C when we do need the performance. The people complaining about performance are the same ones who build very fast and scalable products that nobody uses. And about JS, let's remember there are two types of programming languages: the ones which everyone complains about, and the ones nobody uses.
- thomasfl 13y agoHow is this board compared to Espruino[1], Johnny Five[2] or other aurdino implementations that can run javascript? 1: http://www.kickstarter.com/projects/48651611/espruino-javascript-for-things http://www.kickstarter.com/projects/48651611/espruino-javasc... 2: http://makezine.com/2013/07/20/javascript-powered-arduino-with-johnny-five/ http://makezine.com/2013/07/20/javascript-powered-arduino-wi...
- mistercow 13y agoActually, I think this is the end of hardware prototyping as we know it. And I feel fine about that. This seems like an excellent way to prototype wireless devices before creating a more optimized design. That said, I don't think it's going to replace said optimized design. There's a big difference between using high level languages on general purpose computers, and using it on embedded devices, and that difference is marginal cost. The marginal cost of distributing a program for a general purpose computer is independent of the performance of the program. The marginal cost of distributing a program that runs on a device you are selling is strongly dependent on the performance of the program. The slower your program, the more expensive the hardware you have to put it on.
- clavalle 13y agoSounds like what WigWag is doing with device.js[1] only not as mature. [1] http://devicejs.org/status/ http://devicejs.org/status/
- cobookman 13y agoWhy go with WiFi instead of bluetooth? Wifi is hard. If I was to give a tessel to a friend pre-programmed, how does he enter his wifi SSID/Password? Bluetooth avoids all that. Use a smartphone as a proxy to the web. If he doesn't have a smartphone, you could even use Twilio with MMS to send data to the 'cloud'. Other than that, really cool idea/product. Heck even though I'm a compE I will always choose JavaScript over C/C++.
- ausjke 13y agoSo the whole point is to compile JS to LUA bytecode, the rest is pretty common in all those IOT-related kickstarter projects these days. I would expect four PHDs from MIT to make JS to LUA compilers,even then, why not just use LUA directly, all language has its shiny spots in the real world, in this case, why do I need use JS at all? is LUA that hard to use or should we really use JS for everything?
- itsuart 13y agoHardware programming in a language, that doesn't even have ints? I would call that nice joke, but I fear they are deadly serious.
- hhuuggoo 13y agowouldn't js -> llvm be an easier approach?
- fieldforceapp 13y agoJust backed it, and I think it's a great idea -- because of npm, and I actually develop in Lua (game scripting...). I think the commenters here are missing the point: this is a great system for prototyping. Perhaps as software developers, we take prototyping for granted (too damn easy?) but prototyping in hardware is a huge business and this board is great idea. http://dragoninnovation.com/projects/22-tessel http://dragoninnovation.com/projects/22-tessel
- EternalFury 13y agoWhy go through JavaScript at all? Why no write what you need in Lua?
- Fizzadar 13y agoAll I hope is that you can write code in Lua directly, rather than the far inferior JavaScript.
- nathansobo 13y agoJavaScript is fine. We could do a lot worse. We could also do a lot better. The point is that regardless of arguments hypothetically better languages, we are converging on a ubiquitous scripting language, and its name is JavaScript. If you don't like it, use ClojureScript or CoffeeScript or whatnot. Resisting the inevitable is only going to cost you time and mindshare.
- its-a-trappist 13y agoTo the Tessel team: please do not allow the negativity reflected in the above comments to deter you. You're onto something. Enabling 20,000,000 JavaScript developer to take the jump into physical computing is huge. One suggestion: there are now several successful platforms for prototyping embedded systems: Arduino, Raspberry Pi, Beagle Board/Bone, etc. What has yet to emerge is a platform that is actually viable for low volume production. If you want to be truly disruptive, find a way to build the other components that are necessary to create real solutions: 12 volt interfaces that can be plugged into a car's accessory port and fire up when the car starts and can cleanly shut down when the power cuts; cases that not only mount the Tessel and its daughter-cards securely, but which pass standard RF emission tests; simple but secure methods for updating firmware on production systems. Make something that not only helps people get started, but helps them to build a business.
- andyjohnson0 13y ago"I'll often drop down to node.js if I really need to be close to the metal" https://twitter.com/shit_hn_says/status/234856345579446272 https://twitter.com/shit_hn_says/status/234856345579446272
- smoyer 13y agoThe theme at this year's JavaOne was (once again) The "Internet of Things" (IOT) and the community keynote address was by Freescale's CEO who proclaimed that the price of an Internet connected (or connectable) uC would need to be about $0.30 (US). At that price point, I can see a world where everything is Internet enabled. Of course, the devices we were discussing were all running Java. Tessel looks like another implementation that attempts to bring the same technology to another demographic. Their fancy new system (the developer doesn't touch the Lua parts), should have a broad appeal and running NodeJS provides a lot of room to extend the system in the directions needed. I see a couple problems with IOT and another that's more specific to Tessel ... if these problems have been addressed, perhaps I haven't noticed! Tessel is based on Javascript, but there is no standard for interacting with hardware (performing I/O) in Javascript ... I think the eco-system would be healthier with a whole slew of companies like Tessel, but is anyone working on this standard? The IOT problems are more social (since we have uC that connect to the Internet today). 1) Are we ever going to take the security of devices that cost pennies seriously enough? You might not care if your water heater is rigorously protected when Internet connected, but a few thousand of them that are programmed to turn on at the same time is an issue for the power company. 2) Do I want everything around me to be that "aware". Privacy can be lost in little dribbles and we've seen our increasing power to correlate this data into your identity.