1. 23

This is the weekly thread to discuss what you have done recently and are working on this week.

Please be descriptive and don’t hesitate to champion your accomplishments or ask for help, advice or other guidance.

  1.  

  2. 11
    • This week I’m transfecting HEK-293[0] cells with the plasmid DNA components that will give rise to an adeno-associated virus[1] that expresses EGFP[2] driven by a human synapsin[3] promoter sequence. A fluorescent protein-expressing virus like this is typically used in optogenetics[4] studies by helping to visualize different activities in the brain.

    • Picking apart a critical python script which takes a .fastq sequence file or files, compares the reads within them to a .csv containing a number of known contaminant sequences, and spits out a percentage of contamination sequences inside the .fastq file or files. The script prints out a different percentage based on whether a .csv is used for input or a list of sequences inside the script is used for input. Currently trying to figure this out while converting the script from python2 to python3. I am not a programmer.

    • Reading Kernighan and Pike’s The UNIX Programming Environment has been eye-opening and has made a lot of things click for me that I didn’t realize before as a casual *nix user/enthusiast. I got to the C section and grabbed a copy of The C Programming Language to accompany me. Learning Python and C at the same time with no formal CS training, yay.

    [0] https://en.wikipedia.org/wiki/HEK_293_cells
    [1] https://en.wikipedia.org/wiki/Adeno-associated_virus
    [2] https://en.wikipedia.org/wiki/Green_fluorescent_protein
    [3] https://en.wikipedia.org/wiki/Synapsin
    [4] https://en.wikipedia.org/wiki/Optogenetics

    1. 4

      Currently trying to figure this out while converting the script from python2 to python3. I am not a programmer.

      Methinks you are. Welcome to the club!

    2. 7

      For school, we have to think about entrepreneur projects related to blockchain. Every single time we find a nice idea, either it has already be done, or the blockchain technology is irrelevant for that idea (which can be done without). Our group hasn’t advanced for 2 months now.

      1. 9

        A hammer looking for a nail - A lesson I have heard before is to look for a problem with real value that hasn’t been solved, this doesn’t seem to be taking that approach.

        1. 2

          More tips like that?

          1. 1

            success in most things is about managing the expectations of others. say no more often. ask the manager to prioritize.

            1. 1

              Unfortunately I am not a great expert, still gathering wisdom myself. Though i hope to hear what others can suggest.

              1. 1

                I wrote an article on finding ideas. Essentially, it is important to find problems and treat them as opportunities, rather than finding solutions first and the problems they solve later.

                1. 2

                  Great article! Thanks for sharing it.

            2. 4

              Maybe start from problems: look for markets for lemons, adverse selection, agency costs. As a rough rule of thumb, any market in which someone can earn a commission. And focus really tightly - rather than land titles on the blockchain, attack mineral or oil rights. Look up what people are suing each other over and you know what corner cases to handle.

              1. 3

                Things that might be useful:

                • Many companies start from open-source projects aiming a niche, enhance them a bit/lot so it can be useful for companies.
                • Others are just something that already exist but can be better/interesting on the blockchain. For example, several softwares to track authenticity of painting/sculpture transactions exist, but blockchain ones emerged and it’s a super neat application (imho).
                • You probably do this already, but if you shift your view of the blockchain to either tokens or just a more realistic representation of the world, it might be easier.
                1. 3

                  What’s wrong with doing something that’s already been done? Unless you’re doing research, there’s usually room for more than one interpretation on how to solve a problem.

                  1. 2

                    That’s actually a good point. YC often says don’t worry if someone has thought of your idea already. Just beat them in execution. Tech history is littered with better ideas or bad implementations of similar ones that lost to better executed and/or marketed ideas.

                  2. 2

                    Although I warn it might be unpopular, you might want to try something similar in concept but not quite blockchain. The benefits of the blockchain without necessarily being one. Here’s a few I’ve heard or was pushing that may or may not be implemented by a startup by now:

                    1. Transactions are done with traditional databases that use a distributed ledger to tally up final results. This is similar to what banks already do where most transactions are hidden in their databases with some big chunks of money moved between banks. It works.

                    2. Instead of just a coin in the ether, Clive Robinson on Schneier’s blog suggested creating a financial instrument that is tied to a number of commodities or other currencies in such a way that it remains really stable. As in, not a speculator’s tool like Bitcoin. I found one company that did this with several currencies plus carbon credits. I just can’t remember name.

                    3. Instead of miners, might again use a low-cost technology for transactions but people need an account with the service to participate that costs about a dollar or so a month (or yearly). Kind of like with texts, they buy blocks of transactions. The providers are non-profits with chartered protections with the provisions or exchange being where the new tech comes in to provide accountability.

                    I’d do a combination of these if I entered the market. I’m not planning to right now. So, sharing the ideas with others in case someone wants to have a try at it while money is raining from the sky on those that utter the words “blockchain” or “decentralized.” ;)

                  3. 6

                    Adding non blocking IO to Jehanne, a Plan 9 derivative voted to simplicity.

                    Thanks to the great developer behind MirBSD, I recently managed to port mksh.

                    1. 6

                      I’m starting work on proper FPS networking for my game. A lot of the concepts have clicked in my head lately so I feel ready to work on it, but it’s so crazy hard. There’s tons of tricky stuff I need to implement and when I sit down to start on it I just have no idea what to type. It feels like I’m programming for the first time again.

                      So for the moment I’m doing mostly random exploration and hoping I find something reasonable. Wish me luck!

                      1. 5

                        Working on bugs for raiblocks, a cryptocoin I’ve recently heard about. It’s got a small dev team (it was just solo until ~1-2 months ago) so my contributions feel like they’re really valuable.

                        1. 5

                          $work:

                          Let i = 0

                          See, when you start somewhere, you think, “Oh man, I’m going to help make this place great!” Someone leads you to your $DESIGNATED_EFFORT_RECEPTACLE and you sit down and get set up. A little while later, someone brings over this beautiful bowl. Ornately turned, clearly by hand. It’s got a lid on it. They set it on your desk and say, “Hey, welcome to the company, I’m from $SOME_DEPARTMENT[i], here’s a gift.” You open the lid as they watch attentively. The bowl is full of shit. Literal, human shit.

                          “Eat it.” They say flatly.

                          “What?” shocked response.

                          “Eat. It.” nothing on their face indicates they are kidding. This is because they are not kidding.

                          “I… I don’t– but it’s sh–”

                          “Eat.”

                          “Bu–”

                          “It.”

                          So you do, because you have bills to pay. You take your hand and eat that bowl of shit.

                          Then they take the bowl and leave.

                          i++; GOTO $work

                          !$work: Despite $work being a soulsucking experience right now, I’m having a good time at !$work learning about Tensorflow and the like. I’m working through a couple Udemy courses that are quite good (both from Jose Portilla). I finished up (more or less) my first Rust project since my initial failed attempt to learn a few years back. It’s not what I’d call the most useful thing in the world, but it was fun to write. Honestly it’s probably the first time I’ve had fun coding since I left my last job prior to $work. Other than that, I’m trying to be more organized than in the past, so I’ve spent some time setting up some more tools to hopefully automate little bits of my life and better document other things I do routinely. I’m also planning a vacation, I don’t know when or where it’ll be, but I definitely need one.

                          1. 4

                            Apart from a ridiculous amount of university deliveries, I’m trying to work on a Python (pip) version of cargo-thanks. Right now, I am able to already extract the links to GitHub of all the dependencies of a project; so I just need the way to actually star the repositories. I’m getting closer!

                              1. 1

                                It does, thank you!

                            1. 4

                              Finally launched Helmspoint. It deploys your Keras image machine learning model to the web.

                              Had some hiccups along the way, but I finally have something that people can use, and I can start iterating from here.

                              I’m going to:

                              • Write down a list of people to swing back to so I can talk to them.
                              • Solicit feedback from new users
                              • Come up with a pricing plan and implement subscriptions
                              1. 3

                                At work, I’ll be diving more into React for our new frontend. In my free time I’ll try to start reading “write great code” and for Arch Linux work on reproducible builds, figuring out what needs to be done and writing down issues.

                                1. 1

                                  Is that the Randall Hyde book? I read and liked Volume 2.

                                2. 3

                                  At work: battling on squashing the few remaining (known!) bugs in our move from Qt WebKit to Qt WebEngine. In general, the migration has been smoother than I would have thought, but, as usual, it seems like the last 10% of the process is taking up 90% of the time.

                                  At home: Too busy really for much. I still really really really want to take a deep dive into Pony

                                  1. 3

                                    Projectwise more work on the TLA+ book and the UML history.

                                    Personalwise, I’m learning AutoHotKey and it’s AMAZING. The syntax is janky and the commands I make are brittle (lots of measuring distances in a window or tweaking sleeps), but oh my god the workflow improvements you get out of it. I’ve turned about a dozen annoying, fidgety gui interactions I regularly do and turned them all into hotkeys. This has pretty much killed my desire to go back to a Mac.

                                    1. 1

                                      I’d love to read about what you’ve scripted and why. I’m always filing a rough edge or two and am curious to see what others improve.

                                      1. 2

                                        Some of the stuff I’ve added so far:

                                        • The calculator button on my keyboard now opens a J interpreter instead. If I press it while one’s active, it just switches instead of opening a new app.
                                        • I made a hotkey that adds/removes the current song on Spotify to my library, regardless of which window I’m in. It’s really nice for working while listening to a radio station.
                                        • Hotstrings for my address and cold shower template.
                                        • I got the cold shower link with my “note taking” extension I’m building in AHK. In this case, I had a different browser window tagged as the “browser”, and then pressed a hotkey to grab the current url from that browser window and paste it into the current textbox (here). Still far from complete, but it’s really promising!
                                      2. 1

                                        Maybe not a stupid question, though it feels like one: Is there something preventing an AutoHotKey -“like” for Mac? macOS still has the AppleScript engine (as far as I’m aware). Seems as though it’d be possible to build a better, less janky language on that and tie it to “hot keys”? Disclaimer: I know of AutoHotKey, have a rough idea of what it’s about, but I don’t have, nor have I used a Windows machine in 10+ years, to play around with it.

                                        1. 1

                                          To my understanding it’s mostly a “nobody’s really tried” thing. I’ve heard Keyboard Maestro is pretty good though.

                                      3. 3

                                        At work:

                                        • assembling 50 tiny PCBs (750 solder joints total) by hand, cleaning flux residues and varnishing them
                                        • interviewing a promising candidate for developer position
                                        • evaluating a couple industrial SOM modules for a new product

                                        Home, mostly continuing on a reading binge that started round Xmas.

                                        1. 3

                                          Continuing on with my automated penetration testing kit. Golang has been a god send for easily parallelizing connections and threads. Working on adding the fun stuff which will including worm like capability to spread among a network after gaining a foothold.

                                          1. 2

                                            I’m back from vacation this week. I’ll be catching up on email, and probably figuring out what’s happening to me in the next few weeks. My future is a bit unclear team-wise, I don’t know where I’ll end up, but I’m kind of in limbo for now.

                                            Until I know what’s up, I’ll just continue what I was doing, which is a bit of Ruby that grabs a swagger file to do a (very synthetic) performance test of diverse endpoints exposed by said swagger file. The idea is to do a short test at different concurrency values to see how well the endpoint holds for some level of concurrency. Nothing fancy, and definitely very artificial.

                                            1. 2

                                              Looking into JavaFX, to see if it’s usable for a refresh of a UI in a Java program. Is there other frameworks out there for Java that’s more MVVM centered? (… possibly something like WPF but for Java?)

                                              Also working on more automatic testing for the handsets - it’s growing into a nice little system by now which can simulate a user.

                                              1. 2

                                                At work: trying to get my team’s application onboarded into a dev environment. I’ve done this at small companies before, where the process is approximately “1. talk to the ops person; 2. do what they say”, but I’m at a large company now, and there’s an entire team and a fair bit of very new, largely untested infrastructure between my artifacts and the systems that run them, which is introducing some friction.

                                                At home: I think this is the week where I go around and update all my systems on variously old versions of Debian. I was waiting for procrastinating until the end of support for Wheezy in May, but Meltdown has moved up the timetable a bit.

                                                1. 2

                                                  I’m half-way through building a top-down photography structure for capturing lots (multiple hundreds) of loose-leaf artwork that doesn’t fit on an easel and so can’t be shot with a tripod (the paper would just fall off).

                                                  Since there is so much art that I need to photo, I need to have a good workflow in place to capture and catalog. I’ll use gphoto2 to preview/capture pages and try to get each shot down to 15 seconds (preview, capture, flip page, repeat).

                                                  As for the physical setup, I have an old SLR digital camera that will point straight down from about 6 feet high.
                                                  I have a good lighting kit that I got really cheap, and some discount white bedsheets to use as a giant makeshift lightbox.

                                                  This weekend I traced out the lens and handle shapes from MDF and sawed/filed it out, getting it to fit nicely, and cut the rest of the supporting structure using the remaining MDF and some leftover 2x4s. The structure will hang from the joists in the basement, with a long cable connecting the camera to a laptop. I hope to have everything going and taking photos by the end of this week.

                                                  1. 2

                                                    Going do dig into rust-clippy, trying to write my first lint. I started learning Rust at the beginning of December and it looks like I’m going to stick with it. My idea is that by digging into rust-clippy I can learn a bit about Rust compiler internals at the same time as learning the language itself.

                                                    1. 2

                                                      Working on an AGPL licenced federated youtube alternative on linux with F# with Suave in dotnet core and Fable React + Elmish. I’m aware that Peertube exists and hoping to federate content with them. Basically just started this weekend so we’ll see how far I get. Hoping to use an event store style architecture, which may or may not make federating easier.

                                                      1. 2

                                                        Im in my mandated 1 month off per 12 months contract cool down period (ie only give 11 month contracts so we don’t have to hire full time scheme) which is turning into a “I know you’re not on contract but could you do a-z pretty please” situation. Which is impossible to say no to because it generally involves an actual real world crisis… and if I don’t do it they’ll pull a fit and not give me my next 11 month contract.

                                                        In the time I do manage to scrape out, been building a kids game in SceneKit/SpriteKit using magicavoxel as well as trying my hand at illustration and children’s writing to see if I can crank out some cool children’s stories. Trying to find a used iPad Pro and pencil for drawing and colouring but might just hand draw and ink some stuff and scan and colour.

                                                        1. 2

                                                          I took a short break from PoprC to polish up a C library I’ve derived from that project that I call Startle.

                                                          It has a lot of nice features that make it much easier to start a new C project, while staying lightweight and not requiring any heap allocation.

                                                          I have also made an example project to which I’ve been adding bits of code to demonstrate usage of the library.

                                                          I hope to get some time to fix some more test cases with PoprC so I can get closer to getting the library working again.

                                                          1. 1

                                                            I love these kinds of things. Thanks for asking!

                                                            At work, we make wireless and bluetooth modules. We have a single test suite which does functional testing for a range of bluetooth and wifi modules. I’m teasing it apart, reorganising it, and making it a bit nicer to work with. While I do this, I’m preparing material to help my colleagues write more robust and reusable tests.

                                                            At home, I’m starting my spring cleaning early. I’m getting rid of all of the computers and computering bits that are attached to projects I won’t touch between now and June. I have a lot of cool hardware and toys that I won’t get to use, but having it around while I can’t do the project really stresses me out. So I’m getting rid of it.

                                                            Finally, I’m working on some applications (which will be open source) for GTD and budgeting.

                                                            I hope next time you ask, I’ll have more interesting things to talk about.

                                                            1. 1

                                                              At work, I’m doing more maintenance tickets and learning about the various products and programs we have.

                                                              Away from work, I just got all of the PISC standard library’s go-implemented functions documented (if only a little). There are some extensions that will need a similar treatment, and then I’ll have the data basis for generating help docs for PISC.

                                                              I’m also looking into listening to Mortal Engines on Audible

                                                              1. 1

                                                                Some years back I made a syntax theme based on the Solarized color scheme for Sublime Text, and I’ve been working on making it available for Visual Studio Code and Atom. So I will probably spend some time fixing little issues and fine-tuning colors.

                                                                You might wonder why yet another Solarized theme (Yast)? there are plenty, and most editors even come with them. I find many of them look too busy for my taste, they assign colors to every possible syntax entity. Some of them also choose colors that are hard to see for things like selection highlighting (which is not directly specified by the original scheme). So I attempted to make a version that, as far as possible, only assigns colors to the root groups specified in the TextMate documentation (which highlighting in both editors originated from).

                                                                Besides that I am also in the process of moving some of my personal programming projects to meson.