1. 2

    I’m meeting up with friends and going to an opera concert.

    Also I’ve been trying to toy around with really simple NLP stuff, just learning the basics, and want to continue that this weekend. I still don’t really know what I’m doing. What I want to do is be able to take an unstructured text document and extract a handful of specific things that I know are in there, but I don’t know how to do this yet and I’m not even sure what to Google for. If anyone has any tips for me that would be appreciated. :)

    1. 1

      Oh, cool, what opera?

    1. 3

      Your link is currently borken. :(

      1. 3

        Fixed.

        1. 3

          V.v.V

        2. 3

          Wow, sorry about that. Thanks to Irene for fixing though!

        1. 2

          It’s not really a job, but I couldn’t find a more relevant tag for this story.

          1. 5

            I said this on HN as well, so I’ll just copy/paste. There have been a number of stories about laptops and mobile phones exploding due to issues with batteries. Fortunately the author here managed to get the Mac into a reasonably safe place just before it really exploded and he got away with only blistered fingers.

            What I’m curious about is, are companies like Tesla able to put some sort of safety precautions into their cars and their PowerWall to prevent this from happening and to alert the user that something in their battery is horribly wrong? An electric car battery is way bigger than a Mac’s battery, but at least the car owner has the chance to get out of the car and get away from it. But a Powerwall? If it’s going to blow up is it going to burn your house down in the process?

            1. 6

              Data on powerwall failure would be very interesting to read.

              That being said, both Tesla cars and powerwalls are charged much less than laptop batteries. In principle, you could charge a Tesla battery significantly more (25% more, at least), but you’d sacrifice lifetime, reliability, and I think safety too.

              1. 1

                I’ve been following some projects where people are making their own Powerwall like systems:

                http://www.diypowerwalls.com/

                It turns out Standards Australia (a voluntary standards body here) is attempting banning people from installing lithium-ion batteries into their homes and sheds. Supposedly Standards Australia has a history of giving not-outrageous guidelines for safety, so some people think this might demonstrate how dangerous Powerwall-like products are.

                But others are arguing that we already put flammable gas into homes. Is a Powerwall more dangerous than a gas stove?

                1. 2

                  There’s also a bit of history behind this: Australia is a huge exporter of coal and a lot of jobs have depended on it over the past few decades. A lot of politicians have links to coal. One theory is that Standards Australia is being bought by Big Coal.

                  Another thing is that Australia has over 15% of households having some form of solar power system. Having batteries inside of Australian homes would be very useful.

              1. 2

                I’d like to make some improvements and documentation for my Rx-based Phoenix channel client. The main thing I changed since last week was that it used to accept a string for the websocket endpoint to connect to, now it accepts an IObservable<string>. Here’s the source for it: https://github.com/bratsche/kastchei

                1. 3

                  I’ve been trying to learn Reactive Extensions better, so I’m writing a Phoenix channel client using Rx.

                  https://github.com/bratsche/kastchei

                  1. 2

                    Where I work we have a mixture of opensource and non-opensource projects, so a monorepo is not possible. For some things we use git submodules, but we have a lot of projects that are moving pretty independently so there’s no reason for a developer on project A to even need to pull down the code for projects B, C, or D.

                    1. 1

                      A monorepo is still possible. For example, you could treat your open source projects as if they were third party dependencies in distinct repos. Then you vendor them in your “monorepo.”

                      (I guess you do still wind up with multiple repositories, but I see the open source repos as vestigal, so you still wind up with the benefits of a monorepo I think.)

                    1. 3

                      I wrote a Phoenix channel client in C# using Reactive Extensions that I want to do clean up, nugetize, and open source this week. Originally it was part of a mobile app I was writing, but I wanted to separate it so it could be used by others (and by myself in another app).

                      1. 2

                        I signed up for the preview months ago. Has anyone gotten an invite yet?

                        1. 5

                          The form makes it look more like an application with the whole “why should we choose you?” bit, so I was kind of turned off and didn’t ‘apply’ to be a beta tester.

                          1. 6

                            Reading the bios and the form I got a similar feeling that this is some sort of ‘product’ we are signing up for. I am perfectly fine with it being a commercial endeavor but it the whole *-lang.org makes it feel like it is another open source project and then they have the polished startup-y landing page. I never understand the shroud of secrecy around not just telling people what you are actually making and what it will cost.

                        1. 4

                          I find it very difficult to care about filesystems. It’s about as exciting to me as printer drivers. I currently use ext4 because it was a default and I had no reason to try anything else. Can someone explain what appreciable difference a filesystem would make on my everyday usage of computers?

                          1. 16

                            I’m only really excited because Apple (might) get rid of the .DS_Store files finder creates when viewing directories.

                            1. 2

                              I was hoping the new FS would be case sensitive by default, just because it’s what I’m used to from Linux. But it won’t be.

                              1. 4

                                https://developer.apple.com/library/prerelease/content/documentation/FileManagement/Conceptual/APFS_Guide/UsingtheAppleFileSystem/UsingtheAppleFileSystem.html#//apple_ref/doc/uid/TP40016999-CH4-SW1

                                APFS defaults to case sensitive currently, I’m not sure if that’s going to stay the default going forward but it seems like progress on that front.

                                1. 5

                                  It likely won’t stay the default.

                                  Consider that there’s a lot of legacy software in the Apple ecosystem that isn’t very careful about case normalization because it doesn’t have to be. You can format a volume case-sensitive HFS+ today (and you could also do case-sensitive UFS in the past), but a ton of stuff is broken, including big-name apps like Steam. Apple has always stuck with case-insensitivity in the default install because doing anything else breaks too much.

                                  1. 1

                                    Is a case-sensitive filesystem considered a good thing?

                                    In other words, I’m curious what benefits there are to be had in the ability to have Foo.txt and foo.txt side-by-side.

                                    1. 6

                                      For “normal” people, having a case-insensitive file system is nice, so if they fat-finger the caps-lock key they still get the file they want.

                                      For programmers, having a case-sensitive file system is nice, so the file you create with a given name is always distinct from other files with logically different names.

                                      Imagine writing some sort of “cache” files to disk that are named using some hash that produces a combination of upper and lower-case letters. On a case-insensitive file system, you’re eventually going to end up with collisions. That’s a bummer (and hours of debugging time lost) to have to worry about, especially when your program needs to work cross-platform.

                                      1. 5

                                        Normal people never type the names of existing files.

                                        1. 4

                                          What Windows does (as a compromise) is NTFS and the kernel are case sensitive, but the Win32 subsystem is not by default. Users get what they expect, and other subsystems can get the semantics they want. (Case sensitivity is toggleable for Win32 as well, but I wouldn’t recommend this.)

                                2. 10

                                  Sure:

                                  • Snapshots
                                  • Self-healing files

                                  Snapshots are particularly useful. Sorta like a git commit, you can always go back to that point, even if you delete files.. etc. With HammerFS(2? DragonflyBSD Only), ZFS, BTRFS and FreeBSD FFS (maybe more..) you get the snapshotting.

                                  1. 12

                                    Hey @qbit, been a while!

                                    I figure I’ll weigh in here too.

                                    As already mentioned: snapshots. If you ever try SmartOS/SmartDataCenter (recently renamed to Triton) by Joyent, you might end up playing around with container snapshots (zones). It’s crazy that I can go into a zone, or a bunch of zones, completely destroy the filesystem, then roll back to a safe snapshot in a matter of seconds (data type/size would make “seconds” vary here, but it’s always fast).

                                    I remember being absolutely blown away by the notion of VM “flavours” being available in a repo, just like packages, this was before the big hit of Docker becoming widely known and adopted. The fact I could go onto my SmartOS headnode and do a imgadm avail | fgrep redis then grab that “image” in no time from Joyent’s remote repo, then deploy straight to a zone was just baffling. Why am I harping on about this? Because this framework revolves around ZFS snapshots bundled up with some metadata compressed into a tarball. Pretty damn cool.

                                    Which then leads me to some of the utilities ZFS has available, like zfs send and zfs receive: https://duckduckgo.com/?q=zfs+send+receive&ia=web

                                    I won’t babble on about that, check out those search results.

                                    There’s also the ability to implement file sharing protocols, like NFS/smb, at the filesystem level with some simple flags when making/modifying volumes. I use a SmartOS server at home with a few NFS shares set up directly when I made the volumes.

                                    Another thing: on the fly expansion/shrinking of volumes. Really cool when you want to chuck some extra space at some zones, or bring them down.

                                    All of this is largely from my own experience of administering servers with ZFS, I’ve never used it on a desktop/laptop. However, were I to go down that path (if it was presented to me in a simple, solid manner), I’d be using snapshots, send/recieve to make backups all the damn time.

                                    ZFS is fucking great - I’ll end on that.

                                    1. 1

                                      From the perspective of an OSX user, would there be much of an improvement over the kind of snapshotting Time Machine does? I realize it’s not at the filesystem level, and not nearly as flexible if you’re managing big storage arrays and such, but for a desktop/laptop user it seems like a “good enough” solution.

                                      1. 3

                                        It might be that TM does a good enough job, but other things like the self-healing stuff can take it a step further. Say you have a “raid” volume (used quotes because zfs has its own naming) and a file gets corrupted on one of the raid mirrors, zfs will check the file’s checksum against other mirrors and replace the broken file with a known good copy. TM in this example would just put the corrupt file into your TM backup.

                                        All that said, my main FS is OpenBSD’s FFS, which has none of these features, and I have never had issues :P

                                        1. [Comment removed by author]

                                          1. 2

                                            iMacs come with this SSD/spinny disk fusion, which ZFS has pretty good support for out of the box (where the SSD becomes a cache rather than extra storage space). On top of that, for things like video editing (which Apple still has a strong presence on, I think?), something like ZFS gives you a lot of options to increase the throughput of storage. And, while ZFS supports a RAID setup well, it does have a lot of value for single disk setups. I use it on my desktops without a hitch. The COW-semantics of APFS, from what I can tell skimming the docs, are very similar to what ZFS does, so at the very least a subset of ZFS is useful enough for Apple devices.

                                            1. 1

                                              It can be done with a single drive as well (obviously this isn’t recommended :P). Also I am not arguing that people are or should be doing this (running any of these FS2.0 file systems). I am just expanding on my previous list of “distinguishing features”.

                                      2. 4

                                        I use ZFS everywhere I can and am really pleased with it and don’t think I’d feel comfortable going back to something else. The two main values I get from ZFS are that it ensure data is valid via checksums. I have been stung by hardware or software corrupting my data and ZFS has protections against that. The second is snapshots. Snapshots are cheap in ZFS, so on my workstations I take snapshots at various units of 5 min, 15 min, 1 hour, 1 day, 1 week, 1 month and retain them for various periods of time. Then transferring snapshots around is easy so I can back up these to other machines really painlessly.

                                        With snapshots, you can do other really powerful things that you might not realize you want to do until you have them. The biggest one is boot environments. This makes it so you can snapshot your installation and switch between them on boot. The usecase for this is if you’re going to do a big upgrade you can role it back if it breaks. The power that something like ZFS gives you is that you can ensure the packages and kernel are always in sync. While existing OS’s like Ubuntu might keep multiple kernel versions laying around, you don’t have any guarantees that the rest of the system still makes sense if you rollback. You do have those guarantees with boot environments.

                                        Then there are other nice things you can do, for example if you have a lot of data and you want to experiment with it, you can clone it (cheap), play with it, and destroy it, without harming the original data. If you are using Solaris or FreeBSD, there are things like jails which are whole-system containers, that become much easier and more powerful with ZFS (creating new ones becomes fast and cheap, so you can make heavy use of them).

                                        Then, if you’re admining any system, ZFS lets you do a lot of useful things, even delegate control of portions of the filesystem to users so they can do the work they want themselves. Running any serious storage box benefits from ZFS on basically every axis (performance, durability, operationally).

                                        So, of course, it depends. For myself, ZFS has given me the ability to do things I didn’t realize I wanted to do before as well as given me increased safety about my data. On top of that, it’s benefiting me as a person who admins some machines and as regular-joe-user. I used to rsync data to multiple USB drives as backup, now I can just transfer incremental snapshots around which is much safer and significantly faster.

                                      1. 3

                                        Refactoring an Elixir/Phoenix project. Originally I had kind of thrown the whole thing together into one repo, like a typical Rails app probably except it did have a small supervision tree of processes for business logic. But everything was very tightly coupled to Phoenix and Ecto. I started a new mix project and have been rewriting all that business logic completely independently of Ecto in there, then I added that project as a dependency of my Phoenix app.

                                        So far it’s looking much cleaner and it’s been (with one exception) much easier to test. I’ll try to finish it up in the evenings this week.

                                        1. 14

                                          Gmail: migrating email is always a pain. You have to find every service ever that you use. And everybody you ever sent email. In practice, you can’t actually migrate away. You set up forwarding and hope for the best.

                                          Downloading a few years of email from gmail and importing it into a new service is also major work.

                                          Blogspot: moving to another service means all the existing links that people have shared and posted will break.

                                          GitHub: similarly, your project files become the upstream source from which people download (bsd ports, etc.).

                                          Facebook messenger: I don’t have everyone’s phone number. Not everyone has whatsapp. Approximately nobody has signal.

                                          In many cases, migration is possible if you register a domain and make an effort to control URLs from the start. But this is rarely done, and only after you’ve been burned once. Also not for casuals.

                                          One can set up forwarding, burning down the old account to nothing more than a note to check the new location, but it’s work. Both to do it, and for people to follow.

                                          1. 9

                                            Facebook messenger: I don’t have everyone’s phone number. Not everyone has whatsapp. Approximately nobody has signal.

                                            Does nobody text anymore? I feel so old.

                                            1. 3

                                              In order of priority: iMessage, FB Messenger, WhatsApp, SMS text. I’m somewhat agnostic, but that’s the observed preference for most of my nontechnical friends as well. iMessage is definitely the favorite if everyone has an iPhone. If not, the group moves to something else.

                                                1. 1

                                                  I text with my local friends, but not my non-local friends due to it costing money.

                                                  1. 1

                                                    I tend to text my closest friends that I’ve known for years. Even then, we tend to use messenger.

                                                    Family tend to text me too.

                                                    1. 1

                                                      I have a Blackberry Curve and only text my closest friends/relatives. It can’t even browse the web. I feel positively ancient. And curmudgeon-y.

                                                      But man oh man, am I less distracted.

                                                    2. 6

                                                      I managed to migrate off gmail, and it honestly took over a year (with forwarding enabled). I use a password manager, and fairly dutifully record what email I used for creating each account (even if the login name is different). Thus I was able to update nearly all accounts with my new address over time.

                                                      Eventually I was only getting junk mail forwarded, and finally nuked the gmail account. Occasionally I get someone telling me out of band “I sent you an email but never got a reply blah blah”, and it turns out they used the old one. I tell them the new email (again) and they say something like “oh right! I guess have this one in my address book…just used the wrong one I guess (due to address autocomplete in the ‘to’ field)”. sigh

                                                      1. 4

                                                        I migrated off gmail (… well, onto another gmail account) somewhat incautiously, because I’d grown unbearably aggravated with people in my life who refused to stop calling me by my birth name even after I’d changed it legally (because they were hoping that if they bullied me sufficiently, I’d give up on the idea of gender transition).

                                                        I had a whole migration planned where I was going to run down every account mentioned in my password manager, change that, and still have it forward for a year. I put the forward in place and downloaded all the old emails via Takeout. The plan failed when I got so angry at being contacted via the old one that I just deleted it one day.

                                                        I did get locked out of a few things, and found out only months later when I tried to access them. They were primarily things I discovered I cared about a lot less than I had assumed I would.

                                                        It’s years later now, and I suspect that most of my coworkers at Google don’t understand why I have such strong personal feelings about Takeout, or about how smooth the account-deletion flow is. :) It was the one part of that whole mess that went well.

                                                        1. 2

                                                          Facebook messenger: I don’t have everyone’s phone number. Not everyone has whatsapp. Approximately nobody has signal.

                                                          That right there is what situation I’m in. People will NOT change so I’m stuck with it. I’ve got people on telegram too so I’ve got too many messengers.

                                                          1. 2

                                                            I migrated away from Gmail by doing something rather radical that, admittedly, not everyone can do: I just deleted it all.

                                                            Lest you think this is insane, I will point out that upon careful reflection, I realized I rarely, if ever, needed the old stuff. Now I frequently get rid of old mail without even checking it. I’ve done this for a few years and it’s not really been a problem.

                                                            1. 1

                                                              I was able to get away from Gmail relatively easily because I never advertised my Gmail address and always used an email alias that my university gives to alumni. So when I switched to Fastmail I continued using the same alias and had basically no interruptions or anything.

                                                              1. 1

                                                                In the case of gmail and blogspot, it basically comes down to needing to own the domain. Both of those work great in situations where you point your own domain to their service, which offers a lot more flexibility down the line at the cost of a bit more up-front work. (Same with gtalk before they nuked the XMPP federation.)

                                                                Something to think about before creating a new account.

                                                              1. 1

                                                                I want to look into what’s needed to add support for system font (e.g., San Francisco) to gtk’s font loading on OSX.

                                                                1. 2

                                                                  Dallas, TX

                                                                  1. 5

                                                                    Does anyone have a list of all of the awesome things Microsoft has done in the past few years that totally go against their previous policies / culture? Things like this are still so surprising to me. No complaints!

                                                                    1. 4

                                                                      MS’s work on RxJS https://github.com/Reactive-Extensions/RxJS was and is pretty cool. TypeScript http://www.typescriptlang.org/ is also getting a lot of play.

                                                                      1. 2

                                                                        I would love TypeScript or some sort of annotations to get into the ECMAScript process. There was sorta positive talk from Google, who were talking about using it as the basis for an optional type system for JS (with stricter semantics than TypeScript’s–SoundScript would ensure that type annotations matched run-time reality, when in TypeScript they’re development-time aids as much as anything).

                                                                      2. [Comment removed by author]

                                                                        1. 6

                                                                          That MS still does some bad things doesn’t illustrate that “nothing has truly changed.” The last couple of years has seen a lot of improvement, particularly in regards to their participation in open source.

                                                                          1. 3

                                                                            For the generation that grew up on a steady diet of Slashdot (may God save your tormented souls), MS is the residual Great Evil still and may never recover.

                                                                            Of course, most people on that site were pretty full of it, but it reflects a common sentiment among a certain crowd.

                                                                        2. 3

                                                                          F# is pretty sweet. Reactive Extensions (for C#, JS, and other languages) is very cool too.

                                                                          1. 1

                                                                            In addition to the other projects mentioned, Visual Studio Code and the Roslyn compiler are both open source from Microsoft.

                                                                          1. 1

                                                                            The last language I learned was Elixir. I say that like it’s past tense even though I still consider myself to be learning it.

                                                                            I just started looking at Elm a few days ago and really enjoy it so far. Then a friend of mine today suggested I look at Purescript as well.

                                                                            1. 4

                                                                              As I get deeper into learning Elixir, I find that I have trouble using macro-heavy libraries– things just feel too much like magic for me to be comfortable– and really want a tool that I can use to expand macros for the code I’m working with so I can see how the AST is transformed before being fed to the compiler. There’s Mex, which kind of does this, and it’s too tied up in the interactive shell (nowhere near as comfortable as rmate/rsub + Sublime to work in); I’d really like a mix task where I can do something like mix expand Some.Module.In.My.Project and get the expanded version tossed into stdout.

                                                                              Of course, I also want to expand only those macros not baked in as language features or, say, from a subset of modules that I’ve pulled in via use/require/import.

                                                                              So, shaving my way out of a yak-hole, mostly.

                                                                              1. 2

                                                                                I believe Alchemist.el now supports expanding macros inline in your emacs, if you’re using that.

                                                                                1. 1

                                                                                  Thanks! I’m not an emacs user, but being able to read through the lisp and see how they approach the problem is going to be very helpful on its own.

                                                                                  Edit: It appears the lisp writes a temporary file, hands it off to Elixir, and then does +/- the same thing as mex. Time to go look into some compiler source code.

                                                                              1. 2

                                                                                I was working on trying to get gtk2 to support high-dpi screens for Win32. I made some progress on this, but had to leave it to travel for work and deal with some higher-priority stuff.. and now I’m finally coming back to it.

                                                                                1. 1

                                                                                  This is especially frustrating because they changed the behavior of #try in Rails 4.0 and added #try! with the old behavior.

                                                                                  1. 2

                                                                                    I thought #try was the same, but they added #try! which would basically do what Avdi was implying #try should already be doing?

                                                                                    1. 1

                                                                                      In Rails 3.2.22, #try says:

                                                                                      Invokes the method identified by the symbol method … just like the regular Ruby Object#send does. Unlike that method however, a NoMethodError exception will not be raised and nil will be returned instead, if the receiving object is a nil object or NilClass.

                                                                                      http://api.rubyonrails.org/v3.2.22/classes/Object.html#method-i-try

                                                                                      But in Rails 4.0.0 it says:

                                                                                      Invokes the public method whose name goes as first argument just like public_send does, except that if the receiver does not respond to it the call returns nil rather than raising an exception.

                                                                                      http://api.rubyonrails.org/v4.0.0/classes/Object.html#method-i-try

                                                                                  1. 3

                                                                                    Last week I mentioned that I’d be working on improving high-dpi for gtk on Windows. I made a lot of progress on that, but there are a few outstanding issues with it still. Sadly a higher-priority issue came up at work that I need to switch over to, plus this is a short week for me since I’m heading off to ElixirConf, so I’m not sure if I’ll be able to finish the high-dpi work this week.

                                                                                    My side project has also made some progress. I’m rewriting a personal project from Rails into Elixir. I’m actually also learning/exploring React.js so I’ve been using that for the frontend and it’s slowing me down some because it’s also new to me. Phoenix uses brunch.io for frontend assets by default, and I’ve found brunch to be really awful and difficult to learn, but a friend helped me get switched over to webpack and I feel like things are much more manageable now.