1. 5

    I’m working on a hobby programming project that I’m very excited about: A build tool.

    1. 3

      Any plans for features you want to include? or is it to recreate something as a learning experience?

      1. 5

        My aim is to replace make. I have the core algorithm done, it takes a very plain tab separated format as input. I think there needs to be a good UI to describe builds. I’m proving it by building existing projects with it.

        1. 10

          Within a few weeks of writing Make, I already had a dozen friends who were using it.

          So even though I knew that “tab in column 1” was a bad idea, I didn’t want to disrupt my user base.

          So instead I wrought havoc on tens of millions.

          (from https://beebo.org/haycorn/2015-04-20_tabs-and-makefiles.html)

          1. 5

            The side-note is even better:

            Side note: I was awarded the ACM Soft­ware Systems Award for Make a decade ago. In my one minute talk on stage, I began “I would like to apologize”. The au­di­ence then split in two - half started laughing, the other half looked at the laughers. A perfect bi­par­tite graph of pro­gram­mers and non-programmers.

    1. 2

      I’ve heard a great deal of buzz and praise for this editor. I’ve got a couple decades’ experience with my current editor – is it good enough to warrant considering a switch?

      1. 3

        What do you love about your current editor?

        What do you dislike about it?

        What are the things your editor needs to provide that you aren’t willing to compromise on?

        1. 2

          It probably isn’t, but it’s maybe worth playing around with, just to see how it compares. It’s definitely the best behaved Electron app I’ve ever seen. It doesn’t compete with the Emacs operating system configurations, but it does compete for things like Textmate, Sublime, and the other smaller code-editors. It has VI bindings(via a plugin) that’s actually pretty good(and can use neovim under the hood!). I still don’t understand Microsoft’s motivation for writing this thing, but it’s nice that they dedicate a talented team to it.

          It’s very much still a work in progress, but it’s definitely usable.

          1. 3

            Here’s the story of how it was created[1]. It’s a nice, technical interview. However, the most important thing about this editor is that it marked an interesting shift in Microsoft’s culture. It appears that is the single most widely used open source product originating by MS.

            https://changelog.com/podcast/277

            1. 1

              Thanks for linking that show up.

          2. 2

            It’s worth a try. It’s pretty good. I went from vim to vscode mostly due to windows support issues. I often switch between operating systems, so having a portable editor matters.

            1. 1

              It’s pretty decent editor to try it out. I’ve personally given up because it’s just too slow :| The only scenario in which I tolerate slowness, is a heavy-weight IDE (e.g., IntelliJ family). For simple editing I’d rather check out sublime (it’s not gratis, but it’s pretty fast).

              1. 1

                It doesn’t have to be a hard switch, I for example switch between vim and vs-code depending on the language and task. And if there is some Java or Kotlin to code then I will use Intellij Idea, simply because it feels like the best tool for the job. See your text editors more like a tool in your toolbelt, you won’t drive in a screw with a hammer, won’t you? I see the text editors I use more like a tool in my toolbelt.

                1. 1

                  I do a similar thing. I’ve found emacs unbearable for java (the best solution I’ve seen is eclim which literally runs eclipse in the background), so I use intellij for that.

                  For python, emacs isn’t quite as bad as it is with java, but I’ve found pycharm to be much better.

                  Emacs really wins out with pretty much anything else, especially C/++ and lisps.

                  1. 1

                    VS Code has a very nice python module (i.e. good autocomplete and debugger), the author of which has been hired by MS to work on it full time. Not quite PyCharm-level yet but worth checking out if you’re using Code for other stuff.

              1. 5

                I feel like ever since Apple announced the Touch Bar, I’ve had the same feelings of getting off the Apple train, at least when it comes to a laptop. Not that I don’t think the Touch Bar will be useful, but personally that’s something I can’t imagine ever using, and if Apple is going to continue down this track, then I’m no longer interested.

                Thanks for the link, I’ll keep an eye on this blog for sure.

                1. 2

                  I’m moving away from Apple too. I’ll be soon parting from my iPhone. Instead of going with the obscenely expensive iPhone 7, I opted for an elephone P9000, I bought for about 2/3 the price of an iPhone 16GB SE.

                1. 2

                  At work, creating a testing framework for the ELK stack using bats. It’s almost ready, I need to figure how to approach mapping testing.

                  At home I’m flirting with the idea of start learning Go. I have ruby/sinatra which I’d like to re-write in Go and add some JS on top :-)

                  1. 42

                    I am travelling to my wedding and other family functions. I will be mostly offline for the next four weeks, maybe through the end of the year. Mostly I am packing and squaring away last-minute details.

                    I’ve submitted 20-25% of site stories for the last few months, so it’ll get a little quieter here. Hope y'all keep busy without me. :)

                    I have two 22-hour plane trips and a couple smaller blocks of offline study time in my schedule. I’m planning on working through Haskell Programming by @bitemyapp and @superginbaby. I’d appreciate recommendations to other books or papers worth long, uninterrupted offline study - especially around FP, Ruby, correctness, and testing, but anything insightful is welcome.

                    1. 7

                      Congrats and good luck!

                      1. 5

                        Congrats!!! Hope you have fun :)

                        I’d appreciate recommendations to other books or papers worth long, uninterrupted offline study - especially around FP, Ruby, correctness, and testing, but anything insightful is welcome.

                        Look at the follow-up readings at the end of the chapters in the book and download them before your trip. :)

                        1. 4

                          Thanks for the suggestion, I wouldn’t have seen that coming. I’ve collected them here.

                        2. 4

                          Thanks for all your output! I’ve really enjoyed your submissions.

                          The xv6 operating system (studied in MIT’s OS course) got a lot of hype yesterday. It can be printed out on under 100 sheets of paper and studied that way if you want something offline. It’s not really FP related, but I don’t have anything that is :)

                          Best of luck in your new stage of life!

                          1. 2

                            congrats!

                            as for books, this might be the perfect time to dive into concepts, techniques and models of computer programming, which is perpetually on my to-read list.

                            1. 2

                              I got married two moths ago. Welcome to the club & congratulations!

                              1. 1

                                Two moths ago I got a hole in my sweater.

                                Just teasing, congrats!

                              2. 2

                                Safe journeys!

                                Hope your spouse enjoys your frequent posting. ;)

                                1. 1

                                  Congratulations!!!

                                  1. 1

                                    Congratulations!

                                    1. 1

                                      Congratulations, all the best to both of you!

                                      1. 1

                                        Congrats pushcx!

                                        1. 1

                                          Time for everyone to step up and try to post a few stories I guess. :)

                                          Congrats and have fun with your time away.

                                        1. 2

                                          Say you open a project within NERDtree. What’s the best way to search and find a function named “CABOOM”? I can use ctrl+p for filename search. But to find a function I need to “:%!grep pattern” … is there any other/better way?!

                                          1. 7

                                            The CtrlP plugin also supports searching for tags, with the :CtrlPTag command. There’s a faster way to access it than running that command, though. Just type <c-p> like usual, then type <c-f> and <c-b> to scroll through the available search scopes in the bottom left until “tag” is selected. If you don’t see it, you may need to enable it first – see :help ctrlp-extensions.

                                            If you don’t have tags set up for the current project, you can use what I usually use – the search program ag with a plugin and a custom mapping. It’s like your grep example, but faster to run and more convenient.

                                            First, install ag (“the silver searcher”) and the rking/ag.vim plugin. Then add the following custom mappings to your vimrc. The first, bound to <Leader>/, pre-fills the command area with “:Ag ''”, which lets you immediately start typing a regex to search for project-wide. The other two custom mappings do a project-wide search for the current word or the current visual selection.

                                            " search the whole project easily
                                            nnoremap <Leader>/ :Ag ''<Left>
                                            
                                            " search for the current word or selection in the whole project
                                            " (° is <A-*> on Mac; neither <A-*> nor <S-A-8> work for some reason)
                                            nnoremap °    :Ag '\b<C-R>=expand("<cword>")<CR>\b'<CR>
                                            xnoremap ° "sy:Ag '<C-R>s'<CR>
                                            
                                            1. 1

                                              Holy crap, mega +1 for the CtrlP tip.

                                          1. 3

                                            OSX, istat, bartender, growl, iterm + vim (tmuxinator, nerdtree, ctrlp, etc..) nothing special :-)

                                            1. [Comment removed by author]

                                              1. 4

                                                I don’t agree. He argues for specifying before coding through tests, whatever means necessary, nothing else. The post is absolutely not about implementation specifics.

                                                That works with or without static types and quickcheck.

                                                1. [Comment removed by author]

                                                  1. 2

                                                    I await this essay eagerly.

                                                    1. 1

                                                      What I’d like to know is how much time people using TDD lose in comparison to other approaches.

                                                1. 2

                                                  VIM users can use YUNOCommit. This plugin will remind you to commit after 20 writes.

                                                  1. 3

                                                    Given the amount of mediocrity, self-destruction, vindictiveness and corruption displayed by Brussels over the years I wasn’t expecting any better. Net-neutrality is NOT one of the hot-topics in the E.U.

                                                    I am eagerly awaiting U.K.’s referendum. Britons might be able to do what Greeks didn’t: Kickstart the demolition of E.U. in it’s current form. They’ll be doing everyone a favor.

                                                    1. 1

                                                      I released my tarsnap notification utility called argosnap, last week so I’m back working on my part-time rails project, but mainly I will - hopefully - study pharmacology, pharmacognosy and medicinal chemistry more than anything else.

                                                      1. 2

                                                        Personal: Today, I added SPF, DKIM and DMARC and re-enabled spamd, on my personal mail server. Seems to work fine (10/10 in mail-tester), I will update the DMARC policy to ‘reject’ once I’m positive that there are no false positives. I tried adding SSL via clouflare to my github-hosted blog, but I didn’t like the overall experience.

                                                        The rest of the week I’ll be working on my tarsnap notification gem, I’m in the process of complete re-write actually, don’t know how long is gonna take. I’m also writing a RoR application which is coming up nicely so far.

                                                        Professional: Trying to submit my thesis to the study office, preparing for the state exams (5 exams in 1 go) for December (~3 to 8 hours per day) :-)

                                                        1. 6

                                                          For money, I’ve started my week in python, will probably continue it in php, and end it in agile ceremonies. I’ll probably try to plan a lunch and learn in the office, about Go. I did an introductory one last week, overwhelming success I believe. I’m thinking maybe something in connection to Lambda architectures and/or DDD would probably excite a few people around here, so IDK. I wanna be doing more of that, so I get better in front of bigger crowds.

                                                          On a personal level, I’m slowly coming back to what I think may have been a close call with a burnout, and I’m starting to find the will to work on my personal projects again. I think I could do clever stuff to add to the magic of Autoapi. I also found out there’s a php thing called autoapi. I might have to find a better name for autoapi.

                                                          1. 1

                                                            Hm, isn’t that exhausting? Python, PHP and Go in one week? :-)

                                                            1. 1

                                                              I find PHP to be the most exhausting of them all. Apart from that, I don’t really mind the language-switching.

                                                          1. 10

                                                            Summary: no. On the other hand, the TextSecure protocol rules and is pretty straightforward. That being said, I still use Telegram because it’s so nifty, and just don’t send any confidential information with it.

                                                            1. 4

                                                              I would not be so sure. While having a Ph.D. doesn’t make you a top-notch cryptographer, it’s not something that should be easily dismissed because a 20 year old hacker said so.

                                                              The attack posted is interesting and probably could be mitigated by a 256-bit fingerprint. However even the author of the attack acknowledges that the attack described is unreal:

                                                              Overall, I would estimate that a full attack costs in the tens of millions USD in infrastructure and electricity to pull off and get a full fingerprint collision in reasonable time. Attackers may also be able to steal or borrow existing infrastructure, like a botnet or supercomputer system. In other words, this should be within some Super Villain’s budget.

                                                              Their protocol is open source and anyone can take the time and try to break it a real-world scenario, not in a hypothetical world were the super-villain has nuclear reactors running john-the-ripper in quantum-computers…

                                                              1. 8

                                                                Just because you can’t think of a way to break it doesn’t mean it’s secure. Just because there isn’t a published exploit doesn’t mean it’s secure. There is still a fundamental difference between:

                                                                1. using techniques widely believed to be secure by the crypto community
                                                                2. making shit up

                                                                I’m not dismissing the PhDs that designed the Telegram protocol because they aren’t crypto experts, I’m dismissing their work because they chose option 2 rather than option 1. They used techniques that are not well understood. For all we know MTProto is totally secure, or totally insecure, there’s no way to tell.

                                                                I might have more appreciation for their design decisions if there was a technical advantage gained, in any way. But there isn’t. Everything telegram does can be accomplished with mainstream crypto, all the funky stuff they’ve done is totally unnecessary.

                                                                1. 2

                                                                  Just because you can’t think of a way to break it doesn’t mean it’s secure.

                                                                  I don’t recall saying that if I can’t break something, it’s secure. You’re twisting my words, but I won’t repeat myself.

                                                                  For all we know MTProto is totally secure, or totally insecure, there’s no way to tell.

                                                                  That can be said for OpenSSH too: For all I know it’s either totally secure or totally insecure (if you are Gobbles and have a 0day sshut-up-theo remote root exploit). So what we do is the following: Until someone comes up with a way to decrypt data from an encryption technology, we consider that technology secure.

                                                                  1. 2

                                                                    Until someone comes up with a way to decrypt data from an encryption technology, we consider that technology secure.

                                                                    All crypto systems should always be considered suspicious, dangerous and broken. Novel crypto systems invented by non-cryptographers doubly so.

                                                                2. [Comment removed by author]

                                                                  1. 1
                                                              1. 2

                                                                Missing pdf tag.

                                                                1. 1

                                                                  oops sorry, still learning :-)

                                                                1. 7

                                                                  I’ve read Little Brother a while back. It’s a really fast-paced novel for teenagers. Especially tech-savvy teenagers. It is very well written IMHO and manages to address many concerns regarding a pro-active surveillance state. Truth to be told, I read it on the iPhone on a road-trip. I was kinda lost and literally divulged the e-book since I had many hours to spare. That’s the best book from Corry Doctorrow I’ve read so far. The other one Makers wasn’t as appealing.

                                                                  1. [Comment removed by author]

                                                                    1. 2

                                                                      People say it’s a novel for teenagers because it is intended as a young adult novel.

                                                                    2. 2

                                                                      “makers” is one of his weakest books, imo. check out “for the win” or “pirate cinema” for books closer to “little brother”.

                                                                    1. 1

                                                                      I don’t see any reason for switching. Root account should use ‘sh’ by default on every UNIX-like system IMHO. Other accounts should be free to use to install/use whatever they like. The fact that Bash had a bad day doesn’t mean that other shells are more secure.

                                                                      1. 1

                                                                        I don’t see any reason for switching. Root account should use ‘sh’ by default on every UNIX-like system IMHO.

                                                                        These two statements are in conflict. On Fedora, there is only bash.

                                                                      1. 1

                                                                        Ok that’s all nice and well but shouldn’t they be updating to Rails-4 by now?

                                                                        1. 1

                                                                          I think you’re missing the point. IMO the actual tech doesn’t matter.

                                                                          Rather, so often, we are inclined to face these types of “big refactors” by being faster than the rest of our team, or worse, putting in a feature freeze. I think it’s encouraging to see that a relatively complex code base like githubs can be incrementally upgraded.

                                                                        1. 5

                                                                          Work: Mac Mini with OS X - terminal.app, zsh, tmux, vim

                                                                          Home: Thinkpad X230 with (openbsd / debian) - spectrwm, xterm, zsh, tmux, vim, mutt

                                                                          I’m a boring dude.

                                                                          1. 3

                                                                            For work (if you can) you should look at iterm2 :)

                                                                            1. 2

                                                                              why?

                                                                              1. 1

                                                                                http://www.iterm2.com/#/section/documentation/highlights - follow mouse
                                                                                - growl support for build processes allows you to kinda walk away/surf away and know when it’s done anyway.
                                                                                - autocomplete (if you don’t hate it)
                                                                                - themes is a huge one for me I use a few different themes depending on the atmosphere I am currently in to help with contrast so I don’t need to increase my screen brightness to blinding levels when I am in a darker area and vise versa

                                                                                1. 2

                                                                                  I’m using iTerm2. I must say that I’m not impressed after 2 weeks of usage. The growl support is kinda silly, most of the times is not needed. The autocomplete feature, is nowhere to be found (my bad probably) and the lack of ctrl+click on links makes me kinda crazy.

                                                                                  I think I’ll go back to Terminal. That said, it’s always nice to have options. Better have iterm2 around than nothing.

                                                                                  1. 1

                                                                                    Sorry I’m a big fan of highlighting and color terminals so iterm2 was beautiful I use zsh for auto complete though I was told iterm2 itself has auto complete I really like the built in tonic though that probably is the biggest feature for me

                                                                          1. 10

                                                                            I enjoyed this post because it asked the radical questions. The biggest failing of our technological progress has been capitalism. That the public paid for the tech development but owns none of it.

                                                                            And if we want our crazy robot future, we better damn well own the robots.

                                                                            I for one think all workplaces should be run democratically instead of the authoritarian structure they are now. Democracy good for government, why not where we work?

                                                                            1. 8

                                                                              Democracy good for government

                                                                              I don’t think this claim is broadly accepted. As American politics showed, voters can and will democratically choose terrible policies and incompetent leaders. I’m not saying we should be living under a benevolent dictatorship, but democracy isn’t perfect.

                                                                              1. 3

                                                                                No it’s not. Democracy is the less worse that people can withstand. If people were mature enough the Platoo’s Politeia could become a reality, where everyone is a Philosopher who accepts virtue as the ultimate goal to achieve and there are no judges, rulers, nothing. Another alternative would be Anarchism. Even Communism in it’s description is the next stage of democracy, where people are not in need of anything physical. Unfortunately social and political evolution are totally disconnected from technological innovations and that’s why the later become ultimately dangerous.

                                                                                Nazism for example, which is an extremely silly ideology with no scientific basis to back-up any claims, is not a new idea but it was a 20th century feature after all.

                                                                                It’s not just American it’s world politics that show that there humans are not mature enough to embrace a really ground-breaking change yet.

                                                                                1. 1

                                                                                  Imagine you go to the store and you have two options for strawberries. One of them has maggots, and one of them has flies. You have a choice in picking one or leaving. That is our current system. And it is clear people have left instead of making a choice. Don’t blame them for being handed rotten politicians. Blame the businesses who sponsored them and the venues that present them.

                                                                                  1. 1

                                                                                    I find your argument specious because politicians wield the monopoly on the use of legitimized coercion. Businesses don’t. At best, they can bribe politicians to indirectly wield legitimized coercion, but the politician is ultimately responsible for accepting said bribes.

                                                                                2. 4

                                                                                  Have you ever worked at a worker-owned cooperative? It’s very interesting, and you might come away with a more nuanced understanding of democracy than “good, why not?”

                                                                                  My own cooperative experience was unusually terrible (I was just thinking about what I lost to the thieves there, totally by coincidence) but I’ll probably go back for a second try at a different cooperative at some point in the next few years.

                                                                                  1. 3

                                                                                    The way i look at it is this: Democracy is the principle that those affected by decisions have some participation in their making. At a co-op, decisions may not work out for you, but you had a chance to participate in their making. In a non co-op, the majority have no say. So really it is about increasing your chances for good decisions that affect you. Does not guarantee it.

                                                                                  2. 4

                                                                                    One of the largest corporations in the world is a democratically run co-op. It seems to work very well.

                                                                                    http://en.wikipedia.org/wiki/Mondragon_Corporation