• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. Positive coming out experiences?

      The world needs more positivity. Do you have any positive stories from when you came out? Or maybe any positive experiences from being openly queer in general? If you're still in the closet for...

      The world needs more positivity. Do you have any positive stories from when you came out? Or maybe any positive experiences from being openly queer in general?

      If you're still in the closet for whatever reason, that's perfectly alright!

      9 votes
    2. Share your experiences with smart thermostats

      I have used a Nest (gen 1) for many years and recently switched it out for an Ecobee 3 with 3 additional room sensors. The Nest worked as advertised and I was happy with it. I moved my thermostat...

      I have used a Nest (gen 1) for many years and recently switched it out for an Ecobee 3 with 3 additional room sensors.

      The Nest worked as advertised and I was happy with it. I moved my thermostat location to a higher-traffic area of the house and used Nest Sense to have it automatically determine if I was away. All in all, I was pleased. The only reason I switched to Ecobee was so that I could use my Nest in another home and try something new.

      The Ecobee is pretty much the same as the nest. They was you schedule temperatures is to first create Comfort Settings and then you schedule when they should run. It's a little less intuitive than the Nest, but it accomplishes the same task. The additional sensors are a nice touch but I find they are too sensitive. My ~50 lb dog can trigger them, which can run additional air conditioning when I wouldn't otherwise want it to run.

      6 votes
    3. Nintendo Direct 9.13.2018 - Recap

      Host: Shinya Takahashi 3DS Announcements: Kirby's Extra Epic Yarn - Available 2019 The 2010 Wii game comes to Nintendo 3DS. Includes all stages from the Wii version plus additional abilities, new...

      Host: Shinya Takahashi

      3DS Announcements:

      • Kirby's Extra Epic Yarn - Available 2019
        The 2010 Wii game comes to Nintendo 3DS. Includes all stages from the Wii version plus additional abilities, new Devilish Mode (a time attack mode), and new minigames

      • Mario and Luigi: Bowser's Inside Story + Bowser Jr.'s Journey - Available January 11, 2019
        Added Bowser Jr. story

      • Luigi's Mansion - Available October 12
        The original Luigi's Mansion is coming to the Nintendo 3DS with a new 2 player co-op mode. If both players ows the game one will play as a green blob version of Luigi. If only one own the game the second player will be able to use Download Play and challenge bosses.
        4 Amiibo are compatible with the game.

      • Yo-Kai Watch Blasters - Available now
        Free content coming later on Spetember 27. Adds Moon Rabbit Crew to the title screen, with bonuses for linking save datas, new missions, new areas, new Yo-Kai to befriend, and new boss.

      Switch Announcements

      • Luigi's Mansion 3 (working title) - 2019
        A new game in the Luigi's Mansion series

      • Splatoon 2 update, Ver.4

      • Mega Man 11 - Available October 2
        8 bosses.
        New double gear system, you can slow down time or powerup your attacks.
        The two Mega Men Amiibos are compatible.

      • Mario Tennis Aces update - Available September 19
        New characters: Birdo (all around), Shy Guy (Technical), Koopa Paratroopa (Technical) and Petey Piranha(Powerful). Can be acquired by playing online
        New updates coming until next June
        New mode: online only Co-op Challenge, available for limited periods of time. Will unlock in-game rewards such as new outfits, different color schemes and more.

      • Capcom Beat'em Up Bundle - Available September 18
        Includes Final Fight, The King of Dragons, Captain Commando, Knight of the Round, Warriors of Fate and two first-time console releases: Armored Warriors and Battle Circuit.
        4 player local and online co-op
        Pre-order available now

      • New Super Mario Bros. U Deluxe - Available January 11, 2019
        New characters: other than Mario, Luigi and Toad now you can play as Nabbit and Toadette.
        Nabbit doesn't take damage from enemies
        If Toadette powers up with a super crown she transforms into Peachette who can double jump, float slowly during free falls and get a boost back up when she falls into a pit.
        Includes New Super Luigi U. 164 courses between both games
        Single player Joy-Con, up to 4 player co-op.

      • Katamai Damacy Reroll - Available Winter 2018
        Gyro controls, Hd Rubles, Joy-Con controller sharing

      • Pokèmon Go Let's Go Pikachu and Let's Go Eevee - Available November 16
        Secret tecniques replace HM moves. Only your Pikachu and your Eevee can use them. They can also learn certain powerful moves. Only them.
        In handheld mode you can use touch screen to pet your Pokèmon and change its hairstyle depending on how you've petted it.
        2 new bundle that will include a Nintendo Switch system with specially designed dock, Pikachu and Eevee style Joy-Cons, one digital copy of the game and the Pokèball Plus accessory.

      • Diablo 3: Eternal Collection - Available November 2
        All Dlcs are included. Up to 3 players local and online co-op.
        Nintendo Switch exclusive: Ganondorf's armor.
        All Amiibos figures are compatible

      • Super Mario Party - Available October 5
        New 4 player co-op mode River Survival
        You can connect two Nintendo Switch in the Toads Rec Room mode.
        Characters' specific dice block with alternate numbering.
        80 minigames.
        Single player modes: Challenge Road (play thtough a series of minigames and complete specific tasks)
        Online Mariothon minigame mode (challenge other players around the world with 80 minigames to choose from)

      • Town (Working Title) - Availabe 2019
        Game Freak presents a brand new RPG set in one single village. Looks like story will be a major part in this incoming game

      • Citis Skylines Nintendo Switch Edition - Available today
        Includes two DLCs: After Dark and Snowfall

      • Daemon Ex Machina - Available 2019*
        Mech Game.
        You can change weapons on the fly and you'll keep them for the whole game if you manage to return them to your base. Long range and melee weapons.
        You can exit your mech to explore the field on foot. You can make enhancements to you human character and your mecha abilities will be augmented as well
        Up to 4 player online co-op

      • Yoshi's Crafter World - Available Spring 2019
        New Yoshi game.
        Local Joy-Con Co-op

      • Asmodee Digital tabletop games
        NOT A BUNDLE
        Full adaptation of best-selling tabletop games made by Asmodee Digital. They are the following:

      • Carcassonne - Available December 2018
        3D maps, solo mode, 4 player local multiplayer mode. Game's famous expansions available as paid DLC

      • The Lord of the Rings: Living Card Game - Available April 2019
        Play alone or alongside a second player.
        Story driven quests

      • Pandemic - Available March 2019*
        solo mode, 4 player local multiplayer mode
        Individually priced DLCs based on popular expansions.
        More is on the way: Catan and Munchkin

      • Sid Meier's Civilization VI - Available November 16
        4 player local multiplayer

      • Starlink: Battle for Atlas - Available October 16
        Exclusive missions for the Nintendo Switch with Star Fox, Peppy, Falco and Slippy from the Star Fox universe.

      • The World Ends with You Final Remix - Available October 12
        Square Enix RPG

      • Xenoblade Chronicles 2: Torna - The Golden Country - Available September 21
        Go back in time with this Xenoblade Chronicles 2 DLC
        Owner of the Season Pass can already download this new content

      • Warframe - Available November 20*
        Free to play co-op space ninja shooter game. Needs connections all time to play.

      • Just Dance 2019 - Available October 23*

      • Fifa 19 - Available September 28
        Available for pre-purchase tomorrow (9.14.2018)

      • Team Sonic Racing - Available this winter

      • NBA 2K19 - Available now

      • NBA 2K Playground 2 - Available this fall
        NBA arcade game

      • LEGO DC Super-Villains - Available october 16*

      • Final Fantasy Crystal Chronicle Remaster Edition - Available 2019
        GCo-op action RPG, with new online multiplayer mode.
        New areas added in dungeons.

      • Final Fantasy XV Poket Edition HD - Available today

      • Worlds of Final Fantsy Maxima - Available November 6
        New feature added: Avatar Change. It allows yo to transform into legendary characters from across the series storied history.

      • Chocobo's Mystery Dungeon Every Buddy! - Available this winter
        2007's Final Fantasy Fable Chocoboc Dungeon returns
        You can now befriend all the monsters
        Joy-Con local co-op multiplayer

      • Final Fantasy XII The Zodiac Age - Available 2019
        Comes to a Nintendo system for the first time
        New Speed Mode

      • Final Fantasy VII, Final Fantasy IX and Final Fantasy X and X-2 HD Remaster - Coming to Nintendo Switch in 2019 separately

      • Super Smash Bros Ultimate - Available November 2
        Isabelle (Animal Crossing) joins the fight!
        Hardware Bundle that includes a Nintendo Switch system with specially designed dock, a pair of Joy-Cons with the Smash Bros Symbol on them and a digital copy of the game.

      • Animal Crossing - Nintendo Switch - 2019
        A new game in the Animal Crossing series

      • GameCube controller adapter and GameCube controller Super Smash Bros. Ultimate Edition - Available November 2 while supplies last

      Nintendo Switch Online membership

      Begins on September 18 with the following prices:
      1 month 3.99 USD;
      3 months 7.99USD;
      12 months 19.99 USD;
      12 month Family Membership up to 7 people 34.99USD.
      Includes 5 features:

      • Online play, a variety of games is supported
      • 20 Nintendo Entertainment System (NES) games. You can find the complete list here. New title coming up. Includes local and online co-op.
      • Save Data Cloud
      • Smartphone App. Incluses: voice chat in certain games, additional infos in certain games (e.g. Splatoon 2)
      • Special Offers. No details, more to announce in the future.

      NES controllers for Switch - Available for pre-purchase starting September 18 on Nintendo.com
      59.99USD
      Nintendo Switch Online membership and Nintendo Account are required for the purchase.
      Left and right wireless controllers that you can use to play NES games with on the Switch. Recharge the same way as normal Joy-Cons.
      Contrllers do not include Joy-Con functionality.
      Orders are expeced to ship starting this December.

      17 votes
    4. Let's talk about drinks

      Some questions to get us started: Do you drink water? Does it taste like anything? Coffee or tea? What kind? Do you put milk in it? Do you drink the alcoholic beverages? What's your drink of...

      Some questions to get us started:

      • Do you drink water? Does it taste like anything?
      • Coffee or tea? What kind? Do you put milk in it?
      • Do you drink the alcoholic beverages? What's your drink of choice?
      • Do you drink the carbonated beverages? What's your fizzy drink of choice?
      • Do you drink the fruits or the veggie or the smoothie? How you drink it?
      • Do you make a Drinky McDrinky Drink, what is it, how do you make it so I can drink it?
      • Does the word drink sound funny now?
      14 votes
    5. Collapsed comments?

      I'm starting to see occasional collapsed comments when I open threads. The first time I saw one, I thought I'd accidentally collapsed the comment myself, but this one was definitely already...

      I'm starting to see occasional collapsed comments when I open threads. The first time I saw one, I thought I'd accidentally collapsed the comment myself, but this one was definitely already collapsed when I opened the thread.

      Is this related to the "tagging" system that Deimos discussed the other day? At the time, he said that "tags" wouldn't have any effect. Are these effects now working? What are the effects? Also, there was no actual decision about what the different tags would be, and what they would mean. As I said in that thread, I decided not to use these tags until: a) they were agreed and defined; b) they actually did something. I thought they were just placeholders for now. I'm confused.

      Or is there some other feature operating here? For example, people keep talking about "whisper" comments, and I'm not sure if they're just fantasising about a feature they would like, or if it's something that's actually planned. Are these those "whisper" comments?

      25 votes
    6. Notification to a user if their comment is hidden due to comment tags

      The new comment-flagging feature is in place and is starting to operate: some comments are being hidden based on tags applied by users. The irony is that everyone knows a comment is hidden except...

      The new comment-flagging feature is in place and is starting to operate: some comments are being hidden based on tags applied by users.

      The irony is that everyone knows a comment is hidden except the person who posted the comment. If someone's own comment is being hidden, they should know that. I assume that part of the motive behind these tags is to teach Tildeans what is and isn't acceptable here. If someone doesn't know their comments are being flagged and hidden, they'll just keep on doing what they're doing.

      There should be some mechanism to advise a user that their comment is hidden - like happens when their comment is removed by the admin.

      EDIT: It's not just about educating people not to post more shallow comments in future. It's also just letting them know their comment has been hidden, as a courtesy.

      14 votes
    7. Reflections on past lessons regarding code quality.

      Preface Over the last couple of years, I've had the opportunity to learn from the mistakes of my predecessors and put those lessons into practice. Among those lessons, three have stood out to me...

      Preface

      Over the last couple of years, I've had the opportunity to learn from the mistakes of my predecessors and put those lessons into practice. Among those lessons, three have stood out to me in particular:

      1. Consistency is king.
      2. Try not to be too clever for your own good.
      3. Good code takes time.

      I know that there are a lot of new and aspiring programmers here (and I'm admittedly far from being a guru myself), so I thought it would be good to touch on these three lessons, what they mean, and why they're so important.


      Consistency is King

      This is something that I had drilled into my head over nearly two years working on the code base at my previous job. Not by my fellow programmers (who did not exist), nor by my boss, but by the code itself.

      Consistency can mean a number of things, but there are two primary points that matter:

      1. Syntactic consistency.
      2. Architectural consistency.

      Syntactic consistency concerns standards in what your code looks like. For example, the choice between snake_case or camelCase or PascalCase for naming; function parameter order; or even something as benign as what kind of indentation and how much of it you use.

      Architectural consistency concerns standards in how you structure your code. Making sure that you either use public class properties or getter and setter methods; using multiple booleans or using bitmasks; using or not using objects for encapsulating data to be passed around; validating data within the primary object or relegating that responsibility to a validator class; and other seemingly minor decisions about how you handle certain behavior make a big difference.

      The code base I maintained had no such consistency. You could never remember whether the method you needed to call was named using snake_case or camelCase and had to perform several searches just to find it. Worse still, some methods defined to handle Ajax calls were prefixed with ajax while many weren't. Argument ordering seemed to be determined by a coin flip, and indentation seemed to vary between 2-space, 3-space, 4-space, and even 5-space indentation depending on what mood my predecessor was in at the time. You often could not tell where a function's body began and where it ended. Writing code was an exercise both in problem solving and in deciphering ancient religious texts.

      Architecturally it was no better. There was no standardization in how data was validated or sanitized, how class members were accessed or modified, how functionality was inherited, whether the functionality was encapsulated in an object method or in a function, or which objects were responsible for which behavior.

      That lack of consistency makes introducing or modifying a small feature, a task which should ordinarily be a breeze, an engineering feat of its own. Often you end up implementing that feature, after dancing around the tangled mess of spaghetti, only to find that the functionality that you implemented already existed somewhere else in the code base but was hiding out in a deep, dark corner that you never even knew was there until you had to fix some other broken feature months later and happened to stumble across it.

      Consistency means predictability, and predictability means discoverability and, more importantly, easier changes and higher confidence in those changes.


      Cleverness is a Fallacy

      In any given project, it can be tempting to do something that saves you extra lines of code, or saves on CPU cycles, or just looks awesome and does something nobody would have thought of before. As human beings and especially as craftsmen, we like to leave our mark and take pride in breaking the status quo by taking a novel and interesting approach to a problem. It can make us feel fulfilled in our work, that we've done something unique, a trademark of sorts.

      The problem with that is that it directly conflicts with the aforementioned consistency and predictability. What ends up being an engineering wonder to you ends up being an engineering nightmare to someone else. While you're enjoying the houses you build with wall studs arranged in the shape of a spider's web, the home remodelers who come along later aren't even sure if they can change part of the structure without causing the entire wall to collapse, and they're not even sure which walls are load-bearing and which aren't, so they're basically playing Jenga while blindfolded.

      The code base I maintained had a few such gems, with what looked like load-bearing walls but were actually made of papier-mâché and were only decorative in nature, and the occasional spider's web wall studs. One spider's web comes to mind in particular. It's been a while since I've worked on that piece of code, so I can't recall what exactly it did, but two query-constructing pieces of logic had overlapping query structure with the difference being the operators and data. Rather than being smart and allowing those two constructs to be different, however, my predecessor decided to be clever and the query construction was abstracted into a separate method so that the same general query structure could be used in other places (note: it never was, and was only ever used in those two instances). It was abstracted so that all original context was lost and no comments existed to explain any of it. On top of that, the method was being called from the most critical piece of the system which, unfortunately, was already a convoluted mess and desperately required a rewrite and thus required me to understand what the hell that method was even doing (incidentally, I fell in love with whiteboards as a result).

      When you feel like you're being clever, you should always stop what you're doing and make sure that what you're doing isn't actually a really terrible idea. Cleverness doesn't exist. Knowledge and intelligence do. Write intelligent code, not clever code.


      Good Code Takes Time

      Bad code more often than not is the result of impatience. We don't like to plan out the solution before we get to writing code. We like to use variables like x and temp in order to quickly achieve functional correctness of our code because stopping to think about how to name them is just additional overhead getting in the way. We don't like to scrap our bad work if we can salvage it in some way instead, because then we have to start from scratch and that's daunting. We continually work against ourselves and gradually increase our mental overhead because we try to decrease our mental overhead. As a result we find ourselves too exhausted by the end of our initial implementations to concern ourselves with fixing obvious problems. Obviously bad but functional code is preferable because we just want the task to be done and over with.

      The more you get exposed to bad code and the more you try to avoid pushing that hell onto yourself and your successors, the more you realize that you need to spend less time coding and more time researching and planning. Whereas you may have been spending upwards of 50% of your time coding previously, suddenly you find yourself spending as little as 10% of your time writing any code at all.

      Professionals from just about any field can tell you that you can either do something right or you can do it twice. You might recognize this most easily in the age-old piece of woodworking wisdom, "measure twice, cut once". The same is true of code, and doing something right means planning how to do it right in the first place before you've even started on the job.


      Putting into Practice

      I've been fortunate over the last couple of months to be able to start on a brand new project and architect it in a way that I see fit. Changes which would ordinarily take days or weeks in the old code base now take me half a day at most, and a matter of minutes at best. I remember where to find a piece of code that I need because I'm consistent and predictable about where I place things; I don't struggle to tell where something begins and where it ends because I'm consistent about structure; I don't continually hate myself when I need to make changes to my code because I don't do anything wildly out of the ordinary; and most importantly, I take my time to figure out what it is that I need to do and how I want to do it before I've written a single line of code.

      When I needed to add a web portal interface for uploading a media asset to associate with a database object, the initial implementation took me a week, due to the need for planning, adding the interface, and supporting and debugging the asset management. When I needed to extended that interface to allow for uploading the same kinds of assets for a completely different object type, it took me only half an hour, with most of that time being dedicated toward updating a Vue.js component to accept configuration via props rather than working for only the single hard-coded object type. If I need to add a case for any additional object type, it will take me only five minutes.

      That initial week of work for the web interface provided me with cost savings that would not have been feasible otherwise, and that initial week of work would have taken as many as three weeks had I not structured the API to be as consistent as it is now. Every initial lag in implementation is offset heavily by the long-term cost savings of writing good code.


      Technical Debt

      Technical debt is the cost of your code over time. The messier and worse your code gets, the more it costs you to try to change, and those costs only build up. Even good code can accumulate technical debt if the needs for your software have changed and its current architecture isn't compatible with those changes.

      No project is without technical debt. Even my own code, that I've been painstakingly working on for the last couple of months, has technical debt. Odds are a programmer far more experienced than I am will come along and want to scrap everything I've done, and will do a far better job rewriting it.

      That's okay, though. In fact, a certain amount of technical debt is good. If we try to never write any bad code whatsoever, then we could never possibly get to writing any code at all, because there are far too many unknowns for a new project.

      What's important is knowing when to pay down on that technical debt, which could mean anything from paying it up front (i.e. through planning ahead of time) to paying it down when it starts to get too expensive (e.g. refactoring a complicated section of code when changes become sufficiently difficult). That's not something you can learn through a StackOverflow post or a college lecture, and certainly not from some unknown stranger on some relatively unknown website in a long, informal blog-like post.


      Final Thoughts

      I'm far from being a great programmer. There's a lot that I don't know and I still have quite a bit to learn. I love programming, though, and more than that I enjoy sharing the lessons I've learned with others. Especially the ones that I wish I'd learned back in college.

      Please feel free to share your own experiences, learned lessons, and (if you have it) feedback here. I'd love to read up on some other thoughts on this subject!

      21 votes
    8. [writing challenge]: say nothing.

      hey everyone! i was sitting down to write some today, and i kept coming up with lines and lyrics that were great, but for absolute vapid-type songs (gucci gang type stuff hahaha). i thought it...

      hey everyone!

      i was sitting down to write some today, and i kept coming up with lines and lyrics that were great, but for absolute vapid-type songs (gucci gang type stuff hahaha).

      i thought it would make for a fun challenge. whether you want to write a short story, a poem, maybe a little stageplay script - what's the largest amount of words you can use to express absolutely nothing?

      whether it be something like the lyrics for lil pump's "D Rose" or something like the internet-famous article "The Rumor Come Out: Does Bruno Mars is Gay?"

      how long of a piece of writing can you make, whilst saying absolutely nothing?

      6 votes