Maru turns Android smartphones into portable PCs - <AUTHOR> http://maruos.com/#/ <comment><USER2> This is a great idea, and well pitched, but it's not the first time I've seen it. Therefore it all comes down to _execution_. Since there's no real technical info or even an explaination of who's making it and why (is it a commercial thing? What's the business angle?), it feels pretty pointless.

If it ever does appear as more than a product pitch, I'll be really keen to find out more. But for now it just seems like someone's put the cart (a beautiful website) in front of the horse (an actual product)!

<comment><USER3> Under "Features":

> If you can dream it, you can do it.

Yes, the website has giant images and minimalism and everything that's all the rage recently, but in the end all it does is make me scroll endlessly and hunt for the tiniest bits of information. There are multiple full-screen-spaces that only show fancy monitors and marketing speak.

I really like the idea of this small computing device that basically turns into whatever you need it to be, but I'm still not sure about what's the use case exactly with phones that turn into desktop PCs. I could have a big screen and bluetooth peripherals at home, fine. But when I'm traveling there's no way to know where I'll be able to switch to "desktop mode" again. At the hotel, hoping I can attach my HDMI cable to the wall-mounted TV? At a friend's house - and then what, maybe they only have a laptop or they'd rather not have me rip out their cables and use their monitor. At work where I don't get to use my own hardware?

I think that ASUS Transformer concept makes more sense on the hardware side. I remember this one device where you'd have a phone, put it into a tablet, and then attach a keyboard effectively turning it into a laptop.

The only interesting thing about this is exactly what you said, the execution. It's a custom Android (with Debian added to it somehow... containerized maybe?) so they'll either need to make their own hardware or partner up with someone. Or maybe it's just someone's Android custom ROM project.

<comment><USER4> The upcoming Pyra Handheld is addressing some of these issues. It runs Desktop Linux by default, and can connect to an HDMI display to benefit from larger screens. At the same time, you should be able to boot ANdroid on it if you prefer an OS made for a small form factor. All in a single device equipped with a keyboard. It's certainly not perfect, but it's getting close to what I want to do when I am on the move.

</comment></comment></comment><comment><USER5> This looks like a concept based around Debian Chroot. There are several apps on the app store that will install a copy of debian in a chroot inside of android, and then when it boots, you can connect to the desktop via vnc.

Here's one app called "Complete Linux Installer" (looks outdated) that does this: [https://goo.gl/5ryu5x](https://goo.gl/5ryu5x)

It certainly works, though there has definitely been limitations caused by the speed of the hardware and the latency that vnc introduces. I've never tried this on an external monitor and external input devices. There's also a gap because you need a separate vnc client.

Maru, if it exists, seems to work off the same concept, but with some polish. They have an install of Debian that can run on your phone. The Maru app will run in the background and detect when an external display is connected. This tells it to spin up the debian OS. Then it must do something to connect to debian's desktop (vnc, nomachine, or proprietary solution), and output that solely to the secondary screen.

This last bit seems the most magical to me (and probably device dependent), but then again, my experience with android and secondary displays is somewhat limited to the mirroring that happens when you attach a monitor. Alternatively is the chromecast concept where your app turns into a control and the content is sent to the chromecast. Maybe the concept of running an app entirely on a second display is a native android concept these days.

<comment><USER6> Looks like there's a Presentation class [1] for activities meant to run on a second display. Also see [2], a presentation about it that mentions HDMI displays explicitly.

[1]: [http://developer.android.com/reference/android/app/Presentat...](http://developer.android.com/reference/android/app/Presentation.html)

[2]: [http://www.slideshare.net/ph0b/develop-for-miracast-on- andro...](http://www.slideshare.net/ph0b/develop-for-miracast-on-android)

</comment></comment><comment><USER7> The key innovation in Windows Phone's "Continuum" feature is that the desktop is just another view into the phone. You can access the same exact apps and user data - browser, mail, calendar, messaging, etc. - and switch back and forth without losing state. In that world, a phone with KVM support doesn't just save you from owning a PC; it saves you from having to keep track of a different set of installed apps, setting up accounts, preferences, and state (currently open tabs, documents, etc.)

I'd welcome something like that for Android, especially as Google is experimenting with support for windowed Android apps with mouse support.

Unfortunately, Maru is not that. It appears to only run X11 apps on the desktop, and only Android apps on the phone. I don't think there's enough value in that. It has the inconveniences of needing to dock/undock your phone _plus_ all of the hassle of having to maintain 2 separate sets of apps, settings, and state.

<comment><USER8> That is pretty strange considering it would be trivial to set up an android emulator in the pc app and run everything the phone can.

<comment><USER9> But very very slowly.

<comment><USER8> Slowly is infinitely faster than not at all.

</comment></comment></comment></comment><comment><USER10> This looks like what Ubuntu had set out to do several years ago but never delivered on. The screenshots seem to be showing actual desktop Linux applications, so I guess there's an X (or Wayland) server being fired up, which is pretty sweet; I dig the idea of having access to "real" tools without having my own PC or booting to USB.

Oddly though, despite this being a distribution of Linux and Android, it seems like it's aiming for a commercial/closed-source release. I wonder how that's going to work?

<comment><USER11> _This looks like what Ubuntu had set out to do several years ago but never delivered on._

Also looks like something that OQO had in mind over a decade and a half ago.

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

<comment><USER12> looks like what Motorola delivered on 5 years ago: [https://en.wikipedia.org/wiki/Motorola_Atrix_4G#Webtop](https://en.wikipedia.org/wiki/Motorola_Atrix_4G#Webtop)

(despite negative reviews, I had one when it came out and plugged it into hdmi monitor or webtop to use like a computer quite often...although primarily useful for watching netflix on big screen and browsing internet.)

<comment><USER13> It cost more then a Netbook. What the heck were they thinking!

<comment><USER12> you don't have to have to buy the webtop inorder to use the hdmi output, which will convert into a desktop (I think I had to use a custom rom, though). I can't blame them for trying to make money and being innovative.

Although, I would have liked a generic standardized keyboardscreen interface so could use any hdmi+usb cellphone with any keyboardscreen.

</comment></comment></comment></comment></comment><comment><USER14> Here is a similar product from Motorola several years ago:

[http://www.amazon.com/Motorola-Atrix-4G-Android- Phone/dp/B00...](http://www.amazon.com/Motorola-Atrix-4G-Android- Phone/dp/B004KZP4BQ)

And there's a laptop dock sold separately

[http://www.amazon.com/AT-Laptop-Motorola-Retail- Packaging/dp...](http://www.amazon.com/AT-Laptop-Motorola-Retail- Packaging/dp/B004M17D62)

I had the phone but had never used the dock. Not sure about the experience, but it's a cool idea to me.

<comment><USER15> I had the Atrix , stiil have, is running great ( but slow ) with the lapdock.

Idea is absolutelly great, HW reall OK, but in software was never completly done. It felt like was more like a PoC.

I was pretty dissapointed by Motorola not following this idea. It was kind of ahead of time.

Like others commented, very few phones have a HDMI interface.

</comment></comment><comment><USER16> What type of user would want this?

It could be interesting in a school setting or maybe in the developing world. However, the product seems a bit paradoxical: use your phone as your main/only device, but meanwhile, you have a monitor available to use.

Most people who only own phones probably don't own monitors, right? A mini projector seems more inline with the "mobile only" use case since monitors aren't portable.

<comment><USER17> My guess is that one-day, everybody. Today, not so much.

What is the difference between your laptop, desktop and phone? Mostly it's screen resolution and the apps that run on them.

I'm sure at one point somebody was asking "why would I want to plug my laptop into a monitor?"

Eventually, the technology disappears and it just becomes different I/O.

All your apps, all your contacts, all your content in one place. No matter what monitor you sit in front of, it is YOUR computer. Not signing in under this account or that account, it just goes with you.

I believe the technology still has a way to go. This is for early adopters now.

<comment><USER18> It's largely thermal limits. I use a docking station connected to two monitors for my laptop at work. It's mobile when I need it to be mobile. It's stationary when I need it to be stationary. But it's not powerful (CPU performance) when I need it to be powerful unless I sacrifice mobility entirely like a desktop.

<comment><USER19> There are also some problems with the battery. If you run enough apps on an android phone, it won't be able to charge the battery. Also people doesn't like their mobile phone to be hot.

<comment><USER17> I'd suggest it is likely that most peripherals that you connect your phone to will have their own power source which charges your phone, rather than using your phone as the power source.

</comment></comment></comment></comment></comment><comment><USER20> I like this idea, but the pedant in me is annoyed that they chose an apple LED Cinema/Thunderbolt Display lookalike for their promo images.

This display is one of the few mainstream monitors one can not just plug an HDMI cable into.

It is easy to go MiniDP/DP/Thunderbolt -> HDMI but not the other way around.

Using anything but a display port source on it requires an expensive adapter.

</comment><comment><USER21> Download and try: [http://maruos.com/#/hardware](http://maruos.com/#/hardware)

<comment><USER22> From the front page it says python and gcc is included, but I don't see anything about the gcc (or python, but python isn't gpl) source on their legal page:

[http://maruos.com/#/legal](http://maruos.com/#/legal)

Did anyone have a look? Do they distribute the kernel, or run on top of Android? At a glance it _appears_ they're playing a bit loose with the licenses - but maybe they have a link/offer of source in the download?

<comment><USER23> Desktop software are unmodified, and can be access via `apt-get source` on the desktop.

That's what they say on thei rlegal page.

</comment></comment></comment><comment><USER24> So... I know not a lot of people know about this but... Microsoft is already doing this really, really well. And their execution of it, while early, is at least competitive with most Ubuntu mobile efforts I've seen.

I mean, I know there is an open source argument and I get that, but... Continuum is a really neat feature and if nothing else deserves at least a little recognition).

</comment><comment><USER25> What cable do I buy to connect my Nexus 5 to an HDMI port? I feel that should be mentioned on the website. Will this do it:

[http://www.amazon.com/Fosmon-Slimport-Micro-Female- Adapter/d...](http://www.amazon.com/Fosmon-Slimport-Micro-Female- Adapter/dp/B00GU4QUWC)

<comment><USER26> Any slimport adapter should work. This one works well [http://amzn.com/B00HFYLR4M](http://amzn.com/B00HFYLR4M)

</comment></comment><comment><USER27> About damn time this happened. I've been wanting to have my users ditch PC's for a while. Getting them to Dock a phone into a keyboard/monitor will make my life tons easier.

Anyone know if you can wipe debian and stick another distro on it? I have a fetish for gentoo, but chromiumOS would be cool too.

</comment><comment><USER28> Does it actually exist?

</comment><comment><USER29> I was thinking about this the other day. Sure Maru is a version of Microsoft continuum for android, but I wish there was a different implementation of this concept.

I wish that when I plug in my Android to my computer using a usb cable, I get a popup on my computer for the desktop version of the Android operating system.

Had MS implemented this, Continuum would have been far more relevant. Because as of now, you need far too much new hardware to make it work. Maru is also the same thing.

</comment><comment><USER30> This is a great idea to be exploring even though, as a developer, I think this just some fancy tech that has almost no use. Like already noted in a another comment, if you are on the go the phone can't replace a laptop.

However, it becomes more exciting to experiment different things with a versatile phone running Maru or something similar.

What would really like to see are tablets running non-Android linux, and iPads with OSX instead of iOS.

</comment><comment><USER31> Regular compute-heavy desktop/server software is generally unsuited to mobile execution. Power efficiency and are speed greatly improved by offloading to GPUs. If one of these projects does take off at some point, I wouldn't be surprised to see a greater portion of the FOSS software stack being adapted for GPU-based execution.

</comment><comment> norea-armozel Am I the only one that thinks the real solution may be to divorce the data itself from the device? I'm not saying make it all remote terminal but at least make the contents (data) the thing which is in a fully standardized format that can be easily shared and synced.

</comment><comment><USER32> personally, i'd rather see it combined with something like the casetop. basically, an all-in-one monitor, keyboard, and battery charger.

[http://livi-design.ca/](http://livi-design.ca/)

...but, with much better industrial design.

</comment><comment><USER33> I like the idea of one personal computer, so as not to have to deal with syncing, but for this to work for me they'd need to offer a laptop dock, since I don't even have a desk at home to put a monitor on, not to mention the monitor itself!

</comment><comment><USER34> The problem is the absolute disconnect between the 'desktop' and 'phone' parts. Maybe if this was more akin to Remix OS in that it used tablet apps, it could have been a better experience.

</comment><comment><USER35> Ok, can someone please explain to me how I connect an hdmi monitor to my phone? Because they sort of glossed over that part where no phone I've ever seen has an hdmi connector.

<comment><USER36> Some devices have a connector that supports SlimPort(aka MyDP) cables which allow you to connect to an HDMI display. You can see a list as well as get more info here:

[http://www.slimportconnect.com/slimport-supported- devices/](http://www.slimportconnect.com/slimport-supported-devices/)

</comment></comment><comment><USER37> Doesn't Ubuntu Mobile do this? Though I suppose it's app environment on the mobile side of things leaves much to be desired.

</comment><comment><USER38> Can you charge while plugged in to a monitor?

<comment><USER39> MyDP/Slimport adapters typically have a Micro-USB port to allow you to connect a charger, so yes.

</comment></comment><comment><USER40> Isn't this the same concept as Microsoft's Continuum?

As it's been noted, there are a handful of other projects like this, so I don't mean to say it isn't special. But a big criticism for Continuum is that it's practically not very useful...when are you ever going to have your phone, monitor, and keyboard available but _not_ a laptop?

What's a practical use for these things?

<comment><USER41> > _What 's a practical use for these things? _

While it doesn't seem aimed at this market: there are a gigantic amount of people in developing countries that have a smartphone, and no computer. It _is_ their computer. Peripherals are available, but computers themselves are far too expensive, this idea works with the concept of "smartphone as your primary computing environment".

<comment><USER42> They also have no monitor though. And I challenge the notion that most people even _need_ a computer outside work.

</comment></comment></comment><comment><USER43> Is this closed source?

</comment><comment><USER44> Yeah but why would I switch over to this? I don't understand what it gives me that I don't already have. Either I'm an idiot or...

</comment><comment><USER45> Is there anything like it for iOS?</comment>


A Calligraphy Master's Album - <AUTHOR> http://bibliodyssey.blogspot.com/2014/11/schonschreibmeister.html

<comment><USER2> Hah. I like that the German word for calligraphy is "schönschreiben," which are the two words "beautiful" and "writing." (Same as the English version I guess but more native-friendly.)

</comment><comment><USER3> Sometimes letters are things we don't really see when we read. But it's really an art. I'm always reminded of that when I see such beatiful calligraphy or some nice typeface. Writing can be an art..

</comment><comment><USER4> Beautiful, but in the more elaborate cases it is hard to pick out the letters to see what it says.</comment>


RealTalk Speech Synthesis - <AUTHOR> https://medium.com/@dessa_/real-talk-speech-synthesis-5dd0897eef7f <comment><USER2> "Because of this, at this time we will not be releasing our research, model or datasets publicly."

Seems like people are designing research for this conclusion, begging their own controversy. However, it rings hollow, especially presented thusly, on medium, with the first person plural voice of a corporation.

Ethical discussions in machine learning technology presentations are becoming trite and self-congratulatory ("we've made an AI so good it merits discussion of the ethical implications") especially when a discussion of actual applications is missing.

</comment><comment><USER3>
      Because of this, at this time we will not be releasing our research, model or datasets publicly.

Has OpenAI's handling of GPT-2 inadvertently provided political cover for commercial organizations who would love to claim they engage with the ML research community but would actually prefer to contribute nothing other than medium articles?

<comment><USER4> One could argue that it wasn't "inadvertent" at all, and OpenAI is such an organization.

</comment></comment><comment><USER5> So I've seen multiple of these ML speech synthesis projects, when am I going be able to use one of these for a screen reader? I'd like to listen to wiki articles with a synthesizer using modern methods, not Microsoft Sam.

<comment><USER6> When Google repackages it as a product that spies on you and you can't use in ways not intended by Google.

</comment></comment><comment><USER7> > _have produced the most realistic AI simulation of a voice we've heard to > date._

No you didn't. Please do not lie.

There are a number of projects replicating Google's Tacotron 2 research from December 2017 that achieved human parity in text-to-speech as measured by MOS score. Google's Tacotron 2 model was then successfully deployed by Google in a service called Duplex.

Following up on this research, there are a number of open source and commercial projects that have used Google's Tacotron 2 human-parity TTS research:

Open source projects:

\- [https://github.com/mozilla/TTS](https://github.com/mozilla/TTS)

\- [https://github.com/Rayhane-mamah/Tacotron-2](https://github.com/Rayhane- mamah/Tacotron-2)

\- [https://github.com/NVIDIA/tacotron2](https://github.com/NVIDIA/tacotron2)

Commercial TTS projects:

\- [http://deepzen.io/](http://deepzen.io/)

\- [https://wellsaidlabs.com/](https://wellsaidlabs.com/)

\- [https://ai.googleblog.com/2018/05/duplex-ai-system-for- natur...](https://ai.googleblog.com/2018/05/duplex-ai-system-for-natural- conversation.html)

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>--

> _he didn't actually endorse our work like this, it's a clip from the video > the team created featuring their work. Video and more after the jump!_

It's absolutely unresponsible/illegal to clone a person's voice without consent. To use Joe Rogan's likeness for your publicity stunt without his consent is unethical in its self. It's Joe Rogan's legal right to control his own likeness.

Furthermore, this presents a number of safety risks to Joe Rogan including the possibility of identity fraud.

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>--

Finally, at this time, TTS human parity technology is at human-parity when tested on phrases and sentences similar to those in the training set. Google's Tacotron-2 models showed a significant decrease in performance reading 37 news headlines. They mentioned in their evaluation:

> _This result points to a challenge for end-to-end approaches – they require > training on data that cover intended usage._

<comment><USER8> None of these come even close to the Joe Rogan example. To me it's indistinguishable from his real voice.

</comment></comment><comment><USER9> There's a telltale discontinuity in the rise of the voice on the word "chimps" in the sentence "and these chimps have been working out hard". I wonder if future generations of kids will have to be trained to spot such things.

</comment><comment><USER10> We've already got a world where anything slightly embarrassing or regrettable you do is likely to recorded and uploaded to Youtube. Maybe once there's tools that can perfectly fake a video and corresponding audio, we'll be free again.

</comment><comment><USER11> Remember in Fahrenheit 451 where Guy Montag's partner is glued to the Wall? A screen where she participates in her favorite shows and the audience and cast members talk directly to her?

Read in a modern context I don't think Guy was merely burning books in service to an authoritarian government. I think he kept the books because he was becoming an outsider. He didn't want to participate in the world of the Wall and consent to the expectations and norms of his society. And the firemen were there to ensure everyone participated.

</comment><comment><USER12> Well, now we know what's going to happen to all that Alexa voice data.

</comment><comment><USER13> Impressive (really), but it raises a more philosophical question (as in practical ethics): do we really want voice-bots to blend in perfectly, or should they better feature distinctive marks (like a rather monotonous personality)?

[Edit: This is not so much about DeepFakes, as discussed in the article, but more about a general level of implementation.]

<comment><USER14> If perfect imitations are outlawed, only outlaws will have perfect imitations.

I'm not sure how useful that question is. If it can be done then it will be, and we'll have to deal with it whether we want it or not.

<comment><USER13> I suppose, we'd want bots distinguished (by tone, etc). Where's the practical value of not being able to discern an algorithmic speaker, e.g., on the phone. There's probably some value in being able to do so, regarding liabilities and so on. (A contract arises from an agreement of intents. We may not be sure, if such an agreement has actually been reached, or if we were just witnessing a behavioral pattern triggered by a Markov chain. We may also question the nature of the intent or who's intent this actually is.)

</comment></comment></comment><comment><USER6> So, on one hand, I see people hyping half-baked AI through the roof, cherry- picking good examples, refusing to study and discuss its limitations and even outright dismissing the idea that AI failures are, in fact, failures, rather than some kind of "different way of thinking".

On the other hand, I see _the same crowd_ engaging in ridiculous alarmism that's not grounded in reality. They place technologies in far-fetched scenarios, completely ignoring that the same scenarios can already be enacted without AI. The usual conclusion is always that technologies needs to be kept out of the hands of the public.

Someone is drinking too much of their own Kool-Aid. But regardless of how much they believe in what they're posting, this behavior is disgusting and unethical.

\---

 _> Here are some examples of what might happen if the technology got into the wrong hands_

Since when do we _start_ a discussion with the assumption that a piece of software will be restricted in distribution? Software tends to get in the hands of everyone who wants it.

 _> Spam callers impersonating your mother or spouse to obtain personal information_

News flash: this is already happening without AI. All you need is a bad phone connection and someone who sounds vaguely like the person being impersonated.

Moreover, it's already trivial to change the pitch of your voice in real time. With some simple audio engineering, you can alter timbre as well (e.g. filtering, equalization). If that's such a big deal, why is no one using this already? It's way, way, way easier than collecting lots of voice samples and training a model.

 _> Impersonating someone for the purposes of bullying or harassment_

Why would someone need to impersonate someone else for bullying or harassment? Bullying or harassment seems to work pretty well as is.

 _> Gaining entrance to high security clearance areas by impersonating a government official_

If someone can get access to a place simply by using voice coming from computer speakers, it's clearly _not_ a "high security clearance area".

 _> An 'audio deepfake' of a politician being used to manipulate election results or cause a social uprising_

Media organizations already do this every day, in plain sight, via selective editing.

</comment><comment> em-bee i look forward to see this applied to audio books. this will bring their price down drastically. even to zero. i may just buy the text version, and have a program to generate voice as it reads the book.

there are tools that do that now, but i find that i can't listen to the current quality of computer generated voices for more than a few minutes.

with an almost human like voice i don't think i'll care if there is the occasional glitch that makes me realize that it is a generated voice as long as it sounds fine otherwise.

</comment><comment><USER15> Sounds good in terms of lack of pauses between words and his general voice, but you can tell something is off due to the cadence and at times it seems like words trail off into breathlessness.

</comment><comment><USER16> It seems a little off to me, but perhaps that's because I already knew it was fake. I'd be interested in how this holds up in a blinded study.

Still, it's impressive that the model seems to need such a sensitive test to judge its believability.

</comment><comment><USER17> At least to my ears, this sounds better than Lyrebird did when it was posted here. Bravo!

</comment><comment><USER18> Hot damn, as someone who has listened to a few JRE episodes, it is... quite good. What really struck me was its ability to recreate words that were (I'm guessing) weren't said by him in the past. Impressive!</comment>


Scala School - <AUTHOR> http://twitter.github.io/scala_school/ <comment><USER2> Few other great learning resources for Scala:

\- a "JSFiddle" like editor for Scala: [http://scalakata.com](http://scalakata.com)

\- Interactive tours: [http://scalatutorials.com/tour](http://scalatutorials.com/tour), [http://www.scala-tour.com](http://www.scala-tour.com), [http://www.simplyscala.com](http://www.simplyscala.com)

\- Learn Scala in X minutes: [http://learnxinyminutes.com/docs/scala/](http://learnxinyminutes.com/docs/scala/)

\- Typesafe Activator: [http://www.typesafe.com/activator](http://www.typesafe.com/activator)

\- Official docs of course: [http://docs.scala-lang.org/](http://docs.scala- lang.org/)

<comment><USER3> People are doing all sorts of great things with Scala.

Scala Notebooks, which can be classified as a learning resource [https://github.com/n8han/scala-notebook/](https://github.com/n8han/scala- notebook/) \- It is an in-work conversion of iPython notebooks using d3 instead of matplotlib.

Another great analysis resource is Saddle, a scala data munging library (analogous to pandas, around the 0.8 revision). [http://saddle.github.io/](http://saddle.github.io/)

</comment></comment><comment><USER4> If you guys really into Scala, I really recommend trying Finagle ([https://github.com/twitter/finagle](https://github.com/twitter/finagle)). It was also created by Twitter. It was a lightweight HTTP server and client for Scala. It's my favorite. With just a "single" line of code, you can create an HTTP server in Scala.

I usually combine it with Rogue ([https://github.com/foursquare/rogue](https://github.com/foursquare/rogue)), an "ORM"-like for MongoDB. I used Finagle and Rogue to build a fast and lightweight REST API.

<comment><USER5> As someone getting into scala, where can I find the list of top available libs? For clojure I just browsed github, but I feel there probably is some resource out there I'm missing.

<comment><USER4> What I love about Scala is that all (most, if not all) libraries built in Java can also be used. This includes those awesome apache libraries.

For Scala written libraries, here's a link to Github page: [https://github.com/trending?l=scala](https://github.com/trending?l=scala)

<comment><USER6> Whenever possible I avoid using Java libraries in Scala. Scala and Java have very different programming styles, which are codified in the APIs for libraries. You lose the benefit of Scala style when you are forced to program against a Java library.

</comment></comment></comment></comment><comment><USER7> I've finished Martin Odersky's Scala Course. I've built a few small play2.0 apps. I've used Scala to solve ~20 Project Euler problems, and I'm fiddling around with parsers and scalaz.

However, all the Scala positions I've found are looking for engineers with experience using Scala in production. How can I make that jump? Are there any opportunities out there for junior engineers who are proficient in Scala?

<comment><USER8> Be careful; once you've been working in Scala, going back to Java is unpleasant. =)

<comment><USER9> I worked with Scala at EPFL during my 2 year post doc (in Martin's group). I later started working for Microsoft, and found the transition to C# to be initially painful but not incredibly so. I'm now a happy C# programmer, though I take a lot of liberties [1] with the system, and I also use C# mostly to build programming systems of my own [2] (though Scala has had an everlasting influence on my own work).

C# is a bit more advanced in Java (they have lambdas), and in someways better than Scala (reified generics). But the best thing about C# is that...it forces you to to settle on less elegant but functional designs in a "worse is better" style. I found myself obsessing over my Scala code to come up with perfect solutions because...I could...while in C# perfect solutions obviously don't exist. C# relieves the burden of choice, which is an interesting trade off to keep in mind when designing PLs.

[1] [http://bling.codeplex.com/](http://bling.codeplex.com/)

[2] [http://research.microsoft.com/apps/pubs/default.aspx?id=1898...](http://research.microsoft.com/apps/pubs/default.aspx?id=189802)

<comment><USER7> In my (limited) experience, for expressions make for some of the most concise code I've seen. So many problems can be represented as a chain of Options or Futures mixed with standard {val x = expression y} expressions.

<comment><USER9> But why would you want to? Even in Scala? Use Futures only when bothered with async IO, and even then be very careful about it. Options always made debugging more difficult because they defer where you get your NPE.

<comment><USER7> Isn't the point of options to statically rule out the possibility of NPE's?

        def f1:Option[Int] = Some(1)
        def f2(a: Int):Option[Int] = Some(a + 1)

        val r = for {
            a <- f1
            b <- f2(a)
            c = a * b
        } yield c
        r.getOrElse("generic error")

Individual error messages with scalaz's Validations

        def f1:Option[Int] = Some(1)
        def f2(a: Int):Option[Int] = Some(a + 1)

        val r: Validation[String, Int] = for {
            a <- f1.toSuccess(e = "f1 failed")
            b <- f2(a).toSuccess(e = "f2 failed")
            c = a * b
        } yield c
        r.fold(e => s"error: $e", r => s"result: $r")

<comment><USER9> The problem is that on the JVM, you are given a debugger based on control flow, not data flow. Once you go into heavy option code, debugging that code becomes a PITA because your tools are simply wrong. So ya, you can come up with what basically amounts to a printf for data flow code, but you are stuck doing everything on your own at that point.

The problem really stands that no one knows how to build decent data-flow debuggers. Haskell programmers prefer static safety over debugging just as much as because their debuggers suck as the type system is so powerful. In Scala, you have the option to write crash-early strict code: do it, you will make your life so much easier as a result.

<comment><USER7> Is it realistic to split long chains of Option into subfunctions returning Option? If long chains of Options are hard to effectively reason about, breaking them up could ameliorate the problem.

I suppose that conceptually, I consider returning None inside a chain of flatmapped options as the equivalent of terminating early. It's not hard to pass along an object describing the error instead of None, which gets you the equivalent of a thrown exception.

Also: can you point me towards any examples of this antipattern? I 'd like to see it in action, if only so I can avoid it in my own code.

<comment><USER9> I found the best way to debug a complex piece of scala code was to get rid of as much laziness and deferral as possible. Creating a huge lazy sequence that propagated through multiple call-layers was absolutely evil. Also, options, although strict, are troublesome across more than a couple of lines of code given the way they crash. In general, only use option if failure is expected, otherwise null is your friend!

For simple programs that do not need to be debugged, laziness is great, you can write some very concise code. Once you are debugging however, you want to expose as much control flow as possible to break and step through. I say this from writing 10s of thousands of Scala code in a fairly complicated context (Scala compiler + Eclipse) with non-trivial control flow (mostly event driven).

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> Coursera has a class as well. Martin Odersky tweeted a while ago about a possible advanced course in the fall but it doesn't look like it's happening yet.

[http://www.coursera.org/course/progfun](http://www.coursera.org/course/progfun)

<comment><USER11> I finished the course when it first came out last year. This appears to be the third session of the same class. I'm also eagerly looking for an advanced course. I used Scala in "Algorithms: Design and Analysis, Part 1" programming problems. Even as some algorithms are described in recursive style, using tail recursive implementations fail for large data sets and I have to fallback to imperative styles with lots of mutable data structures to complete the assignments. A Scala based algorithms course would be very useful.

</comment></comment><comment><USER12> It's worth mentioning that I got into Scala because of Akka. Amazing features like remote actors, supervision and more. I also appreciate how active the project is :) [https://github.com/akka/akka](https://github.com/akka/akka)

<comment><USER13> Akka is great I just launched an app into beta with Play( websocket game) and Akka , currently I'm trying to get a hang of the clustering features so I can distribute my connections out.

</comment></comment><comment><USER14> Starting out, it makes sense to just "write Java in Scala", and gradually introduce the advanced concepts of Scala as you learn them.

That way, you can be immediately productive.

<comment><USER15> That way you can delude yourself into thinking you are productive, because you are writing code immediately. However, productivity is not to be measured by the number of lines of code; rather, by 1. the amount of actual functionality implemented, 2. the elegance of the design (which saves time refactoring later on).

<comment><USER16> It's easy to forget the value of delivering functionality immediately. It's all too easy to spend a long time on an elegant design that doesn't actually serve business needs. I like to follow an agile approach where if something can't deliver value in 2 weeks then it's not worth doing (or, more likely, needs to be split into smaller pieces). That's plenty of time to learn enough Scala to be more productive than you were in Java, even though it will take months or years to learn the full language.

<comment><USER15> Learning a new programming language is an intellectual, exploratory endeavor, even if it might result in adopting that language for future programming projects. Writing software professionally is a pragmatic engineering job constrained by non-intellectual considerations such as customer expectations (and lack of knowledge thereof) and limited availability of resources (time, money, skills, etc.). Suggesting that both activities should be approached the same way is a huge mistake.

<comment><USER16> I learnt scala very effectively simply by delivering a program in it at my day job. I'm not sure about "should", but in my personal experience I've found that the best way to learn.

</comment></comment></comment></comment></comment><comment><USER17> Timely. I'm interested in scala. Would love a couple opinions from those in the know ... (1) As a (very) experienced java guy, what's really the best learning approach: comparative? clean slate? I'd "like" to do Odersky's course, but I can't commit to scheduled tasks; (2) A minimal framework seems like a good idea to me - rather than Play!, what do folks think about Scalatra as a starting point?

<comment><USER18> if you want smoother transition, try my approach: code with Java style (OOP, imperative) but using Scala syntax. once you're familar with the new syntax, naturally you will wonder, "this seems clunky, there's got to be a way to do this the Scala way". and you'll start googling "how to do X in a list" etc.

to lower the bar, don't use framework. i even coded [http://ngajakjalan.com](http://ngajakjalan.com) (one of my projects written in Scala) without framework, just plain servlet+JSP. again, eventually you'll think, "i keep doing the same thing, there's got to be some library out there already doing this for me", and start exploring.

</comment></comment><comment><USER19> I am learning Scala last couple of months. Twitter scala page is really nice for starting up. Another place with discussion of more advanced topics I find useful:

[http://danielwestheide.com/scala/neophytes.html](http://danielwestheide.com/scala/neophytes.html)

</comment><comment><USER20> This looks great. My favorite resources are those that assume prior programming knowledge and aim to get the reader up to speed quickly with the specifics of the language, not programming in general. If anything, I think I'll start studying pattern matching :)

</comment><comment><USER21> I've been interested in venturing into Scala but have not found a good resource for getting a development environment setup. Should I be using an IDE or will sbt/Sublime be sufficient?

<comment><USER22> You'll level up much faster with an IDE (IMO).

Ensime in Sublime is kinda pointless I think since it only updates on file change. The REPL and SBT integration is nice.

I use Sublime for quick examples in Scala, or as a VIM alternative for larger projects (as opposed to my main editor like with Ruby).

For most of my Scala work I use IntelliJ though. The lack of half-decent theming in Eclipse and Preferences/Settings being all over the place really puts me off ScalaIDE personally.

Going from Zero to Code in IntelliJ and SBT (on OSX) is pretty trivial. Given a command-line "Hello World" with a traditional Maven layout:

First, install IntelliJ, navigate to "Plugins" under preferences and install the Scala plugin.

Now make sure you have Homebrew installed ([http://brew.sh](http://brew.sh))

      $ brew update
      $ brew install sbt --devel # currently 0.13.0-RC5
      $ cd ~/src/
      $ mkdir hello-world
      $ cd hello-world
      $ mkdir project
      $ echo "sbt.version=0.13.0-RC5" | tee project/build.properties
      $ cat <<EOS | tee project/plugins.sbt
        resolvers += "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/"

        addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.0-SNAPSHOT")
        EOS
      $ cat <<EOS | tee build.sbt
        name := "hello-world"

        version := "1.0-SNAPSHOT"
        EOS
      $ mkdir -p src/main/scala
      $ cat <<EOS | tee src/main/scala/Whatever.scala
        object Whatever extends App {
          println("Hello World!")
        }
        EOS
      $ sbt
      > compile
      > gen-idea
      > run

And there you go. It could be simpler if we were having a LOC competition, but this is actually very close to the exact setup I use for projects day in and day out, including getting a jump on the next version of SBT and best- practicey stuff like setting the SBT version in build.properties.

If this were a Play app, you might have a "project/plugins.sbt" that looked something like this (to get a jump on the upcoming Scala 2.10 version of Play, that integrates with SBT 0.13.x):

      // Comment to get more information during initialization
      logLevel := Level.Warn

      resolvers := Seq("Maven Central" at "http://repo1.maven.org/maven2/",
                    "Typesafe Snapshots" at "http://repo.typesafe.com/typesafe/snapshots/",
                    "Typesafe Releases" at "http://repo.typesafe.com/typesafe/releases/",
                    "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/")

      addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.0-M2")

      addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.0-SNAPSHOT")

This just adds a few more common resolvers you might use for dependencies, and locks you to the latest Play milestone snapshot. You can pretty much otherwise copy/paste files/folders from a sample Play app, like you might see with the Typesafe Activator for example.

Good luck!

<comment><USER23> Excellent, thx.

(just remember "brew doctor" first).

Also for non-maccies: [http://www.scala-sbt.org/0.13.0/docs/Getting- Started/Setup.h...](http://www.scala-sbt.org/0.13.0/docs/Getting- Started/Setup.html) (it would be nice to discuss the red hat and debian distro families in that Setup page, it looks like you can't currently "apt-get sbt"

</comment></comment></comment><comment><USER24> after years of java coding, i started following the scala "trend" but had no chance of actually using it where i used to work. nonetheless, i did coursera's odersky course and started using it here and there for (very little) personal projects. with that in my toolbelt i was able to find the job i now have. they were using scala/akka/play (but also scalding and other stuff) and they were okay with somebody with little experience but willing to commit to it. i accepted and now have spent 4 months away from java and diving into scala and i just love every bit of it (even SBT that at first looked very little interesting).

</comment><comment><USER25> I've been looking for examples of applications built with scala and akka that I can learn from. I've built small, toy-ish stuff but I feel I learn a lot by looking at examples. Any have any recommendations?

</comment><comment><USER26> Bookmarked, I needed this, very helpful. Thanks.

</comment><comment><USER27> sorry to nitpick,

the unicode didn't render properly on chrome stable, windows 7

"From ∅ to Distributed Service"

otherwise quite interesting</comment>


Why the Future of Data Storage Is Still Magnetic Tape - <AUTHOR> https://spectrum.ieee.org/computing/hardware/why-the-future-of-data-storage-is-still-magnetic-tape <comment><USER3> My dad's PhD thesis is stored on a magnetic tape formatted for a PDP-11. He'd like to copy it off, but it's difficult to find a computer that can read it! Back in 2006 we went from Geneva to Lausanne to visit Musée Bolo, but their PDP-11 had a problem with its Winchester drive (hard disk) and wouldn't boot. After a few hours, we gave up. Please get in touch if you have the tools - <USER2> know he'd like his digital copy back!

Even more modern formats are difficult to copy forwards. I'm currently tidying out my old computer collection, copying off data from SCSI disks, 5.25" floppies, DD floppies, HD floppies, and CDs. My USB floppy drive can't read DD floppies.

The SCSI path requires copying to a PowerBook G3, removing the internal hard drive, putting it into a USB-PATA controller, and copying it to my laptop. I'll need to do the same for all the 2GB JAZ cartridges. I don't even have a ZIP disc reader, so I gave those two discs away to another collector so he can read them for me. The 5.25" floppies are the hardest - they don't mount even on old Macs, so I'll need to figure out how to set up ADTPro to copy them over serial from an Apple IIgs.

If you're in the area and want some old hardware/software/magazines/user manuals, please let me know!

[https://www.reddit.com/r/VintageApple/comments/99223h/peters...](https://www.reddit.com/r/VintageApple/comments/99223h/peters_den_geneva_switzerland/)

The lesson? If you want to keep the data, also keep the computer that can read it. And make backups.

<comment><USER4> Alternatively, print the data with a laser printer on acid-free paper and encase it in epoxy resin:

[http://carlos.bueno.org/2010/09/paper- internet.html](http://carlos.bueno.org/2010/09/paper-internet.html)

<comment><USER5> Missing one more criteria,

4\. Be recoverable

How exactly do you extract the information after you drown it in resin?

<comment><USER6> If you read the article and look at the pictures, you will notice the resin does not touch the paper stack to be conserved.

So when you are ready to recover it, you can just break the resin shell to get at the paper stack inside.

<comment><USER5> > just break

Elaborate?

<comment><USER6> Sledgehammer?

[https://open.spotify.com/track/2aDbkEEcAwh1upaMngsvnF](https://open.spotify.com/track/2aDbkEEcAwh1upaMngsvnF)

</comment></comment></comment></comment></comment></comment><comment><USER7> It would be great if magnetic tape were more accessible for consumers. A while back I was reviewing local backup and storage options, and I read up a bit on it. I think it scales better when you have massive amounts of data, but the initial price is fairly steep.

At the consumer level it makes way more sense to buy HDDs. My suggestion would be to pick up something like the EasyStore 8TB external HDD [0] (on sale right now at Best Buy for $160, will probably drop again soon). You can open it up, extract the drive, and drop it into your computer if you want internal storage.

If you want to reduce the risk of data loss you can also fill one up with an encrypted snapshot of your important things and ship it to a family member. Very important if you live somewhere that's at risk of being destroyed by natural disasters.

[0] [https://www.bestbuy.com/site/wd-easystore-8tb-external- usb-3...](https://www.bestbuy.com/site/wd-easystore-8tb-external-usb-3-0-hard- drive-black/5792401.p)

<comment><USER8> For the majority of consumers, cloud backup makes more sense than tape backup -- few people have the discipline to stick to a safe backup regimen.

<comment><USER9> Cloud backup will never work for 8T of data :-)

<comment><USER8> With a gigabit internet connection, it would take about a day to backup 8TB. 100mbit could do it in 222 hours. At 10mbit, about 90 days.

<comment><USER10> Last year I took a subscription to Backblaze, (incidentally) I have around 8TB of data, I have a gigabit upload (a real one), but Backblaze servers are on the other side of the planet for me. It took around 3 or 4 months to upload it all.

That's to say, there's more to it than upload speed, if Backlaze had servers in Europe I'd recommend it much more than I do.

<comment><USER9> What about another 3 or 4 months to download a restore?

<comment><USER8> The core data that I'd want to restore immediately if I lost my primary fileserver is only around 100GB or less

I have several TB's of other data (mostly photos, videos, etc) that I'm fine waiting for weeks or months for if needed, but if you're in a hurry, Backblaze will sell you a hard drive that they restore your backup to and mail it to you.

<comment><USER9> At that point, one might as well just wind it off to a hard disk in the first place, then store it offsite.

<comment><USER8> Then I'd need multiple hard drives for redundancy, and I have to bring them back and read them regularly to make sure the data is all readable. And while I have a large amount of data that I rarely touch, I have a small amount that changes frequently, so I need to include that data in my off-site backup too.

Or I could just sign up for a cloud backup service, spend a month or so uploading my initial snapshot of data, and then backups are automatic and always offsite, replicated, and scrubbed. For $10/month.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> Ahh, the old old old saying, "Never underestimate the bandwidth of a stationwagon full of tapes" still holds true.

<comment><USER12> This actually seems like a fun math calculation... Has anyone done this before?

<comment><USER13> You could easily fit 10PB in the back of a pickup truck (a thousand 10TB hard drives). San Francisco to NYC is a 4 day drive at 12 hours a day.

So that's 10PB/4 days = 231 Gbps

Not bad!

<comment><USER14> I would expect ~2,000 tapes in the back of a pickup, at 6TB each. Note that:

\- Tapes are easier to stack and load in boxes \- Tapes are are more resistant to shock and damage from vibrations \- Tapes are generally more resistant to damage from the environment \- Tapes weigh less than hard drives (this is true whether measured per tape or per byte)

<comment><USER15> Don't forget to include the time it takes to write to and read from the tapes (or HDDs)

<comment><USER16> But if you transmit the same data using networks, you also need to read / write from the tape/hdd/whatever, unless you're talking about RAM-to-RAM speed.

IMHO you should just account for the time to mount/connect the HDDs to the computer.

<comment><USER17> And you could read/write transported HDDs or tape in parallel. If you're transmitting over the internet, it's much more difficult to have parallel transmission paths.

<comment><USER18> HDDs, yes, but tapes, no.

That is, HDDs are generally unbounded in the parallelism because disk bays are cheap [1] and plentiful.

OTOH, tape drives are expensive, multiple thousands of dollars, which makes them scarce.

[1] $100/bay in quantity, but, in some cases, effectively $0 if counting unused bays in existing servers.

<comment><USER17> You can still have multiple drives on either side. Sure they are expensive, but if we're talking hundreds or thousands of tapes (we have the size of a station wagon to work with), there's a budget for more than one drive on either side. Even with drives, if you get too elaborate of an enclosure or JBOD, you're looking at thousands too.

Hell, you could even bring the drives with the tapes!

<comment><USER18> My point isn't that parallelism isn't _possible_ with tapes, but, rather, that it not comparable, due to cost, at same order of magnitude or two.

> Even with drives, if you get too elaborate of an enclosure or JBOD, you're > looking at thousands too.

This actually supports my point (except the "too", which is misleading). One can reasonably expect that $2k-$3k enclosure to support 16-44 disks for that price [1], compared to a tape drive's singleton.

[1] Full-featured Synology NAS with 8 drives is under ~$1k, for example, while a CSE-847E1C-R1K28JBOD holds 44 drives for $2800.

<comment><USER17> If you're saving on the order of a hundred dollars per tape (12TB), you're going to have enough left over for a few readers.

But - this is a silly argument. I think we actually agree on all of this and we're talking about an extreme hypothetical that while I'd love to test out, isn't something I'm going to do in the near future!

Although, a few years ago, I did have a similar issue. I needed to love about 500TB of data from one data enter in Menlo Park to a new one in SF. We tried everything we could to make sufficient backups, but it was hard to backup 500TB of data over even a 10Gb/s link. We ended up just moving the physical JBODs in the back of a rental car. Most stressful drive I've ever made.

<comment><USER18> > If you're saving on the order of a hundred dollars per tape (12TB), you're > going to have enough left over for a few readers.

That's a good point, and it certainly improves the attractiveness of tape overall. Still, a $200 saving in medium doesn't make up for a $2600 difference in drive cost. How well does it improve the appeal of tape for parallelism?

The media+drive cost of LTO-8 for 12TB would be around $2850, while for disk is only $550. Considering LTO-8 has transfer speeds of 1.6x or so that of disks, that means only 5 tape units are needed to match 8 disks. That's still $14.2k compared to $4.4k, over 3x. (With disks, I'd want to do RAID6 or RAID-Z3 at the very least [1], which further reduces that ratio, but not below 2x).

That's certainly much closer to parity than an off-the-cuff estimate, but it's still not close enough to be practical. Anyone needing to transfer data in bulk, fast, would _still_ do well to choose disks, not tape.

> this is a silly argument. I think we actually agree on all of this and we're > talking about an extreme hypothetical

I disagree as to silliness, and as to argument, since I also think we generally agree. This is a discussion in the spirit of HN, satisfying intellectual curiosity.

I also disagree that it represents an extreme hypothetical. I believe your own anecdote is nowhere near as rare as you imply. Even at lesser scale, it's an issue: the existence of the AWS Snowball is a testament to that.

[1] Ideally true sector-level ECC, though AFAIK, ZFS can provide a close enough approximation

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> The problem is it's near impossible to get a tape backup system at home.

It's all fun to say "oh a single tape can do 15TB" but it must cost in the thousands and thousands of dollars.

<comment><USER20> I think that's because the market has shrunk so much.

I remember when I was younger, I got a single SCSI external tape drive, and some tapes, from the Micro Center in Cincinnati Ohio. I then used that to back up my computer while I was in college. I've forgotten so many of the details, like the model of drive and tape, and the backup software (it was Mac OS). I do know it wasn't LTO, though, because it had to be rewound.

These days, were I to do something like that, I'd do BD-R. Yeah, you're only talking 50 GB or so (uncompressed) per disc, but that's not bad!

<comment><USER21> As a kid, we had one of those home/small business targeted drives that attached to the PC via the floppy drive controller. QIC, or whatever it was called. Native capacity was ~120 MB, and the drive had some built-in compression so it was marketed as 250 MB. It made a horrible screeching noise when running.

Linux even had a driver for it at some point (ftape), but IIRC it has since been removed due to lack of use. Never used it though, by the time I got more into Linux that drive was already obsolete.

But yeah, today the startup cost of a tape drive is so high that it doesn't make sense for home usage. At home I use borg backup ([https://www.borgbackup.org/](https://www.borgbackup.org/) ) nowadays, backing up to external USB hard drives.

<comment><USER22> I had a HP colorado backup (400/800), I think it's QIC like.

Tried to use it on an old p3 box with win95, and was utterly surprised that win95 backup application had support for generic backup tape drives that allowed me to restore the tape content.

I also love the super smooth mechanical sounds of tape drives, even at the cost of slow seek.

</comment></comment></comment></comment><comment><USER23> I was thinking —like other top-level comments here— that it's a great shame that consumer level drives have died out. They're thousands of dollars and all wired for enterprise interfaces.

But I'm really surprised that nobody[1] is offering "tape backup as a service". Pay $30 per 3TB cassette (slightly over market rate), a $10 loading fee and then $1/h for 100MB/s write access. When you're done, pay another $10 and it's shipped to you. Or $5/month for fireproof storage.

This might have to be a pre-booked service, or they could buffer upload onto spinning disks and write to tape after the fact (much faster), but for storing more than 1TB, this method could be vastly cheaper.

[1]: That one quick Google could find.

<comment><USER24> How would this, in effect, be different from any serious backup service in existence today? I'm sure they do _their_ backups of your backups on tape, and at least rsync.net is willing to ship physical media with your data to you.

<comment><USER23> Price!

In the simplest version of my post, you're paying for media, the time for somebody to pop it in the machine, the hire of that machine while you copy data to it over the network, and the postage of a tiny little LTO back to you for archival.

On higher density tape, you could be looking at a one-off $100 total for writing 10TB of data to tape and mailing it back. There's a lot of room between that price and the nearest incumbent to make a strong profit there.

rsync.net seems very bespoke, so they may be able to give you a tape, but you're looking at $250 per "incident" plus hardware. They waive that fee if you store more than 100TB ($2k/month).

Yeah, they're much more available but most of us aren't after cloud storage, we want a lasting backup in case the NAS dies, or the house burns down. Restore speed doesn't matter.

<comment><USER24> Ah, true. I didn't consider the "one time dump of a boatload of data" as a use case. My backups tend to run relatively often, and at that point, $10 for each tape load would easily make the tape service more expensive!

</comment></comment></comment></comment><comment><USER25> While there's an explosion of data that we keep hearing about, the aspect I'm curious about is how much of that data will at any one point be "hot" or even "warm," in that it needs to be processed and analyzed in short order (talking microseconds or nanoseconds, not in tens of seconds like tape (or more as the data then needs to be sent over a network to a server somewhere else)). Cold storage can be archived on tape or HDDs, sure, but as compute continues to grow, surely more and more data will need to be hot or warm at any given moment. Just whether that hot/warm data will grow its overall share of data in existence or simply grow at the same rate is what I wonder about.

<comment><USER26> When I started working on mainframes at a big financial company there were jokes about the 'tape monkeys' which loaded tapes when we requested old datasets. We laughed and dismissed that, surely everything was mechanised.

It was only after a year or so that I was cleared to visit the data centre and discovered that the mechanical tape silos had failed years ago. Every tape had to be located and loaded by hand. I felt guilty about all those datasets I had ordered on whim... and was surprised that the DC guys didn't have a 'Hit List' of progammers.

<comment><USER25> I'd be very paranoid if I were you :)

</comment></comment></comment><comment><USER27> It is suggesting there are research that shows it is possible to have 20x times the density of current types, which tops at 15TB. But these research are like battery breakthrough, good in theory but not thought through in practice.

While we have a real roadmap, and a working solution of MAMR, much more so than the proposed HAMR from Seagate, that will scale us to 40TB per HDD by 2025, and may be more so given we don't really know the limits of MAMR yet, and we manage to put more platter inside a helium drives. Which I don't think is possible with HAMR, laser heating plate with helium filled drive has got to fun inside labs.

NAND Flash is also dropping in price, the current NAND spot price are already backed to 2016 price or may be even slightly lower. We have Fabs from Toshiba, Samsung and SK Hynix all coming online in 2019, all while 3D NAND are achieving better yields. The "Ruler" that Intel proposed has now standardises and becomes EDSFF, with up to 1PB storage in 1U. All current roadmap suggest we should hit 8PB or 16PB in 1U by 2025. In terms of 48 Drive in 4U server, HDD offers only 480TB per 1U by 2025. That is 16 to 32 times the density difference comparing to NAND.

In a system where information is stored in different drives like black blaze[1] , your reliability reaches a point ( I think, forgive me if I am wrong ) no different to those offered by Magnetic Type. What are the advantage left for using magnetic type? When cost, performance, space, reliability does no longer flavours them?

[1] [https://www.backblaze.com/blog/cloud-storage- durability/](https://www.backblaze.com/blog/cloud-storage-durability/)

<comment><USER28> Tapes can last for 50 years. They are the MOST stable and reliable form of storage we have.

We have also not even reached any kind of limit on density. Sony has tapes that hold hundreds of terabytes.

So, they last forever, are extremely reliable, and extremely data dense.

HDDs exploit the same concept (magnetic storage) but trade speed for reliability. NAND is more reliable but still has a shelf life, and it also relies on support chips to constitute the overall media. It's also expensive as hell.

Tape is tape. You could smash a cassette and respool the tape and read it. Its also cheap as hell per gb.

Tape will be around for decades if not centuries to come. NAND is not a challenger whatsoever.

A key piece of the puzzle here is that not only are tapes used for backup, but to free up space from data center HDDs in order to increase their shelf life.

Stop thinking of tape as archaic. Magnetic storage is the foundation of modern technology and computing, and in past decades we barely scratched the surface of its potential.

We aren't talking about audio cassettes with analog audio recorded to them. We are talking about a storage medium that is more data dense than HDD or NAND could ever be and we have yet to reach any sort of limit.

With tape you can achieve more and more space by manipulating the width and length of the tape, the tape heads, the angle at which tape is read, and the way that the data is read and stored. It's also just a plastic cassette with polyester tape coated with rust particles. It's inherently cheaper, requires no circuitry, power, or motors within the media itself, and will last 50 years.

Tape is the purest implementation of magnetic storage concepts. As such it is going to improve faster than HDDs because there are no other design factors like platters, motors, and heads. If an HDD dies, you might be able to recover the data through expensive and time consuming procedures. If your tape drive stops working, you buy another drive and still have an intact tape with all of your data.

Additionally, while SSDs are wonderful, they are a pretty backwards design when it comes to efficiency. You are essentially trying to model magnetic storage by using integrated circuits. You are storing values with digital logic in a physical state on a chip.

Its fast and more reliable than a spinning metal disk, but it's expensive and not data dense at all.

The only threat to tape is public perception of it being "old" when it's really the most robust and best engineered data format we have.

<comment><USER18> > Tape is the purest implementation of magnetic storage concepts. As such it > is going to improve faster than HDDs

I agree with the former, but I think your conclusion misses a critical piece of technology development: volume (which drives funding).

Of course, HDD volume is going down, while SSD volume is going up. That may well give tape enough of a comparitive advantage, if it hasn't already.

> The only threat to tape is public perception of it being "old"

For a definition of "public" narrowed a bit to include only/mostly computer professionals, I'd add "slow" as a mis-perception.

Other perceptions I, personally, have is that it's expensive and inflexible, mostly in the context of startup companies. I don't believe that's any kind of _threat_ to tape, however, since it's likely these same companies will gladly over-pay for a cloud version of tape.

</comment></comment></comment><comment><USER29> GDPR - please delete me from _all_ your systems.

JFC. Harry get the key to the basement, need to dig out some tapes. San, can you pop down to the store and get some matches and lighter fluid...

<comment><USER30> I don't know how GDPR handles backups and what time tables are allowed for reasonable data retrieval and expunging.

Encryption decreases the volume of data that needs to be most carefully protected from the entire data set down to the key (and backups of said key). I imagine that data on mediums that make data retrieval and writing expensive can be encrypted with compartmentalized keys. So when Jane Doe wants her data deleted, delete the keys.

<comment><USER31> > I don't know how GDPR handles backups and what time tables are allowed for > reasonable data retrieval and expunging.

Keep a log of user ids who have requested deletion and purge their data whenever doing a restore. And don't keep backups for longer than required, which I think is generally something like five to seven years barring specific legal requirements.

</comment></comment></comment><comment><USER32> > _Mark Lantz is manager of the Advanced Tape Technologies at IBM Research > Zurich_

Seems a bit odd to see such a blatant P.R. piece in IEEE Spectrum.

Wasn't optical going to eat rust-based cold data storage technologies? What happened?

<comment><USER33> Optical discs are now up to 300 GB and they have caddies the size of an LTO tape that hold 12 discs. Seek time is obviously better than tape but I don't know about the price. The only remaining vendors are/were Sony and Panasonic.

[https://panasonic.net/cns/archiver/](https://panasonic.net/cns/archiver/)

[https://perspectives.mvdirona.com/2016/03/everspan- optical-c...](https://perspectives.mvdirona.com/2016/03/everspan-optical-cold- stroage/) (Sony Everspan dropped off the Internet; did they go out of business?)

<comment><USER34> From a cheaper end-user/consumer point of view, the only real option for optical disc storage is BD-XL, which is a 3 or 4 layer Writable BluRay Disc supporting 100GB/128GB per disc.

In comparison to tape, it's not that much storage, but fairly cheap to implement at home. £60 for the drives, and about £15 per 100GB disc.

</comment></comment></comment><comment><USER35> I can't seem to find this information with my google-fu, but does anyone know if magnetic tapes such as in vhs and cassette tapes have perpendicular magnetic anisotropy?

<comment><USER36> I'm not entirely sure what it is that you're asking. But if you're asking if the heads for an audio cassette are angled, the answer is no. They're perfectly perpendicular.

For VHS, yes, they are angled. 30 degrees, IIRC.

If that's, indeed, what you're asking.

<comment><USER35> I was referring to whether the magnetization lies along the normal of the film/tape or if it's in plane. HDDs were able to increase density by moving to materials that had a magnetization with perpendicular anisotropy but I can't seem to find confirmation if cassette tapes and vhs had in plane anisotropy back then. More so I can't seem to find if today's magnetic tape storage has moved to perpendicular magnetic anisotropy.

It seems

<comment><USER37> Doesn't seem like it would be possible given the substrate material.

</comment></comment></comment></comment><comment><USER38> While, Intel Introduces "Ruler" Server SSD Form-Factor.

"Intel on Tuesday introduced its new form-factor for server-class SSDs. The new "ruler" design is based on the in-development Enterprise & Datacenter Storage Form Factor (EDSFF), and is intended to enable server makers to install up to 1 PB of storage into 1U machines while supporting all enterprise-grade features."

ref: [https://www.anandtech.com/show/11702/intel-introduces-new- ru...](https://www.anandtech.com/show/11702/intel-introduces-new-ruler-ssd- for-servers)

<comment><USER38> Well my point was not to show flash as superior but to point out the development in that area... every use-case has reason be it flash or Magnetic... author choose to paint Magnetic as better alternative to Flash (in capacity dimension), which is obviously can not be true for all the use- cases... (same for flash) my comment it to high-light that fact...

<comment><USER18> > author choose to paint Magnetic as better alternative to Flash (in capacity > dimension)

I'm having trouble finding where in the article that occurred.

To me, it seemed to ignore flash/SSD, as the principle premise was that tape survives due to its low cost (at scale), so only the highest-density HDDs were mentioned.

</comment></comment></comment><comment><USER39> > And tape is very secure, with built-in, on-the-fly encryption

What exactly is this referring to?

<comment><USER33> It probably means the drive does the encryption, but so do hard drives and SSDs.

<comment><USER40> yeah, that. KMS involving the library and maybe an external key server.

</comment></comment></comment><comment><USER41> TLDR;

Today, a modern tape cartridge can hold 15 terabytes. And a single robotic tape library can contain up to 278 petabytes of data.

<comment><USER42> Anyone know what exact tape they are talking about? When I google 15TB tape I only find a LTO-7 which is 6TB native, and 15TB compressed. Assuming a compression a compression ratio of 2.5 to 1 seems pretty crazy to me.

<comment><USER43> They're probably referring to the TS1155 variant of [https://en.wikipedia.org/wiki/IBM_3592](https://en.wikipedia.org/wiki/IBM_3592) .

To be honest I never really understood the main reason for adding compression, especially since you can compress individual files far better using existing algorithms and then write those to tape. It must be a marketing thing.

<comment><USER42> Ah, thanks, they do list a 15TB tape. I looked around and could find the 10TB variety for $212 or so, but couldn't track down an actual 15TB tape for sale.

The 10TB tape I found was "IBM 3592 JD Advanced Data Tape Cartridge 10TB/30TB (2727263)"

<comment><USER44> The cartridge is the same. It can be reformatted from 10 to 15TB using the newer tape drive.

[https://spectralogic.com/features/ts1155-technology-tape- dri...](https://spectralogic.com/features/ts1155-technology-tape-drives/)

</comment></comment></comment></comment></comment><comment><USER45> IBM bubble memory

</comment><comment><USER46> What about scratches

</comment><comment><USER47> So... who actually uses them in the age of AWS / S3. Is this becoming a much much much smaller group?

<comment><USER48> [https://aws.amazon.com/glacier/](https://aws.amazon.com/glacier/)

Looks like tape as a service.

<comment><USER49> Glacier's actual storage backend technology has never been disclosed, although this is plausible. Other proposed technologies are racks of older (less efficient) disks that are not always spun up, huge slow flash memory banks, et c.

<comment><USER50> It's expensive enough to be anything but ssds really. Glacier is more expensive that b2 from backblaze and they use hot storage regular HDDs

And that's not taking into account the extra money Amazon makes from the requests and data transfer that could offset storage costs.

I wouldn't be surprised if the glacier data was mixed right in with s3 storage. Just deprioritized when io is high.</comment></comment></comment></comment>


Placebo Buttons - <AUTHOR> http://youarenotsosmart.com/2010/02/10/placebo-buttons/

<comment><USER2> I remember seeing something similar to this not so long ago here on HN - especially regarding the crosswalk buttons.

 _> More than 2,500 of the 3,250 walk buttons that still exist function essentially as mechanical placebos, city figures show. Any benefit from them is only imagined._

This is justification that you should keep pressing the button. Even if only 750~ of them actually function, that's more than 0 from not pressing the button.</comment>


reCaptcha - Block spam and digitize books - <AUTHOR> http://www.techcrunch.com/2007/09/16/recaptcha-using-captchas-to-digitize-books/

<comment><USER2> Seems like yet another application of Luis Von Ahn's notion of "human computation". Using human cycles to solve computationally intractable problems:

<http://tinyurl.com/2wtrco>

Its interesting to note that given the usability constraints of captchas people will almost always go for a "more usable" and algorithmically complex alternative if one is available. The use of akismet to stop comment spam in blogs in a case in point.</comment>


Control the LED Lights Outside of Iceland Opera Hall Through Socket.io App - <AUTHOR> http://paint.is <comment><AUTHOR> Watch a live camera feed of the building at [http://m.ustream.tv/channel/FpWPE2VrDrt](http://m.ustream.tv/channel/FpWPE2VrDrt)</comment>


Why to Join a Startup After Graduating - <AUTHOR> http://estromberg.com/post/6108833062/5-reasons-to-join-a-startup-after-graduating <comment><USER2> I agree, though you do need to make sure you choose a good startup. There are still startups out there that view developers as interchangeable cogs, where you can end up with the worst of all worlds (no stable paycheck, no real autonomy, uninteresting work).

One thing I did notice - it can be a little risky to spend a long time at a single startup that fails. I worked for a startup that did fail (and was a little crappy) for two years, and some people had been there for 8 or more years. When it tanked, the people who had spent their entire career since college at the startup didn't have extensive networks to tap into for the next gig.

The ideal resume probably includes a stint at a large but respected company (such as google amazon), as well as some innovative work at smaller companies and/or startups and maybe some consulting and open source work.

Of course, the "resume" is starting to get a little outdated, and a lot of people would say the best thing to do is just start your own company when you're young and can afford the risk, rather than wasting those consequence- free first 10 years on resume building.

Now that I'm the primary wage earner for a family with two kids, trust me, I know the restrictions. Interestingly, startups aren't really off limits to people like me in places like the Bay Area, because they keep your skills sharp and there is just so much hiring going on (the ol "career security" vs "job security" thing).

But what is off limits (or at least very difficult) is the ramen-level poverty you can afford when you're in your 20s and have nobody depending on you. For the first 5 years after college, my rent was $350/month near the beach in San Diego, and that was the only real expense. If I'd needed to, I could have driven that even lower. That's a serious opportunity that goes away later in life.

<comment><USER3> I would love to move to Mission Beach, San Diego! Best surfing place I've ever been to [1]. However, I assume, that there is more interesting stuff going on in Silicon Valley.

Right now, my plan for the summer is to couch surf around a bit in Palo Alto first. Then, if I find nice people I will offer them a small but fair monthly payment so I can use there kitchen and bathroom and hang up my hammok in the garden. Has anyone tried this before? Any tips? Looking for a couch surfer? I'd like to bring down my expense to the minimum of what is sustainable, healthy and productive.

Can you use the Stanford library and Wi-Fi for free? You can at MIT but here in Munich the Wi-Fi is locked for non-students/alumni. Also, according to Phd- comics, there is a much free food there as at MIT, right?

[1] I learned to surf whites with a long board there within a few hours. The best thing is, that you can walk instead of paddle because the water is so shallow. This way, you can surf all day long, even as a rookie. Also, board + wetsuit are $10 whereas in San Francisco I couldn't find anything cheaper than $25. In San Diego they even let you bring back the stuff any time you want, with free pick up later the day.

<comment><USER2> Yeah, Mission Beach is an excellent surfing beach, good for beginners but also attracts some good surfers because it's a wide open beach break in the usually crowded SoCal surf scene. I was about a 5 minute bike ride away. The downside is that this is pretty much what I spent my time doing. Keep that in mind any time you consider taking any advice from me ;)

Unfortunately, PB and MB are no longer anywhere near as inexpensive as they were when I was living there, so it's not quite the slacker paradise it used to be.

</comment></comment></comment><comment><USER4> The biggest reason I joined a startup after graduating: I got to do things.

Positions that I would be steered towards applying for in big companies would be things like "sales engineer", "support engineer", testing, verification, documentation, government policy... lots of grinding-work type of jobs. Put in your 5-8 years and/or get a Master's degree, and then we can talk about interesting work (I'm in hardware, fwiw).

At the startup, I do a bit of all that, but I also get to make things. A few months in, and I was designing boards, all the way from initial design, through schematic, layout, prototyping and testing. I write code we need when we need it. I get to help figure out what kind of specs we need to look for, and how to do it. I get to work at macro- (architecture) and micro- (components and signal levels) levels in near-parallel, on _my_ design in progress.

I have the impression that I would be lucky to have found a job with a large company that let me run as far as I have in any one of those directions.

</comment><comment><USER5> Human beings are naturally divided into three different groups with different likelihood of risk-taking after graduating:

1\. I can risk everything to be an entrepreneur.

2\. I want to be an entrepreneur, but I'm not ready or I'm unsure to take the risk.

3\. I just want a stable career and work as hard as I can.

The first group will start their companies; the second group will join start- ups to _learn_ what it takes; and the third group will ultimately join big companies and earn a stable income.

Ironically, start-ups usually want loyal people to stay (especially when their businesses are uncertain), so they aim for the third group when choosing people. Big companies want to look for extra investment opportunities, especially from their employees (because they know them more and trust them more), so they may want to hire the second group instead.

It's always hard to match the mutual interest in hiring. I don't think there're any _reasons_ to choose what to do either. It all depends on what the other companies want and which group you fall in.

<comment><USER6> I think you are definitely onto something, although it's a temporary mindset.

I've worked at a startup for exactly the reason you describe as type #2. Consider it practice for my eventual startup (when I will join #1).

But after graduation I declined going back to the startup world and choose path #3. I did this for a very specific reason: stability while I save up some money to let me do #1.

But I disagree with your use of the phrase 'risk everything'. There is almost no way to 'risk everything' at graduation because you have nothing. I thought about going straight to #1, but it would have required living at home with my parents. Instead I moved out and got a job. If you are living at home and being supported, you are almost risking nothing. If your startup fails while your living expenses are $0, you haven't fallen at all.

The risk for someone to jump later in life is far greater. You have savings people can come after if you go bankrupt. You have bills and responsibilities. You truly are risking something. Living with someone else's support right after graduation really isn't risking anything.

</comment></comment><comment><USER7> Why not to join a startup after graduating:

1) _Leverage_ (lack thereof): When you work for a larger player, you have established yourself as a person that the firm found acceptable. Having a big name company on your resume means that you were accepted (and lets be honest, for however bad people describe working at a large company, there are enough people who want to work there that it lends credibility). I've had countless offers just handed to me (ie joke interview, sometimes even just offers on the spot) based on pedigree.

Addressing his argument about "cashing in chips", it comes when you decide to start on your own. Just mentioning names of my former employers or work therein automatically confers a sense of legitimacy, and I've noticed that my phone calls are actually returned (try A/B testing this)

2) _Cash_ upfront: The ideal ideal solution is to bootstrap your own startup. Unfortunately that means you need to have enough cash to bootstrap.

To defray the obvious argument, I will break down the chance as follows:

\- If you are going into a startup, you are taking the chance that the startup will do sufficiently well that your equity actually has enough value to compensate for the lack of salary (and that's not necessarily within your control)

\- If you are going into a company, you are taking the chance that your lifestyle won't scale to meet your income. If it does, you won't have as much flexibility when you do want to do a startup.

The salient point here is that, with a company, the result of the gamble is completely within your powers

3) _Relationships_ : You build relationships with hundreds or thousands of coworkers, on top of the umpteen companies you interact with on a daily basis, who have other skills that may be of help later on. I still call on some former coworkers and others for help with certain things they were strong in, and vice versa. It's hard to build that rolodex at a startup.

I probably could write a point-by-point rebuttal to the original post

<comment><USER7> <http://news.ycombinator.com/item?id=2623797> <\-- a little bit longer discussion

</comment></comment><comment><USER8> I still hold the best place for a person after graduation is a large but not monolith company. Avoid Google, Microsoft, Amazon, the giant companies where you're just a cog in a giant machine. Go to a company like LinkedIn/Dropbox/Square. They are growing and are hiring, they aren't startup level anymore but most likely you will many benefits of startup life (freedom to move around, less clearly defined roles) without the long hours and risk. You also have the advice and mentorship of people who have already built a successful company.

<comment><USER6> Medium sized companies of all stripes seem to be the best for someone early in their career. Small enough to notice you, but big enough to have somewhere to move you once you are noticed.

One of the biggest problems with a startup - if there are 10 engineers, where can you get promoted to?

The converse problem at a large company, there are plenty of places to get promoted to but getting recognized is often hard. I've been at my job 9 months at a big company and have had 2 different bosses already. My boss's boss oversees 100 people and barely knows me. How do you built continuity and a reputation?

Medium sized (50-250 people?) seems the best, but are sometimes hardest to find. They aren't on the S&P500, but they also aren't young enough to get press in Techcrunch.

<comment><USER9> It's growth rate that matters, not size. I interned at a medium-sized (~150 employees) consulting firm in college. It was a pretty relaxed and functional atmosphere work-wise, but it would've been a career dead-end. It was far too easy to get pigeonholed into a single contract for a couple years and not learn anything.

</comment></comment></comment><comment><USER10> The biggest problem I see with joining a startup after graduation is more often then not, Startups don't use any kind of best practices, as they just want to Get Things Done(tm).

It's not uncommon to run into a startup that doesn't use source control, code comments, have failover servers, or even have a dev/staging environment. There are some things that are best to get a good foundation for your career, and large companies provide these in droves.

That said, there are Startups that have their act together, and after college is probably the best time to take that risk.

<comment><USER11> For what it's worth, we're helping dozens of startups hire, and I think every single one uses source control, some have failover servers, and I'd the majority have dev/staging environments (I haven't looked at their code bases, so I don't know how well documented the code is).

That said, you're right: Startups do focus more on getting things done and making sure people actually want what they're building, sometimes to the detriment of best practices.

On the other hand, startups tend to use use better (and certainly newer) tools. For instance, git vs. svn or cvs.

<comment><USER12> And not all big companies use source control; let alone failover servers and dev/test/prod.

<comment><USER3> Exactly. Also, they may suffer under the "not build here" syndrom. I heard this is true for Google.

</comment></comment></comment></comment><comment><USER13> As much as I enjoyed working at a startup and watching it go from debt to massive profit, I definitely don't think it's for everyone. Or even most people.

It takes a tremendous amount of drive and passion to deal with the negatives of working at a startup. Low pay, odd/long hours, uncertain future, non- existant code base...

For many people, taking that junior programmer job at the big corporation is much closer to their pace and risk level.

And let's not forget that if you have that much drive and passion, you might be better off being a partner at a startup, instead of being a hired hand.

<comment><USER14> > Low pay, odd/long hours, uncertain future, non-existant code base...

This sounds like programming in grad school!

</comment></comment><comment><USER15> I think spending some time in a big company after graduation is very worth while. Preferably not a software company. At least you'll learn the culture, the way they work, their problems. With this knowledge under your belt you will be in a better position to sell into these companies in the future.

</comment><comment><USER16> It's more valuable to start with a huge corporation and then move to a start- up according to my personal experience.

At a large software/Internet company, you can learn best practices, how organizations work, politics, real team work and real challenges in large scale. And can make more connections that will help you for future opportunities and company name might be a great reference.

But 1-2 years later, you have to move on. Because clearly, you'll see that you've started almost nothing, never practiced some fundamental architecture patterns (since your large scale cant scale with them), shipped less code. You are living in a comfort zone that you obviously cant even take a tiny risk.

</comment><comment><USER17> In the bay area this seems an increasingly irrelevant question (join a startup vs. big company), compared to grads deciding between joining and startup and _starting_ a startup. I'd be curious to see more discussion on that pros/cons surrounding that decision for new grads.

<comment><AUTHOR> Totally. This is definitely something I'm seeing on the East Coast as well (Although at a lower rate than those deciding between startup and big co.) The advice I've generally been given is to start a company as soon as possible, because nothing can prepare you for the world of being a founder. In reality, my experience working for a startup has been incredibly useful in shaping how I think about starting my own company. Looking back I feel I was relatively clueless right out of college, and working for a startup first has been an awesome choice for me. But again, I am just one data point.

<comment><USER9> Looking back from my first job after college, I feel I was relatively clueless right out of college.

But looking back from my startup after my first job, I was relatively clueless in my first job.

And looking back from my big-company job after my startup, I was relatively clueless in my startup.

I don't think this ever ends. Rather, you just become relatively _less_ clueless compared to all the other nincompoops founding startups. Repeat often enough and maybe you can convince someone to give you lots of money.

</comment></comment></comment><comment><USER18> "what I've found in talking with older friends in other career paths is that the further you go down one path, the harder it will be to make the switch to another. The weight of momentum can be overbearing, especially when the skills accumulated in most industries outside of tech are little transferable to tech startups. "

The whole article is good but this one is the one that rings loudest to me.

</comment><comment><USER19> The best of both worlds for me is to work for a new division or product inside a large company. This way you get some of the start up type leverage and exposure, but have some decent processes and people in place to learn from. Also you have the stability of the constant income to pay off student loan debts.

</comment><comment><USER20> I think he misses the biggest advantage - after college most people don't have a family and kids and mortgage to worry about so they can devote a huge number of hours to their work, and the risks are much more manageable. Why waste that at a large company where the effort cannot be rewarded?

</comment><comment><USER21> Yeah... if you want to get paid minimum wage to do amazingly skilled and specialized work.

</comment><comment><USER22> Be a wage slave for yourself or be a wage slave for some fat-cat CEO. HMMM tough choice ;p

</comment><comment><USER23> For designers/programmers, yes. Not as easy for us business grads.

<comment><AUTHOR> You might find this post I wrote a while back useful: [http://estromberg.com/post/4778188872/how-to-get-a-job- at-a-...](http://estromberg.com/post/4778188872/how-to-get-a-job-at-a-startup- if-you-arent-a-developer)

<comment><USER24> Very useful indeed.</comment></comment></comment>


Slackware maintainer getting ripped off - <AUTHOR> https://www.linuxquestions.org/questions/slackware-14/donating-to-slackware-4175634729/#post5882751 <comment><USER2> I'm glad someone posted this.

TDLR; Patrick Volkerding (BDfL and developer of Slackware) needs financial assistance to work on Slackware but the donation button and proceeds of sales of DVDs and merchandise do not go directly to PV at present, and he has asked the company to remove the donation link.

PV's statement is at post 8 in the thread, direct link below

[https://www.linuxquestions.org/questions/slackware-14/donati...](https://www.linuxquestions.org/questions/slackware-14/donating- to-slackware-4175634729/#post5882751)

<comment><USER3> Oh man that's really terrible to hear. I remember starting my linux journey with Slackware and 13 years later I couldn't imagine using anything other than linux for my work!

So how would one go about donating to him?

<comment><USER2> That is exactly the problem. The statement from PV suggests that he has had the donate link removed from Slackware's web site as it pointed to the company, and PV is not receiving donations directly from the company.

All we can do at present is monitor the tail of the linuxquestions thread for the appearance of something like a _direct_ Paypal account or whatever.

</comment></comment></comment><comment><USER4> I would strongly suggest him to remove the DNS entries for the store, snd redirect to a cafepress or donation page instead.

</comment><comment><USER5> I'll throw a bitcoin into this (1.0 btc.) I suggest people do the same. Please post the bitcoin donation address.

</comment><comment><USER6> That's awful. I can't even find a link on store.slackware.com to slackware.com. :(

</comment><comment><USER7> Reading stories like this is really disheartening. This shows how much trust you need to put into the company you're working with to get such a store running. It seems it took a really long time til he got the actual sales figures and could know that they ripped him off.

As much as one might despise big players like patreon, PayPal etc. For being huge players and probably also big in collecting user data they just don't pull shit like this. They might suddenly change policies and conditions which sucks in its own way but they're simply not just keeping your money without telling you.

</comment><comment><USER8> I tried to understand what slackware is from it's homepage, without much help. Can someone please explain what it is

<comment><USER2> Slackware is an historically important (and actively maintained) linux distribution (like Debian and Ubuntu)

The article below may help...

[https://distrowatch.com/weekly.php?issue=20160725#slackware](https://distrowatch.com/weekly.php?issue=20160725#slackware)

</comment></comment><comment><USER9> Awful. This needs to be voted up.</comment>