Lisp IDEs (where for art thou?) - <AUTHOR> http://www.adrianmouat.com/bit-bucket/2011/01/lisp-ides-where-for-art-thou/ <comment><USER2> <grammar weenie>Just noting a common misconception - "wherefore" as in "wherefore art thou Romeo?" means "why" not "where." In the often repeated quotation, Juliet is bemoaning that Romeo is a Montague and she a Capulet, not wondering where he is. The line that follows is "Deny thy father and refuse thy name."</grammar weenie>

As for LISP IDEs, I use vim:)

<comment><AUTHOR> And I also wrote "where for" instead of "wherefore".

Lots of people have used "Where art thou" in titles, which I think is what I should have used.

Unfortunately I can't change it without breaking any links, so I will now forever have an idiotic title!

</comment></comment><comment><USER3> Adrian is right- I tried to keep my book fun and about Lisp and didn't think a discussion of IDEs was fun or informative about Lisp. However, this has tripped up some readers, so the second printing coming soon will have some limited discussion of these issues, and lisp file handling as well, to get people started in the right direction.

-Conrad Barski

<comment> muuh-gnu Please leave a hint here or at /r/lisp when this second printing becomes available. Thanks. My personal preference would be to not include IDE-specific info into the printed book at all (other than maybe mention Emacs+SLIME as a de facto standard) but to make them available as webchapters only.

Also, if I may add, I think that using snipurl.com as a URL shortener in a printed book, for example for pointing to the Hyperspec, was a really _bad idea_. snipurl.com, like any other link shortener, may be short-lived and going out of business over night (think of tr.im), rendering all the printed links useless and seriously devaluing your book. So if there is any chance to change this for the second printing, by god, remove the link shorteners from the printed text! Anything, footnotes or a references page at the end with full URLs, is better than this.

<comment><USER4> It's not too late to add the full URLs to an errata page, too.

That's a minor nitpick on a great book, though. :)

</comment></comment></comment><comment><USER5> I'm wondering how well other languages are supported by multiple IDEs.

If you want to develop for iOS and OS X, it's hard to avoid XCode and Interface Builder.

Isn't Windows development largely dominated by Visual Studio? (I could be completely wrong about this, as I haven't done any Windows development outside of Visual Basic many years ago.)

It seems that various dialects of Smalltalk are strongly tied to their own IDEs, by design.

I believe that Python, Ruby, and Perl still subscribe to the "pick your favorite text editor with syntax bindings for the language" development philosophy.

For Lisp, the problem is that Emacs + SLIME is such an outstanding development environment already, that it forecloses the "itch scratching" motivation of experienced Lisp developers to write something else. They sometimes give it a shot to welcome new Lispers, but their heart is not in it the way it would be if they needed it for themselves.

(And of course, this ignores the paid IDEs, which are also very good.)

<comment><USER6> I think I'm going to put an emacs config file online that I made for a friend of mine that mimmicks keybindings that windows users are used to.

<comment><USER7> I think there was a project to do that - and smooth out another few emacs quirks. I don't know how much it's being maintained though, but it was built by Xah Lee (afaik).

<http://ergoemacs.org/>

<comment><USER8> Is there an os x equivalent? I'd be interested...

<comment><USER9> Aquamacs is emacs with osx styling, I've heard good things. <http://aquamacs.org/>

<comment><USER8> Neat - just tried it and it seems very polished. Just got to get my head around emacs now.

</comment></comment></comment></comment></comment></comment><comment><USER10> IDEs are hard.

Java was around for almost a decade when Eclipse became really mature... And Java was a language that was designed for GUI development from the very beginning, however, the Eclipse team had to develop their own windowing toolkit from scratch to get something that could swing that load.

The Python community has dreamed of a Python-based IDE for as long as Python has existed, but it faces two roadblocks: (i) there is no 'standard' GUI toolkit for Python and certainly none with the required maturity and (ii) it isn't easy for an IDE to reason about dynamically typed code (also not as necessary... Eclipse substantially lowers the 'verbosity tax' that makes Java programming so wet.)

Part of the problem is that an IDE requires that people who are passionate about programming get together with people who are passionate about designing user interfaces. GUI programming is particularly expensive, especially for open mixed initiative applications such as moderns IDEs. The kind of person who is 'hyperproductive' in LISP (or any other language) tends to avoid the morass of GUI development, where you can spend months and months going back and forth with designers and customers making sure the app correctly supports every interaction that would be intuitive to end user.

Now, LISP does have the advantage of being easy to reason about (since the program is also data) but it's fair to say that a really good IDE costs millions and millions of dollars worth of programmer time to develop. The core of Eclipse/Java was developed by professional programmers working around the clock. The community contributed plugins for Eclipse, such as the PHP and Python modes, are just a joke in comparsion... In some sense they're a step up from vi, but they're an embarassment if you compare them to Eclipse/Java or Visual Studio/C#.

<comment><USER11> > Now, LISP does have the advantage of being easy to reason about (since the > program is also data)

Is this true? Could you (or someone else) elaborate? I would assume that an editor trying to reason about Ruby or Python code would parse the source code into an abstract syntax tree, and that would be just as easy (or hard) to reason about as Lisp, since those languages are all dynamically typed.

However, I'm pretty ignorant of how tools like Eclipse reason about Java code, so this is all just guessing.

<comment><USER10> Well, the advantage of a language like Java or C# is that the IDE knows the types of objects, so, for instance, it can autocomplete method and property names. Because introspection is used rarely in static languages, IDEs can do automated refactoring operations and KNOW that they found all the (non- introspection) references that are affected.

It's certainly possible to parse PHP, Python or Ruby into an abstract syntax tree (OK, Perl is a little harder) but practically very few people do metaprogramming at that level, even when it's officially supported. (C# and VB have had "expression trees" for a few years now and they're barely used.)

Part of the appeal of LISP is that you can pretend Noam Chomsky was never born and never need to learn how to write parsers or deal with the data structures that they spit out.

Any kind of extreme metaprogramming is going to defeat 'reasoning-in-code'. For instance, in LISP I can easily implement a new kind of control structure... Because 'understanding' a program in general (rather than running it) is an undecidable problem, it's clear that an IDE will ultimately get bogged down.

I've written a lot of PHP lately in a metaprogramming-heavy framework that uses magic methods to 'create' new properties and methods. The way this is done is systematic, and an IDE could probably be loaded with rules that would help it 'understand' this usage, but so far as I do this kind of code analysis, it's going to be in command-line tools that are cheap to develop compared to GUI tools.

<comment><USER11> Hmm, I guess I was confused about what you meant when you said "LISP does have the advantage of being easy to reason about"

I thought you meant easy for an IDE to reason about to support the kind of auto-complete Intellisense that Eclipse and VS offer.

</comment></comment></comment></comment><comment><USER12> I've seen several posts now with this same theme.

Emacs is an awesome lisp IDE and it appears to be not widely known that emacs is written primarily in elisp, a lisp dialect.

So I would highly recommend learning emacs and elisp together and forget CL for the time being. Sure elisp isn't as pure as Scheme but it's still a good first start and learning the pitfalls of dynamic scope will provide an appreciation for the features of other lisps.

Moreover, though you may not use lisp much in your other work, by learning emacs/elisp you end up with an awesome programmable editor that you can use elsewhere.

<comment><USER11> I agree with you, Emacs is great and I am only just starting to realize how cool it is to have a Lisp environment underneath all the text editing facilities.

But if this writer picked up Land of Lisp, they might not be that quick to drop Common Lisp and jump to Emacs Lisp.

That being said, I think they should just start reading and hacking and not worry about which editor to use. That's going to be the least difficult part of learning Lisp, but people seem to make it out to be much more than that.

</comment></comment><comment><USER13> If you're on Windows, this one just does the job. I use it when I am on battery since it's very efficient:

<http://www.daansystems.com/lispide/>

You can run sbcl, clozure and clisp underneath it.

I really wanted to write a portable "IDE" for Land of Lisp, I even have Scintilla right here on my desktop, semi-FFIed, but I absolutely have no time.

P.S. Don't call Java/C#/C++ stuff "IDEs" until you have seen Smalltalk. Pharo/Squeak are inimitable and have yet to be equaled, much less bested. Just a whole different class of software, really.

<comment><USER14> LispWorks Professional is frickin' fantastic. It's commercial, but if you don't want to "deal" with Emacs[1], basically the only option in my book.

[1] You'll pry emacs away from my cold dead fingers, but I understand how it's not for everyone.

<comment><USER15> That's a little funny, since the LispWorks IDE editor is an Emacs written in Common Lisp.

<comment><USER13> That's a common mistake. I was "bitten" by Emacs, so I threw it away and learned Lisp with CMUCL and its builtin Hemlock editor.

Hemlock, turns out, was not only an Emacs variant, but an old-skool one, requiring 8 fingers per human hand.

</comment></comment></comment></comment><comment><USER15> [https://groups.google.com/group/comp.lang.lisp/msg/6e91e20f2...](https://groups.google.com/group/comp.lang.lisp/msg/6e91e20f2f371b52?&noredirect) has some good advice for making life easier when hacking Lisp regardless of the editor involved.

<comment><USER16> Thanks for sharing this! I just submitted it to HN, so that more people will notice that great article: <http://news.ycombinator.com/item?id=2070905>

</comment></comment><comment><USER17> My solution was to turn to PLT Scheme (now: Racket) and DrScheme. I figured that would work just fine as long as I didn't understand the difference between Scheme and Lisp anyway.

<comment><USER18> Does anyone know if Land of Lisp could be done (and by done I mean cradle to grave) in Racket?

I own the book but have put off starting it for the lack of knowledge regarding a cross-platform IDE to do all the exercises in -- as my time would be split between my work Windows [1] and my home OS X environments.

I do, however, have Racket installed on both; so...

\----

[1]: and I have already been shot down on Cygwin

<comment><USER5> One thing I sometimes enjoy doing with programming books is just re-writing all the example code in a different language. It's a lot lazier than actually doing the exercises, but still requires you to fully understand the concepts in the example code in order to translate them.

One example: I re-implemented much of the example Haskell code from a functional data structures book in Clojure, which improved my Haskell reading, my Clojure writing, and ensured that I actually understood the algorithms.

So I heartily endorse your idea of implementing the Land of Lisp examples in Racket Scheme.

</comment></comment></comment><comment><USER19> There seems to be a strong bias toward using Emacs, probably because Emacs itself uses a Lisp. There's no reason other (programmable) editors couldn't talk to Swank (the Lisp-side of Slime) though, and I'm not sure why people writing things like Eclipse plugins haven't taken that approach.

<comment><USER20> My understanding is that the Eclipse plugin CUSP does use slime to talk to the SBCL instance.

<comment><USER19> Yes, evidently it does. Seems strange that it would be tied to a specific version of SBCL then, or is that the user not knowing how to start Swank elsewhere and connect Cusp to it?

<comment><AUTHOR> CUSP ships with SBCL, not sure how hard it is to play with the Swank stuff.

</comment></comment></comment></comment><comment><USER21> What many of us emacs users understand, but can't convey adequately, is that he seems to be asking the question "I want to learn Common Lisp, without learning Lisp". Or, "Lisp is just a language like Ruby or Python. Editor is irrelevant." Neither of these statements make sense.

Emacs integration with Lisp distinguishes it from other programming languages, in the same way Smalltalk and it's environment does. You could learn Common Lisp without learning emacs, but you wouldn't want to.

Emacs isn't just an editor. It's arguably one of the best examples we have of how to think in, architect, and use Lisp, Common or otherwise.

The way to learn a language is to immerse yourself in it, and emacs gives you that opportunity, while other editors do not.

</comment><comment><USER22> Funny how he does not even provide single reason, why he discards Emacs as a Lisp IDE.

<comment><AUTHOR> Because I didn't want to start a religious debate about Emacs, which seems to have happened anyway ;)

Actually, I don't see why I have to defend this. I've used Emacs before, I don't really want to again. Isn't that good enough? I'm happy for everybody that gets along with Emacs, but I'd appreciate another choice.

<comment><USER23> I don't see a single comment here on HN resembling religious debate. I see a lot of people wanting to help, but unable to unless you're specific about your problems with emacs. Emacs is the dominant IDE. All the alternatives have weaknesses. Which weaknesses are showstoppers for you, and which aren't?

</comment></comment></comment><comment><USER24> I generally use DrRacket to edit files and rlwrap to interact with a REPL. I do this with Arc (which I use most often) and Common Lisp (which I use now and then), and I use pure DrRacket to deal with Racket. It works pretty well for me.

DrRacket does indentation (which can be customized), paren-matching, and syntax coloring, plus it has some Emacs-like keybindings. rlwrap does paren- matching, provides up-arrow access to previous commands (ctrl-p also works), and allows in-line editing (an improvement over the raw REPL, which isn't saying much).

</comment><comment><USER25> I'm not sure why such negativity toward Emacs? Emacs slime is amazing for lisp (and javaScript mode in emacs with auto formatting is also really good). It's true that emacs has more features and commands than other editing options, but you can be really productive in a powerful way with a smaller subset which is not hard to learn in a very short time. And why not use the best open source lisp out there, SBCL?

<comment><AUTHOR> I'm happy to use SBCL actually, it's just a bit easier to use CLISP as the book examples are for CLISP. I've already figured out how to run external programs from SBCL (so that I could run dot which is used in Land of Lisp).

However, there's no reason CUSP should be tied to SBCL.</comment></comment>


Do GPU-optimized databases threaten Oracle, Splunk and Hadoop? - <AUTHOR> http://diginomica.com/2016/04/11/do-gpu-optimized-databases-threaten-the-hegemony-of-oracle-splunk-and-hadoop/ <comment><USER2> Leaving sarcastic comments aside, I think the valid point is made - the rise of commodity, garbage-quality hardware overmanufactured in China and subsequent rise of "commodity-proud" software empowered by penny-wise / dollar-stupid business processes are overdue for correction.

Instead of putting 20 rusty bicycles together and claim to be a revolutionary fuel- and cost efficient rocket ship, why don't we build a rocket ship from the beginning that actually flies quite well?

Hardware and chips optimized for DB engines, queries and huge amount of streaming data will be welcomed.

<comment><USER3> GPUs are already getting slower, CPUs have been stagnant for a while (no 2x every few years), except if they just double the core count. I think in time specialized domain hardware will make financially sense because it will be the only way to grow.

<comment><USER4> _GPUs are already getting slower_

Do you mean the rate of change is slowing down, or that they're _actually_ getting slower?

<comment><AUTHOR> Based on Nvidia's Pascal launch I think you could argue that not only are GPUs getting faster but that the range of change just dramatically accelerated (due to a process node shrink and introduction of super-fast HBM2 memory).

<comment><USER5> Pascal already launched?

I'm not getting excited until Nvidia really ships something that keeps up with their promises. For the past few years, their products were underwhelming compared to marketing materials before launch.

<comment><USER6> Only in expensive compute boards. No GPUs yet.

</comment></comment></comment></comment></comment></comment><comment><USER7> Interestingly, it seems like GPU acceleration will be available in postgresql in one of the next few releases [0].

From that page it seems once enabled, there aren't any special requirements to get a GPU accelerating a query. As a result, I'd be surprised as a result if "GPU optimized" databases overtake regular-db-with-gpu-acceleration-addins.

[0] [https://wiki.postgresql.org/wiki/PGStrom](https://wiki.postgresql.org/wiki/PGStrom)

<comment><AUTHOR> Not all GPU databases are created equal. Notwithstanding the amazing functionality of Postgres and the impressive work of the PGStrom team, afaik they are still limited to a single GPU and do not cache data on board the GPU. It certainly makes Postgres much faster but is still likely one to two orders of magnitude slower than something like MapD that runs on up to 16 GPUs per server and caches hot data in GPU RAM.

Disclosure: I am the CEO of MapD.

<comment><USER8> I'm interested in knowing what subset of SQL MapD supports. How does it handle expressions on strings and complex data types (tstamp zoned, dates?), etc.

<comment><AUTHOR> It can do most of the basic expressions on strings (i.e. like/ilike) and can do the standard time operations (date_trunc, extract), with the goal of being fully SQL-92 compliant this year.

You have to remember that many of our customers use us with our visual analytics frontend - they don't care about what happens behind the scenes, just that they can interactively explore billions of records with near-zero lag.

I'm a huge fan of PostgreSQL and certainly if you need an ACID transactional database with the latest SQL support and extensions you can't go wrong. But if you need the fastest analytics performance there might be more-suitable platforms. Different tools for different jobs.

<comment><USER9> > I'm a huge fan of PostgreSQL and certainly if you need an ACID transactional > database with the latest SQL support

This answered my question. So now for the follow-up. Are they limited to one core because their goal is to be ACID? As much as people like to blame performance on the tenets of ACID, it's still pretty important for a great deal of things.

<comment><USER10> Queries are not limited to a single core anymore in the upcoming 9.6 release. There's a lot more that can be parallelized than what's in 9.6 though (sorting most importantly probably).

</comment></comment></comment></comment></comment></comment><comment><USER11> It doesn't threaten anybody because Oracle/Microsoft/Splunk/SAP/Hadoop/Spark/etc can just add in GPU-optimized code themselves.

</comment><comment><USER12> Funny how it mentions USPS using GPUdb to "process complex queries and display 2D visualizations in the time it takes to load a Web page", yet every time I visit the post office, It takes at least 8 seconds after scanning a prepaid package for the package details to appear on the screen. They need to port that tech over to where it matters

<comment><USER13> If they can do all that, how about adding it to their tracking number system so I can see where my package is and an estimate of what time it will arrive?

</comment></comment><comment><USER14> GPU databases are around for a while, but not much has changed.

I think bigger thread is cheap memory and raise of in-memory computing. Today you can have a workstation with half TB RAM for fairly reasonable price. Hadoop is already being crushed by Spark.

<comment><USER15> Hadoop is not map reduce, repeat Hadoop is not map reduce.

Also Spark is not a solution, it is an engine.

We run Spark on HDFS using all the paraphernalia of Hadoop to maintain some sort of sanity around it, how do you manage access? Encryption? Scheduling?

<comment><USER14> I think we can agree that many users are migrating away from batch processing.

</comment></comment></comment><comment><USER16> the point overlooked in this article is how much costlier vram is compared to ram. to store same amount of data in vram as ram would cost you an order of magnitude more. not to mention dbs like mapd are not distributed, so you are limited to the amount of gpus you can cram in a single box

</comment><comment><USER17> I don't think they really threaten Oracle, even for analytics where this makes sense. The performance increase over in memory on sparc m7 per price point won't be that insane. So just like in memory db the main question is how long before Oracle accelerates it's own DB with this kind of tech. I think they have only 3 years before Oracle will be there.

<comment><USER15> The challenge for Oracle is not how to do it, but how to make it pay. The price point for a TB class homebrew gpu solution is ~$30k. Oracle implementations used to be in the $500k range. This is why Oracle must move to the cloud and take customers with it.

Oracles problem, customers who are keen on the cloud may well go to GCE, MS or AWS. Customers who are not so keen seek to save the money with open source and commodity implementations.

If you are sitting on a huge installed base the very last thing you want to see is disruptive technology shaking out your customer base. Oracle has seen three waves in five years - Hadoop, Cloud and now GPU/SCM. It's a tribute to the software and strategy of Oracle that they aren't bleeding rivers of red ink.

</comment></comment><comment><USER18> If the 2000s didn't kill Oracle what will?

In the case of Hadoop, it might be possible to transparently translate the scripts to a GPU backend.

<comment><USER19> Yep, multiple Spark->GPU projects already happening.

</comment></comment><comment><USER20> AFAIK GPUs only excel at data-parallel tasks (i.e. doing the exact same operation to thousands of data points in parallel, like in a matrix multiplication e.g.). So I wonder how they utilize this for ad hoc SQL queries? Anybody have any pointers to some papers maybe?

<comment><USER21> SQL is somewhat parallel. All row-level computations are independent and a WHERE maps nicely to a reduce(). I'm not sure if these aren't limited by I/O, though.

Here's a recent article by NVIDIA on using GPUs for graph computation which is somewhat related: [https://devblogs.nvidia.com/parallelforall/gpus-graph- predic...](https://devblogs.nvidia.com/parallelforall/gpus-graph-predictive- analytics/)

<comment><USER6> I think it will be highly dependent on how you structure your queries. Some will be absolutely I/O limited while others will be barely faster than on the CPU. Piping the data out to the GPU is definitely going to be an issue too unless your database is small enough to fit in GPU memory (in which case the whole approach is probably overkill anyway).

</comment></comment></comment><comment><USER22> Oracle already sells A LOT of Exadata; premium priced machines to run databases on overdrive. I think they would be fine competing against a GPU- optimized database.

<comment><USER23> Open source gpu databases are just presales support.

</comment></comment><comment><USER19> Maybe a good time to point out we've been specializing more on the visual analytics side (mentioned companies are more like DBs or traditional Tableau) by connecting GPUs in the browser to GPUs in the datacenter: graphistry.com . And, we're hiring ;-)

</comment><comment><USER24> LOL. Someone sold USPS a solution to the traveling salesman problem.

<comment><USER25> It is a very lucrative sector

[http://www.paragontruckrouting.com/](http://www.paragontruckrouting.com/)

<comment><USER24> It's funny to think of all the money and effort spent compared against the savings (in money, energy, and time) you can put in place by simply telling delivery drivers to not make left turns and putting a reasonably intelligent dispatcher in place.

<comment><USER25> Paragon does multiple drivers / vehicle / load splitting etc.

</comment></comment></comment></comment><comment><USER26> "Any headline that ends in a question mark can be answered by the word no."

[http://enwp.org/Betteridge's_law_of_headlines](http://enwp.org/Betteridge's_law_of_headlines)

</comment><comment><USER27> Because we've all had enough of buzzfeed: the article doesn't even come close to bothering to actually answer the question. Decide for yourself whether that makes it link bait or not.</comment>


Ask HN: Would a framework for the business model canvas be useful? - <AUTHOR>

Ever since I read this tweet[0] by Naval Ravikant of AngelList:
> Write your next business plan in code.
...I've dreamed of making a framework for the business model side of a small business or startup. Basically, take the business model canvas[1] and encode it into a web framework. Similar to how Rails enforces MVC patterns, this framework would coerce your business logic into the predefined models of the business model canvas.
I'm not sure what the implementation would actually look like, because each section of the canvas can be very unique to a business, but I think it can be done. For example, the "Key Activities" section can be implemented with a cron scheduler of some kind, and you can imagine other code-based implementations for the other sections.
So, I ask those business founders with more experience than I: would a framework like this be useful? Or are the activities of a mid-sized startup too variable for this kind of structure?
If this gets a lot of positive feedback, I'll start to work on it concurrently with a business idea I'm testing now. If anyone is willing to work on it with me, I'm a Ruby/Python/Clojure developer[2].
[0]: https://twitter.com/naval/status/607256322682191872 [1]: https://en.wikipedia.org/wiki/Business_Model_Canvas [2]: https://github.com/bsima <comment><USER2> Please explain further what you are trying to do, I don't quite understand</comment>


Survey: 1 In 4 Adults Checks Phone Less Than A Minute After Waking Up - <AUTHOR> https://www.studyfinds.org/survey-quarter-checks-phones-less-than-minute-after-waking/ <comment><USER2> > How long do you wait after waking up before you pick up your smartphone and > check your texts, notifications, or social media apps?

This narrative has bothered me since I was a teenager, though back then it was just "using the computer". I have always looked at these devices as multi- purpose tools. I did not want to "use the computer" \-- I wanted to play a game. Or learn how to code. Or create music. Or read news. Or talk to my friends. Or watch a movie. The device is merely a means to an end, not the goal itself.

In other words, I was not interested in coding because it meant using a computer, I was interested in coding because you can build things and solve problems in interesting and mentally stimulating ways. I enjoy messing around with electronics and working on my house for the same reasons -- not because I was looking for an excuse to use a soldering iron or circular saw.

To lump these activities together makes no sense. They happen to use the same device, but that's it. I wake up and turn off the alarm on my phone. Once I actually get out of bed, I'll also notice if there are any texts -- it rarely happens but if someone texts me really early in the morning or overnight, it's probably something really important. What I don't do is check work e-mails or social media. There's usually some notification sitting there for that, but there pretty much always is, and it's easy to just ignore.

<comment><USER3> That's kind of reductive. The medium matters for any activity or information. You can't just discount the medium.

Whether for good or bad, the existence of phones has changed the human condition. Perhaps irreversibly. It's not just how we consume news or work. It's a very personal change. Remember in the nineties how we'd all have to plan ahead of time to meet up with friends or family or go on a date or whatever? You had to wait until evening, call when they would be home or leave a message, set up a time and place, and stick to it because once you left the house you couldn't coordinate further.

So whether or not that's good or bad is beside the point. It is a profoundly different method of socializing. Communication was sparse and delayed and you couldn't change plans or cancel 30 minutes ahead of time without looking like a dick. We are different for this. In some ways good, in some ways bad, but we have such a poor understanding of how it's working for us in the greater scheme of things that this fact alone should be somewhat alarming. And no, you can't just choose not to participate. Not having a smartphone on your person at all times and being always connected, always reachable, and always able to be obliged to work or respond or go do something at another's command is now tantamount to not participating in society.

Before this existed, we did a lot of the same activities in other ways as you said, but the restrictions of the medium we had available truly did change how it all worked in a tangible way. Yes, a similar thing happened with radio and land lines and other forms of technology before, but the extent of the change was lesser. The developments of the past ten or twenty years are so much more efficient and powerful and difficult to evade that they deserve unique consideration.

<comment><USER4> It's not always socializing though. Plenty of people have canceled their paper newspaper subscription in favor of getting the same paper on their phone. There's some difference in medium, but it's not a particularly significant shift.

</comment></comment></comment><comment><USER5> ... it's effectively my clock. Checking what time it is when you wake up is in no way strange, is it?

<comment><USER6> It is in fact my only clock unless you count the microwave or laptop. It is also my only alarm.

<comment><USER7> Simplify your life by moving your microwave to your bedroom, setting it to cook on the lowest setting for 6 hours when you go to bed ;)

<comment><USER8> That's unhealthy, you really need more than six hours of sleep.

<comment><USER9> As someone who does need 8 hours I can't help but be jealous of those who function on 6. If I only get 6 hours of sleep I can't even see straight all day.

<comment><USER10> >I can't help but be jealous of those who function on 6.

Don't be. Hell I can "function" with my shoes tied together.

I can "function" with some marijuana and some whiskey in my system.

I can "function" on 4 hours of sleep. It's an awful day and I'm more rude and impatient, but if I did it for years I'd be telling people I can fully function on 4 hours with no negative side effects.

<comment><USER11> Shower-thought: Maybe the problem to many people being assholes is just not getting enough sleep?

<comment><USER12> I get like 8-9 hours of sleep and I'm still an asshole

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> Does this mean that 3/4 adults use something other than their cell phone as an alarm clock? That's way more crazy to me than the initial stat.

<comment><USER14> Nobody uses an alarm clock after having kids.

<comment><USER15> Wait until they are in school. Left to his own - 5 year old wakes up at 6:00 on weekends, and 7:30 on school days (the bus arrives at 7:00).

<comment><USER16> This kinda annoyed me as a kid, but I also remember the reason for it: Early morning kids shows/cartoons on TV, during the weekends, was a big factor for being up so early.

Tho with VoD dominating all entertainment, what are kids doing nowadays when waking up early at a Saturday?

<comment><USER17> Fortnite

</comment></comment></comment></comment></comment><comment><USER18> How often do you place a blindfold on when you first wake up and spend a few hours with life without sight? Your phone is your 6th sense and it's part of you now same way your eyes are. It's called being a "cyborg" and we are all that now. And it will only get more integrated with surgery soon. Imagine bluetooth connections from chip in your head to phone in your pocket. Google search with your mind without looking at your phone. That changes school doesn't it? Kids will have no choice but to get the surgery to compete.

</comment><comment><USER19> I miss the time when I didn't have Internet connection, mobile phone, and had no one to distract me for 8 hours per day. I didn't have anything important to work on since I was a kid, but I remember I was able to concentrate on things for much longer and it was more enjoyable. I didn't have to exert any will power since I didn't have a lot of alternatives with regards to what to do with the computer and that simple stuff I was doing was providing enough of dopamine to keep me hooked. After reflecting back on that time, I'm starting to appreciate good old printed books, simple audio player that isn't connected to any kind of streaming service, offline documentation for libraries that make it possible to do some work without internet. There is something special about those hours of disconnect.

</comment><comment><USER20> I'm really curious what the other 3 people do. I wake up before my wife, so I usually grab my phone, or laptop usually, and start checking news, planning my day etc. before she is up.

Do people just sit there and stare at the ceiling or what?

<comment><USER21> Wake up; get out of bed; have a hot drink; maybe breakfast/workout; hygiene routine. It's not that esoteric, and surely you remember a time before smartphones?

<comment><USER20> Yeah, before smartphones people turned on the news first thing in the morning. They used to have traffic reports for your commute, weather, breaking news etc.

People even had radios and sometimes televisions in the bathroom to listen to this while they showered.

</comment></comment></comment><comment><USER22> I can turn off the alarm on my phone without really looking at it and don't actually "check" my phone until I get to work an hour later.

The question of what constitutes "checking" your phone is probably ambiguous.

</comment><comment><USER23> I've lately imposed a rule on myself: no electronics in my bedroom whatsoever. I've slept sounder and longer as a result, and I've noticed a greater propensity to get out of bed earlier and be more productive when I do wake up.

The only trouble is that I've only been able to abide by this rule 75% or so of the time --- it's easy to make an exception because I want to just finish this one testcase or something, and then I end up staying up much later than I intended and wasting time on bullshit in the morning. These brain extension devices are sticky.

<comment><USER24> Good for you! I've recently gone on a journey to eliminate smartphones from my life. I'm now on day 11 and counting and couldn't be happier: [https://twitter.com/john_lam/status/1074527089569615872](https://twitter.com/john_lam/status/1074527089569615872)

</comment></comment><comment><USER25> Ah, the life of an on-call sysadmin.

<comment><USER26> Heh was about to post something similar, I'm not even on-call most of the time, I still check Slack when I wake up to see what happened to the person who _was_ on call-if anything, since there's a 99.9% chance I'm getting roped in the second I get to my office. Best be prepared for it.

Not that I'm complaining about this, it just is what it is.

(Also because there's a sports radio show that isn't broadcast nationally from my hometown and I like to listen in as I'm waking up/getting ready for the day)

</comment></comment><comment><USER27> Before I had a smartphone, I had an alarm clock set to wake me up by playing NPR at 7:00. I would lie in bed and listen to Morning Edition, just to make sure the world hadn't blown up while I was asleep.

Today the alarm clock is set to buzz. I (literally) roll out of bed onto the floor and check the Washington Post app. To make sure the world hasn't blown up while I was asleep.

Is there a significant difference here?

</comment><comment><USER28> My phone is my alarm. But it's also clear across the room. I also do not autofetch email so when I turn off the alarm I swipe to check for email as I get dressed. I'm always excited to see if I got some interesting email that will take me away from this routine.

I should also note I easily spend 5 days in the wilderness with no phone connection at all.

<comment><USER29> You know that you can preload memes on your phone for offline usage, right?

<comment><USER28> Finally! Life has meaning again! :)

</comment></comment></comment><comment><USER30> Within seconds I check what time it is. I check to see if my wife left any notes about how my newborn or toddler slept. I check to see if my dad wants lunch today. I check to see what the weather will be.

My phone provides important information that will shape my day. I'm wholly shame free about how I use it.

</comment><comment><USER31> I sometimes feel the temptation to check it even during the night when I briefly wake up to roll over or something.

</comment><comment><USER32> I check mine immediately, because it's in my hand since I just turned the alarm off. I almost can't not check it, since I'll see whatever notifications are on the home screen after I've touched the cancel button unless I go out of my way to look away.

Not that the alarm wakes me up very often. I almost always wake up a few minutes before it goes off. Even in different time zones. Not sure how my body does that. So technically I probably don't check it less than a minute after waking up, just a few seconds after the alarm goes off.

</comment><comment><USER33> Rookie numbers. I'm checking the phone in between the cycles of sleep.

</comment><comment><USER34> Does hitting snooze on the phone count as checking?

</comment><comment><USER35> I only check my phone for texts maybe once or half a time per day. Sometimes longer if I forget. It's easy since I don't carry the phone with me and it's a dumb phone that can barely even do texting.

That said, I'm usually checking my main desktop computer and IRC within a minute of waking up.

</comment><comment><USER36> It is my alarm clock as I don't think I could figure out how to use a regular alarm clock. They all have lots of confusing buttons and pushing that indented button with a sharp object is really annoying.

<comment><USER37> I can't tell if this is a joke comment or not. What "indented button"? My alarm clock has 2 buttons (hour and minute), and 2 switches (alarm on/off, and set time / set alarm / run). Not at all unusual: it's basically just a clock- on-a-chip that was used by lots of brands.

If you can figure out the C=64 reset system call, you can figure out an alarm clock.

<comment><USER36> Our ability to use buttons will wither out in years to come as phones don't have buttons. When I pick up an old school alarm clock my natural inclination is to flick the LED digits up or down but it doesn't work.

The indented button is on every alarm clock to prevent you pressing it accidentally. Google some early 80s alarm clocks to see examples.

<comment><USER37> My alarm clock _is_ from the early 1980's. All of the buttons are more prominent and many times bigger than any of the buttons on my 2010's smartphone.

</comment></comment></comment></comment><comment><USER38> I schedule in 5 mins when my alarm goes off to read reddit. For me, doing this extremely useful as my brain spins up and I feel like I do not want to go back to sleep.

</comment><comment><USER39> i fail to see why this is different than the act of turning on the tv, reading the paper or whatever else people did to keep up to date in the days before digital communication

</comment><comment><USER40> first thing i check are emails so i can see how many tasks/protects are awaiting me and can plan my day, does this mean i am some addict if i wanna know what awaits me especially when later i need to prepare breakfast for child, prepare and take him to kindergarten and then depending on the content of mailbox go home rush to work (i prefer to do tasks ASAP so they won't accumulate) or can go somewhere outside to do shopping or something else

</comment><comment><USER41> I mean the phone is my clock now... so yeah I check it and go bck to sleep. It's also my alarm, if I don't check the phone it keeps making noises.

</comment><comment><USER42> > Nearly half of the respondents feel "unsafe" if they're in an area without > any service.

So it's the other half that have applied to go to Mars right?

</comment><comment><USER43> I'm sorry for the terribly not valuable comment here but best time to use "DUH" ever . . IMO.

knowing this kind of thing can be useful for various technical reasons even product management could benefit from this kind of information.

I guess my key takeaway is it's a good reminder that painfully obvious information when presented with numbers can still be kind of interesting

</comment><comment><USER44> People need to wake up on time, check what time it is, find out if someone tried to contact them while they were sleeping, and see if anything interesting happened in the news.

So of course they are going to look at their phones.

I hope the statistic is completely wrong because otherwise there seem to be a ton of people who don't know how to use a phone properly.

</comment><comment><USER45> I love catching up on the news in bed after waking up. Best part of the morning.

</comment><comment><USER46> My problem used to be I check GitHub a minute after waking up.

</comment><comment><USER47> Alternate title: 1 in 4 adults uses their phone as a clock.

</comment><comment><USER48> Turning off alarms and checking time is a norm.

</comment><comment><USER49> They must be checking stackdriver or cloudwatch alarms. Nothing wrong with that.

</comment><comment><USER50> This whole thing is just a large amount of click bait. Ok, 1 in 4 adults check the phone less than a minute after waking up. 1 in 4 adults probably use the bathroom within 5 minutes of checking their phone!

This is just to offend those who do check their phone (which is also their alarm) when they wake up (which generates clicks), and to make those who don't check their phone when they wake up feel superior (which generates clicks).</comment>


SHOW HN: Yet another Hacker News clone - <AUTHOR> https://github.com/msbadar/yc-news <comment><USER2> Another clone which adds to the numerous backlink-builders: [https://jic94.com/marketing/backlinks-hacker-news- aggregator...](https://jic94.com/marketing/backlinks-hacker-news-aggregators/)</comment>


Malloy Hoverbike Worlds first flying motorcycle - <AUTHOR> https://www.hover-bike.com/ <comment><USER2> Short video clips show a sort of hover-craft using ground effect to skim along just above the grass. Would like to see how they justify the claim of 60MPH and 10,000 feet.

Then there's the image of a person straddling what is essentially a human- sized Cuisinart. Nuh-uh

</comment><comment><USER3> $89,9080 donated so far. Impressive.</comment>


Intel Releases $99 Open-Source Single-Board Computer - <AUTHOR> http://techcrunch.com/2014/04/03/intel-releases-99-minnowboard-max-an-open-source-single-board-computer

<comment><USER2> It's just announcement and release will be only after few months.</comment>