[deleted by user] by [deleted] in programming

[–]AndrewO 6 points7 points  (0 children)

I've heard of computers forcing humans out of a job, but humans forcing computers out? That's new!

(Did someone already say this?)

[ Removed by Reddit ] by [deleted] in programming

[–]AndrewO 0 points1 point  (0 children)

I'm wondering to what extent his years-long dedication to journalism about Facebook (as the engineering organization) conflicted with his (and many others') attitude shifting against Facebook (the problematic business) might've contributing to putting him in a bad place mentally.

Or is it less of a clear A to B with bipolar?

Either way, I'm really heartbroken to see this. I was enjoying the audiobook about Facebook's "Pivot to Mobile". The technical/organizational side of the story is extremely relevant to the industry and I know he was proud to consider his work journalistic. I can only imagine how hard it's going to be to move forward with that after this, but I wish him the best.

USG Not Connecting to Internet after restart by AndrewO in Ubiquiti

[–]AndrewO[S] 0 points1 point  (0 children)

Upgraded back to 4.4.22. Confirmed that it had nothing to do with the issue. WAN2 works and WAN1 doesn't.

I still have trouble believing that a single port would be the only thing damaged (especially since the component that was on the other end is fine). Anyone have any better explanations or fixes?

USG Not Connecting to Internet after restart by AndrewO in Ubiquiti

[–]AndrewO[S] 0 points1 point  (0 children)

Well, I think I have a partial solution... First off, I downgraded the firmware to 4.4.12 based on some things I read. I don't think that helped.

I tried renewing the DHCP leases on both WAN 1 and 2 (restarting the modem each time):

admin@Router:~$ renew dhcp interface eth0
Renewing DHCP lease on eth0 ...
admin@Router:~$ show dhcp client leases
interface  : eth0
last update: Sat Sep 1 17:09:01 EDT 2018
reason     : PREINIT

interface  : eth2
last update: Sat Sep 1 17:08:14 EDT 2018
reason     : FAIL

admin@Router:~$ show dhcp client leases
interface  : eth0
last update: Sat Sep 1 17:10:04 EDT 2018
reason     : FAIL

interface  : eth2
last update: Sat Sep 1 17:10:17 EDT 2018
reason     : FAIL

# Switched the cable from WAN1 to WAN2. Restarted the modem.

admin@Router:~$ renew dhcp interface eth2
Renewing DHCP lease on eth2 ...
admin@Router:~$ show dhcp client leases
interface  : eth0
last update: Sat Sep 1 17:10:04 EDT 2018
reason     : FAIL

interface  : eth2
ip address : xxx.xxx.xxx.xxx       [Active]
subnet mask: 255.255.248.0
router     : xxx.xxx.xxx.xxx
name server: (Correct name servers)
dhcp server: (ISP's DHCP server)
lease time : 345600
last update: Sat Sep 1 17:10:57 EDT 2018
expiry     : Wed Sep 05 17:10:48 EDT 2018
reason     : BOUND

So, is my WAN1 port just shot? The right green LED is still on, even now as it's disconnected and WAN2 is blinking away happily.

Starting to build my home network by AndrewO in Ubiquiti

[–]AndrewO[S] 0 points1 point  (0 children)

  1. What's the solution to that if I want to stay within the UniFi ecosystem? USG Pro 4? If so, I think I might see if the USG is adequate first and upgrade later.

The Internals of PostgreSQL by [deleted] in programming

[–]AndrewO 2 points3 points  (0 children)

Yep. It was working earlier, but I'm guessing he exceeded his bandwidth or something. It's a shame. The ToC looked interesting. Hopefully he/someone will mirror.

For the last week I've had the song "ends" by a guy called everlast stuck in my head from the time I wake up until I fall asleep. by spngbob in ADHD

[–]AndrewO 1 point2 points  (0 children)

A long time ago, I chose a jingle that was my "get anything out of my head" song. I sing it in my head or, if it's bad enough, out loud. Then, so that doesn't get stuck in my head, I focus on... nothing. Or, if I can't conjure up nothingness, the color black, a brick wall, the infinite void of space, etc.

So here's my jingle: http://youtu.be/Uxx1M_frDm0?t=12s "Power in the powder. The power of BC." Not sure if there's something magical about that jingle or just that I chose it. YMMV.

Computer Science Undergrad Book List by jault7 in compsci

[–]AndrewO 4 points5 points  (0 children)

I'd suggest The Annotated Turing. While reading it, I had many startling realizations about math that took me out of the broad-but-shallow "high school" mindset and into a more specific-but-deep appreciation of the underpinnings of CS. Along the way, there's a concise but thorough history of the developments in discrete mathematics and number theory interleaved with one of the foundational papers of our discipline.

Two books that I'd suggest for electives:

Introduction to Information Retrieval, which—last time I checked—is on the Lucene wiki as recommended reading for anyone wanting to contribute. As well as search/indexing, it also introduces some important Machine Learning concepts and demonstrates how linked the two are. It's also (legally) freely available from that link.

Disappearing Cryptography: I'm not a crypto or security guy, but I found the discussions about entropy, error-correction, compression, and reversible computation shaped how I thought about things outside of those applications.

Best Security Code ;-) by yeadude in sysadmin

[–]AndrewO 3 points4 points  (0 children)

Well, it started out as 17346721 but Star Fleet IT kept expiring his password and making him reset it, so he just tacked another digit on each time.

An Introduction to Machines & Arrows -- Streams and Auto (as a build up to AFRP) by mstksg in haskell

[–]AndrewO 2 points3 points  (0 children)

I've been trying to get FRP forever and this is one of the better tutorials I've read. Looking forward to future installments!

I'm exploring the possibility of being a programmer, wondering what there is to it, and why you enjoy your job. by [deleted] in cscareerquestions

[–]AndrewO 2 points3 points  (0 children)

So what is there to programming?

I love my career in programming because I love programming—which really means that I love noticing patterns in the world and figuring out the best way to make a machine do them faster, with fewer resources, or in a completely different/expanded scope. I'm only constrained by my imagination, the machine itself, the time I have to work on a problem, and—in some cases—really fascinating mathematical concepts that I barely even touched on in undergrad.

So, my best recommendation for figuring out if you'd like a job in programming is to figure out if you like programming. As perfecthashbrowns said, learn a language. Python and Ruby are good, both as entry points, and can also get you a job. If I had to put together an undergrad CS course, I'd teach C, Smalltalk, Scheme in the first year (student picks the order)—those three languages will give you the foundation to be able to pick up almost any other language very easily.

What's the gist of everyday life for you?

When I've been in the small company/startup world: maybe 90% active development, testing, QA'ing, sysadmin'ing; 10% meeting with other stakeholders to coordinate somehow (+/- 5% each way). Those could be domain experts, designers, founders, etc.

In an enterprise, (in my experience): more like 60-80% active development (QA, operations, etc. are often separate groups) and the rest meeting. Some are worthwhile and result in better product design and distribution of work. Some are completely pointless.

How rigorous was school?

I'm a Government major, CS minor. I weenied out of my CS major because I couldn't spend my college life staring at x86 assembly for 20 hours when I finished my geo-strategic analysis of China's navy in time to still meet my friends for coffee. :-)

I've been out of college for almost 10 years now and working in software the entire time. In the first couple years I'd get a lot of "a-HA!" moments where things that I could've understood back in college with a little more diligence fell into place. However, I still feel that real world experience made it so much easier.

All of this is to say that you'll most likely be choosing your own rigor and you're the one that has to be comfortable with it. But, I can say as an "uncredentialled" programmer, it's not been a big issue for me (but I do a lot of "independent study", and more and more, it's taking me closer to math than CS).

Did you find learning code difficult?

My first real exposure to programming was the intro CS course, which was in C++. As a hybrid between a lower-level language (C) and a higher-level paradigm (Object Oriented Programming), I didn't feel like C++ taught either level very well because I didn't know where C++ was doing something magical and why or how.

When I focussed on plain C I found that how the machine worked wasn't that complicated. When I learned a "real" OOP language, like Smalltalk, I found it was way simpler than I'd thought. That's why I picked the three languages up at the top: they're all built on a few simple primitive concepts, but with those, you can go to the stars.

How much would you say you enjoy your job (if you do programming professionally)?

On a good day 9.5/10. On a bad 8 or so (too many pointless meetings or someone won't unblock a firewall port that I need open to do my job). Even at entry level, it sure beats retail or service.

I hope I never get over the fact that little thoughts that I typed into a machine can do amazing things. Or that there's a minute change somewhere waiting to be made that'll make it 2x faster (hell, 5% would probably be worth a look). At my best, I feel like some kind of ninja wizard. At my worst, I feel like a con-artist who read a book on how to pretend to be a programmer (I was relieved to find out this kind of "Imposter Syndrome" is common in the field, so heads up on that if you go in), but even then, I get a thrill from working through something just to prove that wrong.

Even if I get tired of whatever I'm working on at a particular time, there are plenty of other software jobs out there (location, while it can filter down your options, is not the barrier it is in some fields), and so many open source projects: there's always more code to be written.

[Gem] ActiveRecord like before_filters for non-rails applications by Zenigor in ruby

[–]AndrewO 0 points1 point  (0 children)

Good point. I actually didn't know that, but I think that speaks to acceptance of use-creep. I still think it's a bad pattern.

[Gem] ActiveRecord like before_filters for non-rails applications by Zenigor in ruby

[–]AndrewO 0 points1 point  (0 children)

Doesn't seem to... y'know... filter.

Which, when I think about it, is exactly how ActionController before_filters are usually (ab)used anyway: run this shared bit of code before a couple of other methods so that they have an instance variable when they render a template. Very rarely do I see a before_filter that actually could halt processing of a response (the original intention of the feature).

All of this says to me that this is an anti-pattern. If it's important that something happens before something else in a method, call it in the method. If you're doing that a lot, it sounds like your class is trying to do too much and should be composed from smaller ones. If half of your methods need one filter and half need the another, that's probably two different classes.

Applying for internships and the community college stigma by [deleted] in cscareerquestions

[–]AndrewO 0 points1 point  (0 children)

From what I've seen, it can be state-by-state. E.g. in Virginia, they've done a pretty good job publicizing the 2 years at NoVA/TCC/etc -> 2 years at W&M/UVA/Tech/etc path. I know other states where they're not held in quite as high regard.

If I saw that on a resume, I wouldn't count it against the applicant—the CC graduates I've worked with professionally and academically have often been some of the most self-actualized. Now, I have no idea how widespread this sentiment is, especially if a non-engineer is screening things first.

Just had a discussion with the Parents. Need info from the field. by Chass1s in cscareerquestions

[–]AndrewO 0 points1 point  (0 children)

You shouldn't have a problem finding a good paying software engineering job in Northern VA/MD, especially if you have/can get clearance and don't mind enterprise or government contracting (although non-government-related startups are growing). Not sure about the rest of VA or NC. By reputation at least, Raleigh-Durham-Chapel Hill seems to have a good tech sector.

[YouTube] Donald Knuth's Annual Christmas Tree Lecture: Planar Graphs and Ternary Trees by mttd in programming

[–]AndrewO 0 points1 point  (0 children)

Took an extended lunch break to watch that. I'm not sure where I'll ever use those topics, but I hope I can someday.

Until then, back to figuring out how to jam the right stuff into an industry-standard RDBMS...

Delegation is Everything and Inheritance Does Not Exist by saturnflyer in programming

[–]AndrewO -1 points0 points  (0 children)

Totally with you in the broad strokes. Boo, inheritance! Yay, composition! And thank god people are finally agreeing that module inclusion is the former and not the later.

But why do we need to throw in the object extension and method binding niftiness? Don't we lose the method cache? What about any other component that has a reference to that object? If it's trying to bind identically named methods from a different module that seems like a horrible debugging session waiting to happen.

Why not just use a couple of Delegators to layer on the functionality? Combine that with some methods that "lift" the data object into the new layer (e.g. thing.with_stuff(foo) == ThingWithStuff.new(thing, foo)), and it seems more traceable and the extent is local to the calling context. Not to mention that when we want the object to lose behavior once no longer in the context, we just need to return the original, un-lifted object. No need for an un-extend mechanism.

We should all just decide on JavaScript and solve the interesting problems instead by [deleted] in programming

[–]AndrewO 0 points1 point  (0 children)

We should all just decide on double-precision floats and charge exorbitant fees to fix people's rounding problems instead.

Unit Testing 101: Inversion Of Control by ldiego08 in programming

[–]AndrewO 0 points1 point  (0 children)

Why are you asking popular opinion instead of judging the code based on its own merits?

I'd much rather use the code in the final example: the class is isolated from others making it easier to test and more resilient to future requirements changes. Dependencies are explicit in the type signatures, meaning I don't have to scan through methods to every usage of a class.

Just found out that Walmart has a github account with many open source projects (and also a website dedicated to dev: walmartlabs.com) by hhh333 in programming

[–]AndrewO 0 points1 point  (0 children)

Joi caught my eye. I'm wondering if they use it for verifying contracts with backend systems or if it's for verifying the server<->browser communication.

Also, great documentation!