1. 4

    I finally doped out an issue in my wiki/notebook software that was keeping me from being able to simply make run to get it up and going. I’ve also added and edited that wiki some, though not quite as much as I was doing in the first few days after setting it up.

    1. 1

      Based on last weeks post - I’ve been brainstorming based on the advice you had given. I’m still trying to think of something either I can build or something I can just run on my Digital Ocean VPS (aside from ZNC).

    1. 12

      I just wrote a personal wiki in Erlang (it’s currently a little over 400 lines, and is designed for a single trusted admin, but public facing ideas). That project was motivated by me wanting to pick up the basics of Erlang (I picked up Learn You some Erlang when it was part of a Humble Bundle, and wanted to try to put it to use), and to expose a list of ideas I’d been collecting in a markdown file.

      Features include

      • Single Trusted Admin, which means I can use any HTML/JS I want on indiviual pages.
      • Writing everything in HTML.
      • Tag based navigation
      • Being very Artisnal software(TM).

      Pages that might be interesting:

      Once I get a couple of hard-coded values removed from the code, I’ll stand up a fossil repository for the code. (Though it’s not especially good code, being the first big ball of Erlang I’ve written).

      1. 3

        So did you essentially re-write your website (jungle coder) in Erlang? When reading through your blog it mentioned being written in Go.

        I also quite enjoyed your blog :)

        1. 2

          No, this isn’t a rewrite of my blog. For one, this is way more simplistic. It has a lot less styling, for one, no comments, no markdown parsing(yet), not much linking to/from tag and home pages, and it outsources auth to nginx. Another difference is that the bar for content on this wiki isn’t going to be super high (since it’s mostly for me, with occasional sharing to friends), whereas on the blog I usually try to write content that others would find useful or interesting. Actually, once I have a chance to sit down with it and polish it up, I’ll be moving the retrospective to my blog, for example.

          For me, they serve distinct purposes. My blog is a place for me to talk to the world, the other is built to be a place for me gather my thoughts.

          1. 1

            Oh! My apologies I clicked on the first link in your OP which took me to your blog site ( In a green and white color - I’m getting an invalid cert on my end too for what it’s worth)

            By removing ‘https’ it correctly took me to the actual idea.junglecoder.com (the wiki) - that’s why I was confused.

            Any tips in learning Go with a C# background? I’ve been trying to think of things to build or work on.

            1. 5

              No, thanks for pointing out the broken link. It should be fixed now.

              As far as learning Go from a C# background goes, (bear in mind, my path on this has been meandering)

              • Go Standard library documentation is excellent. It’s your new MSDN, but the source is also included
              • Read the source to the standard library if you’re curious about how something works
              • Go has two major strengths: Servers and command line tools. If you want to learn go for what it’s good at, these are the types of things you’ll want to start with.
              • If you can afford it and haven’t already, look into getting a VPS, if you’re interested in Go servers. There are a lot of nice single-purpose servers like linx, Syncthing, Mattermost and gitea. I’ve administered all of these servers for work (mattermost, gitea’s upstream gogs) or personal use (linx, syncthing), and if you know some basic nginx, they’re very low effort. The operational simplicity in getting most of these set up is an awesome thing. It’s not 100% unique to Go, but it’s more common in Go programs. You’ll want to learn nginx and nohup if you do this.
              • If you want to also learn fossil, and check out something rather curious, I have been working on a programming language called PISC.
              1. 1

                Thanks so much for the links!

                Getting a personal VPS is actually one of the things that sparked my interest in Go. One of my small goals is to write a CLI tool or a server of sorts. Coming up with a decently useful idea is the more challenging part. Or writing something I can run/leave running on my VPS.

                I’ve been reading bits and pieces about PISC on your blog - I’ll keep thinking as well.

                1. 6

                  One of the really different things about go is that other people’s badly written code is pretty easy to follow (assuming they haven’t done anything especially clever with reflection, which go makes very hard to do).

                  I’d recommend finding a small go project to use & modify (I’m hacking on a wiki I found called cowyo)

                  1. 1

                    I’ll try that :)

                    Is your background anything close to Go? I’ve been reading a few different books when I have spare time to be go over the language.

                    1. 1

                      I’ve done mostly ruby and frontend; I’ve done a year of go professionally and prefer to use software written in it on my servers (because it tends to be very stable and requires less frequent patching).

                      As far as language specific stuff: you shouldn’t use any of the go-specific stuff (goroutines, channels) in most applications code; let that wait until your app mostly works.

                  2. 1

                    You can always go with the classic yak shaves in terms of servers: Blogs, wikis and task-trackers.

                    For the first task, I’d focus on something that’s been done before, but that you might have a personal spin on. That’s why I wrote blogserv, the software behind the main Jungle Coder blog. It was a complete yak-shave, and the code isn’t super pretty or super correct. (As of right now, it doesn’t check HTTP methods when routing, for example. Thankfully, anything administrative has to be authenticated).

                    There are lot of fun little things I’ve done with my server and domains over the years, if nothing else, throwing up a basic web page and static files directory allows me to serve content from my server during events like game jams.

                    1. 1

                      I’ll have to try out some of the ideas I have had with yak shaving - I’ve been wanting to “do it all myself” but haven’t come up with much.

                      Thanks for the suggestion! I’m always open to more.

          2. 2

            A page for tracking where I am in each of the webcomics I currently read.

            Have you tried Piperka? I’ve used it for like a decade now and it’s great for this.

            1. 1

              I have not. I’ll give it a spin if I get frustrated with my wiki page (though I kinda want an excuse to use my wiki on a regular basis)

          1. 0

            Just sent a request :)

            1. 4

              Having never worked remote (yet!), but having a 70+ mile round trip commute each day really sucks. Since I’ve moved to the new office I sit about 3 feet from the restrooms, so I can hear everything. Sadly people like it warm in the office, so the thermostat is normally set to around 77-80F. Most recently speakers were installed in the ceiling, and constantly stream Pandora Business (~$30 a month).

              I haven’t heard of any horrible remote work experiences, but everyone that I know who has tried it loves it. Hopefully I am able to at some point as well!

              1. 11

                I haven’t heard of any horrible remote work experiences

                The linked article seems to be a comprehensive list of all the things you can possibly do (or have done to you) to make remote working not work. But even then a lot of it doesn’t even seem that specific to remote working; like having three different people trying to talk to you at once–if you don’t know how to stand up and say “no” when unrealistic demands are placed on your time, you’re going to have problems whether you’re remote or in an office.

                A lot of the things in the article also come down to “people in my company don’t know how to deal with the fact that not everyone is in the office” which you can’t really do anything to fix other than “take care when deciding where to work”. If your company uses “how responsive are you to chats” as a measure of how productive you are, that’s a huge red flag and indicates some serious dysfunction in the organization.

                1. 2

                  A lot of the things in the article also come down to “people in my company don’t know how to deal with the fact that not everyone is in the office” which you can’t really do anything to fix other than “take care when deciding where to work”.

                  I don’t think you have to surrender to the dysfunction. You can try to explain to your manager and / or colleagues how things could be better for remote team members (over video chat, not email, so they can see and hear that that you’re being constructive, not whinging).

                  If you try that a few times and it doesn’t work, then, yeah… I guess one potential joy of working remote for one company is you can work remote for another :)

              1. 3

                I can’t talk about my work, but I am immensely enjoying solving each day’s Advent of Code problem.

                1. 2

                  Day 3 kicked my ass but day 4 was easy. If you didn’t know, we have a GitHub group/IRC channel for doing it with your fellow crustaceans.

                  1. 1

                    Whoa, thanks man!

                    1. 1

                      Yeah, I cheated for the second part Day 3 by looking it up in OEIS. That’s because I’ve been doing them at the end of the day and was afraid to miss the “deadline”. But once the pressure to get an answer quickly went away, I went back and actually redid part 2.

                      My work so far.

                      1. 1

                        Is the group for feedback and such? I’ve been looking for something like that to work through problems with a group and get some feedback maybe. I’ve never really participated in Advent Of Code before.

                    1. 3

                      @home: working on a Django app/integration for Dramatiq. It’ll have a run command and task module auto-discovery built-in, as well as an optional admin interface to manage tasks.

                      @work: pairing w/ some people to improve our local dev. story.

                      1. 1

                        What exactly do you mean by “local dev story”?

                      1. 4

                        Just if the real world problem domain is compelling.

                        • If I’m writing some bogus web service for some bogus business goal => unhappy.
                        • If I’m writing something (anything!) that I know will make people’s lives actually measurably better => happy.

                        Code style/language/libraries/development process is a minor factor added or subtracted from that.

                        1. 2

                          How have you moved away from writing silly web services to (hopefully) writing software that makes other people’s lives better for a living?

                          1. 1

                            I haven’t, at least not consistently. I am not happy.

                            I don’t think there are very many pure software jobs that accomplish this, so I am trying to balance a desire to start my career more or less from scratch with a need to continue supporting my family through the transition.

                          2. 1

                            What about a bogus web service for a semi-bogus business goal (i.e. you don’t fault anyone for the goal existing) that reduces the number of annoyances in the life of the person doing the manual part of the work on the same goal?

                            1. 1

                              I guess there is a spectrum there, but generally I would desire more impact than this.

                          1. 3

                            I’m finishing up my first website: coupizza. It’s a pizza coupon finder that’s filterable by zip code. It uses the Twitter/FB APIs to find codes from merchants, then matches them to users based on zip.

                            I’m still figuring out how to increase the number of codes found by the DB API. I’m also trying to find a better way of deleting expired coupons (currently on a fixed timer of 3 days from when the code was inserted).

                            1. 1

                              Is it still under construction - it isn’t loading properly for me.

                              1. 1

                                It should be up now.

                            1. 1

                              Writing scrapers, per the usual. Also looking into ways to consolidate logs across several different nodes running Python clients.

                              1. 1

                                Pardon my ignorance, but what are you scraping exactly? I’ve written a few very simple ones just to crawl links on pages, but nothing that has ever been of any use or worth logging/saving.

                                Just curious!

                                1. 3

                                  I work for a data aggregation company that collects financial data–essentially bank balances and stock positions and transactions for that sort of account. The data is formatted and served through an API, but my piece is diving into the malformed HTML of the web and extracting tabular data.

                                  What did you use for scraping?

                                  1. 1

                                    I’ve used Go for just crawling links, and Python for scraping. It seems like something that could be fun as a hobby, but without a goal there’s just too much to scrape!

                              1. 2

                                I think this question is a little ambiguous. In the same way programs have extrinsic complexity (solving a hard problem) and intrinsic complexity (the program itself is overcomplicated, legacy, etc), challenge can be negative or negative. I think you’re asking about the former but I’ve only experienced the latter. Most business problems are straightforward, and most managers are bad.

                                1. 1

                                  I see what you meant by that - I was more or less trying to see if people see actively feel like they are learning while working on something.

                                  By basically working on the same problem with only a slight variance I would feel like I am not being challenged.

                                  I just want to learn more and feel like I could be doing a lot more - team communication and management make this a challenge due to the current initiatives.

                                1. 3

                                  I’m finishing Writing an Interpreter in Go. Not as technical as it sounds, and definitely awesome.

                                  1. 2

                                    Is this a decent primer for learning go coming from a C# background?

                                    1. 1

                                      sorry for the (way too) late reply. I wouldn’t use this book to use Go. Though the language is used, it’s very basically done so.

                                  1. 4

                                    We just released our new big update for the search engine. It now uses D3.js for rendering all the mind maps, it is super smooth and we are quite happy with it.

                                    Here is the search engine : https://learn-anything.xyz/

                                    Would really love to hear your guys thoughts on it. ?

                                    1. 1

                                      I came across learn-anything before and found it really interesting! What did you guys use before D3?

                                      1. 1

                                        We used our own renderer and panzoom for zooming in and out. But it’s really bad compared to what D3.js allows us to do.

                                    1. 4

                                      Websockets with Suave (F#) and React with reactive extensions. Having fun with “Stateless react functions” and trying to make a game with all this. We’ll see how it goes.

                                      1. 1

                                        How do you like F#?

                                        1. 1

                                          Oops sorry for not getting back to you! It’s going really well and I like it a lot. Still getting used to the syntax but it’s really nice and compact like python, but has the feeling of strictness that C# has. Pretty nice to work with.

                                      1. 2

                                        Continuing adventures in tedious server migration, both at $work and for personal stuff. Also trying to buy a house, with all the fun that entails which is taking up a lot of my time.


                                        (Saw this wasn’t posted yet this week by caius, so I posted it please let me know if there should only be one person posting the weekly thread or something! )

                                        As long as people are answering it, I think somebody remembering to post it every Monday is perfectly fine. (Someone else started it originally!) I was travelling this week, many thanks for stepping in and posting it. ??

                                        1. 1

                                          No problem didn’t want to steal your thunder! I really enjoy reading these threads even if I don’t have a ton to contribute to them!

                                        1. 4

                                          Developing my take on a “Little Schemer”–style Erlang tutorial. It may end up an Elixir tutorial, as Elixir seems to be where most of the interest is these days.

                                          If anyone is interested in collaboration, feel free to PM me!

                                          1. 1

                                            As someone who enjoys tutorials (and has never worked with Erlang) I would possibly consider adding supplemental notes/instructions on the first ‘slide’ to maybe show someone how to install or get the shell up and running? I suppose it depends on your audience, but I still liked what you have so far!

                                            1. 1

                                              Thanks for looking at the tutorial! I’m still thinking about how to package the whole thing. “The Little Schemer” series usually has some guidance on environment setup in the preface, and then the tutorial itself has the reader wholly immersed in the subject matter.

                                              OTOH this is not a book, but a standalone webpage, and web links are free… I think you’re on the right track! Much thanks again for taking the time to give feedback!

                                          1. 2

                                            I’ve written a “directory navigator” prototype, trying out a simpler event model for once and proving that it can work the way I want it to, and now I’m trying to prototype a W95-esque GUI system on top of HTML canvas and ES6, rediscovering Win32 and GTK+ in the process. I really hope I can get it done soon, despite being a slow programmer. I’m so excited by the idea.

                                            1. 1

                                              That’s really cool! I also find myself using asciinema to showcase (or just show) people terminals quickly.

                                            1. 6
                                              • Toying around with os development using the Little OS Book.
                                              • Some rails dev for a CS project at school
                                              • A bunch of CS and math tests (yay.)
                                              • Got an FPGA development board yesterday so I’ll try to fiddle with that and hopefully build a Lisp processor - no idea what I’m doing yet, but I’m excited to see how that goes. Anyone have tips/resources for a hardware noob designing FPGAs?
                                              1. 3

                                                What kind of FPGA? I had to use a Nexys 4 for my project, so that meant using Vivado, which I really disliked. In general I’m not sure if hardware development is my cup of tea, so maybe you don’t find it as terrible. But I don’t like the tooling in general.

                                                A small tip, if you use Emacs: Emacs is not too bad for vhdl and has a major mode for that already. I mostly used that instead of the built-in editor for writing the code.

                                                1. 2

                                                  I bought the Altera Cyclone II off Amazon ‘cause it was cheap. I’m probably going to use Verilog, since I’ve seen lots of examples on github with that, but I haven’t done anything with a hardware description language, so I’m not sure yet.

                                                2. 1

                                                  How do you like the Little OS Book? This is my first time hearing about it!

                                                  1. 1

                                                    It’s OK at giving a high level overview of a simple OS, but I’ve had to supplement many details with this tutorial and the osdev wiki. It’s definitely worth having open as a reference, though.

                                                1. 1

                                                  Generally just work, and trying to get back into the swing of working out on a daily-ish basis.

                                                  I have a few blog post ideas to work on as well, but I was sick the past few weeks, so I’m still getting over that slightly.

                                                  1. 3

                                                    There’s a feature “Erase Data” that will erase the data on an iPhone after X failed attempts. What are they going to do if you enter the wrong passcode on your phone X times? Granted it’s not going to look good when you do that in front of them, but then what?

                                                    This sort of thing is getting pretty nasty.

                                                    1. 26

                                                      They don’t let you input the PIN, they have you write it down and they enter it on the phone in another room, doing whatever they want for as long as they want (probably dumping the entire storage).

                                                      If you give them a bad or booby-trapped PIN, the “then what” is never going to be “they’ll shrug and move on”. If you are a citizen, they’ll seize the phone, maybe return it in 6 months or a year. If you’re not a citizen, you’ll be denied entry, perhaps visit a charming detention facility, and get to buy a last-minute one-way plane ticket back where you came from. You’ll have to disclose that on every future border crossing (note that many countries ask if you’ve ever been denied entry anywhere, not just to them) and have a very hard, if not impossible, time entering the U.S. again.

                                                      This is your best-case scenario, where the officer politely does the minimum and don’t use any of their incredibly broad, discretionary power to seize all your property and dump you in a cell indefinitely. There’s almost certainly a broadly-worded “interfering with a border officer” or “destruction of evidence” felony statute they’d charge you with.

                                                      Nothing good comes of being clever at law enforcement officers. They certainly have a broad statute or power written for dealing with serious criminals that can be trivially used against any loophole you hope to have invented. If you don’t want your phone cloned at the border, your only options are to not be carrying it or successfully reform the law governing digital storage at border crossings.

                                                      1. 17

                                                        Nothing good comes of being clever at law enforcement officers

                                                        This, a thousand times. Who is going to win this game - the person who plays it every day, or the newbie who shows up with a clever trick?

                                                        1. 6

                                                          The question is whether they’d catch on if you provided a duress pin which logged into an empty home screen while performing a factory reset in the background.

                                                          I agree giving them a pin which will simply fail is foolish.

                                                          1. 3

                                                            I would assume they follow procedures. If I was to set a procedure for an agent on the field like that the first step would be to image the phone; the second step would be to image the phone again after entering the provided pin.

                                                            Storage is cheap.

                                                            1. 4

                                                              I don’t doubt there are certain high-profile cases where this level of sophistication is used, but I doubt it’s a routine thing they do for random checks.

                                                              1. 2

                                                                It shouldn’t be possible to image the phone without entering the pin — at least not without cracking it open in a fairly permanent fashion.

                                                                1. 2

                                                                  how security-conscious are MMU’s in modern phones?

                                                              2. 2

                                                                It might work, or it might land you in the hole indefinitely. Maybe that’s a risk profile that appeals to you - I’ll pass on it.

                                                          2. 2

                                                            Sadly Android at least has no duress-pin feature as far as I can tell. Here’s a wishlist issue discussing implementing one: https://code.google.com/p/android/issues/detail?id=132451

                                                            It would be a lot more convenient than pre-emptively wiping it for every flight you board. Maybe it can be done with a 3rd-party tool.

                                                            1. 1

                                                              I could see a 3rd party tool to unlock a phone from “Panic Mode” to work, but a secondary authentication method would have to be used to unlock the phone from that point maybe?

                                                          1. 1

                                                            What happens if you would have a brand new phone in original packaging? Could you treat it as an import and pay customs duty? Could you do something similar with used phone?

                                                            1. 6

                                                              Don’t piss off the border control officers (especially in a foreign country where you haven’t got any rights at all).

                                                              They can wreck your day on a whim.

                                                              1. 1

                                                                If you’re saying package a used phone as a new phone - that might work I suppose! It seems like a fairly large hassle (less than wiping your whole phone each flight though)