Ask HN: What did you build in 2019? - <AUTHOR> I've had a rather uncreative year, and I'd love some inspiration going into 2020. Please share your side projects/businesses/hobbies, ideally with links and traction numbers. :-) Have a lovely new year! <comment><USER5> Adopt Animals ([https://www.adoptanimals.io/](https://www.adoptanimals.io/)) - a charitable passion project for free, independent, and ad/tracking-free animal rehoming listings in the UK.

We're partnering with one shelter in Edinburgh (Scotland) to start, and built the website and a pair of apps to showcase animal listings. We've had a few success stories of people finding pets already, which is really motivating!

If you know of a shelter in the UK who might want their listings on there (ideally they'll have a means of exporting them and we'll build an importer), let them know to get in touch with us :)

<comment><USER6> I really like the design and, of course, the mission! Good luck!

<comment><USER5> Thank you!

For interest, we also just submitted our annual report to our regulator, if you'd like to read about the first year of our parent charity [https://www.kale.charity/reports](https://www.kale.charity/reports)

<comment><USER7> How are the developers compensated? Are you all doing this for free? Love the project but interested in the practicalities behind it.

<comment><USER5> There are currently 3 trustees of the charity, including myself, and no employees. It's illegal for trustees to be compensated for work relating to the charity. We're careful to pick problems (and solutions) that we can make and maintain.

I focus on the engineering, my partner focuses on anything design related, and our third trustee manages finances.

We do it because we're passionate about it, and the legal structure gives us a lot of weight and ability to negotiate reduced rates with services we depend on. It also sets us up to pay other developers, if/when we decide there's too much for us to do as a team. Folks might want to donate their time as well, but we will need to be mindful of properly compensating people for their time.

<comment><USER7> Thanks for the response! Sounds interesting. I'll have to look more into it. I love the idea of building software as a charity

</comment></comment></comment></comment></comment></comment><comment><USER8> I am a classical musician, programming for fun. I found guile scheme about 2 years ago, and I have been writing all my software in it since. Such a nice language to be working in!

I wrote a SRFI (scheme request for implementation) for transducers, which are efficient composable algorithmic transformations. They allow you to eagerly transform collections, say like using map and filter, but without building intermediate collections. The SRFI document is here: [https://srfi.schemers.org/srfi-171/srfi-171.html](https://srfi.schemers.org/srfi-171/srfi-171.html)

Then I rewrote a large chunk of racket's for loops for guile: [https://hg.sr.ht/~bjoli/guile-for-loops](https://hg.sr.ht/~bjoli/guile-for- loops)

They are zero cost (apart from negligible macro expansion) and provide a homogenous way to iterate through various collections. I am now in the process of implementing foldr for it, which will allow for a general way of writing lazy iterations.

</comment><comment><USER9> SIXTEENmm ([https://sixteenmm.org](https://sixteenmm.org)), a streaming site for old, hard to find and indie films.

I've spent most of the year working on colourisation and recovery techniques. Colourisation is probably 70% of the way, but restoration is as hard as ever.

The project isn't meant to be a unicorn. The tech stack is boring, and probably wouldn't scale.

There's about 50 people on board, and about two or three videos streamed a day - so it isn't remotely "successful" yet, but I set a four year timeline for it.

I don't have any specific stats to offer - because I don't collect it. I collect as little data as I can get away with. Both for personal belief, and economic reasons.

Hard to get massive fines for the inevitable breach when there's no PII to steal.

<comment><USER10> This is great, my wife was looking for a site for old movies the other day. At the risk of offending could I suggest working on the design a bit to increase trust and look more established. If I stumbled upon your site I don't know I'd be willing to put my credit card details in with the current look and feel of the site.

<comment><USER9> No risk of offense. Styles are not my best skill, though I have found people trust more when you throw things like pointless animation at them, which is something I'm specifically avoiding. (Part of the site design guidelines is that my highly autistic niece can use it without freaking out).

But, you don't have to put your CC in. Not until you've established a relationship.

I am always looking to improve the look, however.

</comment></comment></comment><comment><USER11> The biggest thing I have built this year is Hexadecimal ([https://tryhexadecimal.com](https://tryhexadecimal.com)). It is my first SaaS business, so it is a pretty rough endeavor, both on the development and the business side. Built on the vanilla Rails stack. As boring as it could possibly get. I have described in some detail the tech behind it: [https://runninginproduction.com/interviews/9-running-a- websi...](https://runninginproduction.com/interviews/9-running-a-website- monitoring-service-with-a-boring-technology)

Lessons learned:

* If you'd like to start making money on the Internets, don't start with a SaaS

* Making your first $currency will give you a (much needed) morale boost

* If you're just starting out and you're in for the long-term, optimize for learning and building relationships

* _Worthwile Things_ take time

* You probably won't get _it_ right from the first time (whatever _it_ is). It is far more important to keep iterating rather than getting the right answers from the very beginning.

* Most minor decisions won't matter in a few months', let alone in a few years' time. Don't overthink it. Make a fast decision and if necessary, re-evaluate it down the road

* Don't rush to automate tasks

* Build it, and _they_ will do absolutely nothing

* Businesses live and die by their distribution channels

* Running a lean operation (i.e. low-cost) is a competitive advantage

* Having an audience is an unfair advantage

* Writing is a gift that keeps giving. Write more!

* The true validation is people paying you money

After many months (or years?) of procrastinating, I finally published my personal website ([https://jmstfv.com](https://jmstfv.com)). I have been meaning to do this for a long time but kept putting it off for various (artificial) reasons. So, I hand wrote the HTML, copy pasted the CSS from my other projects, and called it a day.

Lesson learned: start with the least painful solution.

EDIT: added couple more "lessons learned"

<comment><USER12> So much this: "Build it, and they will do absolutely nothing" Experienced this personally a few times in the last year.

</comment></comment><comment><USER12> I built a colour search engine for lipcolour products that's had a fairly good response from the beauty community!

Main UI: [http://lipcolourmatch.com/](http://lipcolourmatch.com/)

Map of colourfamilies: [http://lipcolourmatch.com/colourfamilies](http://lipcolourmatch.com/colourfamilies)

Gallery interface: [http://lipcolourmatch.com/browse- all](http://lipcolourmatch.com/browse-all)

Main lesson:

* Making money with affiliate models in this space can be hard if you don't already have a big existing audience (ie. from a Youtube channel) - wrote a bit about it here

[https://blog.race-conditions.net/posts/experimenting-with- th...](https://blog.race-conditions.net/posts/experimenting-with-the- affiliate-business-model-for-tech-microbusinesses/)

</comment><comment><USER13> This year I've been super productive with Elm and built a few things for the community:

Elm Resources ([https://wolfadex.github.io/elm- resources](https://wolfadex.github.io/elm-resources)) - opinionated list of tutorials and tools for Elm

elm-license-finder ([https://github.com/wolfadex/elm-license- finder](https://github.com/wolfadex/elm-license-finder)) - tool for listing elm dependencies

elm-text-adventure ([https://package.elm-lang.org/packages/wolfadex/elm-text- adve...](https://package.elm-lang.org/packages/wolfadex/elm-text- adventure/latest)) - package for building text adventures in Elm

Grove ([https://github.com/wolfadex/grove](https://github.com/wolfadex/grove)) - WIP GUI tool for management of Elm projects

Slime Buddy ([https://slime-buddy.netlify.com](https://slime- buddy.netlify.com)) - A little slime pal that you can take care of (re-wrote it from JS to Elm)

And I have 2 other projects that aren't quite ready to show. Maybe I'll have something for 1 of them before the 1st?

</comment><comment><USER14> I built a 3D graph visualisation of the Gypsy Jazz scene around the world called the DjangoVerse ( [https://www.londondjangocollective.com/djangoverse/](https://www.londondjangocollective.com/djangoverse/)). I used Django (obviously..), D3, and React.

It shows which players gigged together, and colours the players based on the country they live in. It's a wiki, so anyone can add themselves or other players, as well as add a link to a YouTube video to promote their music.

A bunch of people (Gypsy jazz a pretty small world!) added themselves (there are over 200 players on it now) then it died down.

I also wrote a blog post about the design process: [https://www.jeremiecoullon.com/2019/11/27/djangoverse/](https://www.jeremiecoullon.com/2019/11/27/djangoverse/)

It was fun and meant I got to learn a bit of React and D3 !

</comment><comment><USER15> Synonyms Deluxe ([https://chrome.google.com/webstore/detail/synonyms- deluxe/kf...](https://chrome.google.com/webstore/detail/synonyms- deluxe/kfeajncmldifdopobhjlgbhilblhbekd)) - a browser extension for looking up synonyms

Gitfuck ([https://www.instagram.com/gitfuck/](https://www.instagram.com/gitfuck/)) - automated Instagram account featuring commit messages of frustrated developers on GitHub

Windows 95 Accessories ([https://unexpectedcomputers.com/](https://unexpectedcomputers.com/)) - Windows 95 swag and jewelry

My Handmade Story ([https://myhandmadestory.com/](https://myhandmadestory.com/)) - <USER2> stories from makers who make and sell handmade products

<comment><USER16> If you don't mind revealing, how much Windows 95 swag/jewelry have you sold?

</comment></comment><comment><USER17> I built the following things:

\- A SaaS for productized services ([https://www.manyrequests.com](https://www.manyrequests.com))

\- I wrote a book (in 24 hours) on productized services: ([http://www.productizebook.co](http://www.productizebook.co))

\- I also grew a FB group (Productized Startups) to 1950+ members on the topic of productized services.

My goal for 2020 for my SaaS is to hit 150 customers or $10k/month in monthly recurring revenue.

To achieve that goal I plan to:

\- Improve the UI of the SaaS in Q1 and Q2

\- Release one piece of content per day

\- Grow my community of productized startups founders to 4k members

<comment><USER18> How did you go about building the community? Has it been worth the investment?

<comment><USER17> Totally! Building a community has helped me to know what customers wanted.

How I did it: \- Started a small Facebook group, added friends \- Started connecting on FB with productized service entrepreneurs, added them to the group \- Mentioned the group in various places (Twitter/Indie Hackers/...)

<comment><USER18> Interesting, thanks for the info! Did you create a separate account for your product, or did you just use your personal account? What sort of information do you post to the group? Thanks again!

</comment></comment></comment></comment><comment><USER19> I discovered my love of Elm and pumped out a few super simple apps with it:

Verbly ([https://verbly.3digit.dev/](https://verbly.3digit.dev/)) -- Simple app for practicing Italian verb conjugations in various ways

Sw/Sh Pokedex ([https://dex.3digit.dev/](https://dex.3digit.dev/)) -- Easy little app for type matchup information and party-planning for the new Pokemon Sword/Shield

</comment><comment><USER20> A relationship, and got engaged. Getting married in May... never thought that would happen!

Does that count?

<comment><USER21> Congratulations!

<comment><USER20> Thanks!

</comment></comment></comment><comment><USER22> A way to visually compare how sites load inside vs. outside China [https://www.chinafy.com/tools/visual-speed- test](https://www.chinafy.com/tools/visual-speed-test) !

This tool was built as part of a larger suite of tools that highlight and resolve the cost performance gaps businesses face when entering the Chinese market.

</comment><comment><USER23> I built some NLP infrastructure, as part of a larger project I'm working on. Two bits I was fairly pleased with were

1\. Something that takes a line-chart and turns into a word narrative of what the graph is describing. [https://towardsdatascience.com/financial- storytelling-using-...](https://towardsdatascience.com/financial-storytelling- using-time-series-classification-185094f80db5)

2\. Sentiment-tagging (positive/negative) for financial news. Personally, I don't believe there's a lot of alpha to extract from this, because news usually lags market information. But A LOT of people believe differently, and this article shot up on relevant Google searches, way ahead of academic papers or other sources of authority. [https://towardsdatascience.com/a-new-way-to- sentiment-tag-fi...](https://towardsdatascience.com/a-new-way-to-sentiment- tag-financial-news-9ac7681836a7)

</comment><comment><USER24> I created and launched Storry

[https://storry.io/](https://storry.io/) [https://apps.apple.com/us/app/storry/id1485126254?ls=1](https://apps.apple.com/us/app/storry/id1485126254?ls=1)

<comment><USER25> Wow, that's everything I like about snapchat without everything I dislike.

Gonna have to try to convince some friends to hop on it.

<comment><USER24> That'll be awesome! Yeah, have so many features planned. Will be releasing updates soon!

</comment></comment></comment><comment><USER26> I built a prototype of an ingredient list scanner for Keto people. It's still not launched and I'm sure there's bugs, but I'm hoping that posting this gives me some motivation. :-)

[https://ketoscanner.site/beta](https://ketoscanner.site/beta)

<comment><USER27> I had this same exact idea a few years ago. Thanks for creating it!

</comment></comment><comment><USER28> Blook ([https://blook.io](https://blook.io)): Helping US and Foreign entrepreneurs register their company in the US as an LLC or C-Corp. Go-live will be on the first :) Particularly looking to work with the latin america market.

<comment><USER29> Looks great. Wish you all the best for the go live. We are in the same business. I do this for Germany with firma.de. Trying my best to increase the amount of entrepreneurs here.

If you ever want to talk about bundling other service offerings into the company formation offering let me know. We had our fair share of learnings there :)

<comment><USER28> I'll definitely take you up on that offer. Thanks for the feedback, I appreciate it!

</comment></comment></comment><comment><USER30> I just released my first product ([https://www.keepmeon.top](https://www.keepmeon.top)). It fetches and filters content from Reddit, Hacker News, Lobsters, etc. and generates a RSS feed or sends a periodic email summary.

There are a lot of things to improve, but it's a start...

I also made a little game using TypeScript: [https://xojoc.pw/games2d/4snakes/](https://xojoc.pw/games2d/4snakes/)

</comment><comment><USER31> I built a new web application front-end to an old warehouse inventory tracking and catalog management system for a very large corporation everyone is familiar with. But thanks to the contracting arrangement, I can't talk about it. Makes it tough to attract new clients.

I made some enhancements in 2019 to my Hacker News reader ([https://webbindustries.com/hackernews](https://webbindustries.com/hackernews)), but who hasn't made one of those.

</comment><comment><USER32> I built a service to help maintain social connections: [https://getfriendlyreminder.com/](https://getfriendlyreminder.com/).

</comment><comment><USER33> The Grassmann.jl package provides tools for doing computations based on multi- linear algebra, differential geometry, and spin groups using the extended tensor algebra known as Leibniz-Grassmann-Clifford-Hestenes geometric algebra. Combinatorial products included are ∧, ∨, ⋅, *, ⋆, ', ~, d, ∂ (which are the exterior, regressive, inner, and geometric products; along with the Hodge star, adjoint, reversal, differential and boundary operators). The kernelized operations are built up from composite sparse tensor products and Hodge duality, with high dimensional support for up to 62 indices using staged caching and precompilation. Code generation enables concise yet highly extensible definitions. The DirectSum.jl multivector parametric type polymorphism is based on tangent bundle vector spaces and conformal projective geometry to make the dispatch highly extensible for many applications. Additionally, the universal interoperability between different sub-algebras is enabled by AbstractTensors.jl, on which the type system is built.

[https://grassmann.crucialflow.com](https://grassmann.crucialflow.com)

</comment><comment><USER34> An interactive map of internet, or ipv4 block viewer: [https://ipv4.dev.sarl/](https://ipv4.dev.sarl/)

<comment><USER35> This is really well done. FYI, in Firefox on macOS, the search box doesn't seem to do anything for me. I don't see any outputs or requests in the JS console or network tab.

</comment></comment><comment><USER36> We built a lot, but here are two :)

Talkative (meettalkative.com) - The easier way to interview your users

Referlist (referlist.co) - Increase sign-ups via Robinhood-style referrals

<comment><USER37> looks cool, wish it linked to other mailing list providers like SendGrid or Drip, Mailchimp has some really bad policies and I won't use them anymore.

</comment></comment><comment><USER38> I wrote a book about blockchain programming: [https://www.packtpub.com/big- data-and-business-intelligence/...](https://www.packtpub.com/big-data-and- business-intelligence/hands-blockchain-python-developers)

I didn't get rich by writing this book, but it's very useful for networking in blockchain community. It's like an expensive name card. It also boasts my reputation.

I developed a blockchain framework called Mamba: [https://mamba.black](https://mamba.black)

For those who are familiar with blockchain programming, Mamba is like Truffle but instead of based on Solidity+JavaScript, it is based on Vyper+Python.

For those who are unfamiliar, Mamba is like Ruby on Rails but it's for writing decentralized / programmable money applications.

My plan for 2020 is to write more tutorial articles in Mamba website and develop more features in Mamba framework.

For business: I am helping a company build their programming bootcamp (not related with blockchain).

</comment><comment><USER39> Released version 2 of my _Video Hub App_ and made it open source too! Search, browse, and preview videos on your computer :)

[https://videohubapp.com/](https://videohubapp.com/)

[https://github.com/whyboris/Video-Hub-App](https://github.com/whyboris/Video- Hub-App)

<comment><USER40> So, I bought the app, and am in the process of creating a hub with 27000 videos, about 5 tb worth of videos, using 4 drives symlinked into one folder :) Let's see how it works!

Initial thoughts:

Would love to see a 'display title of folder' upon hovering on a thumbnail in compact view. I like compact view more than normal, but without displaying filenames I can't see what things are.

Would like a way to change the font display/size/formatting of the filename display somehow, but at least changing the preview sizes increases the font size of it (it was too small a font size by default for my monitor setup). Although now I'm getting bigger thumbnails by increasing preview size even if I only want the font size increased, but better than nothing.

Tabbed hubs with a top bar instead of using recent history on left?

I like how there's such a good variety of search tools.

Love the auto tagger. Would be cool to fiddle with how it works/sensitivity settings in terms of the threshhold for word frequency/whatever else is triggering tagging conditions. This could be incredibly useful for ppl with large libraries.

Since I have so many videos in one hub I'll probably end up wanting additional sorting/categorizing options. Thinking I'm going to have to do that with file system folder reorganization and then potentially doing 'show folders' enabled within Video Hub currently eh? (Or separate hubs for each category I suppose, maybe I'll end up doing that if this symlink stuff is too unwieldy).

On a related note, it would be cool to add in more autocategorization functionality like the autotagger, and bundle in sort of 'library organizer' functionality. A lot of people have tons and tons of videos that are really difficult to sort/categorize by hand. There's probably some sort of library management software out there but I haven't looked into it. If you know about the software Calibre it has all these ebook databases it crosschecks your files with and then auto-tags/auto-genres/ISBN classifies everything. Not sure if something like that exists for video files, but there's probably ways of detecting genre/patterns in the metadata and filename themselves I'd think.

Potentially but also maybe not, a minor bug/unintended functionality is clicking on a video to 'show similar videos to' plays the video in my default player. But maybe there's a toggle for single click > double click video playing that I'd ideally set it to double click because I don't always want to play a video if I just want to see what's related to it. Can't check the options panel right now cause I'm at video 9000 in the loading bar of the 27k total ;p. Another solution for this instead of single/double click would be if one can just click the text filename it'll show similar videos to without playing the video whereas clicking the thumbnail just once triggers the play video. Also that 'similar videos to' has really interesting potential, can see that also being very useful depending on what triggers a similar condition for large libraries as well.

Anyways, great software! Will recommend to others. Pleased to find it because it really does come in handy. Switching over from default Windows File Explorer to One Commander was also another great thing I did in the past few weeks that's going to improve my workflow like Video Hub will -- anybody who's on Windows should really checked out One Commander, I prefer it now to even directory opus.

<comment><USER39> Thank you so much for the thoughtful feedback!

I didn't implement a font-size feature because I thought the 'zoom' would be good enough -- it resizes the entire UI, but that's a benefit for some people (my parents for example, or me -- with a 55" 4K monitor I use as my desktop - but I sit far away).

I _just_ implemented a threshold feature (will be released in 2.1.0 -- probably in January). You can see the PR: [https://github.com/whyboris/Video- Hub-App/pull/322](https://github.com/whyboris/Video-Hub-App/pull/322) \-- I hope that's what you had in mind.

Another feature I plan to implement is fuzzy search (just have to pick one of 3 libraries to use: [https://github.com/whyboris/Video-Hub- App/issues/311](https://github.com/whyboris/Video-Hub-App/issues/311) )

Double-click toggle is something others requested -- I'll see if it's easy- enough to implement. Perhaps single click would then just show similar as you suggest, while double-click would open.

Just FYI -- all the generated screenshots & thumbnails are based off the filesize, so when you decide to create a new hub that has a lot of the same videos (perhaps when you're creating smaller hubs from individual folders from the symlink one), you could just copy/paste the screenshots and the screen generation process would go by quicker (the app will just check that the screenshot exists and move on). After that, when you click the "Any changes" resscan option - it will delete any screenshots for videos not in the hub.

</comment></comment></comment><comment><USER41> I got tired of fighting SSR and implementing the same optimizations over and over again so decided to launch [http://oya.to/](http://oya.to/) an optimizing cloud proxy - kinda like Cloudflare. The main feature right now is prerendering as an alternative to SSR, but there are a lot of things planned for 2020.

In a similar vein I found myself doing a lot of work that I think should be unnecessary just because I wanted to buy some fonts and not depend on yet another subscription service so decided to build [https://woff.cc/](https://woff.cc/) aka "Web of Fonts". It's currently in the planning stage but when launched, it will allow you to upload your licensed or (SIL) free fronts (including all Google fonts already built in), optimize them (subsets, css embedding, etc.) and either host it there for free or download and host it yourself.

</comment><comment><USER42> I've been improving my production process for the wordclocks[0] I build. I've also just barely started to try some basic marketing of them. I sold 2 this year.

Part of my marketing effort is improving visibility on Etsy and so I've started selling much less expensive items on Etsy too[1]. They are not so much for the revenue as for the traffic, ratings, and learning how to best use Etsy. These secondary products are all based on things I've designed and made for/with my young kids.

Two observations:

\- I've really enjoyed the path of developing better processes of how to fabricate things

\- I've really enjoyed getting my kids involved with making. It's fun to observe them thinking about how to make stuff and working with them to figure things out (they are 3 and 6).

[0] [http://www.finewordclocks.com](http://www.finewordclocks.com)

[1] [http://www.etsy.com/shop/FineWordclocks](http://www.etsy.com/shop/FineWordclocks)

</comment><comment><USER43> I built and launched Trunk[1] which is a SaaS that syncs stock levels in real- time and does other inventory management features for sellers that sell on multiple platforms (e.g. Amazon, eBay, Shopify, Etsy, Squarespace, Square, Faire, etc).

1\. [https://trunkinventory.com](https://trunkinventory.com)

</comment><comment><USER44> ShowsSpot - [https://showsspot.com](https://showsspot.com) A site to Browse Disney Plus catalog

Being a Disney fan, I needed to browse Disney plus movies with IMDB rating. Also, my friends wanted to view Disney plus catalog without registering. This site serves both of these purpose.

</comment><comment><USER45> I started building PerfBeacon - [https://PerfBeacon.com](https://PerfBeacon.com) an automated alternative to manually running Google Lighthouse tests.

I couldn't find a service that could tell me if the latest deploy of my web app would make it slower, so I decided to build it.

<comment><USER46> Looks like a cool idea! If this worked like Pingdom, where I could start for free and then upgrade based on frequency of checks or number of sites / pages, I'd sign up :)

</comment></comment><comment><USER47> 2019 was not a great year for me, too. However, as a side project I launched a micro-social networking app for introverts. It's available for both iOS and Android.

website: getpixelpal.com

To be honest, though, I've fallen out of love with it and I'm considering shutting it down or making a pivot to something else.

<comment><USER48> Maybe open source it and let the community take over xD

<comment><USER47> That's a very interesting point. Do you think people from the open-source community would find this project appealing?

</comment></comment></comment><comment><USER49> While it's not mature yet, I started something I had in my mind during a long time, I called it atbswp ([https://github.com/rmpr/atbswp](https://github.com/rmpr/atbswp)), it basically allows you to record your mouse and keyboard moves and reproduce them at will. There's something similar called tinytask unfortunately it's neither multiplatform nor opensource. Back in time I used it to play automatically some games (asphalt, plant vs zombies, ...) but I think the usage can go far beyond that, for example you can use it to test software with a GUI, to present a demo at a conference, ... It's kinda usable but I need to polish things up (settings , language, ...)

</comment><comment><USER50> Freshlytics - self-hosted open-source privacy-friendly analytics software - [https://github.com/sheshbabu/freshlytics](https://github.com/sheshbabu/freshlytics)

react-frappe-charts - lightweight (~17KB) React charting library with TypeScript definitions and Storybook playground - [https://github.com/sheshbabu/react-frappe- charts](https://github.com/sheshbabu/react-frappe-charts)

airhealth - mobile webapp to check air quality - [https://airhealth.now.sh](https://airhealth.now.sh) / [https://github.com/sheshbabu/airhealth](https://github.com/sheshbabu/airhealth)

</comment><comment><USER51> I built Metadigest ([http://metadigest.uzpg.me](http://metadigest.uzpg.me)). It's a weekly newsletter that sends the most popular tech content from around the web.

I am now working on Devolio ([https://www.devol.io](https://www.devol.io)), a welcoming community for developers to share and discuss. I am really excited about letting users custom-design their profile and integrating with Github. I wrote about what I learned this year and how I got into programming at [http://uzpg.me/2019/12/28/projects-and-learning- in-2019.html](http://uzpg.me/2019/12/28/projects-and-learning-in-2019.html)

</comment><comment><USER52> At the beginning half of this year I finished up an mvp of an idea that I had, took me a bit of time to build, where I could make it a bit easier for product managers to get analytics, and saas app feedback ([https://cruisedirector.io](https://cruisedirector.io)). I was hoping to diversify my income a bit, but I've been pretty busy this year at my day job and haven't done any marketing or improvements. I have also redirected any potential customers, that I chatted with while building the app, to my competition. The competition is absolutely killing it in this space. Hopefully I can find some time this year to chat with some customers, maybe diversify a bit, and be able to do a bit of marketing.

<comment><USER53> Is the competition you're referring to Pendo?

Your site looks nice. What did you use to build it?

<comment><USER52> Yes, Pendo. The site is just nodejs and a slightly modified html template that someone posted here a bit ago.

</comment></comment></comment><comment><USER54> I rewrote my social, score-tracking app for Pinball in react-native. Previously it was in Angularjs (ionic/cordova). Has ~6k registered users, ~300 daily active users, and earns ~$200 a month on Patreon.

Android: [https://play.google.com/store/apps/details?id=com.ascrewaske...](https://play.google.com/store/apps/details?id=com.ascrewaskew.pindigo2)

iOS: [https://apps.apple.com/us/app/pindigo-social-pinball- scores/...](https://apps.apple.com/us/app/pindigo-social-pinball- scores/id1027062831)

Patreon: [https://www.patreon.com/pindigo](https://www.patreon.com/pindigo)

<comment><USER55> Predictive Trading Model with 97% accuracy

<comment><USER55> Completed the model in 2019 ... It took me 22 years to get it right

<comment><USER56> Can you share any details ? I'm only about a year in , anything helps.

<comment><USER55> Maybe we should meetup at Bocas for a Quant crash course ... :)

<comment><USER56> Let's do it!

</comment></comment></comment></comment></comment></comment><comment><USER7> Ottofield ( [https://www.ottofield.io/](https://www.ottofield.io/) )- Conversational Scheduling for Home Service businesses.

The idea came from being in the trades in my previous career. Companies in the trades spend a ton of money on advertising but fail to capitalize on a lot of their incoming leads. We use humans to answer incoming text, fb messenger, and webchat questions for people like electricians, hvac techs, plumbers, etc.

Long term idea is that as we get more data on how these conversations typically occur, we can build some ML systems to lower the cost of answering the questions.

It's still MVP stage right now. Got a few customers and planning on ramping up marketing in January.

</comment><comment><USER57> Was tinkering with some hardware and synths, decided it might be fun to expand the teenage engineering's OP-Z synth capabilities a bit.

It was a fun and frustrating learning experience. First meh prototype with a Raspberry Pi Zero: [https://victorbitca.github.io/posts/2019/04/creating-an- op-z...](https://victorbitca.github.io/posts/2019/04/creating-an-op-z-plugin/)

Second prototype based on the Teensy board: [https://victorbitca.github.io/posts/2019/06/a-proper-op-z- pl...](https://victorbitca.github.io/posts/2019/06/a-proper-op-z-plugin- prototype/)

</comment><comment><USER58> I released ModularPro, a tool for the Unity game engine to massively improve the process of assembling modular assets during level design. It started as a side project and I ended up releasing it in the Unity store. Would be great to get some feedback from anyone who actually does level design for a living to see if they think it would be useful for them.

YouTube: [https://youtu.be/MvYTbIU1d-c](https://youtu.be/MvYTbIU1d-c)

Store page: [https://assetstore.unity.com/packages/tools/level- design/mod...](https://assetstore.unity.com/packages/tools/level- design/modularpro-level-design-151460)

</comment><comment><USER59> I built promnesia, a browser extension to connect together different data sources and enhance browser history. E.g. if you visit some blog post or youtube video you had in your bookmarks, you would be able to tell if it was coming from your reddit saved posts, or if your friend sent it to you on telegram. Another feature is displaying annotations from any sources (e.g. pocket/instapaper);as an overlay on any page

I've been using it for a while now, and just needs final touches before I'll release it [https://github.com/karlicoss/promnesia](https://github.com/karlicoss/promnesia)

</comment><comment><USER60> I recoded my HTML5 canvas Javascript library from scratch. Partly to add fun stuff like modules, web workers, promises etc - but mainly because I'm determined to make the canvas element much more accessible (and easier to add analytics to, etc) - progress report here: [http://scrawl-v8-progress-0919.rikworks.co.uk/](http://scrawl-v8-progress-0919.rikworks.co.uk/)

Question: traction numbers? If this is "how many people are using my side project", I'm fairly sure the answer is "nobody" \- which has the bonus that I don't need to worry about supporting backwards compatibility.

</comment><comment><USER35> I made it easier to opt out of data sharing that no one would have opted in to: [https://simpleoptout.com/](https://simpleoptout.com/)

Lots of people have. There's now some consequences for customer-unfriendly data sharing policies, too: someone will notice and you'll get negative press. It was recently in the NY Times: [https://www.nytimes.com/2019/11/24/smarter- living/privacy-on...](https://www.nytimes.com/2019/11/24/smarter- living/privacy-online-how-to-stop-advertiser-tracking-opt-out.html)

</comment><comment><USER61> I wrote with a friend his memoir about climbing - The Crux: A Climber's Search For Meaning In Sport, Death, and Change. [https://www.amazon.com/dp/B0834P85QG/](https://www.amazon.com/dp/B0834P85QG/)

It was a fun project that took a year to write. The programming bit went into developing a page for pre-orders and fulfillment using stripe and other tools. But suffice it to say, I liked writing a lot more.

The landing page: [https://thecrux.rockentry.com/](https://thecrux.rockentry.com/)

</comment><comment><USER62> I built a web browser you can deliver through a web browser. Technically a view layer for a browser you connect to via DevTools. > 500 stars on GitHub. [https://github.com/dosyago/skateboard](https://github.com/dosyago/skateboard)

I also build a way to archive anything you browse online so you can read it again offline as if you were still online. > 500 stars on GitHub. [https://github.com/dosyago/22120](https://github.com/dosyago/22120)

</comment><comment><USER63> Launched my audio plugins in July, averaged about $1k/month in sales (no idea if this is good or bad). [https://bomshankamachin.es](https://bomshankamachin.es)

<comment><USER64> That's awesome! I've always thought the idea of programming VSTs/VSTIs was interesting.

Can you link to any resources you used in learning to build them?

<comment><USER63> I used the JUCE framework, which is free for personal/GPL usage (or you can pay for a closed source license) and gives you cross platform. The examples are pretty good for getting the basics, there is also The Audio Programmer YouTube channel that has a lot of content (the only bad thing I would say about it is that some of the early videos sometimes use bad concepts as it seems this was a sort of a documentary series for learning plugin programming for the channel owner). The JUCE community forum is really friendly and helpful (and there is also a discord channel for TAP). Otherwise search engines were my main source to learn (mostly to refresh my C++ knowledge), and I managed to land myself a day job programming a plugin that helped a lot just by looking at the existing code, but that obviously a very rare occurrence!

<comment><USER64> Awesome. Congrats on your success, and thank you for your response!

</comment></comment></comment></comment><comment><USER65> I was productive this year and was able to build many software apps from dashboards to video apps.

I built: \- Software at [https://mattebot.co](https://mattebot.co) \- Revamped [https://marcell.me](https://marcell.me) (native iOS, macOS development) \- [https://focuswindow.app](https://focuswindow.app) (improves productivity by allowing you to focus on the task at hand).

</comment><comment><USER66> I created a Google Chrome extension to create and manage work orders (a slightly enhanced version of an invoice). General info: [https://WorkOrderSnap.com](https://WorkOrderSnap.com) Link to extension: [https://chrome.google.com/webstore/detail/workordersnap- work...](https://chrome.google.com/webstore/detail/workordersnap-work- order/pinejepediiidhifedmbagphemchghom)

EDIT: Built almost entirely in Vue.js :)

</comment><comment><USER67> I wrote Magic Matta, an artistic experiment to merge the real and virtual worlds using toys as controllers.

Repo: [https://github.com/kfarr/magic-matta/](https://github.com/kfarr/magic- matta/)

Write-up: [https://medium.com/@kfarr/creating-magic-matta-for- the-2019-...](https://medium.com/@kfarr/creating-magic-matta-for- the-2019-1-gray-area-showcase-37df8f5d8aa0)

</comment><comment><USER18> Construpdate ([http://construpdate.com/](http://construpdate.com/)): Project management synchronization for construction teams.

Project managers import a project schedule from Primavera P6 or Microsoft Project via Excel. Each contractor gets a personalized link where they can submit daily updates on the status of their tasks. All changes are tracked for auditing purposes.

It's a work in progress, comments and suggestions are welcome!

</comment><comment><USER68> I built [https://www.ecommerceranker.com](https://www.ecommerceranker.com) in this last month.

It's an interactive database of the top 100 Shopify stores, with 19+ e-commerce data points available for each one.

I'm really happy that the average time spent on the website is over 4 minutes and 30 seconds - I never expected people to be this interested, so now I'm thinking of ways to expand this idea.

</comment><comment><USER69> I launched [https://ultimatemealplans.com](https://ultimatemealplans.com) after a bunch of checkout issues over the summer.

I also launched the web version of [https://movewellapp.com](https://movewellapp.com)

Planning on a new site launch of [https://impossiblehq.com](https://impossiblehq.com) on Jan 1

</comment><comment><USER70> SnipCSS ([https://www.snipcss.com](https://www.snipcss.com)) -- webdev tool to copy styles of a portion of a webpage

SuperAnimo ([https://www.superanimo.com](https://www.superanimo.com)) - <USER3> cartoon video maker I've been working on for years, recently made the publishing more user-friendly

Neither project has any traction or sales.

</comment><comment><USER71> I built my first side project.

www.itswinwinboardgames.com

It takes your wishlist from BGG and analyses the geek market looking for the best prices for each board game in it.

I built it mainly with Python+Flask+Bulma, an all new tech stack for me, and I use it almost daily, because who doesn't like to find some bargains.

All in all, 95% of the advice floating around about how to start something is on point and I encourage everyone to launch THAT idea in 2020.

</comment><comment><USER72> I built gymmr, an app that let's people meet at the gym based on their diets and fitness routines: [https://play.google.com/store/apps/details?id=com.andrelashl...](https://play.google.com/store/apps/details?id=com.andrelashley.gymmr)

My plan in 2020 is to focus much more on the marketing side of things

</comment><comment><USER73> I started building this in January and am at the point of sending out for prototype PCBs: [https://github.com/roscopeco/rosco_m68k](https://github.com/roscopeco/rosco_m68k) \- MC68010-based single-board computer

I can really recommend a project like this as the opportunities for learning are vast!

</comment><comment><USER74> If your exercise plan includes stretches or weight training try out this unusual timer I built: [https://stretchtimer.com](https://stretchtimer.com)

Source: [https://github.com/mcapodici/stretch- timer](https://github.com/mcapodici/stretch-timer)

</comment><comment><USER75> Cleave ([https://cleave.app](https://cleave.app))

Kind of a project-feature / workspace-switcher for macOS. Facilitates human context switching by allowing you to save and load all open applications and their state (open windows, tabs, etc.)

Not entirely finished - open beta pretty soon.

</comment><comment><USER76> [https://farmsbeforepharmacies.com](https://farmsbeforepharmacies.com) a hemp marketplace (ongoing)

[https://graphql-test-suite.herokuapp.com/help](https://graphql-test- suite.herokuapp.com/help) a GUI for testing graphql apis

</comment><comment><USER77> Tagmap ([https://tagmap.io/](https://tagmap.io/)) - allows communities to have a map of their members and easily message people nearby or similar to you to make new friends. Currently have a few thousand MAU, hoping to pick this up significantly in 2020.

<comment><USER78> Looked around and clicked the tag that had a few thousand users (because everything else was a hundred or less) and the few near me were bizarre NSFW shock value profiles. Is that normal for this?

<comment><USER77> There's been a few malicious users here and there and some interesting communities, we usually remove them pretty quickly, especially when they're reported. I'll do a check right now and try to remove whatever it was you stumbled across, thanks!

We're also working on a more robust system to filter content that some users might not want to see, although anything extreme should be removed either way.

<comment><USER78> It could also be the community. For example, I don't know what "r9k" means but it's far and away the one with the most users. Considering the number of 4chan related tags I saw maybe it's something unsavory.

<comment><USER77> Yeah, quite a few users on that site have been using it. I'm hoping to get more adoption from independent forums and Reddit in 2020.

<comment><USER78> Very cool concept though. And congrats on launching it all the same.

<comment><USER77> Thanks! It's difficult to get the product to be right for so many varying types of use cases and communities, but hopefully we'll get a lot of traction either way.

</comment></comment></comment></comment></comment></comment></comment><comment><USER79> Numberer - [https://pdfpagenumber.com](https://pdfpagenumber.com) , a native Mac app to add page number to PDF files, I did this in a few days (main function is just one for loop that loop through each page).

It earns me daily coffee money haha

</comment><comment><USER80> Built Remote Leaf ([https://remoteleaf.com](https://remoteleaf.com)) - <USER4> hand-pick thousands of remote jobs and send you a personalized remote jobs list based on your country/timezone and skills. reply

</comment><comment><USER81> For some reason they keep letting me mess with Anarki[0], so I do.

[0][https://github.com/arclanguage/anarki/commits?author=kenneth...](https://github.com/arclanguage/anarki/commits?author=kennethrapp)

</comment><comment><USER82> Tomorrow I'll be launching [https://typehut.com](https://typehut.com), a super simple publishing platform for blogs, changelogs, newsletters, announcements, etc that I've been building during this last month.

<comment><USER83> Do you have any examples? I like the idea but I don't know what the end product will look like.

<comment><USER82> Sure! Just created this example site with some dummy content: [https://example.typehut.com/](https://example.typehut.com/)

Right now there's only one template available, but I plan on adding custom templating mid-January.

(It's fully functional btw, so don't hesitate and sign up!)

</comment></comment></comment><comment><USER84> JMBL, a word game for iOS ([https://apps.apple.com/us/app/jmbl-word-puzzle- game/id124873...](https://apps.apple.com/us/app/jmbl-word-puzzle- game/id1248738929?ls=1))

</comment><comment><USER85> I built out my idea for a VR urban planning tool earlier this year & more recently I built a network based music recommendation system as part of a hackathon project. I'm still in school but hackathons really help keep my creativity flowing!

</comment><comment><USER86> I released version 9 of Planimeter's Grid Engine, the largest pure Lua game engine on GitHub. [https://www.planimeter.org/grid- sdk/](https://www.planimeter.org/grid-sdk/)

</comment><comment><USER87> Me and a friend built [https://xbuddy.app/](https://xbuddy.app/) a website to help you keep track of your crossfit PRs (cause that is something you do apparently)

</comment><comment><USER88> Currently building [http://staging.thegigatlas.com/](http://staging.thegigatlas.com/), a gig marketplace with a built in freelance/remote-workers community

</comment><comment><USER89> I decided to build out my "automated" SEO agency, myseosucks.com. It's been quite the rollercoaster ride but super exciting to see when clients / agencies on-board themselves and can self-manage the SEO process.

</comment><comment><USER90> I released my first iOS app! Shirabe - a Japanese/English dictionary that combines spaced repetition, periodically reminding me of new words I leaned. Https://Shirabe.app for anyone interested :)

</comment><comment><USER91> I added 3 generator tools for artists to my website on [https://artres.xyz](https://artres.xyz)! Helped me learn how to implement JS libraries into my static site.

</comment><comment><USER92> In a similar vein, try this: [https://news.ycombinator.com/edit?id=21918450](https://news.ycombinator.com/edit?id=21918450)

</comment><comment><USER93> I built: [https://www.emailmynotes.com/](https://www.emailmynotes.com/)

Its a simple hack, and a niche use case. But I enjoyed building it.

</comment><comment><USER94> A peer to peer file system sharing application with GUI in browser

<comment><USER95> While my knowledge of IPFS is pretty basic, this strikes me as a great use case for it.

IPFS ([https://ipfs.io](https://ipfs.io)) is a P2P internet protocol that's made to enable a decentralized internet...I believe its goal is to supplant (or at least supplement) HTTP(S). As I said, my knowledge of IPFS is still pretty basic, but I find it fascinating and I thought it might be relevant for this application.

<comment><USER94> I am probably wrong but my understanding is that IPFS is an addressing scheme. While it can be private or peer to peer it can also be public. As an addressing scheme it continues to follow the web's client-server model. A client-server model on the web is inherently public and anonymous.

A dedicated peer to peer system focused on privacy has no server and no third party. Instead the model is client-client without third party routing. Privacy is then achieved because connections are direct, in an application layer sense, between nodes and each node is a client running the same application in the same way. This is always confidential and never anonymous. This is achieved because there is no application layer addressing used at all, not even DNS.

Think about it more in terms of a shared disk drive on a private network mapped to a local file system address instead of a web location.

</comment></comment></comment><comment><USER96> Playlistor([https://playlistor.io](https://playlistor.io)) -- A simple Apple Music to Spotify playlist converter.

</comment><comment><USER97> An interpreted programming language [https://github.com/benhj/arrow](https://github.com/benhj/arrow)

(Ongoing)

</comment><comment><USER98> Kyrie.fm ([https://kyrie.fm](https://kyrie.fm)) – We help podcasters build communities around their podcast.

</comment><comment><USER99> a few things

[https://joybuddies.com](https://joybuddies.com) (warning: comic sans)

[https://reworkin.com](https://reworkin.com)

[https://pinplz.com](https://pinplz.com)

[https://opensimworld.com](https://opensimworld.com) (older, but redesigned this year)

</comment><comment><USER100> [https://santa.cash](https://santa.cash) \- Crowdfounding platform for Christmas presents

</comment><comment><USER101> [https://textmine.co](https://textmine.co) \- text mining in the browser

</comment><comment><USER102> fgBlox - an OSX Safari Extension. Prevents common ad-trackers from loading.

[https://apps.apple.com/us/app/fgblox/id1460509929?mt=12](https://apps.apple.com/us/app/fgblox/id1460509929?mt=12)

</comment><comment><USER103> NextPage chrome extension to automatically append next page when you reach end of the page

<comment><USER40> Any plans or know of any alternatives for firefox?

</comment></comment><comment><USER104> Stateskit.com

A visual statecharts editor, aiming to help with state management for frontend apps.

</comment><comment><USER105> jobs-uae.com - Job Aggregator to help job seekers find their dream opportunities in UAE 🇦🇪

</comment><comment><USER106> I built some gears from scratch:[https://www.youtube.com/playlist?list=PL16yXRcZ04IGCZ0I9iUXS...](https://www.youtube.com/playlist?list=PL16yXRcZ04IGCZ0I9iUXS3okhpLio6U4m) I built a really nifty steampunk floor lamp: [https://www.youtube.com/playlist?list=PL16yXRcZ04IEZqlddjFac...](https://www.youtube.com/playlist?list=PL16yXRcZ04IEZqlddjFac3Gv8Kjv9Gjkz) And I elecrified my 20 ton shop press using a junk/recycled paint sprayer as a pressure pump. That was a lot of fun: [https://www.youtube.com/playlist?list=PL16yXRcZ04IF5T99iStpb...](https://www.youtube.com/playlist?list=PL16yXRcZ04IF5T99iStpbCjs_aevBdmD0)</comment>


How strong is your password? - <AUTHOR> http://password-strength.org/

<comment><USER2> Hah! I was hoping it would be something like that.

Even better would be something like "the password 'X' is now completely insecure, because you just typed it in a website you know nothing about, and it could now be in every password list in the world. Assuming you've done something like this before, it's time to change it."</comment>


PSA: Do Not Use the New Prime Number for RSA Encryption - <AUTHOR> http://blogs.scientificamerican.com/roots-of-unity/psa-do-not-use-the-new-prime-number-for-rsa-encryption/ <comment><USER2> This is a copy of my comment from the other posting of this article:

What a pointless article. Not only doesn't it get into the interesting side- effects of choosing Mersenne primes as your private key (which is actually interesting, as the bit pattern of a*b is very apparent when you multiple two Mersenne primes). The whole thing is just talking about "don't use this shiny new prime because people will notice that you have very long public keys". It glosses over how key generation actually works, and I really don't understand why the author felt like wasting people's time with such lack of content.

</comment><comment><USER3> "Don't do something that literally no one was going to do, so I can show off my math knowledge" is more like it.</comment>


Should I abandon VB.Net? - <AUTHOR> http://blogs.lessthandot.com/index.php/ITProfessionals/ProfessionalDevelopment/should-i-abandon-vb-net

<comment><USER2> Abandoning VB.NET for C# is like abandoning Coke for Pepsi or Smarties for M&Ms. They have far more in common than any other two languages in the stack that you undoubtedly use to build apps. This isn't a bad thing, but it does make the choice pretty trivial. "Abandon" it, and if it doesn't work out, just switch back.

C# and VB.NET are even closer to each other than C# and Java. The former share an entire runtime, the latter share a similar syntax. (and yes, C#/VB.NET/CLR/DLR is getting to be quite different than the similar Java ecosystem).

<comment><USER3> I don't think so. The syntax of C# is far closer to Java than it is to VB. C# has often been described as "Microsoft's version of Java", and if you read about the history of those languages you'll see why. It would be far easier for someone familiar with Java to move to C# (or vice versa) than to move between VB and C#.

<comment><USER4> C# has identical syntax to Java, but it's object model, libraries, IDE and supporting environment are identical to VB.NET. Syntax is the easiest part of a language to learn.

<comment><USER5> I disagree. A person would have a much easier time transitioning from C# to VB.NET than C# to Java. This is simply because the libraries in C# and VB.NET are the exact same since they both run on the CLR. The syntax learning curve may be steeper, but I believe that it's more difficult to learn the libraries.

Edit: Ooops... it looks like I agree. Can I blame my misunderstanding on a case of the Tuesday's?

<comment><USER6> > I disagree.

It looks like you are both saying the exact same thing.

<comment><USER7> Imagine the disagreements that would happen if there was a discussion of something remotely complicated or controversial!

</comment></comment></comment></comment></comment></comment><comment><USER8> Oh come, _on_ :

"without even trying to make it easy for people to convert their old code."

VB.NET and C# even run in the same VM. You can trivially call from one language into code written in the other. The object system is (necessarily) a direct mapping, at least in the direction he's interested in, so even translating VB.net to C# shouldn't be a problem where keeping a particular piece of code in VB isn't practical for extending it.

<comment><USER9> Except that with "old code" the quote refers to VB6.

</comment></comment><comment><USER10> It's sad that one of the arguments in favor of C# is that it makes copy-paste programming easier.

<comment><USER11> There's nothing wrong with copy-paste programming. It's perfectly OK to copy some code of a blog/SO/github/etc. And there are online businesses worth hundreds of millions built on copy/paste as the method of code reuse. You may not like it, it may be harder to maintain, but it works in the real world.

<comment><USER10> I know, I'm from the real world too. It's a perfectly valid argument - there's a vast amount of C# samples and examples out there. It's also pretty much directly mapable to VB.NET given they share a runtime and type system, so it only really matters if you really don't want to make the effort to understand the code you are pasting.

It just striked me as a not so good priority to have when evaluating your choices for that particular decision.

<comment><USER12> Why _not_ , though?

I've had to work in both and can personally work in either interchangeably. When I switch between projects and move languages I spend a short while forgetfully mixing the syntaxes, but otherwise no biggie - and I do that when jumping in and out of SQL anyway.

Given that, when I was getting a project in a new domain started a while ago, it felt sensible to do it in C# even though I'd done more VB.Net at the time. We all use code samples that illustrate how different tasks are done, then adapt them for our purposes; it didn't take long to see that the samples were predominantly in C# and conversion was something of a hassle and not quite as simple as things made out. _Most_ code worked straight away, but....

If it doesn't matter which you use for your own reasons, I don't see any advantage to not going with the herd of public samples.

</comment></comment></comment></comment><comment><USER13> Yes you should. The biggest reason being the job market and pay-rate - c# guys are paid more than vb.net guys and have a larger pool of jobs available.

I've been a .net developer for a little over 10 years now, and in my experience VB.net just isn't as prevalent as it use to be. When I search for jobs I typically see one vb.net job for every 4-5 c# jobs. This gap seems to be increasing too.

There is also Mono, which is a nice way to take your c# skills and use them on other platforms.

I think when you really consider everything, C# is a much better language to bet on longterm.

<comment><USER14> You can't put a price on your dignity. It's sad, truly sad, that people spend a fortune on university to pick up a career using...BASIC.

This is different from being a C# or Java mercenary.

</comment></comment><comment><USER3> Yes you probably should. I did a lot of VB programming between about 1997 and 2005, then largely abandoned it in favour of C# and C++. Why did I change? VB and VB.NET came with a lot of limitations which other languages didn't have, particularly with regard to object oriented features and the ability to do very low level tasks at speed (like moving pixels around). Also, I wanted to move to languages which were essentially platform neutral, such that I could use a Linux OS most of the time.

</comment><comment><USER15> Sorry to burst C# fanboys and VB haters out there, but I would have to say NO. Especially if you're quite good, productive and bring a lot of innovation using the language.

Coding should be language agnostic. What should matter is how you could easily devise an algorithm using any of the available language. In a lot of ways, VB.Net has made it quite easier to write and read the codes. The only problem with this is the fact that VB coding has allowed a lot of bad codes to be easily written. I think it is fair to say that those who have switched to C# may have been driven in part by having to maintain poorly written codes in VB.Net and the fact that there is so much hype in using C# because of its resemblance to Java.

And the other thing to point out is that VB.Net has carried the stigma of applications coded in VB6 which were the curse of developers in the MS platform.

</comment><comment><USER16> I think there are a couple of things that can be good about sticking with a legacy technology:

1\. Code maintenance can be quite lucrative if you can assemble a well- networked client base who'll give referrals

2\. The number of other competitors in the field may decrease much faster than the slow abandonment of legacy code

3\. Customers with loads of legacy code are often - secretly - interested in new solutions, and you're the one with the understanding of their existing business, software solution and can potentially migrate them out of legacy in little salami slices of profitability

And of course, .NET isn't actually dead as a VM (well I assume that, but I don't do anything in the MS space, but I still hear things about new stuff), so the migration paths (for you as a professional and for legacy code) aren't particularly awful.

</comment><comment><USER17> > Copy paste coding gets even better when you are a C# programmer

Is this the reference of quality in C# development?

<comment><USER18> I believe it correlates with efficiency.

</comment></comment><comment><USER19> What exactly is WPF being abandoned for?

<comment><USER5> It's not being abandoned. This is FUD that a small vocal minority like's to espouse. Silverlight is for most practical purposes, a subset of WPF.

</comment></comment><comment><USER20> I'll share my two cents, being a VB.net developer primarily, and a C# developer. I do .net consulting work in either vb.net or c#, makes no difference. Learning curve from vb.net to c# was nonexistent.

Working with C# is like working with a special needs child. I know that some things can happen automatically but they just don't, and I have to do them manually. This is not a language issue, but Visual Studio issue. And this is a reason for ReSharper and other addins that make my life with C# bearable. With VB.net I don't need any addins other than Visual Studio itself.

When switching to vb.net after doing c# for even couple of weeks, my code just flows from my fingers and I feel much much more efficient while writing code.

</comment><comment><USER21> You can't "abandon" VB.NET any more than I could abandon English (my native language). You'll always know it, and many of the things you learned while using it will transition to a new language. This is especially true of VB.NET and C#.

It sounds to me like the author is opposed to porting his old code to C#, and that's not a bad thing. On the list of things you should consider very, very carefully before executing, a port is right up there with a re-write. However, we're talking Visual Basic and C#.

As stated several times in this discussion, the two couldn't be better integrated. If I were the author, I wouldn't abandon VB.NET, I would simply begin writing new code in C#.

</comment><comment><USER22> Fortunately, VB.Net translates rather easily into C#. Why is it an issue anyway? Most development involves use of APIs and standard libraries and not the languages themselves. VB.net and C# share the same libraries and underlying intermediary code.

</comment><comment><USER23> I understand why MS has been trying to merge the feature sets of the two languages. There is just too much legacy VB code out there to ignore. However, I think that _because_ the two languages share the same runtime, and that IMHO C# is the more modern language, VB needs to head towards deprecation. I find that they are similar enough that any VB programmer should be able to read C# with out too much hassle, and things could move forward more quickly if they werent maintaining two languages.

</comment><comment><USER24> Why not just learn C# on the side?

<comment><USER25> Exactly. If you've pigeonholed yourself into only one specific previous- generation language on a single platform, you're already digging yourself a hole as a developer.

The author should start exploring other languages regardless of whether they abandone VB at work. Odds are they will once they expand their horizons a bit.

</comment></comment><comment><USER26> What kind of use cases would make C# far and away the better language choice? When I was doing an internship at a place that was predominantly VB over C# I seemed to be able to convert most things? Does C# make it easier to do anything at a lower level? I remember getting into a bit of trouble with VB when I wanted to do something that would need something like pointers or dynamically named variables.

</comment><comment><USER27> At this point, I don't know why MS bothers to keep VB .NET going. The languages are effectively the same. AFAIK, you can map class-by-class, method- by-method from one to the other.

How hard would it be for VB .NET programmers to migrate over to c#? My guess is that it would be FAR EASIER than the transition they took from VB6 to VB .NET 2003.

<comment><USER28> Here at the large insurance company I work for, we have a LOT of Visual Basic 6 code.

And, the natural migration path has been to Visual Basic .NET (we have quite a lot of it as well).

Our parent company has multimillion-LOC VB6 programs, which they are migrating to Visual Basic .NET

As long as huge companies such as those continue pushing for VB.NET, Microsoft should be wise to support it.

It's not that I would mind moving to C# (it would take me out of my comfort zone, but it wouldn't be so bad), but what about all that code?

</comment></comment><comment><USER29> Code Converter[1] is a free and simple VB to C# and C# to VB code converter. While not perfect it provides a free .NET converter on the web.

\----

[1]: <http://converter.telerik.com/Default.aspx>

</comment><comment><USER30> Has VB.NET changed much over the last seven or eight years? I've not used it in awhile, but after spending the last year working with the latest release of C#, why would anyone lament the passing of VB?

<comment><USER11> After ME spending the last year working with Lisp and Ocaml, why would ANYONE use .NET?

<comment><USER31> I'm both a lisper and unix user. I've historically been an embedded developer, but I'm currently leading a team developing a (greenfield) .NET application for testing embedded systems.

Choice was pretty simple for the following reasons:

a) Mature VM/Languages (although there are alternatives)

b) Existing Team knowledge-base. This is a biggie. I have another former lisper on the team and I could drag the rest kicking and screaming to lisp or python, but, it's really not worth the effort of convincing management we'll be more productive in language X.

c) Vendor support. We're using a ~$10k interface card. They offer drivers for Windows or VxWorks. The drivers come as either a user-space C Library or a .NET wrapper. Any other language choice I have to either justify to management writing an FFI wrapper to the C library or write it and maintain it on my own time.

d) WPF is very code generator friendly. A majority of our application forms are generated using either XSLT or python.

e) Easy UIs for what has to be customized.

In short, _I'm_ more productive in python or lisp. _My team_ is more productive in C# and WPF. That being said, I'll try to add scripting in the next version using iron python, but, the core will stay in C#.

EDIT: typo in first paragraph.

<comment><USER32> f) tons and tons of documentation on msdn

g) a vibrant Q&A community in the form of StackOverflow

Adding IronPython support is a trivial exercise. Its seriously 2 lines of code to add, plus a few lines to define the scope.

</comment></comment></comment></comment><comment><USER33> If you feel inclined to move to C# for the _community_ then I really feel sorry for you.

<comment><USER20> What, you've never seen/heard of peer pressure :D

It exists even after high school :)

</comment></comment><comment><USER34> Yes.</comment>


Once Hailed as Unhackable, Blockchains Are Now Getting Hacked - <AUTHOR> https://www.technologyreview.com/s/612974/once-hailed-as-unhackable-blockchains-are-now-getting-hacked/ <comment><USER2> These are not new problems.

All the hacks mentioned are against exchanges, not the blockchain itself. Ethereum's "smart contracts" have well-documented vulnerabilities but most people don't want to hear that.

For the record, the _Bitcoin_ blockchain has never been hacked.

<comment><USER3> > For the record, the Bitcoin blockchain has never been hacked.

Not sure it was a direct hack on the blockchain itself as it was more an fuck up on the software itself, but there is the time 184,467,440,737.09551616 bitcoins were created. ;-)

[https://en.bitcoin.it/wiki/Value_overflow_incident](https://en.bitcoin.it/wiki/Value_overflow_incident)</comment></comment>